Incoming IDOC-Segment missing

Hi, Friends,
I have a strange problem.
The incoming IDOC in idx5 list miss a segment although the meta data is renewed.
Could sb. help?
Thanks and Reguards
Zhiping

Hi Krishna, Hi Jakub,
I tried both. But it remains.
Still strange is, the ALEAUD idoc with Z-Segment containd in E1PRTOB-Segment produced by the sending system contains some E1STATE segments. But the number of ALEAUD idocs recieved in IDX5 list is the number of the E1STATE segments in sending system. And every recieved ALEAUD idoc contains only one E1STATE-Segment
Why is it splitted? and where?
Thanks
Zhiping

Similar Messages

  • IDOC Segment missing when reaching to ECC

    Hi,
         This is file-to-IDOC scenario. When file is loaded XI is picking and creating IDOC with all segments as expected in XI, but when reached to ECC sytem main header and item segments are missing.
    Refreshed cache, reloaded metadata in XI, did full system cache refresh but no luck.
    Checked in ECC thru IDOC_INBOUND_ASYNCHRONOUS function module to create IDOC and it did create successfully with all segments.
    Segments are missing only when coming from XI.  We are in SAP ECC 6.0 & PI 7.0. IDOC I am using is DELVRY03

    Hi Sriram,
    Can you please check this note which disucss about the same issue:
    Note 1170918 - IDoc adapter: Missing fields and deleted metadata
    Regards,
    ---Satish

  • IDOC Segment missing for MATMASS Message type

    Through change pointer program for the message type YAUIHUBMATMAS IDOC is triggered.
    1) Change pointers are defined in system for the message type T Code u2013 BD52.
    2) If respective field is changed in material master , this data is stored in change pointers table BDCP.
    3) Background jobs are scheduled every day, which searches for the changes pointer table and triggers the idoc.
    In our case IDOC is getting generated but with one segment missing.
    We have analysed the succesful and failed IDOC and found desrepency is field updation of BDCP table.
    Succesful case contain material number in object value of ZZMDST field where as failed contain some other value.
    Can anyone please help us to guide how the BDCP table is updated and the values are mapped in it or any other suggestion to find why the segment is missing in it.
    Regards,
    Roshni.

    Jürgen L. wrote:
    > I have never seen a YAUIHUBMATMAS IDOC, nor a ZZMDST field .
    > This seems to be home made.
    >
    > You are expecting that standard SAP programs are generating change pointers for your z-fields?
    > Do you see a change history in material master for your z-field?
    >
    >
    > follow the slution from this thread:
    >
    Yes ,This is a Z -field.
    Change pointer is triggering the idoc fo this Z-field but in some cases one segment is missing .
    This is z-field in the basic data view of material master.
    Yes , we have checked the change history in material master for this field it is getting updated there in BDCP table as well but in BDCP table if this field is flagged then object value is not contain material number instead it contain some other number .
    But in case of succesful IDOC the object value is same as material number.
    Regards,
    Roshni

  • Idoc segments missing in the final output

    hi
    Using a file - idoc mapping. have mapped all relevant fields, but in the output only segments show up. not getting all the mapped segments when i test this message mapping. Could anybody please guide me.
    thxm
    Pradip

    Hi Pradip,
    see the cardinality of the node which is having the line items......if it is 0..1 then only the first line item will be used in mapping...........if it is 0..unbounded then only all your line items will be shown........so in your mapping test, in source file can you see all the line items in the tree structure.......check the cardinality of your target node also............if it is 0..1 then only the first line item of source will be mapped.
    Thanks,
    Rajeev Gupta

  • Should not come to AE when the IDOC segment missed

    Hi,
    I 've done the multimapping from IDOC to mul.files.
    Here my sender IDOC line Item contains 2 segments.
    Let us assume the first segment named Z1CONSGROUP and having some fields which has mapped to my receiver end files.
    In production system we should not have the case where there is no Z1CONSGROUP segment.
    Here if the IDOC doesn't contain this segment then it's a payload error and it reached to RWB status : system error.
    But, i want to prevent this in production when this Z1CONSGROUP segment doesn't contain the idoc it should n't reach to AE.
    How can i do that...is there any option to maintain such a scenario in XI.
    Please help me out on this.
    Kind regards,
    Y.Raj

    >
    YeswanthRaj Kumar wrote:
    > Hi,
    > I 've done the multimapping from IDOC to mul.files.
    > Here my sender IDOC line Item contains 2 segments.
    > Let us assume the first segment named Z1CONSGROUP and having some fields which has mapped to my receiver end files.
    > In production system we should not have the case where there is no Z1CONSGROUP segment.
    > Here if the IDOC doesn't contain this segment then it's a payload error and it reached to RWB status : system error.
    > But, i want to prevent this in production when this Z1CONSGROUP segment doesn't contain the idoc it should n't reach to AE.
    > How can i do that...is there any option to maintain such a scenario in XI.
    > Please help me out on this.
    >
    > Kind regards,
    > Y.Raj
    the easiest thing to do is,
    1. Use a condition on Z1CONSGROUP and use the EX operator (ref: /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination)
    2. if the EX gives you a fail, then provide no receiver and use the option 'Options for Behavior at Runtime If a Receiver Is Not Found' -> End Message Processing Without Error (Restart not Possible)
    3. Else provide the right receiver and let the flow continue.

  • IDOC Segment missing

    Hi ABAP Experts,  I created one Inbound IDOC using some standard segments. When I see the Idoc using WE02 and double click on it it does not show me the same no of segments as I included in 'IdocType'. Can someone please suggest how to check and get the same no of segments in IDOC as used in Idoc Type.

    Did you also try by varying the time a little and by giving the date range with more expansion.
    Becoz the time on your system might differ with time on application server.
    I don't see any reason for it not displaying.
    Please check them with a wider range and let me know.
    thanks.

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

  • Problem in processing incoming IDOC

    Hi All,
    I have a problem while processing Incoming IDOC in the system.
    While I try to process and FI IDOC (without purchase order) in the system, by giving the appropriate GL account and cost centre where the document should get posted to (in transaction WE19), I find that the system creates the IDOC successfully with status 53. However, it creates a parked document in the system for the vendor.
    When I try to post the document through transaction FBV0, the system asks for a cost centre. Can you please clarify, why the system is asking for a cost object though it is given in WE19 transaction. Ideally while processing the IDOC the system should post the document directly as it has all the relevant details in the IDOC right?
    (Just for info, I have given the GL account details in segment E1EDP19 with qualifier 002 and the cost centre in segment E1EDP30 with qualifier 045)
    Expecting your help in this regard.
    Regards
    Nagarajan N

    Hi
    You can use WE19 to debug the Idoc FM.
    Check this link if it is helpful:
    Debugging Idocs
    Regards
    Neha

  • IDOC-Segment Created a idoc document against Billing document

    Dear All,
    Thanks in  advance.
    Already created a idoc document against Billing document and one of the IDOC segment is not in the IDOC document output segments(WE05) actually it missed the segment.
    so i want to add the segment which it was missed during generation of IDOC document against billing document.
    Example:
    a) IDOC document misses one segment let suppose "Seg1".
    b) In "Seg1" it have only one field let suppose "Field1".
    c) But "Field1" does not have any value while generation of IDOC document so it doesn't create the respective segment in IDOC document.
    d) so here, i want to edit the IDOC document to add the "Seg1" in the IDOC document and reprocessing the IDOC document.
    Please help on this issue.
    Regards,
    Sridhar.

    Hello,
              If your requirement is to have the Segment even with only 1 Field, you'll have to create an Idoc Extension in WE30.
             In order to populate the Custom Segment, Use the Customer Function '002' in the IDOC_OUTPUT_INVOIC which is EXIT_SAPLVEDF_002 where you can actually insert the Segment as a Child Segment of an Appropriate Segment.
            You can go for Custom segment with the IDoc Extension so that you dont have to manually insert the Segment again and again while reprocessing it.
    Thanks and Regards,
    Venkat Phani Prasad Konduri

  • How to map idoc segments to multiple output structures

    Dear experts,
    On Pi I need to map segments from an Idoc to 2 different outputstructures. My scenario is as follows:
    incoming Idoc on PI -> if segment eq 'X' then map to outputstructure '1'; if segment eq 'Y' then map to outputstructure '2'
    Idoc structure is as follows:
    - 1 header segment
    - 1..n detail segments (which I need to map to outputstructure 1)
    - 1 summarisation segment (which I need to map to outputstructure 2)
    Output needs to be a .txt file.
    I would like to use the graphical message mapping on PI, how can I map the Idoc to multiple output structures?
    Thanks in advance,
    William

    Hi
    You can do 1:n multimapping
    in message mapping in messages tab ..add both the structures in target tab and do the mapping
    and in operation mapping add both the message interface on the target side
    PLease go through this blog
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

  • IDoc segment to capture the freight cost (XML/EDI invoice)

    Folks,
    How to capture the freight cost on an EDI incoming invoice. Any idea which IDoc segment can be useful in this regard.
    Any thoughts/suggestions/comments would be deelply appreciated.

    Hope you have not read the Invoice Idoc type whcih is used for EDI invoice.
    The Invoice idoc type does not support the functionality of Planned delivery costs ( Freight )
    Please go through the link
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/44/f50abcea3b11d194dc0000e83dd751/content.htm

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

Maybe you are looking for