Error in IDOC segment

Hi guys
I have a problem here with IDOCs. I am getting this nasty entry in a field of a segment of my message type. Because of that entry my IDOC is failing but at the same time there are similiar IDOCs with everything same and they are posted OK. I have checked the conversion rule which is pointless in the first place as other similar IDOCs are not having that faulty data problem in that partcilular field.
The field name is BELPO and it uses Customer PO number and through a conversion rule it generates BELPO number. Noramally its working OK but in some cases I am seeing 'DEL ' getting prefixed with the generated number and that results in error 51 because the PO number is not being retrieved successfully.
Please let me know your thoughts.
Thanks a lot

Did you check if it conversion exits within Number Generation object is being used for Customer PO number .

Similar Messages

  • 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.

  • 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

  • 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

  • Syntax error in IDoc segment

    Hi,
    when I make a syntax check on my Idoc segment '/FIT/E1FISFIINV'  I get the error message:
    Entries for segment '/FIT/E1FISFIINV' missing in the 'Segment structures' table.
    I can't delete the segment type as I get the error message Segment /FIT/E1FISFIINV does not exist yet when I try it.
    But I also can't create the segment type as I get the error message Structure /FIT/E1FISFIINV already exists
    I already looke in the tables EDISDEF and EDISEGMENT to check that the entries for the segement /FIT/E1FISFIINV do exist in these tables.
    Does anybody have an idea how to solve this problem?
    Thank you.
    Martin

    I want to create a new idoc type '/FIT/xxxxx' and therefore I want to create new segment types  '/FIT/xxx' for this.
    I copied the segment types from another system (older release) to that system but there seems to be a data inconsistency. which I am trying to fix.

  • Error status 26:Syntax error in IDoc (segment cannot be identified)

    Hi Experts,
    i extended one idoc which has the following structure
                               A(this is the parent segment)
                                    z1
                                        zz1.1
                                        zz1.2
                                        zz1.3
                                        zz1.4
                                    e1
                                    e2
                                        z2
                                           zz2.1
                                           zz2.2
                                           zz2.3
                                           zz2.4
    I am using an user exit for populating the custom segment. values are getting poppulated.
    My problem is all segments are coming in the same level. like below
    A
    z1
    zz1.1
    zz1.2
    zz1.3                                  
    zz1.4
    e1
    e2
    z2
    zz2.1
    zz2.2
    zz2.3                                  
    zz2.4
    Diagonsis of error.:
    The segment Z1BPAD1VL does not occur at the current level of the basic type CREMAS05 (extension ZCREMAS05).
    This error can have several reasons:
    The segment Z1BPAD1VL is assigned to a group whose header segment does not occur.
    The segment Z1BPAD1VL does not exist in the syntax description of the basic type CREMAS05 (extension ZCREMAS05).
    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.
    i have maintained we81 and we82. partner configuration in we20 is also maintained..
    What might be the problem??pointers on this will be very helpful.
    Regards
    Sridevi S

    Hi,
    >check whether all the parent segments are filled before  child segments .
    >check the heirarchy level you r passing for each segment.
    Regards,
    Lokeswari.

  • Error in IDOC Segment Modification

    Hi Experts ,
    I need to change existing 'Z' Segment to add one additional field . So I have canceled release for Basic Type and the segment. Now when I am trying to change the segment its giving me error as
    Segment type Z1ZPSSUNP_WBS cannot be changed
    Message no. EA667
    Diagnosis
    Segment type Z1ZPSSUNP_WBS is flagged as generated.
    System Response
    Generated segment types can only be displayed
    According to me it should not be System release/version change issue . As Release/version has never been changed.
    Please suggest.
    Regards,
    Kaustubh.

    can you uncheck the "released" checkbox and modify?

  • Error in Idoc with status 26

    Hi,
    IDOC  showing an error messge when syntex check.
    EDI: Syntax error in IDoc (segment cannot be identified)
    Diagnosis:
    The segment E1EDP19 does not occur at the current level of the basic type ORDERS01 (extension ).
    This error can have several reasons:
    The segment E1EDP19 is assigned to a group whose header segment does not occur.
    The segment E1EDP19 does not exist in the syntax description of the basic type ORDERS01 (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....
    Regards,
    Sudha

    Hi,
    I have pasted a portion of my code:
    DATA: BEGIN OF GT_EDIDC OCCURS 0.
            INCLUDE STRUCTURE EDIDC.
    DATA :END OF GT_EDIDC.
    DATA: BEGIN OF GT_EDIDC1 OCCURS 0.
            INCLUDE STRUCTURE EDIDC.
    DATA :END OF GT_EDIDC1.
    DATA: BEGIN OF GT_EDIDD OCCURS 0.
            INCLUDE STRUCTURE EDIDD.
    DATA :END OF GT_EDIDD.
    DATA : BEGIN OF GT_Z1ZPSOBJLOC OCCURS 0.
            INCLUDE STRUCTURE Z1ZPSOBJLOC. ' segment name
    DATA : END OF GT_Z1ZPSOBJLOC.
    * Control Record
    FORM BUILD_CONTROL_RECORD .
      GT_EDIDC-MESTYP = C_MESTYP.
      GT_EDIDC-IDOCTP = C_IDOCTP.
      GT_EDIDC-DIRECT = C_1.
      APPEND GT_EDIDC.
    ENDFORM.                    " built_control_record
    *&      Form  built_data_record
    * Data record
    FORM BUILD_DATA_RECORD .
      LOOP AT GT_Z1ZPSOBJLOC INTO WA_Z1ZPSOBJLOC.
        GT_EDIDD-MANDT = SY-MANDT.
        GT_EDIDD-SEGNAM = C_SEG.
        GT_EDIDD-SDATA = WA_Z1ZPSOBJLOC.
        APPEND GT_EDIDD .
      PERFORM DISTRIBUTE_DATA.
      ENDLOOP.
    ENDFORM.                    " built_data_record
    *&      Form  distribute_data
    * Distribute Data
    FORM DISTRIBUTE_DATA .
      CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
        EXPORTING
          MASTER_IDOC_CONTROL            = GT_EDIDC
        TABLES
          COMMUNICATION_IDOC_CONTROL     = GT_EDIDC1
          MASTER_IDOC_DATA               = GT_EDIDD
        EXCEPTIONS
          ERROR_IN_IDOC_CONTROL          = 1
          ERROR_WRITING_IDOC_STATUS      = 2
          ERROR_IN_IDOC_DATA             = 3
          SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
          OTHERS                         = 5.
      CASE SY-SUBRC.
          WHEN 1.
          MESSAGE E004.
        WHEN 2.
          MESSAGE E005.
        WHEN 3.
          MESSAGE E006.
        WHEN 4.
          MESSAGE E007.
        WHEN 5.
          MESSAGE E008.
        WHEN OTHERS.
    * Do Nothing
      ENDCASE.
      COMMIT WORK.
    * Clear IDOC data internal table after use
      CLEAR GT_EDIDD.
      REFRESH GT_EDIDD.
    ENDFORM.                    " distribute_data
    Hope it proves useful.
    Regards,
    Gayathri

  • Error During IDoc Processing

    Hi friends,
    i want to transfer data in between two systems.
    i have created my own message type = ZSACH
    Basic type  = ZSACH1
    segement = ZSACH
    model view = new_model
    when i am execuiting this IDOC by using the program i am getting the error as
    EDI: Syntax error in IDoc (segment cannot be identified)
    here i am giving the coding what i have write in my program
    parameters :p_logsys like tbdlst-logsys.
    data : gen_segment like edidd-segnam value 'ZSACH1'.
    data : control_dat like edidc,
           control_dat1 like edidd,
          gen_data like zsach .
    tables : zsach1.
    data: begin of inttab occurs 0,
            lname type zsach1-lname,
            fname type zsach1-fname,
          end of inttab.
    data :
          int_edidd like edidd occurs 0 with header line,
          int_edidc like edidc occurs 0 with header line.
    select * from zsach1 into corresponding fields of table inttab.
    if sy-subrc ne 0.
      message 'no data' type 'I'.
      exit.
    endif.
    control_dat-mestyp = 'ZSACH'.
    control_dat-idoctp = 'ZSACH1'.
    control_dat1-segnam = 'ZSACH'.
    control_dat-rcvprt = 'LS'.
    control_dat-rcvprn =  p_logsys.
    loop at inttab.
      gen_data-lname = inttab-lname.
      gen_data-fname = inttab-fname.
      int_edidd-segnam = gen_segment.
      int_edidd-sdata = gen_data.
      append int_edidd.
    endloop.
    call function 'MASTER_IDOC_DISTRIBUTE'
      exporting
        master_idoc_control                  = control_dat
    *   OBJ_TYPE                             = ''
    *   CHNUM                                = ''
      tables
        communication_idoc_control           = int_edidc
        master_idoc_data                     = int_edidd
    exceptions
       error_in_idoc_control                = 1
       error_writing_idoc_status            = 2
       error_in_idoc_data                   = 3
       sending_logical_system_unknown       = 4
       others                               = 5
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno.
    else.
      loop at int_edidc.
        write :/ 'IDOC GENERATED',int_edidc-docnum.
      endloop.
      commit work.
    endif.
    <Added code tags>
    can anyone give better solution for this error..
    i have searched in SDN but i can't get the better document
    thanks in advance.
    Regards,
    kk
    Moderator Message: Please use "code tags" to format your code.
    Edited by: Suhas Saha on Nov 9, 2011 12:59 PM

    Hello kk,
    It is very clear from the error message
    EDI: Syntax error in IDoc (segment cannot be identified)
    that there is some problem with the segment name.
    When i look at your code snippet i can see there is a mismatch in the segment names passed in the IDoc control rec & the data rec.
    control_dat1-segnam = 'ZSACH'.
    int_edidd-segnam = gen_segment. "gen_segment like edidd-segnam value 'ZSACH1'
    BR,
    Suhas
    PS: Before searching in SDN try to put-in some self-effort, saves time actually

  • Idoc Segment Cancel release error

    Hi all,
       I have problem in cancelling the release of an Idoc Segment. I have a requirement to add new fields to the segment. When I try to do Edit->Cancel Release it is throwing below error.
    "Error while resetting release of segment Z1PXXXX
    Message no. EA259"
    Could anyone tell me how to overcome this error or the root cause of this error?
    Many Thanks,
    Sri
    Edited by: Arunsri on Nov 10, 2009 8:37 AM

    Hello,
    The reason that you are getting these errors is that you cannot cancel
    the release of an extension made in previous version e.g. 4.6C. Instead you have to
    create a new extension.
    It is not possible to change a segment definition which is released in a
    lower release. This is a basic concept of our release strategy to
    guarantee compatibility between different releases.
    You must create a new segment definition for the new release e.g. 620 with a new segment
    field with the appropriate length. In transaction WE20, outbound parameters, you can specify
    the "segment release in IDoc type" for the communication. Please read the F1 help of this field for further
    information.
    For your own segments you can define a new version of the segment via
    transaction WE31 -> Add Version (Shift+F5).
    Please review your online help for more information on this and related topics.
    Hope this information helps.
    Regards,
    David

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

    Hi,
    I tried to load master data from R/3 into BW system. The load is not ending and the IDoc error message is displaying,
    The error message is " EDI: Syntax error in IDoc (too many repetitions of a segment) with status 26"  .
    I tried to analise the issue and checked in the Idoc List Outbox of BW system. I found Red status message with number 26 stating " Error during Syntax check of IDoc (Outbound) and the message type is RSRQST.
    Could any one help me out in solving this problem. Reply to the message if any more information needed.
    Thanks in Advance.
    Regards
    Koushik

    I'm getting the same error. I think it is because I have a InfoPackage selection routine, that selects more than 1000 select conditions. I guess it is a parameter that needs to be changed somewhere. Any help on this one?
    BR
    Øyvind

  • 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

  • Error in IDOC: XML IDoc conversion: No known segments identified

    Hi Team
    i am facing error in my scenario.  When we are testing my  interface, another  Interface is picking up the Messages and resulting into an error.
    There is no mapping involved in my scenario.
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_RUNTIME</SAP:Code>
      <SAP:P1>XML IDoc conversion: No known segments identified</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>Error: XML IDoc conversion: No known segments identified</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    please help me out
    thanx in advance

    Hi,
      Do The following:
    1) Delete the IDX2 entry and try to reimport once again....and in the IR also do the same.
    2) Have a look into this SAP Note- 742093
    3) Check the IDX1 entry , RFC destination entry... may be not pointing correctly.
    4) If any field which is mandatory in the idoc must not be disabled...take care about it.
    Hope this will help you...
    Regds,
    Pinangshuk.

  • Error While Creating Custom IDOC Segment using WE31

    Could anyone please help me resolve this issue.
    I am getting following error when trying to create a custom IDOC segment type using WE31.
    "Name range violation: Name Z1WOHDR not permitted in SAP system"
    Segment type trying to create: Z1WOHDR
    Regards
    Venu

    Try changing the name , But i am not getting any such error with the name you are using.
    Just Try with some onther name

Maybe you are looking for