Отображать правильные данные в шаблоне RTF
Пожалуйста, смотрите ниже шаблон XML, который используется шаблоном RTF. Я добавил 2 комментария в XML, начиная с ->
<ORDER_HEADER>
<HEADER_ROW>
<ORIG_SYS_DOCUMENT_REF>001529872197</ORIG_SYS_DOCUMENT_REF>
<SALESREP>
<SALESREP_ROW/>
</SALESREP>
</SOLD_TO_CONTACT>
<SHIP_TO_CONTACT> --> This SHIP TO comes under ORDER HEADER
<SHIP_TO_CONTACT_ROW>
<PHONE_NUMBER>6042333125201</PHONE_NUMBER>
<EMAIL_ADDRESS>abc@gmail.com</EMAIL_ADDRESS>
</SHIP_TO_CONTACT_ROW>
</SHIP_TO_CONTACT>
<ORDER_LINES>
<ORDER_LINES_ROW>
<ORIG_SYS_LINE_REF>001521970</ORIG_SYS_LINE_REF>
<ITEM_NUMBER>0158ABCSD012836</ITEM_NUMBER>
<ORDERED_QUANTITY>2</ORDERED_QUANTITY>
<SHIP_TO_CONTACT> --> This SHIP TO comes under ORDER LINES which again comes under ORDER HEADER
<SHIP_TO_CONTACT_ROW/>
</SHIP_TO_CONTACT>
<INVOICE_TO_CONTACT>
<INVOICE_TO_CONTACT_ROW/>
</INVOICE_TO_CONTACT>
<DELIVER_TO_CONTACT>
<DELIVER_TO_CONTACT_ROW/>
</DELIVER_TO_CONTACT>
</ORDER_LINES_ROW>
</ORDER_LINES>
</HEADER_ROW>
</ORDER_HEADER>
Я разрабатываю шаблон, в котором мне нужно отобразить контактные данные для отправки, поэтому я создал цикл for в шаблоне, как с окончанием. После загрузки XML при предварительном просмотре я получаю 2 строки для отправки, так как в xml есть 2 раздела SHIP_TO_CONTACT.
У меня вопрос, как я могу отображать записи SHIP_TO_CONTACT только из заголовков ORDER, а не из строк ORDER?
Я использую EBS 12.1.3.
Спасибо
1 ответ
Решение
Вам нужно добавить ./
для каждого объекта. это заставит BI Publisher оставаться на этом уровне.
<?for-each:ORDER_HEADER/HEADER_ROW?>
<?ORIG_SYS_DOCUMENT_REF?>
<?for-each:./SHIP_TO_CONTACT/SHIP_TO_CONTACT_ROW?>
<?PHONE_NUMBER?>
<?end for-each?>
<?end for-each?>
Я проверил с этим XML; кажется, есть несколько проблем с предоставленным вами XML.
<ORDER_HEADER>
<HEADER_ROW>
<ORIG_SYS_DOCUMENT_REF>001529872197</ORIG_SYS_DOCUMENT_REF>
<SHIP_TO_CONTACT>
<SHIP_TO_CONTACT_ROW>
<PHONE_NUMBER>6042333125201</PHONE_NUMBER>
<EMAIL_ADDRESS>abc@gmail.com</EMAIL_ADDRESS>
</SHIP_TO_CONTACT_ROW>
</SHIP_TO_CONTACT>
<ORDER_LINES>
<ORDER_LINES_ROW>
<ORIG_SYS_LINE_REF>001521970</ORIG_SYS_LINE_REF>
<ITEM_NUMBER>0158ABCSD012836</ITEM_NUMBER>
<ORDERED_QUANTITY>2</ORDERED_QUANTITY>
<SHIP_TO_CONTACT>
<SHIP_TO_CONTACT_ROW><PHONE_NUMBER>test</PHONE_NUMBER></SHIP_TO_CONTACT_ROW>
</SHIP_TO_CONTACT>
</ORDER_LINES_ROW>
</ORDER_LINES>
</HEADER_ROW>
</ORDER_HEADER>