EDI Serialization error

I'm getting an error when my msg hits the outgoing EDI assembler that really has me scratching my head. I drop a flat file that is mapped to an 835. The map seems to run well, but the msg gets suspended with the following error:
"During serialization root node is not placed at start element"
I though maybe the msg that was hitting the EDI outgoing pipeline was not the msg I intended, and maybe the flatfile msg was getting through, so I looked up the suspended msg and sure enough it is the XML. So, I copied the XML and created a file. I then
changed my incoming pipeline to accept XML, dropped the file and the EDI 835 was created successfully. 
I've never seen this error before. Have any of you? Googling it just suggests that the msg may not correctly start with a proper "ST" segment, but again, it ran fine when I dropped the XML msg.
Any suggestions?
Thanks.

Hi ,
You can use  XmlTransmit pipeline. Doing this gives you access to a pipeline
PreserveBOM instance property that will strip the BOM from the message for you if you change it from its default setting of “True” to “False”:
Or you can do something like this
1)create a variable of type XMLdocument  =xmldoc;
2)Store the message in xmldoc : xmldoc = message1;
Pass the xmlodc to class library funtion
if (xml.StartsWith(ByteOrderMarkUtf8))
    xml = xml.Remove(0,
ByteOrderMarkUtf8.Length);
Thanks
Abhishek

