cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping iDoc to EDIFACT: Segment Count

Former Member
0 Kudos

Hi experts,

I am mapping a DELVRY05 iDoc to an EDIFACT DESADV document. Everythings fine so far, but I'm encountering troubles with filling the EDIFACT UNT Segment with the number of segments in the generated message.

I am using the OPI2 conversion module and so I get a nice xml structure for the EDIFACT message. Is there a way to count created xml nodes? I think this would solve my issue.

Thanks for your answers!

Accepted Solutions (0)

Answers (1)

Answers (1)

prasad_ulagappan2
Contributor
0 Kudos

Could you show us with some example XML docs for sender and receiver?

Former Member
0 Kudos

That is an example for the source idoc

<?xml version="1.0" encoding="UTF-8"?>
<DELVRY05>
   <IDOC BEGIN="1">
      <EDI_DC40 SEGMENT="1">
         <TABNAM>EDI_DC40</TABNAM>
         <MANDT>100</MANDT>
         <DOCNUM>0000000002603007</DOCNUM>
         <DOCREL>700</DOCREL>
         <STATUS>30</STATUS>
         <DIRECT>1</DIRECT>
         <OUTMOD>2</OUTMOD>
         <IDOCTYP>DELVRY05</IDOCTYP>
         <MESTYP>DESADV</MESTYP>
         <SNDPOR>SAPKTS</SNDPOR>
         <SNDPRT>LS</SNDPRT>
         <SNDPRN>KTS100</SNDPRN>
         <RCVPOR>A000000016</RCVPOR>
         <RCVPRT>KU</RCVPRT>
         <RCVPFC>WE</RCVPFC>
         <RCVPRN>0004088156</RCVPRN>
         <CREDAT>20101123</CREDAT>
         <CRETIM>115322</CRETIM>
         <SERIAL>20101123115321</SERIAL>
      </EDI_DC40>
      <E1EDL20 SEGMENT="1">
         <VBELN>0080775647</VBELN>
         <VSTEL>0132</VSTEL>
         <VKORG>0130</VKORG>
         <LGNUM>132</LGNUM>
         <INCO1>EXW</INCO1>
         <INCO2>Leonding</INCO2>
         <ROUTE>009999</ROUTE>
         <VSBED>25</VSBED>
         <BTGEW>0.500</BTGEW>
         <NTGEW>0.500</NTGEW>
         <GEWEI>KGM</GEWEI>
         <VOLUM>0.000</VOLUM>
         <ANZPK>00000</ANZPK>
         <PODAT>20101123</PODAT>
         <POTIM>115321</POTIM>
         <E1EDL22 SEGMENT="1">
            <VSTEL_BEZ>Neuson Ersatzt.Linz II</VSTEL_BEZ>
            <VKORG_BEZ>Neuson Linz</VKORG_BEZ>
            <LGNUM_BEZ>LVS Neuson Linz Ersat. II</LGNUM_BEZ>
            <INCO1_BEZ>Ab Werk</INCO1_BEZ>
            <ROUTE_BEZ>NK Linz</ROUTE_BEZ>
            <VSBED_BEZ>Spedition</VSBED_BEZ>
         </E1EDL22>
         <E1EDL21 SEGMENT="1">
            <LFART>LF</LFART>
            <EXPKZ>X</EXPKZ>
            <LIFSK>10</LIFSK>
            <LPRIO>00</LPRIO>
            <KDGRP>02</KDGRP>
            <TRAGR>0100</TRAGR>
            <TRSPG>03</TRSPG>
            <E1EDL23 SEGMENT="1">
               <LFART_BEZ>Auslieferung</LFART_BEZ>
               <LIFSK_BEZ>zu verpacken</LIFSK_BEZ>
               <KDGRP_BEZ>Handel</KDGRP_BEZ>
               <TRAGR_BEZ>Transportgr. NK</TRAGR_BEZ>
            </E1EDL23>
         </E1EDL21>
         <E1EDL18 SEGMENT="1">
            <QUALF>ORI</QUALF>
         </E1EDL18>
         <E1ADRM1 SEGMENT="1">
            <PARTNER_Q>AG</PARTNER_Q>
            <PARTNER_ID>0004088156</PARTNER_ID>
            <LANGUAGE>EN</LANGUAGE>
            <FORMOFADDR>Firma</FORMOFADDR>
            <NAME1>Caterpillar Ltd.</NAME1>
            <STREET1>Peckleton Lane</STREET1>
            <POSTL_COD1>LE9 9JT</POSTL_COD1>
            <CITY1>Leicester</CITY1>
            <TELEPHONE1>14558258-00</TELEPHONE1>
            <COUNTRY1>GB</COUNTRY1>
         </E1ADRM1>
         <E1ADRM1 SEGMENT="1">
            <PARTNER_Q>SP</PARTNER_Q>
            <PARTNER_ID>0006006873</PARTNER_ID>
            <LANGUAGE>DE</LANGUAGE>
            <NAME1>DHL Express</NAME1>
            <STREET1>BleibtreustraÃu0178e 2</STREET1>
            <POSTL_COD1>1110</POSTL_COD1>
            <CITY1>Wien</CITY1>
            <TELEPHONE1>1 76600-3286</TELEPHONE1>
            <TELEFAX>1 76600-3475</TELEFAX>
            <COUNTRY1>AT</COUNTRY1>
            <REGION>W</REGION>
         </E1ADRM1>
         <E1ADRM1 SEGMENT="1">
            <PARTNER_Q>WE</PARTNER_Q>
            <PARTNER_ID>0004088156</PARTNER_ID>
            <LANGUAGE>EN</LANGUAGE>
            <FORMOFADDR>Firma</FORMOFADDR>
            <NAME1>Caterpillar Ltd.</NAME1>
            <STREET1>Peckleton Lane</STREET1>
            <POSTL_COD1>LE9 9JT</POSTL_COD1>
            <CITY1>Leicester</CITY1>
            <TELEPHONE1>14558258-00</TELEPHONE1>
            <COUNTRY1>GB</COUNTRY1>
         </E1ADRM1>
         <E1ADRM1 SEGMENT="1">
            <PARTNER_Q>OSP</PARTNER_Q>
            <PARTNER_ID>0132</PARTNER_ID>
            <LANGUAGE>DE</LANGUAGE>
            <NAME1>Neuson Ersatzt. Linz II</NAME1>
            <COUNTRY1>AT</COUNTRY1>
         </E1ADRM1>
         <E1ADRM1 SEGMENT="1">
            <PARTNER_Q>OSO</PARTNER_Q>
            <PARTNER_ID>0130</PARTNER_ID>
            <LANGUAGE>DE</LANGUAGE>
            <COUNTRY1>AT</COUNTRY1>
         </E1ADRM1>
         <E1EDT13 SEGMENT="1">
            <QUALF>006</QUALF>
            <NTANF>20101123</NTANF>
            <NTANZ>000000</NTANZ>
            <NTEND>20101123</NTEND>
            <NTENZ>000000</NTENZ>
            <ISDD>00000000</ISDD>
            <ISDZ>000000</ISDZ>
            <IEDD>00000000</IEDD>
            <IEDZ>000000</IEDZ>
         </E1EDT13>
         <E1EDT13 SEGMENT="1">
            <QUALF>003</QUALF>
            <NTANF>20101123</NTANF>
            <NTANZ>000000</NTANZ>
            <NTEND>20101123</NTEND>
            <NTENZ>000000</NTENZ>
            <ISDD>00000000</ISDD>
            <ISDZ>000000</ISDZ>
            <IEDD>00000000</IEDD>
            <IEDZ>000000</IEDZ>
         </E1EDT13>
         <E1EDT13 SEGMENT="1">
            <QUALF>001</QUALF>
            <NTANF>20101123</NTANF>
            <NTANZ>000000</NTANZ>
            <NTEND>20101123</NTEND>
            <NTENZ>000000</NTENZ>
            <ISDD>00000000</ISDD>
            <ISDZ>000000</ISDZ>
            <IEDD>00000000</IEDD>
            <IEDZ>000000</IEDZ>
         </E1EDT13>
         <E1EDT13 SEGMENT="1">
            <QUALF>007</QUALF>
            <NTANF>20101123</NTANF>
            <NTANZ>000000</NTANZ>
            <NTEND>20101123</NTEND>
            <NTENZ>000000</NTENZ>
            <ISDD>00000000</ISDD>
            <ISDZ>000000</ISDZ>
            <IEDD>00000000</IEDD>
            <IEDZ>000000</IEDZ>
         </E1EDT13>
         <E1EDT13 SEGMENT="1">
            <QUALF>010</QUALF>
            <NTANF>20101123</NTANF>
            <NTANZ>000000</NTANZ>
            <NTEND>20101123</NTEND>
            <NTENZ>000000</NTENZ>
            <ISDD>00000000</ISDD>
            <ISDZ>000000</ISDZ>
            <IEDD>00000000</IEDD>
            <IEDZ>000000</IEDZ>
         </E1EDT13>
         <E1EDT13 SEGMENT="1">
            <QUALF>015</QUALF>
            <NTANF>20101123</NTANF>
            <NTANZ>000000</NTANZ>
            <NTEND>20101123</NTEND>
            <NTENZ>000000</NTENZ>
            <ISDD>00000000</ISDD>
            <ISDZ>000000</ISDZ>
            <IEDD>00000000</IEDD>
            <IEDZ>000000</IEDZ>
         </E1EDT13>
         <E1EDL33 SEGMENT="1">
            <ALAND>AT</ALAND>
            <EXPVZ>3</EXPVZ>
            <IEVER>3</IEVER>
            <E1EDL34 SEGMENT="1">
               <EXPVZ_BEZ>StraÃu0178enverkehr</EXPVZ_BEZ>
               <IEVER_BEZ>StraÃu0178enverkehr</IEVER_BEZ>
            </E1EDL34>
         </E1EDL33>
         <E1EDL28 SEGMENT="1">
            <ROUTE>009999</ROUTE>
            <ROUID>NK LINZ</ROUID>
            <DISTZ>0.000</DISTZ>
            <E1EDL29 SEGMENT="1">
               <ROUTE_BEZ>NK Linz</ROUTE_BEZ>
            </E1EDL29>
         </E1EDL28>
         <E1EDL24 SEGMENT="1">
            <POSNR>000010</POSNR>
            <MATNR>000000001000248477</MATNR>
            <MATWA>000000001000003928</MATWA>
            <ARKTX>PNEUMATIC SPRING</ARKTX>
            <ORKTX>Gasfeder 350N/L185/Hub64</ORKTX>
            <SUGRD>0001</SUGRD>
            <MATKL>000040900</MATKL>
            <WERKS>0131</WERKS>
            <LGORT>E002</LGORT>
            <LFIMG>1.000</LFIMG>
            <VRKME>ST</VRKME>
            <LGMNG>1.000</LGMNG>
            <MEINS>ST</MEINS>
            <NTGEW>0.500</NTGEW>
            <BRGEW>0.500</BRGEW>
            <GEWEI>KGM</GEWEI>
            <VOLUM>0.000</VOLUM>
            <LADGR>0131</LADGR>
            <TRAGR>0100</TRAGR>
            <VKBUR>0131</VKBUR>
            <VTWEG>02</VTWEG>
            <SPART>01</SPART>
            <GRKOR>000</GRKOR>
            <POSEX>000000</POSEX>
            <VFDAT>00000000</VFDAT>
            <EXPIRY_DATE_EXT>0</EXPIRY_DATE_EXT>
            <VGBEL>0001416863</VGBEL>
            <VGPOS>000020</VGPOS>
            <ORMNG>         1.000</ORMNG>
            <EXPIRY_DATE_EXT_B>0</EXPIRY_DATE_EXT_B>
            <E1EDL25 SEGMENT="1">
               <LGORT_BEZ>Ersatzteill. 02</LGORT_BEZ>
               <LADGR_BEZ>Neuson Ersatzteile</LADGR_BEZ>
               <TRAGR_BEZ>Transportgr. NK</TRAGR_BEZ>
               <VKBUR_BEZ>Neuson Ersatzteile</VKBUR_BEZ>
               <VTWEG_BEZ>NK Ersatzteile</VTWEG_BEZ>
               <SPART_BEZ>Produktsparte 01</SPART_BEZ>
            </E1EDL25>
            <E1EDL26 SEGMENT="1">
               <PSTYV>ZERS</PSTYV>
               <MATKL>000040900</MATKL>
               <PRODH>409</PRODH>
               <UMVKZ>1</UMVKZ>
               <UMVKN>1</UMVKN>
               <UEBTO>0.0</UEBTO>
               <UNTTO>0.0</UNTTO>
               <E1EDL27 SEGMENT="1">
                  <PSTYV_BEZ>Normalpos Ersatzteil</PSTYV_BEZ>
                  <MATKL_BEZ>Gasfeder</MATKL_BEZ>
                  <PRODH_BEZ>Gasfeder</PRODH_BEZ>
                  <WERKS_BEZ>Wacker Neuson Linz GmbH ET</WERKS_BEZ>
               </E1EDL27>
            </E1EDL26>
            <E1EDL35 SEGMENT="1">
               <STAWN>83024900</STAWN>
               <EXPRF>10000</EXPRF>
               <EXART>1</EXART>
               <HERKL>FR</HERKL>
               <GRWRT>          0.00</GRWRT>
               <E1EDL36 SEGMENT="1">
                  <STXT1>Beschläge und ähnliche Waren, aus</STXT1>
                  <STXT2>unedlen Metallen, für anderweit nicht</STXT2>
                  <STXT3>genannte Zwecke (ausg. Scharniere, Lauf-</STXT3>
                  <STXT4>rädchen oder -rollen und Baubeschläge)</STXT4>
                  <EXPRF_BEZ>Ausfuhr o. voran. zollr. Best.</EXPRF_BEZ>
                  <EXART_BEZ>Kauf/Verkauf</EXART_BEZ>
                  <HERKL_BEZ>Frankreich</HERKL_BEZ>
               </E1EDL36>
            </E1EDL35>
            <E1EDL43 SEGMENT="1">
               <QUALF>C</QUALF>
               <BELNR>0001416863</BELNR>
               <POSNR>000020</POSNR>
               <DATUM>20101123</DATUM>
            </E1EDL43>
            <E1EDL41 SEGMENT="1">
               <QUALI>001</QUALI>
               <BSTNR>TEST FAH</BSTNR>
               <BSTDT>20101123</BSTDT>
            </E1EDL41>
         </E1EDL24>
      </E1EDL20>
   </IDOC>
