cancel
Showing results for 
Search instead for 
Did you mean: 

How to populate segment CNT from EDIFACT in SAP CPI MAG or XSLT

0 Kudos

Hi Expert

I have a requirement for EDIFACT (DESADV) from Idoc DESADV that i need to map on MAG or xslt . but I need to populate CNT(C270) segment and 6069/6066 as below requirement. I have no idea to populate CNT(C270) segment.

- 6069 :Control qualifier

- 6066 :Control value

Would you help me or provide a hint or tip for this segment? I would like to much express thanks if provide it

View Entire Topic
0 Kudos

Hi Expert.

below is more detailed what i was trying. Please have a look as detail below and provide solution.

Much appreciate !!

1.Source xml data

<?xml version="1.0" encoding="UTF-8"?>

<DELVRY03>

<IDOC BEGIN="1">

<EDI_DC40 SEGMENT="1">

<TABNAM>EDI_DC40</TABNAM>

<MANDT>340</MANDT>

<DOCNUM>0000000010314943</DOCNUM>

<DOCREL>740</DOCREL>

<STATUS>30</STATUS>

<DIRECT>1</DIRECT>

<OUTMOD>2</OUTMOD>

<IDOCTYP>DELVRY03</IDOCTYP>

<MESTYP>DESADV</MESTYP>

<STD>E</STD>

<STDVRS>D96</STDVRS>

<STDMES>DESADV</STDMES>

<SNDPOR>SAPPRD</SNDPOR>

<SNDPRT>LS</SNDPRT>

<SNDPRN>PRD340</SNDPRN>

<RCVPOR>SAPFB</RCVPOR>

<RCVPRT>KU</RCVPRT>

<RCVPFC>RG</RCVPFC>

<RCVPRN>0000109269</RCVPRN>

<CREDAT>20221205</CREDAT>

<CRETIM>101527</CRETIM>

<SERIAL>20221205101527</SERIAL>

</EDI_DC40>

<E1EDL20 SEGMENT="1">

<VBELN>3174853740</VBELN>

<VSTEL>3110</VSTEL>

<VKORG>3000</VKORG>

<INCO1>CPT</INCO1>

<INCO2>ST01</INCO2>

<ROUTE>303302</ROUTE>

<VSBED>02</VSBED>

<BTGEW>1.000</BTGEW>

<NTGEW>0.000</NTGEW>

<GEWEI>KGM</GEWEI>

<VOLUM>0.000</VOLUM>

<VOLEH>MTQ</VOLEH>

<ANZPK> 1</ANZPK>

<PARID>506327</PARID>

<PODAT>20221205</PODAT>

<POTIM>094527</POTIM>

<LE_SCENARIO>F</LE_SCENARIO>

<E1EDL22 SEGMENT="1">

<VSTEL_BEZ>Shipping Point</VSTEL_BEZ>

<VKORG_BEZ>Solutions</VKORG_BEZ>

<INCO1_BEZ>Freight-free</INCO1_BEZ>

<ROUTE_BEZ>TIG (TNT)</ROUTE_BEZ>

<VSBED_BEZ>Standard</VSBED_BEZ>

</E1EDL22>

<E1EDL21 SEGMENT="1">

<LFART>ZILF</LFART>

<LPRIO>02</LPRIO>

<KDGRP>SB</KDGRP>

<TRAGR>0001</TRAGR>

<E1EDL23 SEGMENT="1">

<LFART_BEZ>Delivery</LFART_BEZ>

<LPRIO_BEZ>Normal Delivery</LPRIO_BEZ>

<KDGRP_BEZ>kkkk</KDGRP_BEZ>

<TRAGR_BEZ>Standard</TRAGR_BEZ>

</E1EDL23>

</E1EDL21>

<E1EDL18 SEGMENT="1">

<QUALF>ORI</QUALF>

</E1EDL18>

<E1ADRM1 SEGMENT="1">

<PARTNER_Q>AG</PARTNER_Q>

<PARTNER_ID>0000152055</PARTNER_ID>

<LANGUAGE>EN</LANGUAGE>

<NAME1>aaa</NAME1>

<NAME2></NAME2>

<STREET1>370 aaaaa</STREET1>

<POSTL_COD1>1111</POSTL_COD1>

<CITY1>GEEBUNG</CITY1>

<E_MAIL>akdkkdkkd</E_MAIL>

<COUNTRY1>kr</COUNTRY1>

