on 09-10-2013 10:23 PM
Dear Experts,
We have an HTTP_AAE to IDoc_AAE scenario for receiving Invoices into SAP ECC system using IDoc type INVOIC02.
We are using PI 7.31 AEX service pack 07 single stack Java.
The message is successful in the sender channel but we are getting an error as below in the receiver channel.
Transmitting the message to endpoint <local> using connection HTTP_AAE_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.conn.idoc.IDocParseException: (7) IDOC_ERROR_PARSE_FAILURE: Invalid character encountered within IDocXML for type <INVOIC02>:
state=READING_FIELD, charPosition=872, lineNumber=1, columnNumber=873, invalidChar=U+0043,
sourceSnippet=...3><E1EDK05 SEGMENT="1"><ALCKZ>+</ALCKZ></E1EDK05><E1EDK04 SEGMENT="1">Constant</E1EDK04><E1EDK14 SEG...
We can see the IDoc metadata in the IDoc monitor.
The payload for this message in the receiver is –
<?xml version="1.0" encoding="UTF-8" ?>
<INVOIC02>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>X</TABNAM>
<DIRECT>X</DIRECT>
<IDOCTYP>INVOIC02</IDOCTYP>
<MESTYP>INVOIC</MESTYP>
<SNDPOR>INVOIC_ECC</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>Constant</SNDPRN>
<RCVPOR>Constant</RCVPOR>
<RCVPRN>Constant</RCVPRN>
</EDI_DC40>
<E1EDK01 SEGMENT="1">
<CURCY>USD</CURCY>
<BSART>INVO</BSART>
</E1EDK01>
<E1EDKA1 SEGMENT="1">
<PARVW>RS</PARVW>
<PARTN>44400247</PARTN>
<NAME1>VENDOR NAME</NAME1>
</E1EDKA1>
<E1EDKA1 SEGMENT="1">
<PARVW>RE</PARVW>
<PARTN>10000247</PARTN>
<LIFNR>VENDOR NAME</LIFNR>
</E1EDKA1>
<E1EDK02 SEGMENT="1">
<QUALF>009</QUALF>
<BELNR>31002</BELNR>
</E1EDK02>
<E1EDK03 SEGMENT="1">
<IDDAT>012</IDDAT>
<DATUM>20130910</DATUM>
</E1EDK03>
<E1EDK03 SEGMENT="1">
<IDDAT>024</IDDAT>
<DATUM>20130910</DATUM>
</E1EDK03>
<E1EDK05 SEGMENT="1">
<ALCKZ>+</ALCKZ>
</E1EDK05>
<E1EDK04 SEGMENT="1">Constant</E1EDK04>
<E1EDK14 SEGMENT="1">
<QUALF>011</QUALF>
<ORGID>TRBU</ORGID>
</E1EDK14>
<E1EDP01 SEGMENT="1">
<POSEX>1</POSEX>
<MENGE>1</MENGE>
<VPREI>228.32</VPREI>
<E1EDP02 SEGMENT="1">
<QUALF>001</QUALF>
<BELNR>31002</BELNR>
<ZEILE>1</ZEILE>
</E1EDP02>
<E1EDP26 SEGMENT="1">
<QUALF>003</QUALF>
<BETRG>228.32</BETRG>
</E1EDP26>
</E1EDP01>
<E1EDS01 SEGMENT="1">
<SUMID>011</SUMID>
<SUMME>228.32</SUMME>
<WAERQ>USD</WAERQ>
</E1EDS01>
<E1EDS01 SEGMENT="1">
<SUMID>020</SUMID>
<WAERQ>USD</WAERQ>
</E1EDS01>
</IDOC>
</INVOIC02>
The payload for the sender channel is:
<?xml version="1.0"?>
<!DOCTYPE cXML SYSTEM "\r\n" _mce_href="http://xml.cXML.org/schemas/cXML/1.2.011/InvoiceDetail.dtd">\r\n">http://xml.cXML.o...
<cXML version="1.2.011" payloadID="1102201224860.cXML.317956840002.gwktOCRfkgD04S7a@testvendor.com" timestamp="2012-11-02T09:48:24-05:00" xml:lang="en-US">
<Header>
<From>
<Credential domain="NetworkID">
<Identity>AN044400247-T</Identity>
</Credential>
<Credential domain="VendorID">
<Identity>44400247</Identity>
</Credential>
</From>
<To>
<Credential domain="NetworkID">
<Identity>58927582-cxml</Identity>
</Credential>
</To>
<Sender>
<Credential domain="NetworkID">
<Identity>AN044400247-T</Identity>
<SharedSecret>welcome</SharedSecret>
</Credential>
<UserAgent>test</UserAgent>
</Sender>
</Header>
<Request deploymentMode="production">
<InvoiceDetailRequest>
<InvoiceDetailRequestHeader invoiceID="317956840002" purpose="standard" operation="new" invoiceDate="2012-11-02T12:00:00-05:00">
<InvoiceDetailHeaderIndicator/>
<InvoiceDetailLineIndicator/>
<InvoicePartner>
<Contact role="remitTo">
<Name xml:lang="en-US">TEST VENDOR</Name>
<PostalAddress>
<Street>P O BOX 633</Street>
<City>CINCINNATI</City>
<State>OH</State>
<PostalCode>45263-3301</PostalCode>
<Country isoCountryCode="US">United States</Country>
</PostalAddress>
</Contact>
</InvoicePartner>
<InvoicePartner>
<Contact role="soldTo">
<Name xml:lang="en-US">ANYCITY</Name>
<PostalAddress>
<Street>1010 MAIN AVENUE930Q</Street>
<City>ANYCITY</City>
<State>MA</State>
<PostalCode>02215</PostalCode>
<Country isoCountryCode="US">United States</Country>
</PostalAddress>
</Contact>
</InvoicePartner>
<InvoiceDetailShipping>
<Contact role="shipTo" addressID="102">
<Name xml:lang="en-US">ANYCITY</Name>
<PostalAddress>
<Street>1010 MAIN AVENUE930Q</Street>
<City>ANYCITY</City>
<State>MA</State>
<PostalCode>02211</PostalCode>
<Country isoCountryCode="US">United States</Country>
</PostalAddress>
</Contact>
<Contact role="shipFrom">
<Name xml:lang="en-US">Test Venodr</Name>
</Contact>
</InvoiceDetailShipping>
<Extrinsic name="invoice due date">20121102</Extrinsic>
</InvoiceDetailRequestHeader>
<InvoiceDetailOrder>
<InvoiceDetailOrderInfo>
<OrderIDInfo orderID="8500046332" orderDate="2012-11-02"/>
<SupplierOrderInfo orderID="31002"/>
</InvoiceDetailOrderInfo>
<InvoiceDetailItem invoiceLineNumber="1" quantity="1">
<UnitOfMeasure>EA</UnitOfMeasure>
<UnitPrice>
<Money currency="USD">228.32</Money>
</UnitPrice>
<InvoiceDetailItemReference lineNumber="1">
<ItemID>
<SupplierPartID>530569</SupplierPartID>
</ItemID>
<Description xml:lang="en-US">CARTRIDGE,LASER JET,HP BLACK</Description>
</InvoiceDetailItemReference>
<Extrinsic name="UNSPSC">44103103</Extrinsic>
</InvoiceDetailItem>
</InvoiceDetailOrder>
<InvoiceDetailSummary>
<SubtotalAmount>
<Money currency="USD">228.32</Money>
</SubtotalAmount>
<Tax>
<Money currency="USD"/>
<Description xml:lang="en-US">Tax</Description>
<TaxDetail purpose="tax" category="sales">
<TaxAmount>
<Money currency="USD"/>
</TaxAmount>
</TaxDetail>
</Tax>
<GrossAmount>
<Money currency="USD">228.32</Money>
</GrossAmount>
<NetAmount>
<Money currency="USD">228.32</Money>
</NetAmount>
</InvoiceDetailSummary>
</InvoiceDetailRequest>
</Request>
</cXML>
Any assistance is greatly appreciated.
Best Regards,
Shari
Hello,
I think, you are getting idoc parse exception because of below highlighted value:
<E1EDK04 SEGMENT="1">Constant</E1EDK04>
So, instead of "Constant" value use empty string in Constant function and then check?
Thanks
Amit Srivastava
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Shari,
Please check this tag value <ALCKZ>+</ALCKZ>, i think this is rong value.
Thanks,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
There could be 2 issues -
1. Value in the tag <ALCKZ> - Check what values you can pass.
2. Length of the field, you are getting error for.
Cross check above 2.
Regards
Aashish Sinha
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.