on 2013 Aug 29 1:53 PM
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>
Request clarification before answering.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Anuj, Ritim and Saumya,
Thank you, very much for your help!!!!! I realised where I was going wrong,
Best Regards
Ankit
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Use below mentioned mapping:
Repeater_0.Output{/ZSACO_ORG/FLAG}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.