Skip to Content
avatar image
Former Member

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

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.org/schemas/cXML/1.2.011/InvoiceDetail.dtd">\r\n
<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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    Sep 11, 2013 at 06:27 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Amit,

      You were correct removing the text “constant” from

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

      corrected the issue.

      Thank you very much,

      Shari

  • Sep 11, 2013 at 05:06 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 11, 2013 at 08:01 AM

    Hi Shari,

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

    Thanks,

    Add comment
    10|10000 characters needed characters exceeded