<REGION></REGION>

<E1ADRE1 SEGMENT="1">

<EXTEND_Q>100</EXTEND_Q>

<EXTEND_D>9328739018921</EXTEND_D>

</E1ADRE1>

<E1ADRE1 SEGMENT="1">

<EXTEND_Q>300</EXTEND_Q>

<EXTEND_D>506327</EXTEND_D>

</E1ADRE1>

</E1ADRM1>

<E1ADRM1 SEGMENT="1">

<PARTNER_Q>RG</PARTNER_Q>

<PARTNER_ID>0000109567</PARTNER_ID>

<LANGUAGE>EN</LANGUAGE>

<NAME1>aaaa</NAME1>

<NAME2>aaaa</NAME2>

<STREET1>LOCKED BAG 2</STREET1>

<POSTL_COD1>1811</POSTL_COD1>

<CITY1>gold</CITY1>

<TELEPHONE1>02 000000</TELEPHONE1>

<TELEFAX>02 00000</TELEFAX>

<TELEX>002263872</TELEX>

<COUNTRY1>kr</COUNTRY1>

<REGION>seoul</REGION>

<E1ADRE1 SEGMENT="1">

<EXTEND_Q>300</EXTEND_Q>

<EXTEND_D>506327</EXTEND_D>

</E1ADRE1>

</E1ADRM1>

<E1ADRM1 SEGMENT="1">

<PARTNER_Q>WE</PARTNER_Q>

<PARTNER_ID>0000152055</PARTNER_ID>

<LANGUAGE>EN</LANGUAGE>

<NAME1></NAME1>

<NAME2></NAME2>

<STREET1></STREET1>

<POSTL_COD1></POSTL_COD1>

<CITY1></CITY1>

<E_MAIL></E_MAIL>

<COUNTRY1>AU</COUNTRY1>

<REGION>QLD</REGION>

<E1ADRE1 SEGMENT="1">

<EXTEND_Q>100</EXTEND_Q>

<EXTEND_D>9328739018921</EXTEND_D>

</E1ADRE1>

<E1ADRE1 SEGMENT="1">

<EXTEND_Q>300</EXTEND_Q>

<EXTEND_D>506327</EXTEND_D>

</E1ADRE1>

</E1ADRM1>

<E1ADRM1 SEGMENT="1">

<PARTNER_Q>OSP</PARTNER_Q>

<PARTNER_ID>3110</PARTNER_ID>

</E1ADRM1>

<E1ADRM1 SEGMENT="1">

<PARTNER_Q>OSO</PARTNER_Q>

<PARTNER_ID>3000</PARTNER_ID>

<LANGUAGE>EN</LANGUAGE>

<NAME1></NAME1>

<STREET1></STREET1>

<POSTL_COD1>5013</POSTL_COD1>

<CITY1></CITY1>

<CITY2></CITY2>

<TELEPHONE1></TELEPHONE1>

<TELEFAX></TELEFAX>

<COUNTRY1>AU</COUNTRY1>

<REGION>SA</REGION>

<E1ADRE1 SEGMENT="1">

<EXTEND_Q>100</EXTEND_Q>

<EXTEND_D>9377778094731</EXTEND_D>

</E1ADRE1>

</E1ADRM1>

<E1EDT13 SEGMENT="1">

<QUALF>006</QUALF>

<NTANF>20230411</NTANF>

<NTANZ>000000</NTANZ>

<NTEND>20230411</NTEND>

<NTENZ>000000</NTENZ>

<TZONE_BEG>AUSSA</TZONE_BEG>

<ISDD>20221205</ISDD>

<ISDZ>000000</ISDZ>

<IEDD>20221205</IEDD>

<IEDZ>000000</IEDZ>

<TZONE_END>kr</TZONE_END>

</E1EDT13>

<E1EDT13 SEGMENT="1">

<QUALF>003</QUALF>

<NTANF>20230406</NTANF>

<NTANZ>000000</NTANZ>

<NTEND>20230406</NTEND>

<NTENZ>000000</NTENZ>

<TZONE_BEG>AUSSA</TZONE_BEG>

<ISDD>00000000</ISDD>

<ISDZ>000000</ISDZ>

<IEDD>00000000</IEDD>

<IEDZ>000000</IEDZ>

</E1EDT13>

<E1EDT13 SEGMENT="1">

<QUALF>001</QUALF>

<NTANF>20230406</NTANF>

