cancel
Showing results for 
Search instead for 
Did you mean: 

IDocParseException: (7) IDOC_ERROR_PARSE_FAILURE: Invalid character encountered within IDocXML for type <INVOIC02>

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Amit,

You were correct removing the text “constant” from

<E1EDK04 SEGMENT="1">Constant</E1EDK04>

corrected the issue.

Thank you very much,

Shari

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Shari,

Please check this tag value <ALCKZ>+</ALCKZ>,  i think this is rong value.

Thanks,

aashish_sinha
Active Contributor
0 Kudos

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