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.

Similar Messages

  • 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

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

  • 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

  • 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 (mandatory group missing)

    Hi Idoc Experts !
    The error pasted in subject is what i'm getting when i'm calling function module MASTER_IDOC_DISTRIBUTE.
    THE IDOC IS GETTING GENERATED BUT HAS SYNTAX ERRORS WITH STATUS/ERROR CODE :26.
    I'm tryin to generate an IDOC with following details:
    Direction         1     Outbox
    Current status    26
    Basic type        WMMBID02
    Extension
    Message type      WMMBXY
    Partner no.       XEROX
    Partn.Type        LS
    Port              170_INVRPT
    Can anyone be of some help?
    Points guaranteed for authentic answers !
    Thanks,
    Sachin Soni

    Hi,
    While passing the idoc data, you are not passing the mandatory segment and passing the child segment. Try to add the data for the mandatory segment.
    Check and find the mandatory segments on the IDoc through WE30 .And check if all this segments are populated in the IDoc which failed ( WE02).
    Regards,
    Soumya.

  • Iphone 5 I do not go out or do not appear in upgrede AirPlay for ios 7.0.4 safari browser is not smooth and too long kept out the phrase "safari can not search for too many repetitions search"

    iphone 5 I do not go out or do not appear in upgrede AirPlay for ios 7.0.4 safari browser is not smooth and too long kept out the phrase "safari can not search for too many repetitions search"

    AphexTwin wrote:
    - no Apple input?
    Of course not.  Didn't you bother to read the TOU of this forum?  This is a USER TO USER technical support forum.  Apple doesn't post here.

  • JDBC receiver error - ORA-00913: too many values

    Hi all,
    Facing a strange issue with proxy-jdbc issue.
    Message fails with error - ORA-00913: too many values
    Handling the missing fields from the source with - Empty String in the comm. Channel
    Empty string handling works fine - whenever there is no value coming form souce, null is inserted into the field value on the DB.
    Trying to insert the same data manually, it works fine. But gives this error END2END.
    When testing END2END, if the field values are made couple of chars less in length, that works fine....fails with the actual data.....seems to be the issue with the field lenghts on the DB.
    Increased all the lengths by 10 chars..still does not work.
    Except the key fields of the DB table, all others are nullable.
    Is there anything else, I am missing...
    Note: Generally, ORA-00913: too many values comes when the number of fields and the number of values donot match in an INSERT/UPDATE statement.
    reg

    Hi
    When testing END2END, if the field values are made couple of chars less in length, that works fine....fails with the actual data.....seems to be the issue with the field lenghts on the DB.
    Increased all the lengths by 10 chars..still does not work
    Well the error you mention generally occurs when the insert statement has more fields mention than in the table .ie you are mentioning extra field .aur this error is due to the field lenght of any of the filed you had to check in the oracle itself  by using the command DESCRIBE there you ll be able to see the field lenght of each and every field .
    hope your problem got resolved :
    Regard's
    Chetan Ahuja

  • Getting error PLS-00307: too many declarations while instantiating object.

    Hi,
    I'm using oracle 10.2.0.4.0
    I've created an object obj_bsk as follows:
    create or replace type obj_bsk as object
    (batch_set_key varchar2(64),
    constructor function obj_bsk
    return self as result,
    constructor function obj_bsk(p_batch_set_key in varchar2)
    return self as result,
    member procedure display_batch_set_key
    and object body as
    create or replace type body obj_bsk as
    constructor function obj_bsk
    return self as result is
    begin
    self.batch_set_key := sys_guid();
    return;
    end;
    constructor function obj_bsk (p_batch_set_key varchar2)
    return self as result is
    begin
    self.batch_set_key := p_batch_set_key;
    return;
    end;
    member procedure display_batch_set_key is
    begin
    dbms_output.put_line('batch_set_key is:' || self.batch_set_key);
    end;
    end;
    Then I've created a package test_obj as follows:
    specification:
    create or replace package test_obj is
    -- Author : TSHARMA
    -- Created : 31/01/2012 10:32:37
    -- Purpose : to test objects
    my_bsk obj_bsk;
    g_batch_set_key varchar2(64);
    procedure show_obj_val;
    end test_obj;
    body:
    create or replace package body test_obj is
    procedure show_obj_val is
    begin
    my_bsk.display_batch_set_key();
    end;
    begin
    -- Initialization
    if (g_batch_set_key is not null) then
    my_bsk := obj_bsk(g_batch_set_key);
    else
    my_bsk := obj_bsk();
    end if;
    end test_obj;
    When I'm compiling the package I'm getting following error:
    Compilation errors for PACKAGE BODY TSHARMA.TEST_OBJ
    Error: PLS-00307: too many declarations of 'OBJ_BSK' match this call
    Line: 12
    Text: my_bsk := obj_bsk(g_batch_set_key);
    Error: PL/SQL: Statement ignored
    Line: 12
    Text: my_bsk := obj_bsk(g_batch_set_key);
    Can anyone please explain why oracle is viewing it as too many call for constructor when both constructors are different.
    and how to resolve the issue.
    Thanks
    Tarun

    I've solved the problem. Though it is strange.
    The error occurred because I'm using p_batch_set_key as parameter constructor.
    i.e. constructor function obj_bsk(p_batch_set_key in varchar2)
    return self as result,
    once I changed it to the same name as variable name in object it compiled fine.
    i.e constructor function obj_bsk(batch_set_key in varchar2)
    return self as result,
    It is very strange. Can anyone plesae explain why the parameter name should be same as variable name in object.
    Thanks
    Tarun

  • Error : ORA-00913: too many values

    A subqury inside IN block fetch two id's ( 252621,325645) but the query is erroring out , please tell me what causing this issue
    select comments from oa_rce_bo
    where  e_id in(
    SELECT to_char(ta_id),to_char(id) FROM gdb_s_mtr WHERE ID = TRIM (3049413) OR oa_id = TRIM (3049413)
    )Error : ORA-00913: too many values

    where e_id in(
    SELECT to_char(ta_id),to_char(id) FROM gdb_s_mtr WHERE ID = TRIM (3049413) OR oa_id = TRIM (3049413)
    e_id in should correspond to one column in subquery
    remove one of the column or add another column before in
    like
    where (e_id, someid) in ( your query)
    or
    where e.id in (SELECT to_char(ta_id) FROM gdb_s_mtr WHERE ID = TRIM (3049413) OR oa_id = TRIM (3049413)
    )

  • Error message about too many devices activated.

    Need to reset devices for Adobe reader. Error message about too many devices activated.

    Reader has no such limitation. It's either Acrobat or Digital Editions.

Maybe you are looking for

  • Delivery Schedule in ME23N

    I have eblen and ebelp and I want the data for <b>Delivery Schedule</b> as we see in the transaction ME23N What is the required table for the same

  • Line Item Dimention Vs Hig Cardinality

    HI ALL            I have a problem with a cube and the below are the challenges...                    1) can we use High cardinality / line item dimension if we already used one of these(High cardinality / line item dimension)?                    2)

  • Image field - cannot set h and w attribute of all node elements

    Hi guys, We currently need to show some photos on our .pdf forms when the form is generated.  The number of pictures are unknown at runtime and need to be determined dynamically.  This is not the problem - we figgured this out by using base64 encodin

  • VSS and file copy

    Running 11g on Windows 2008. According to documentation "8 Performing Database Backup and Recovery with VSS", I need to use the Oracle VSS writer to perform backup, which requires the database in archivelog mode if hot backup is needed. Now, instead

  • Photos not in folders

    how can I get my photos to sync into folders ? using windows 7 os