<NTANZ>000000</NTANZ>

<NTEND>20230406</NTEND>

<NTENZ>000000</NTENZ>

<TZONE_BEG>AUSSA</TZONE_BEG>

<ISDD>00000000</ISDD>

<ISDZ>000000</ISDZ>

<IEDD>00000000</IEDD>

<IEDZ>000000</IEDZ>

</E1EDT13>

<E1EDT13 SEGMENT="1">

<QUALF>007</QUALF>

<NTANF>20230411</NTANF>

<NTANZ>000000</NTANZ>

<NTEND>20230411</NTEND>

<NTENZ>000000</NTENZ>

<TZONE_BEG>seoul</TZONE_BEG>

<ISDD>00000000</ISDD>

<ISDZ>000000</ISDZ>

<IEDD>00000000</IEDD>

<IEDZ>000000</IEDZ>

</E1EDT13>

<E1EDT13 SEGMENT="1">

<QUALF>010</QUALF>

<NTANF>20230406</NTANF>

<NTANZ>000000</NTANZ>

<NTEND>20230406</NTEND>

<NTENZ>000000</NTENZ>

<TZONE_BEG>seoul</TZONE_BEG>

<ISDD>00000000</ISDD>

<ISDZ>000000</ISDZ>

<IEDD>00000000</IEDD>

<IEDZ>000000</IEDZ>

</E1EDT13>

<E1EDT13 SEGMENT="1">

<QUALF>015</QUALF>

<NTANF>20221205</NTANF>

<NTANZ>000000</NTANZ>

<NTEND>20221205</NTEND>

<NTENZ>000000</NTENZ>

<ISDD>00000000</ISDD>

<ISDZ>000000</ISDZ>

<IEDD>00000000</IEDD>

<IEDZ>000000</IEDZ>

</E1EDT13>

<E1EDL28 SEGMENT="1">

<ROUTE>303302</ROUTE>

<DISTZ>0.000</DISTZ>

<E1EDL29 SEGMENT="1">

<ROUTE_BEZ>TIG (TNT)</ROUTE_BEZ>

</E1EDL29>

</E1EDL28>

<E1EDL24 SEGMENT="1">

<POSNR>000010</POSNR>

<MATNR>000000000000445800</MATNR>

<MATWA></MATWA>

<ARKTX></ARKTX>

<MATKL>300</MATKL>

<WERKS>3110</WERKS>

<LGORT>3110</LGORT>

<KDMAT>9324974011925</KDMAT>

<LFIMG>1</LFIMG>

<VRKME>EA</VRKME>

<LGMNG>1</LGMNG>

<MEINS>EA</MEINS>

<NTGEW>0.000</NTGEW>

<BRGEW>1.000</BRGEW>

<GEWEI>KGM</GEWEI>

<VOLUM>0.006</VOLUM>

<VOLEH>MTQ</VOLEH>

<LADGR>0001</LADGR>

<TRAGR>0001</TRAGR>

<VKBUR>3110</VKBUR>

<VKGRP>322</VKGRP>

<VTWEG>DM</VTWEG>

<SPART>30</SPART>

<GRKOR>000</GRKOR>

<EAN11>9324974011925</EAN11>

<KDMAT35>ES580</KDMAT35>

<POSEX> 11</POSEX>

<ZUDAT>1</ZUDAT>

<VFDAT>00000000</VFDAT>

<EXPIRY_DATE_EXT>0</EXPIRY_DATE_EXT>

<VGBEL>3014375979</VGBEL>

<VGPOS>000010</VGPOS>

<ORMNG>1</ORMNG>

<EXPIRY_DATE_EXT_B>0</EXPIRY_DATE_EXT_B>

<E1EDL25 SEGMENT="1">

<LGORT_BEZ>S/Ware Brisbane</LGORT_BEZ>

<LADGR_BEZ>Normal Loading</LADGR_BEZ>

<TRAGR_BEZ>Standard</TRAGR_BEZ>

<VKBUR_BEZ></VKBUR_BEZ>

<VKGRP_BEZ></VKGRP_BEZ>

<VTWEG_BEZ>Domestic</VTWEG_BEZ>

<SPART_BEZ></SPART_BEZ>

</E1EDL25>

<E1EDL26 SEGMENT="1">

<PSTYV>TAN</PSTYV>

<MATKL>300</MATKL>

<PRODH>Z30006125</PRODH>

<UMVKZ>1</UMVKZ>

