将参数插入模板循环

Inserting parameters into a template loop

是否可以在模板的 foreach 循环中使用在 parameters' 节点(参见 XDT 文件)中声明的参数?我必须添加一个命名空间?如果有的话是哪一个?

文件 XDT:

<dataTemplate name="StoreLayoutLabels" xmlns="http://micros.com/xstore/config/report">
  <labels>
    <!-- Template-specific Text -->
    <label name="HANDHELD_READ" value="_art.inventory.handheld.read"/>
    <label name="MANUAL_CHECK" value="_art.inventory.manual.check"/>
    <label name="OPERATOR1" value="_art.inventory.operator1"/>
    <label name="OPERATOR2" value="_art.inventory.operator2"/>
    <label name="SECTION" value="_art.inventory.section"/>
    <label name="STORE" value="_art.inventory.store"/>
  </labels>
 
  <parameters>
    <!-- System Parameters -->
    <parameter name="GroupName" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
    <parameter name="storeNbr" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
    <parameter name="storeName" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
  </parameters>
    
  <!--Data source and data Structure-->
  <dataSource>
    <dataReference name="Q_STORE_LAYOUT_LABELS"> 
      <ResultFields>
          <ResultField>SectionId</ResultField>
          <ResultField>SectionDescription</ResultField>
      </ResultFields>
    </dataReference>
  </dataSource>
  <dataStructure>
    <group name="STORE_LAYOUT_LABELS" source="Q_STORE_LAYOUT_LABELS">
      <element name="SECTION_ID" value="SectionId"/>
      <element name="SECTION_DESCRIPTION" value="SectionDescription"/>
    </group>
  </dataStructure>
</dataTemplate>

报告模板:

例如PAR_GROUP_NAME在模板中用<?GroupName?>标签表示,但PDF转换后不出现。如果标签插入到表示循环的标签 F 之外,则该值会正确显示。

当您引用一个字段时,它会在您当前所在的元素内部查找。因此,如果它不在当前元素中,您需要告诉 BI Publisher 它在哪里。只需为树上的每个级别添加 ../,然后一旦进入第一个公共元素,就可以返回。

所以如果你在 <?for-each:dataSource?> 您可以通过执行以下操作获取参数属性值,其中属性名称= GroupName:

<?../parameters/parameter[@name='GroupName']?>

参考: https://docs.oracle.com/cd/E80149_01/bip/BIPRD/GUID-4D9FC5FC-5A72-4CE6-919C-A3E0D6E4900C.htm#BIPRD2597