</DELVRY05>

and thats what for the moment is the output for the EDIFACT before OPI2 conversion module. UNT segment count is hardcoded set to 1.

<?xml version="1.0" encoding="UTF-8"?>
<ns0:EDIFACTMessage xmlns:ns0="http://cbsgmbh.com/xi/EDIFACT/99A">
   <Header>
      <SenderID>Test_SenderSystem</SenderID>
      <ReceiverID>Test_ReceiverSystem</ReceiverID>
      <MessageType>EDIFACTMessage</MessageType>
   </Header>
   <ListOfDespatchAdvises>
      <DespatchAdvise>
         <HEADING>
            <UNH>
               <UNH01>0000000002603007</UNH01>
               <UNH02>
                  <S00901>DESADV</S00901>
                  <S00902>D</S00902>
                  <S00903>98B</S00903>
                  <S00904>UN</S00904>
               </UNH02>
            </UNH>
            <BGM>
               <BGM01>
                  <C00201>351</C00201>
               </BGM01>
               <BGM02>
                  <C10601>0000000002603007</C10601>
               </BGM02>
               <BGM03>9</BGM03>
            </BGM>
            <DTM>
               <DTM01>
                  <C50701>11</C50701>
                  <C50702>00201011230000</C50702>
               </DTM01>
            </DTM>
            <DTM>
               <DTM01>
                  <C50701>132</C50701>
                  <C50702>00201011230000</C50702>
               </DTM01>
            </DTM>
            <DTM>
               <DTM01>
                  <C50701>137</C50701>
                  <C50702>00201011230000</C50702>
               </DTM01>
            </DTM>
            <MEA>
               <MEA01>PD</MEA01>
               <MEA02>
                  <C50201>G</C50201>
               </MEA02>
               <MEA03>
                  <C17401>KGM</C17401>
                  <C17402>0.500</C17402>
               </MEA03>
            </MEA>
            <MEA>
               <MEA01>PD</MEA01>
               <MEA02>
                  <C50201>N</C50201>
               </MEA02>
               <MEA03>
                  <C17401>KGM</C17401>
                  <C17402>0.500</C17402>
               </MEA03>
            </MEA>
            <MEA>
               <MEA01>PD</MEA01>
               <MEA02>
                  <C50201>WT</C50201>
               </MEA02>
               <MEA03>
                  <C17401>KGM</C17401>
                  <C17402>0.500</C17402>
               </MEA03>
            </MEA>
         </HEADING>
         <DETAIL>
            <CPS>
               <CPS01>1</CPS01>
               <CPS03>3</CPS03>
            </CPS>
            <SG16>
               <LIN>
                  <LIN02>000010</LIN02>
               </LIN>
               <PIA>
                  <PIA01>1</PIA01>
                  <PIA02>
                     <C21201>0001416863</C21201>
                     <C21202>PO</C21202>
                  </PIA02>
               </PIA>
               <PIA>
                  <PIA01>1</PIA01>
                  <PIA02>
                     <C21201>000020</C21201>
                     <C21202>PL</C21202>
                  </PIA02>
               </PIA>
               <PIA>
                  <PIA01>1</PIA01>
                  <PIA02>
                     <C21201>TEST FAH</C21201>
                     <C21202>ON</C21202>
                  </PIA02>
               </PIA>
            </SG16>
         </DETAIL>
         <SUMMARY>
            <UNT>
               <UNT01>1</UNT01>
               <UNT02>0000000002603007</UNT02>
            </UNT>
         </SUMMARY>
      </DespatchAdvise>
   </ListOfDespatchAdvises>
</ns0:EDIFACTMessage>

Former Member
0 Kudos

Sorry for the format... the code tag seems not to work!

prasad_ulagappan2
Contributor
0 Kudos

I got the mail properly.. :-)...use the count function in graphical mapping to count the specific number of segment...

Former Member
0 Kudos

All,

Is this had been solved? May I know the UDF details and how we can achieve this to get the UNT count?

I am using using Open PI module with file adapter to get the EDIFACT structure.

Thanks,

Dhill