<UMVKN>1</UMVKN>

<UEBTO>0.0</UEBTO>

<UNTTO>0.0</UNTTO>

<KOQUI>X</KOQUI>

<KVGR1>3EL</KVGR1>

<KVGR2>3DE</KVGR2>

<KVGR3>438</KVGR3>

<MVGR3>350</MVGR3>

<E1EDL27 SEGMENT="1">

<PSTYV_BEZ>Standard Item</PSTYV_BEZ>

<MATKL_BEZ>Finished Goods</MATKL_BEZ>

<PRODH_BEZ>Essentials</PRODH_BEZ>

<WERKS_BEZ></WERKS_BEZ>

<KVGR1_BEZ>Electrical Retail</KVGR1_BEZ>

<KVGR2_BEZ>Derni Group</KVGR2_BEZ>

<KVGR3_BEZ></KVGR3_BEZ>

<MVGR3_BEZ>Other</MVGR3_BEZ>

</E1EDL27>

</E1EDL26>

<E1EDL43 SEGMENT="1">

<QUALF>C</QUALF>

<BELNR>3014375979</BELNR>

<POSNR>000010</POSNR>

<DATUM>20221204</DATUM>

</E1EDL43>

<E1EDL41 SEGMENT="1">

<QUALI>001</QUALI>

<BSTNR>4082</BSTNR>

<BSTDT>20221204</BSTDT>

<BSARK>EDA</BSARK>

<POSEX>000011</POSEX>

<E1EDL42 SEGMENT="1">

<BSARK_BEZ>EDI Fully Accepted</BSARK_BEZ>

</E1EDL42>

</E1EDL41>

<E1TXTH9 SEGMENT="1">

<TDOBJECT>VBBP</TDOBJECT>

<TDOBNAME>3174853740000010</TDOBNAME>

<TDID>Z004</TDID>

<TDSPRAS>E</TDSPRAS>

<LANGUA_ISO>EN</LANGUA_ISO>

</E1TXTH9>

</E1EDL24>

<E1EDL37 SEGMENT="1">

<EXIDV>317485374000000002</EXIDV>

<EXIDV2>2</EXIDV2>

<VHILM_KU>4082</VHILM_KU>

<VEBEZ>11</VEBEZ>

<KDMAT35>ES580</KDMAT35>

<SORTL>1</SORTL>

<E1EDL38 SEGMENT="1">

<VHART_BEZ>Carton</VHART_BEZ>

<MAGRV_BEZ>Shipping Unit mats</MAGRV_BEZ>

<VEBEZ>Carton (for Packaging instruction)</VEBEZ>

</E1EDL38>

<E1EDL44 SEGMENT="1">

<VELIN>1</VELIN>

<VBELN>3174853740</VBELN>

<POSNR>000010</POSNR>

<VEMNG>1</VEMNG>

<VEMEH>EA</VEMEH>

<KDMAT>9324974011925</KDMAT>

<SONUM>1</SONUM>

</E1EDL44>

</E1EDL37>

</E1EDL20>

</IDOC>

</DELVRY03>

2. My xslt logic for counting Posex field.

logic should be counted line item with E1EDL41/POSEX field and applied on D_6060 under CNT segment target field.

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/">

<xsl:apply-templates select="*"/>

</xsl:template>

<!-- ============================================================================================= -->

<!-- Template: Enter the ordinal number in POSEX-->

<!-- ============================================================================================= -->

<xsl:template match="POSEX">

<D_6066>

<xsl:value-of select="count(preceding::POSEX)+1"/>

</D_6066>

</xsl:template>

<!-- ============================================================================================= -->

<!-- Template: Consume and produce remaining nodes -->

<!-- ============================================================================================= -->

<xsl:template match="node() | @*">

<xsl:copy>

<xsl:apply-templates select="node() | @*"/>

</xsl:copy>

</xsl:template>

</xsl:stylesheet>

3. Outcome as below

- There isn't populate D_6066 field under CNT segment with the count for posex field lineitem. Normally it should be return 1 .

<?xml version="1.0" encoding="UTF-8"?>

<M_DESADV>

<S_UNH>

<D_0062>1</D_0062>

<C_S009>

<D_0065>DESADV</D_0065>

<D_0052>D</D_0052>

<D_0054>01B</D_0054>

<D_0051>UN</D_0051>

<D_0057>EAN007</D_0057>

</C_S009>