Similar Messages

  • Serialization error while invoking a Java web service

    Hi,
    I've a requirement where I need to create a Java web service, which returns a collection (a set of records).
    The way I've created a web service is by having a Java Class, which internally calls a Pl/sql package returning Ref cursors and a bean Class, which wraps the method of the Java Class, to return the collection. I could create the web service successfully and could invoke the end point. The end point looks like this: http://localhost:8988/MyJavaWebService-New_JWS-context-root/MyWebService_finalSoapHttpPort
    The method exposed for the web service in my Java class is of type ArrayList, to fetch the collection element.
    After giving the input at the end point, while I say invoke, for the web service, I get the following error:
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://mypkg/types/"
    xmlns:ns1="http://www.oracle.com/webservices/internal/literal">
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Internal Server Error (serialization error: no serializer is registered for (class mypkg.EmpBean, null))</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    I've tried making my exposed method of type Vector as well and re-generated the web service. But still I face the same issue at invocation.
    Can anybody help me out and hint me on how I should proceed? I'm not sure if my approach is correct and so please correct me if I'm wrong.
    Thanks in Advance,
    Gayathri

    Hi,
    do you use 10.1.2 or 10.1.3?
    Take a look at:
    Re: How to create a web service with ArrayList or Collection

  • Serialization Error after adding a new field to BPM Process

    Hi,
    I have a BPM Process to which I added a new attribute userid and consuming the BPM process in a web dynpro application, I created a model using the BPM Process's Web Service but getting a serialization error that the model does not have a mandatory field with name [userid]. see below.
    FYI.. I can trigger my BPM process through the Web Service in wsnavigator , the error I am getting is while executing the BPM Process from the custom webdynpro.
    Any idea how to resolve the issue?
    XML Serialization Error. GenericObject [
    <modelObject class="com.sap.demo.wdpoc.wd.models.model.NewOperation"><attribute name="In" value="KK"/><attribute name="Name" value="133"/><attribute name="Age" value="dad"/><attribute name="Designation" value="12124"/><attribute name="Userid" value="null"/></modelObject>
    ] does not have a mandatory field with name [userid].
    [EXCEPTION]
    com.sap.engine.services.webservices.jaxrpc.exceptions.XmlMarshalException: XML Serialization Error. GenericObject [
    <modelObject class="com.sap.demo.wdpoc.wd.models.model.NewOperation"><attribute name="In" value="KK"/><attribute name="Name" value="133"/><attribute name="Age" value="dad"/><attribute name="Designation" value="12124"/><attribute name="Userid" value="null"/></modelObject>
    ] does not have a mandatory field with name [userid].
    at com.sap.engine.services.webservices.jaxrpc.encoding.SerializationUtil.serializeGenericFieldContent(SerializationUtil.java:1546)
    at com.sap.engine.services.webservices.jaxrpc.encoding.SerializationUtil.serializeGenericFields(SerializationUtil.java:1431)
    at com.sap.engine.services.webservices.jaxrpc.encoding.SerializationUtil.serializeGenericType(SerializationUtil.java:1383)
    at com.sap.engine.services.webservices.jaxrpc.encoding.GeneratedComplexType.serialize(GeneratedComplexType.java:168)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.serializeParameter(SOAPTransportBinding.java:1731)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.serializeRequest(SOAPTransportBinding.java:1683)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.writeSOAPRequestMessage(SOAPTransportBinding.java:254)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1272)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:952)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:907)
    at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DInterfaceInvokerImpl.invokeOperation(DInterfaceInvokerImpl.java:76)
    at com.sap.tc.webdynpro.model.webservice.model.WSGenericModelClassExecutable.execute(WSGenericModelClassExecutable.java:73)
    at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModelClassExecutable.execute(WSTypedModelClassExecutable.java:49)
    at com.sap.demo.wdpoc.wd.comp.wdpoc.Wdpoc.execute(Wdpoc.java:257)

    This question is not answered but I am marking it answered because I have to post more.
    Sorry
    -Ashwani

  • XML Serialization Error- While testing BAPI turned Web service

    I have a requirement to create sales order in SAP R/3 from an e-commerce site. I went through many forums suggesting "exposing FMs into Web Service". I wrapped BAPI_SALESORDER_CREATEFROMDAT2 and BAPI_TRANSACTION_COMMIT into one FM and exposed as Web Service. I did a successful test-sequence.
    When I tested the web service without giving values I got a response asking for "Sold-to Party or Ship-To Party". While testing the Web service with some values, I got the below error -
    XML Serialization Error. Object content does not correspond to Schema restrictions of type [urn:sap-com:document:sap:rfc:functions][numeric4].
    The e-commerce team tried to hit the Web service and got the below error-
    IWAB0383E Error validating parameters
    Note: Our servers does not have any ENHPacks. Only ECC 6.0.
    Please suggest what might have gone wrong and how to resolve this.
    Thanks!

    Hi Gourav Khare,
    I have created WSDL file through function module in SAP-ECC 5.0v.
    I have followed below steps:
    Crated FM (SE37)
    Crated Web-service (SE37)
    Generated WSDL file using (WSADMIN)
    And consumed WSDF file in SOAP UI (SOAP UI 4.5.2 Trailer version)
    Problem is: while consuming WSDL file in  SOAP UI I getting  ‘Serialisation failed’
    For your reference I have furnished xml string below.
    SOAP UI Input:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:rfc:functions">
    <soapenv:Header/>
    <soapenv:Body>
    <urn:YSDF_INV_PRINT_FINAL_RFC_WS_N>
    <!--Optional:-->
    <PWR_INVOICE>
    <INVOICE_SHIPPED_LINE>
    <!--Zero or more repetitions:-->
    <item>
    <POSITION1></POSITION1>
    <SALES_PART></SALES_PART>
                      <PART_DESC></PART_DESC>
    <PRICE></PRICE>
    <QUANTITY></QUANTITY>
    <CUSTOMER_TAX_NO></CUSTOMER_TAX_NO>
    <PROD_NONINVENTORY></PROD_NONINVENTORY>
    <PROD_TAXABLE></PROD_TAXABLE>
    <TAX_LEVEL></TAX_LEVEL>
    </item>
    </INVOICE_SHIPPED_LINE>
    <INVOICE_NO></INVOICE_NO>
    <ORDER_NO></ORDER_NO>
    <DATE_PRINTED></DATE_PRINTED>
    <DIV_CD></DIV_CD>
                <LAST_COST_INVOICE></LAST_COST_INVOICE>
    <DELETE_ZERO_COST></DELETE_ZERO_COST>
    <DELETE_NON_SHIPPED></DELETE_NON_SHIPPED>
    <GLOBALREF></GLOBALREF>
    <ORIGIN></ORIGIN>
    <ORIGINID></ORIGINID>
    </PWR_INVOICE>
    </urn:YSDF_INV_PRINT_FINAL_RFC_WS_N>
    </soapenv:Body>
    </soapenv:Envelope>
    SOAP UI Output:
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Body>
    <soap-env:Fault>
    <faultcode>soap-env:Client</faultcode>
    <faultstring xml:lang="en">Serialisation failed</faultstring>
    <detail>
    <n0:SimpleTransformationFault xmlns:n0="http://www.sap.com/transformation-templates">
    <MainName>/1BCDWB/WSS0130716111624448000</MainName>
    <ProgName>/1BCDWB/WSS0130716111624448000</ProgName>
    <Line>8</Line>
    <Valid>X</Valid>
    <ReferenceFault>
    <DescriptionText>Error accessing the ref. node 'INVOICE_ID'</DescriptionText>
    <RefName>INVOICE_ID</RefName>
    </ReferenceFault>
    <Caller>
                      <Class>CL_SRG_RFC_PROXY_CONTEXT</Class>
    <Method>IF_SXML_PART~DECODE</Method>
    <Positions>1</Positions>
    </Caller>
    </n0:SimpleTransformationFault>
    </detail>
    </soap-env:Fault>
    </soap-env:Body>
    </soap-env:Envelope>
    And one more things are
    I don't know the exact reason, but now the WSDL is working fine. No Idea, will it be consistent.
    No changes in import and export parameters of RFC and no change in code, even if the logic is changed it should not affect the output on SOAP UI but in my case it does.
    Wonder why all this happens, I cannot explain the exact reason technically because my RFC works fine every time, only issue is with SOAP UI.
    From SAP point of view FM is working fine, and input parameter of FM is optional, validations are done by the programming logic and it will capture the message and its details with respect to input data.
    I am not sure SOAP will work consistently and we are using ECC 5.0 most of the t-code not there like "SOAMANAGER" and all.  
    Kindly help me on this
    Thanks & Regards,
       Akshath.L.T

  • Java.rmi.ServerException: Internal Server Error (serialization error....)

    Hi to all.
    I have two classes.
    The first is:
    public class FatherBean implements Serializable {
    public String name;
    public int id;
    /** Creates a new instance of ChildBean */
    public FatherBean() {
    this.name= null;
    this.id = 0;
    public String getName() {
    return name;
    public void setName(String name) {
    this.name = name;
    public int getId() {
    return id;
    public void setId(int id) {
    this.id = id;
    The second is :
    public class ChildBean extends FatherBean implements Serializable {
    public double number;
    /** Creates a new instance of ChildBean */
    public ChildBean() {
    super();
    this.number = 0.0;
    public double getNumber() {
    return number;
    public void setNumber(double number) {
    this.number = number;
    A test client class implements the following method that is exposed as web service:
    public java.util.Collection getBeans() {
    java.util.Collection beans = new ArrayList();
    ChildBean childBean1 = new ChildBean();
    ChildBean childBean2 = new ChildBean();
    childBean1.setId(100);
    childBean1.setName("pippo");
    childBean1.setNumber(3.9);
    childBean2.setId(100000);
    childBean2.setName("pluto");
    childBean2.setNumber(4.7);
    beans.add(childBean1);
    beans.add(childBean2);
    return beans;
    When I invoke the web service to url:
    http://localhost:8080/Prova
    and invoke the correspondent method on jsp client, throws exception:
    java.rmi.ServerException: Internal Server Error (serialization error: no serializer is registered for (class test.ChildBean, null))
         at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:357)
         at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
         at ws.ProvaClientGenClient.ProvaRPC_Stub.getBeans(ProvaRPC_Stub.java:59)
         at ws.ProvaClientGenClient.getBeans_handler.doAfterBody(getBeans_handler.java:64)
         at jasper.getBeans_TAGLIB_jsp._jspService(_getBeans_TAGLIB_jsp.java:121)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.iplanet.ias.web.jsp.JspServlet$JspServletWrapper.service(JspServlet.java:552)
         at com.iplanet.ias.web.jsp.JspServlet.serviceJspFile(JspServlet.java:368)
         at com.iplanet.ias.web.jsp.JspServlet.service(JspServlet.java:287)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
         at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
         at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
         at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
    Where is the problem? Will be ChildBean that extends FatherBean? Wich settings on Sun Java Studio Enterprise 6 2004Q1?
    Thank you.

    Hi,
    This forum is for Sun Java Studio Creator related questions. Could you pls post your message in the appropriate forum.
    Thank you
    Cheers :-)

  • Web services with JDeveloper - serialization error

    Dear all,
    I have an issue with web services created with JDeveloper 10.1.3.2.0.
    Namely, this is what I do:
    1. I've created some TopLink classes from tables; one of this classes is called Task (and it's located in a package called "integration")
    2. I've created another class, called Integration, where I use these TopLink classes; in this new class I have a method called getTasksStatus, which returns an ArrayList containing Task objects
    3. I've created a web service from this class (Integration) by right-clicking on the class name in Applications Navigator and choosing Create J2EE Web Service.
    When I call the method getTasksStatus from the test web service (endpoint),
    I get this error:
    Oct 8, 2007 7:14:30 PM oracle.webservices.service
    SEVERE: serialization error: no serializer is registered for (class integration.Task, null) serialization error: no serializer is registered for (class integration.Task, null)
    When I call a method which returns a primitive type, everything is fine.
    I understand the problem, but I don't know a solution yet. Could you please help ?
    Thank you,
    Best regards,
    Sorin

    One solution to this problem is to make sure that the complex type you are using in yous service interface do implement the JAVA Bean as per the spec (at least Oracle's interpretation of it).
    You need to have getter/setter for all members and you need to have an empty ctor() to create new instances of your objects. In some cases, the design time let you get by, but the runtime fails in the code generation.
    In your case, the 'Task' class may have some issue.
    Hope it helps,
    -eric

  • HR Master data serialization error

    Hi,
    I activated serialization on sender and receiver system:
    (Transaction SALE -> Modelling and Implementing Business Processes -> Configure Predefined ALE Business Processes -> Human Resource -> Master Data Distribution - > Serialize HR Master Data)
    After processing, some iDocs have status 51 - Serialization error for object &. Expected counter 000001 < 000002 in IDoc.
    I understand that when I get iDoc with too big serialization counter the iDoc should have status 66 (IDoc is waiting for preceding IDoc (Serialization)) and I should be able to reprocess the iDoc when I get iDocs with missing serialization counter. Am I right?
    So why do they have status 51 and not 66?
    Thanks for answer in advance.

    there is some inconsistency in the receiver system.
    for ex:
    sender system Company code is different from the receiver system. etc...
    Edited by: Ashok Kumar Reddy N on Feb 6, 2008 1:46 PM

  • Idoc Error - EDI: Syntax error in IDoc (segment cannot be identified)

    Hi All,
    have created a new reduced message type for our new vendor A/C group through BD53. Also done reqd config for sending the vendor master through this message type. .
    I have created couple of vendors for testing with X01 with withholding tax functionality and when try to send these vendors , Idocs are getting failed .
    When I create vendor without withholding tax functionality , idoc is getting posted succesfully . If create vendor with entries in the feild whih are related to withholding tax  . Idocs are getting failed .
    If I see the status in WE05 ,Idocs which are posted succefully are showing the basic type as CREMAS03 . For idocs which are getting failed have the basic type as CREMAS04 and also the extension  as Z1CREMAS . I don`t understand why the system is defaulting CREMA04 & Z1CREMAS when I send the vendor master with withholding tax feild entries.
    I am not much familiar with ALE /Idoc set up. Please can any body help me to resolve the issue.
    The error message in we05 as below
    EDI: Syntax error in IDoc (segment cannot be identified)
    Message no. E0078
    Diagnosis
    The segment Z1LFA1M does not occur at the current level of the basic type CREMAS04 (extension Z1CREMAS).
    This error can have several reasons:
    The segment Z1LFA1M is assigned to a group whose header segment does not occur.
    The segment Z1LFA1M does not exist in the syntax description of the basic type CREMAS04 (extension Z1CREMAS).
    The sequence of segments in the group in which the segment appears is incorrect.
    Previous errors ('mandatory' segment or group missing) may be due to this error.
    Procedure
    Please check the IDoc or the syntax description of the basic type CREMAS04 (extension Z1CREMAS).
    Thanks

    Hi,
    I don`t understand what do you mean release after adding segment.
    Message type works i.e. Idoc get posted if I send with the  vendor w/o withholding tax field entries. Idoc fails when send vendor with withholding tax field entry.
    Regards

  • IDOC Status 26: EDI: Syntax error in IDoc (segment cannot be identified).

    Hi All,
    I have created IDOC extension for IDOC Basic type "PROACT01" and have followed all required necessary steps but getting IDOC
    Status 26. EDI: Syntax error in IDoc (segment cannot be identified). The exact error is:
    Please check Error Details and the details of the steps I followed for Setting up IDOC Extension:
    Error Detail :
    EDI: Syntax error in IDoc (segment cannot be identified)
    Message no. E0078
    Diagnosis
    The segment ZPROSEG does not occur at the current level of the basic type PROACT01 (extension PROACTEX).
    This error can have several reasons:
    The segment ZPROSEG is assigned to a group whose header segment does not occur.
    The segment ZPROSEG does not exist in the syntax description of the basic type PROACT01 (extension PROACTEX).
    The sequence of segments in the group in which the segment appears is incorrect.
    Previous errors ('mandatory' segment or group missing) may be due to this error.
    Procedure
    Please check the IDoc or the syntax description of the basic type PROACT01 (extension PROACTEX).
    Can you please look at this problem and suggest what is wrong with IDOC Extension/Custome Segment?
    Below is the Details of the Steps which I have followed:
    1. Tcode WE31 - Created new custom Segment ZPROSEG with 4 fields. Released segment.
    2. TCode WE30 - Created IDOC Extension PROACTEX for Basic Type PROACT01. Released IDOC extension.
         Here when I run syntax check warning appears "No predecessors exist".  I am not sure if its okay!!
    3. TCode WE82 - Added Extension PROACTEX in the Message Type PROACT with BASIC Type PROACT01.
    4. TCode WE20 - Added IDOC Extension PROACTEX in the predefined partner profile in WE20 transaction.
    5. Added the following code in the Customer Exit EXIT_SAPLWVMI_001 include ZXWVMIU01 .
    DATA segnam(27).
    READ TABLE dedidd WITH KEY segnam = 'ZPROSEG'.
    IF sy-subrc NE 0.
    LOOP AT dedidd WHERE segnam = 'E1EDP31'.
    CLEAR dedidd.
    dedidd-segnam = 'ZPROSEG'.
    zproseg-matnr = 'Mat1'.
    zproseg-lgort = '001'.
    zproseg-gernr = 'SNo1'.
    zproseg-labst = 2.
    dedidd-sdata = zproseg.
    APPEND dedidd.
    ENDLOOP.
    ENDIF.
    Finally ran  transaction WVM2 (Transfer of Stock & Sales Data) to generate IDOC, its creating IDOC but when checked IDOC in WE05 its getting Status Error "26".
    Looking forward for your reply.
    Many thanks in advance.

    Hello,
    Actually you are appending the Z segment instead of inserting into the correct position. So the segment is added at the last, so hierarchy of segments is collapsed.
    So get the index of the previous segment E1EDP31 and increase the index by 1 and INSERT the Z segment with that new index as below.
    LOOP AT dedidd WHERE segnam = 'E1EDP31'.
    lv_index = sy-tabix. " <<--
    ADD 1 TO lv_index. " <<--
    CLEAR dedidd.
    dedidd-segnam = 'ZPROSEG'.
    zproseg-matnr = 'Mat1'.
    zproseg-lgort = '001'.
    zproseg-gernr = 'SNo1'.
    zproseg-labst = 2.
    dedidd-sdata = zproseg.
    *APPEND dedidd.
    INSERT dedidd INDEX lv_index. " <<---
    ENDLOOP.
    Here actually we are insering the record inside the LOOP and it regenerates the index again. It is not actually a good practice.
    So the best practice is get the index and generate the segment inside the loop, store them into another internal table, come out the loop and insert the Z segments into DEDIDD by looping the new internal table.

  • Issue:EDI: Syntax error in IDoc (mandatory segment missing):Idoc extention

    Hi all,
    I have extended the the standard IDOC MATMAS05  classification view with structure as below-
    E1MARAM                        Master material general data (MARA)--->Mandatory segment
         Z1KLART                        KLART --->Extended chaild to E1MARAM
             Z1CLASS                        segment for class --->Extended chaild to Z1KLART
             Z1CHARACTERISTIC               CHARACTERISTIC --->Extended chaild to Z1KLART
         E1MARA1                        Additional Fields for E1MARAM
         E1MAKTM                        Master material short texts (MAKT) --->Mandatory segment(Child   to                                                                               
    E1MARAM )
    I am getting an error in IDOC fro material master as:EDI: Syntax error in IDoc (mandatory segment missing ).
    Diagnosys By system is :*The segment E1MAKTM has the attribute 'Mandatory' in the syntax description of the basic type MATMAS05 (customer enhancement ZMATMAS05). However, the segment is missing in the IDoc. The segment number logged in the status record identifies the item before which the segment is missing.
    This error may have been triggered by an unidentifiable segment before the expected mandatory segment.*
    Please help to resolve the issue.
    Thank you.
    Edited by: sanu debu on Apr 30, 2009 11:25 AM
    Edited by: sanu debu on Apr 30, 2009 11:31 AM

    Hi,
       You cannot add an segment in the middle of other segments.
    YOu have to add any segment at the last.
    If you want to add a segment as the child of another segment, it should be added after the last child of the parent segment.
    In you case, you have to add your segment after the E1CUCFG segment.(NOt under that segement)
    Regards,
    Ravi Kanth Talagana

  • EDI: Syntax error in IDoc (segment cannot be identified)

    Hi All,
    Im facing the below error EDI: Syntax error in IDoc (segment cannot be identified).
    And this error is coming only for few idocs rest are getting processed successfully.
    Message no. E0078
    Diagnosis
    The segment E1EDP03 does not occur at the current level of the basic type ORDERS05 (extension ).
    This error can have several reasons:
    The segment E1EDP03 is assigned to a group whose header segment does not occur.
    The segment E1EDP03 does not exist in the syntax description of the basic type ORDERS05 (extension ).
    The sequence of segments in the group in which the segment appears is incorrect.
    Previous errors ('mandatory' segment or group missing) may be due to this error.
    Procedure
    Please check the IDoc or the syntax description of the basic type ORDERS05 (extension ).
    Please suugest.
    Thanks,
    Spandana

    Hi,
    Is this standard program or custom program?
    you might be appending the Z segment instead of inserting it. Always best practice is get the index of the segment and instert it.
    If all the data is not populated then segment position will change incase of appending. Please check your code and revert back.
    Refer the below link for detailed information.
    IDOC Status 26: EDI: Syntax error in IDoc (segment cannot be identified).
    Thank you

  • EDI: Syntax error in IDoc (mandatory group/segment missing)

    hi EDI/IDoc experts,
    Need you help urgently. According to the requirement, i need populate a segement  E1IDT01 of basic type PEXR2002 . I added the code , then run and generate an idoc , the new segment
    E1IDT01  was populated,  but Syntax error 26 happend. Error message as below.   It also strange that i can see E1IDKU5 populate out as usual, but some others segment disappeared , i am sure that in my code ,i didn't changed any variable related to other segement . how can i fix this problem?
    EDI: Syntax error in IDoc (mandatory group missing)
    Message no. E0079
    Diagnosis
    The segment group E1IDKU5 has the attribute 'Mandatory' in the syntax description of the basic type PEXR2002 (customer enhancement ). However, the segment group is missing in the IDoc. The segment number logged in the status record identifies the item before which the segment group is missing.
    Procedure
    Please check the IDoc or the syntax description of the basic type PEXR2002 (customer enhancement ).

    Hi all,
    Thanks so much for your concern!
    Finally ,this problem has been figured out  .
    Requirement is user want to use segment E1IDT01 in idoc to populate the long text they maintained in accounting document vendor item line (use FB01 to create accounting doc).
    Why I made out " EDI: Syntax error in IDoc (mandatory group/segment missing)" this message out ,because  I didn't fill data correctly. I missed to keep SY-TABIX in momory .
    when we use Function module ,or do..enddo...or read table it_table. we should be careful that SY-TABIX  is changed .So we can't just use MODIFY EDIDD_TABLE INDEX  SY-TABIX  in the last . we should define a local variable to keep  SY-TABIX  in memory and then use it to modify EDIDD_TABLE. 
    Follow is the final code.
    IF SEGMENT_NAME = 'E1IDT01'.
    TABLES :STXL.
    * Define for long text getting
      DATA: LIT_TLINE  LIKE TLINE   OCCURS 0 WITH HEADER LINE.
      DATA: LV_STRING(2000)  TYPE C.                          
      DATA: LV_TDNAME TYPE THEAD-TDNAME,
            LV_ID     TYPE THEAD-TDID     VALUE '0001',
            LV_LANG   TYPE THEAD-TDSPRAS  VALUE 'E' ,
            LV_OBJ    TYPE THEAD-TDOBJECT VALUE 'DOC_ITEM'.
    data:   LV_LINE   TYPE I,                " long Text lines
            LV_LEN    TYPE I,                " long Text length   
            LV_TABIX  LIKE SY-TABIX.                              
    * Clear memory
      CLEAR:LV_TDNAME,
            LV_STRING,                                        
            LV_LINE,                                           
            LIT_TLINE, LIT_TLINE[],                          
            LV_LEN,                                            
            LV_TABIX.                                        
    * Keep sy-tabix memory using a variable--This is the key point
      LV_TABIX = SY-TABIX.
    * Combine TDNAME with company code + accounting doc + fiscal year + item number.
        CONCATENATE  REGUP_DATA-BUKRS REGUP_DATA-BELNR
                     REGUP_DATA-GJAHR REGUP_DATA-BUZEI INTO  LV_TDNAME.
    * When vendor item has long text , read long text into lv_string
        SELECT SINGLE *
          FROM STXL
          WHERE TDOBJECT = LV_OBJ
            AND TDNAME   = LV_TDNAME
            AND TDID     = LV_ID
            AND TDSPRAS  = 'E'.
        IF SY-SUBRC = 0.
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
              CLIENT   = SY-MANDT
              ID       = LV_ID
              LANGUAGE = LV_LANG
              NAME     = LV_TDNAME
              OBJECT   = LV_OBJ
            TABLES
              LINES    = LIT_TLINE.
          IF NOT LIT_TLINE[] IS INITIAL.
            DESCRIBE  TABLE LIT_TLINE LINES LV_LINE.
            DO LV_LINE TIMES.
              READ TABLE LIT_TLINE INDEX SY-INDEX.
              CONCATENATE LV_STRING LIT_TLINE-TDLINE INTO LV_STRING.
            ENDDO.
            LV_LEN = STRLEN( LV_STRING ).
    * Make sure we only need  less than 840 charicters
            IF LV_LEN > 840.
              LV_STRING = LV_STRING+0(840).
              LV_LEN    = 840.
            ENDIF.
    * Populate Vendor item long text with segment E1IDT01 start from
    * Fields TXT03 to TXT14.
             EDIDD_TABLE-SDATA+147(LV_LEN) = LV_STRING.
            MODIFY EDIDD_TABLE INDEX LV_TABIX.
          ENDIF.
        ENDIF.
      ENDIF.

  • EDI: Syntax error in IDoc (mandatory segment missing)

    HI all,
    Error Message - EDI: Syntax error in IDoc (mandatory segment missing)
    Status ID - E0
    Message No - 072
    Status of the IDoc - 26
    Please help me how to solve this issue?
    Thanks,
    Srini

    Hi,
    This error normally comes up when the sequence of segments has been disturbed.
    For successfully posting an IDOC you need to maintain the sequence of the segments as in WE30.
    You can also check which segments are mandatory in WE30 by clicking on the segment name and the pop up that comes.
    Thanks,
    Manish

  • Regarding EDI: Syntax error in IDoc (segment cannot be identified)

    Hi,
    My requirement is that I was adding two diffrent field values under two diffrent segments as "E1EDKA1" and "E1EDK02" in outbound invoice IDOCS, INVOIC02 (process code: SD09 - IDOC_OUTPUT_INVOIC).
    I am getting the IDOC number through Tcode "VF02". Can any body give me idea how to check that syntax error in debug mode.
    Please find the following error details using TCODE "WE02".
    *EDI: Syntax error in IDoc (segment cannot be identified)*
    *Message no. E0 078*
    *Diagnosis*
    *The segment E1EDKA1 does not occur at the current level of the basic type INVOIC02 (extension ).*
    *This error can have several reasons:*
    *The segment E1EDKA1 is assigned to a group whose header segment does not occur.*
    *The segment E1EDKA1 does not exist in the syntax description of the basic type INVOIC02 (extension ).*
    *The sequence of segments in the group in which the segment appears is incorrect.*
    *Previous errors ('mandatory' segment or group missing) may be due to this error.*
    Please help me to resolve this problem. <REMOVED BY MODERATOR>
    Regards,
    Skumar.
    Edited by: Alvaro Tejada Galindo on Apr 28, 2008 1:09 PM

    It seems that you added segment E1EDKA1 at a place where it is not supposed to be. That's where this error is coming from. The structure of every IDOC is definded by SAP standard and you cannot change the sequence or the level of standard segments. If you require a certain field at a certain level you have to add that field to a Z-segment and then add that Z-segment where appropriate in your extension.
    Hope that helps,
    Michael

  • EDI: Syntax error in IDoc (too many repetitions of a segment)

    Hi All -
       We are getting an "EDI: Syntax error in IDoc (too many repetitions of a segment)" error message while processing the REMADV message in the payment run program.
    Basic Type : PEXR2002
    Message Type : REMADV
    Segment Name : E1EDP02
    This issue is due to BELNR length in above segment, since payment run program assigning the 45 chars but BELNR length is 35 char, is there any way or OSS notes we can implement to rectify the same.
    Thanks in Advance.
    Rds,
    K

    Hi,
    This error is the segment definition violation. Open your BASIC IDOC type in WE30, double click on the segment TESTIDOC.
    In the popup you can see properties like mandatory segment, Minimum number and Max number. Your IDOC is crossing the max number of repetitions it can have. If any of the segment definition perperties like this one, or improper position of the segment etc occurs IDOC is generated with syntax error.
    Thanks,
    Vinod.

Maybe you are looking for

  • Fundamental question: Integrating non-EJB classes

    Hi there, sorry to ask that, but how can i integrate classes other than EJBs into my assembled application ? i use sun's deploytool and their ri application server. my task is to call a class called J2EEManager at the app server startup, which has to

  • Intermittent response of the trackpad in Windows 7 with Bootcamp 3.0

    Hi all, I have a problem with the trackpad (in macbook air). In Windows 7 with bootcamp 3.0, sometimes (more often after waking up from sleep) the trackpad does not response smoothly. It intermittently stops responding a few seconds and works again.

  • Reminder letters for Partial delivery

    Hi,   I am configuring the Remider letter printing to Vendors in my system. Will like to know if the Standard SAP supports to print the reminder/Urging letters for partial deliveries. If the PO is of 100 qty and 60 is already delivered.Can we get thi

  • Defining a New Business

    I want to create a new line of Business(Organization Structure) in Oracle Apps.. From Business Group, G.Ledger, LE...... is there any document to refer. What are the pre requisites & what are the steps to accomplish that... Currently Vision instance

  • Trouble importing Quicktime

    I thought that Final Cut liked Quicktime movies? When i try to import a quicktime movie (Apple ProRes422HQ) it says: "File Error: 0 Access Denied. 1 Unknown" I was told by other Apple folks that work in the store to use this compression/codex because