cancel
Showing results for 
Search instead for 
Did you mean: 

SAP MII Not able to use repeater on IDOC's XML received in SAP MII

Former Member
0 Kudos

Hello All,

I'm receiving a custom IDOC from ECC which has 5 segments. each segments can have multiple rows. I need to push this data to SQL.

When I'm repeating through XML elements, it is inserting blank rows instead of the values I am providing in [Param.1],...etc. in BLS.

My XML is attached.

XPATH expression in repeater's config I'm giving is -- Transaction.Receive_HCM_Details{/ZSACO/IDOC/ZSACO_ORG}

Transaction.Receive_HCM_Details - is my Transaction variable in which details are coming.

I am assigning Repeater_0.Output{/ZSACO/IDOC/ZSACO_ORG/FLAG} in [Param.1] of insert query.

My XML coming from IDOC is :

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

<ZSACO>

    <IDOC BEGIN="1">

        <EDI_DC40 SEGMENT="1">

            <TABNAM>EDI_DC40</TABNAM>

            <MANDT>110</MANDT>

            <DOCNUM>0000000000205215</DOCNUM>

            <DOCREL>731</DOCREL>

            <STATUS>30</STATUS>

            <DIRECT>1</DIRECT>

            <OUTMOD>2</OUTMOD>

            <IDOCTYP>ZSACO</IDOCTYP>

            <MESTYP>HRMD_A</MESTYP>

            <STDMES>HRMD_A</STDMES>

            <SNDPOR>SAPZID</SNDPOR>

            <SNDPRT>LS</SNDPRT>

            <SNDPRN>ZIDCLNT110</SNDPRN>

            <RCVPOR>XMIIIDOC01</RCVPOR>

            <RCVPRT>LS</RCVPRT>

            <RCVPRN>XMIIIDOC01</RCVPRN>

            <CREDAT>20130829</CREDAT>

            <CRETIM>081257</CRETIM>

            <SERIAL>20130826151623</SERIAL>

        </EDI_DC40>

        <ZSACO_ORG SEGMENT="1">

            <FLAG>U</FLAG>

            <OTYPE>O</OTYPE>

            <OBJID>10010160</OBJID>

            <STEXT>Black Mountain test</STEXT>

            <BEGDA>20080101</BEGDA>

            <ENDDA>99991231</ENDDA>

        </ZSACO_ORG>

        <ZSACO_EMPLOYEE SEGMENT="1">

            <MASSN>01</MASSN>

            <FLAG>I</FLAG>

            <PERNR>00000083</PERNR>

            <NACHN>hjgjhj</NACHN>

            <VORNA>gll</VORNA>

            <ORGEH>10010027</ORGEH>

            <PLANS>10021527</PLANS>

            <BUKRS>1000</BUKRS>

            <SCHKZ>1007-01S</SCHKZ>

            <BEGDA>19990616</BEGDA>

        </ZSACO_EMPLOYEE>

        <ZSACO_EMPLOYEE SEGMENT="1">

            <MASSN>01</MASSN>

            <FLAG>I</FLAG>

            <PERNR>00000084</PERNR>

            <NACHN>AHAHAHAH</NACHN>

            <VORNA>AHAHAAJ</VORNA>

            <ORGEH>10010027</ORGEH>

            <PLANS>10021386</PLANS>

            <BUKRS>1000</BUKRS>

            <SCHKZ>1007-01U</SCHKZ>

            <BEGDA>19910616</BEGDA>

        </ZSACO_EMPLOYEE>

        <ZSACO_LEAVE SEGMENT="1">

            <FLAG>I</FLAG>

            <PERNR>00000081</PERNR>

            <SUBTY>1000</SUBTY>

            <BEGDA>20130826</BEGDA>

            <ENDDA>20130826</ENDDA>

        </ZSACO_LEAVE>

        <ZSACO_MEDICAL SEGMENT="1">

            <FLAG>I</FLAG>

            <PERNR>00000081</PERNR>

            <CERT_CODE>18</CERT_CODE>

            <EXP_DATE>20120501</EXP_DATE>

        </ZSACO_MEDICAL>

        <ZSACO_MEDICAL SEGMENT="1">

            <FLAG>D</FLAG>

            <PERNR>00000081</PERNR>

            <CERT_CODE>18</CERT_CODE>

            <EXP_DATE>20120501</EXP_DATE>

        </ZSACO_MEDICAL>

        <ZSACO_SHIFT SEGMENT="1">

            <FLAG>I</FLAG>

            <PERNR>00000081</PERNR>

            <BEGDA>20130901</BEGDA>

            <ENDDA>20130901</ENDDA>

            <TPROG>999</TPROG>

        </ZSACO_SHIFT>

    </IDOC>

</ZSACO>

Accepted Solutions (1)

Accepted Solutions (1)

saumya_govil
Active Contributor
0 Kudos

Dear Ankit,

As suggested by all try using 

Repeater_0.Output{/ZSACO_ORG/FLAG} to access the flag.

A technique which I follow is to write the 

Repeater_0.Output to a tracer and see the structure to better understand and access the output.

Hope this helps you too.

Regards,

Saumya Govil

Answers (3)

Answers (3)

Former Member
0 Kudos

Dear Anuj, Ritim and Saumya,

Thank you, very much for your help!!!!! I realised where I was going wrong,

Best Regards

Ankit

saumya_govil
Active Contributor
0 Kudos

Hi Ankit,

Good to know it helped.

Looks like we can close the discussion.. could you please?

Regards,

Saumya Govil

0 Kudos

Use below mentioned mapping:

Repeater_0.Output{/ZSACO_ORG/FLAG}

Former Member
0 Kudos

Hi Ankit,

Mapping of

Repeater_0.Output{/ZSACO_ORG/FLAG} instead of Repeater_0.Output{/ZSACO/IDOC/ZSACO_ORG/FLAG} to your SQL parameter will solve your problem.

Best Regards,

Anuj