</S_UNH>

<S_BGM>

<C_C106>

<D_1004>3174853740</D_1004>

</C_C106>

<D_1225>9</D_1225>

</S_BGM>

<S_DTM>

<C_C507>

<D_2005>11</D_2005>

<D_2380>20230411</D_2380>

<D_2379>102</D_2379>

</C_C507>

</S_DTM>

<S_DTM>

<C_C507>

<D_2005>003</D_2005>

<D_2380>20230406</D_2380>

<D_2379>102</D_2379>

</C_C507>

</S_DTM>

<S_DTM>

<C_C507>

<D_2005>001</D_2005>

<D_2380>20230406</D_2380>

<D_2379>102</D_2379>

</C_C507>

</S_DTM>

<S_DTM>

<C_C507>

<D_2005>007</D_2005>

<D_2380>20230411</D_2380>

<D_2379>102</D_2379>

</C_C507>

</S_DTM>

<S_DTM>

<C_C507>

<D_2005>010</D_2005>

<D_2380>20230406</D_2380>

<D_2379>102</D_2379>

</C_C507>

</S_DTM>

<S_DTM>

<C_C507>

<D_2005>137</D_2005>

<D_2380>20221205</D_2380>

<D_2379>102</D_2379>

</C_C507>

</S_DTM>

<S_ALI>

<D_4183>164</D_4183>

</S_ALI>

<S_MEA>

<D_6311>PD</D_6311>

<C_C174>

<D_6411>KGM</D_6411>

<D_6314>1.000</D_6314>

</C_C174>

</S_MEA>

<G_SG1>

<S_RFF>

<C_C506>

<D_1153>ON</D_1153>

<D_1154>4082</D_1154>

</C_C506>

</S_RFF>

</G_SG1>

<G_SG2>

<S_NAD>

<D_3035>BY</D_3035>

<C_C082>

<D_3039>0000152055</D_3039>

<D_3055>9</D_3055>

</C_C082>

</S_NAD>

</G_SG2>

<G_SG2>

<S_NAD>

<D_3035>RG</D_3035>

<C_C082>

<D_3039>0000109567</D_3039>

<D_3055>9</D_3055>

</C_C082>

</S_NAD>

</G_SG2>

<G_SG2>

<S_NAD>

<D_3035>ST</D_3035>

<C_C082>

<D_3039>0000152055</D_3039>

<D_3055>9</D_3055>

</C_C082>

</S_NAD>

</G_SG2>

<G_SG2>

<S_NAD>

<D_3035>OSP</D_3035>

<C_C082>

<D_3039>3110</D_3039>

<D_3055>9</D_3055>

</C_C082>

</S_NAD>

</G_SG2>

<G_SG2>

<S_NAD>

<D_3035>SU</D_3035>

<C_C082>

<D_3039>3000</D_3039>

<D_3055>9</D_3055>

</C_C082>

</S_NAD>

</G_SG2>

<G_SG10>

<S_CPS>

<D_7164>2</D_7164>

<D_7166>1</D_7166>

<D_7075>1</D_7075>

</S_CPS>

<G_SG11>

<S_PAC>

<D_7224>1</D_7224>

<C_C202>

<D_7065>PK</D_7065>

</C_C202>

</S_PAC>

<G_SG13>

<S_PCI>

<D_4233>33E</D_4233>

</S_PCI>

</G_SG13>

</G_SG11>

<G_SG17>

<S_LIN>

<D_1082>1</D_1082>

</S_LIN>

<S_PIA>

<D_4347>1</D_4347>

<C_C212>

<D_7140>ES580</D_7140>

<D_7143>SA</D_7143>

</C_C212>

</S_PIA>

<S_QTY_gq_multi_12>

<C_C186>

<D_6063>12</D_6063>

<D_6060>1</D_6060>

</C_C186>

</S_QTY_gq_multi_12>

<S_QTY_gq___REST__>

<C_C186>

<D_6063>21</D_6063>

<D_6060>1</D_6060>

</C_C186>

</S_QTY_gq___REST__>

</G_SG17>

</G_SG10>

<S_CNT>

<C_C270_gq_2>

<D_6069>2</D_6069>

<D_6066></D_6066>

</C_C270_gq_2>

</S_CNT>

<S_UNT>

<D_0074>$B2B_SEG_COUNTER</D_0074>

<D_0062>1</D_0062>

</S_UNT>

</M_DESADV>

All the Best