Extend Idoc  INVOIC02 - E1EDKA1 - Syntax error

Hi All,
I have extended Basic idoc “INVOIC02” and using exit “EXIT_SAPLVEDF_002” to extend custom segment. I am trying to add a custom segment under “E1EDKA1”. In program I am inserting ‘Z1’ segment after parent segment “E1EDKA1”. I am passing Parent segment reference (INT_EDIDD-PSGNUM) and hierarchy level of custom (INT_EDIDD-HLEVEL) segment. Problem is custom segment still placed under root segment after “E1EDKA1” segment, which is incorrect.  Idoc error with status ‘26’ – Syntax error. Can any one tell me what I am doing wrong or how do I manage to get custom segment under parent segment “E1EDKA1”, so that I don’t get this error. Below code for your reference. Thanks in advance.
Regards,
Tim
Program -
"ZXEDFU02" -
describe table INT_EDIDD lines gv_indes.
read table INT_EDIDD index gv_indes.
if sy-subrc eq 0.
  if INT_EDIDD-segnam eq co_e1edka1 and
     INT_EDIDD-sdata+0(3) eq 'ZM'.
Now INSERT segment Idoc value and custom extend field
    if not gv_email is initial.
            INT_EDIDD-PSGNUM = gv_indes.
            INT_EDIDD-HLEVEL = '03'.
      move: co_z1edka1        to INT_EDIDD-SEGNAM,
            'email address'   to INT_EDIDD-SDATA.
      append INT_EDIDD.
    endif.
  endif.
endif.

Your logic looks ok.  I would remove the code to populate the parent segment number and hierarchy level.  SAP will determine those on its own.
As for the result you are seeing, if there is a syntax error on an IDoc, the entire hierarchy will be lost so the fact that the custom segment is showing up at the same level as its parent doesn't mean that is actually causing the syntax error.
Did you add your extension in the partner profile?
Program -
"ZXEDFU02" -
describe table INT_EDIDD lines gv_indes.
read table INT_EDIDD index gv_indes.
if sy-subrc eq 0.
if INT_EDIDD-segnam eq co_e1edka1 and
INT_EDIDD-sdata+0(3) eq 'ZM'.
Now INSERT segment Idoc value and custom extend field
if not gv_email is initial.
INT_EDIDD-PSGNUM = gv_indes.
INT_EDIDD-HLEVEL = '03'.
move: co_z1edka1 to INT_EDIDD-SEGNAM,
'email address' to INT_EDIDD-SDATA.
append INT_EDIDD.
endif.
endif.
endif.

Similar Messages

  • Extended IDOC for transaction VL02N : Error 51

    Dear,
    I am Working on Extended IDOC for transaction VL02N (Outbound Delivery) and stuck in Inbound with Error 51: Specifications for units and quantities contain errors VBPOK-MEINS TO LIPS-MEINS MT.
    Message no. VL282
    How to resolve it?
    At Outbound Programmed at EXIT_SAPLV56K_002 and at Receiver did WE57, BD51, WE42, WE20 and using listed below programs.
    Function Module - IDOC_INPUT_DELVRY      - SAP Standard
    Function Type - F (Function Module)
    Basic Type - DELVRY03      - SAP Standard
    IDOC (Enhancement) - ZDELV - Custom
    Message Type - ZDELVRY - Custom
    Process Code      - DELV      - SAP Standard
    Thanks-
    Varun

    Hi varun,
    in SAP you have a few keys that not only have a description depending on language but also the key itself varies from language to language. You can see that if you double-click on a unit field like i.e. MARA-MEINS: On domain level it will show a conversion exit. If you try the conversion exit function modules, you will find out that i.e. PC english pieces will be mapped to internal ST wich comes from the german Stück which is the translation of pieces.
    Be aware that this special logic may apply for document types, partner types and a few more (?).
    So, in IDoc processing this may cause harm. I did not analyze DELVRY03 structure and processing, I don't know any of your data, I haven't seen any line of your code, I don't know what you actually implemented.
    So now it is your turn to check what you pass in the unit fields and how this is handled.
    Regards
    Clemens

  • Regarading IDOC status 26 ,syntax error

    Hi All,
    we have some problem to create IDOC type ORDERS05 for Purchase Order.
    *ERROR STATUS 26:*
    (SYNTAX ERROR IN IDOC (SEGMENT CANT B IDENTIFIED))
    msg number E0078:
    The segment E1EDK14 does not occur at the current level of the basic type ORDERS05 (extension ) AND
       e1edk14 segment missed.instead of 5 ,it shows only 4.
    *ERROR STATUS 26:*
    (SYNTAX ERROR IN IDOC (MANDATORY DATA MISSING))
    msg E0072:The segment E1EDK01 has the attribute 'Mandatory' in the syntax description of the basic type ORDERS05 (customer enhancement ).
    header data was totally different.
    it contains street fields,n country ,,like dat,instead of document number
    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 happens for order create (ORDERS) and for order change (ORDCHG)
    Do you have any idea to solve the problem? I'm using a standard IDOC.

    hi
    Usually posting program contains your logic which exists in process code this process code contain function module nothing but posting program
    and also
    check whether u r using
    1) sap standard program
    2) user defined program
    3) enhancing sap program using user exits
    if it is standard program check all ur ALE settings once again
    if ur using user defined check ur program logic and compare it with idoc structure
    if ur enhancing sap standard program check partner profiles using correct message & idoc type
    check your user exit logic
    reward if u find helpful
    Thanks&Regards
    Nagesh.Paruchuri

  • Idoc in status syntax error check

    Hi,
    Outbound invoice idoc ended in status 7 (error during syntax check). I check the alloted segment numbers in WE30 and the maximum number alloted segment is not exceeded. Any possible reasons why this scenario is happening?
    Thanks for the feedback.

    Hi,
    Did you check if the segments in the Data Record are in a hierarchial order (ie) Parent segment followed by the Child segments, the Parent segment should alway be mandatory.
    I have faced a similar error of this kind and the reason was because of the ordering of the segments.
    Thanks
    Krithika

  • 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

  • Idoc syntax errors

    Hi all,
    Im developing a interface for purchase/sales orders. i populated the fields into segments and am running the function module. it is creating an idoc with status 60
    EDI: Syntax error in IDoc (segment cannot be identified).
    I dont know which segment its not identifying..
    mesage type ZXXXXXX
    process code used orde
    fm idoc_input_orders.
    can somebody help me with this in trouble shooting
    thanks,
    Kiran

    Hi Vijay,
    this is the structure of edidc when i c it in we19..dont know how to clear this error.
    EDIDC   2000000000000404101620 60        2SAPSD1    LSSD1CLNT200                                                                               
    E1EDK01                                                           
           E1EDK14                     0081800                               
           E1EDK14                     00710                                 
           E1EDK14                     00610                                 
           E1EDK14                     012ZOR                                
           E1EDK14                     019OMY                                
           E1EDK03                     00220040809                           
           E1EDK03                     02200000000                           
           E1EDK03                     02300000000                           
           E1EDKA1                     AG 0002200253                         
           E1EDKA1                     VE 00000096                           
           E1EDK02                     001CUSTPONOTEST1                      
           E1EDK02                     044J0000000143                        
        4  E1EDKT1                     Z004I    VBBK                         
        4  E1EDKT1                     Z002I    VBBK                         
        4  E1EDP01                     000001     0000000010     PCE         
           E1EDL44                     1                                     
    this is the erro message im getting..
    The segment E1EDL44 does not occur at the current level of the basic type ORDERS05 (extension ).
    This error can have several reasons:
    The segment E1EDL44 is assigned to a group whose header segment does not occur.
    The segment E1EDL44 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 ).
    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

  • Error while Filling custom extended idoc

    i have extended segment e1edpa1 with ZLOC segment in INVOIC01 idoc .now i'm filling this extended idoc from exit EXIT_SAPLIEDI_101 but it is giving me error like "EDI: Syntax error in IDoc (mandatory segment missing)" can anyone tell me what could be the reason?below is my code.
    WHEN 'E1EDPA1'.
          MOVE idoc_data-sdata TO e1edpa1.
          IF e1edpa1-parvw = 'WE'.
            SELECT SINGLE * FROM kna1 INTO w_kna1 WHERE kunnr = e1edpa1-partn.
            IF sy-subrc = 0.
              MOVE: w_kna1-locco TO zloc-locco,
                    w_kna1-bahne TO zloc-bahne.
              MOVE 'ZLOC' TO idoc_data-segnam.    " administrative section
              MOVE zloc TO idoc_data-sdata.       " data section
              APPEND idoc_data.
    thx

    Why do you need to add a segment via code in an inbound IDOC? we dont populate segments in inbound processing, rather you shoul dbe getting value from the source system in the IDOC, and reading the custom segment to process the values.
    if source is not sending the values , and you need those then you are supposed to read and process the values to move those to corresponding structure for SAP program to process the data. Adding a segment in inbound is not going to get you anything.

  • Syntax Error in Invoice IDOC

    I have created an extension for idoc INVOIC02. I added a segment ZDISC to E1EDK18(qualf 002). In my test system, everything is working fine. But in production, it is giving a syntax error. Following is the error.
    EDI: Syntax error in IDoc (segment cannot be identified)
    Message no. E0078
    Diagnosis
    The segment ZDISC does not occur at the current level of the basic type INVOIC02 (extension INVOICEX).
    This error can have several reasons:
    The segment ZDISC is assigned to a group whose header segment does not occur.
    The segment ZDISC does not exist in the syntax description of the basic type INVOIC02 (extension INVOICEX).
    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 INVOIC02 (extension INVOICEX).
    Though , the segment E1EDK18 with qualifier is being created in the IDOC but zdisc created at zero level and not attching to the E1EDK18.
    Same thing is working fine in the test system.
    All the helpful answers will be rewarded.
    Thanks

    Hi,
    I think you have selected ZDISC as mandatory segment . this is added to optional segment : E1EDK18, if segment E1EDK18 is missing in the idoc , you will get the above error.
    remove the mandatory option for the Z segment ZDISC.
    Check this link , if you miss something it will give details:
    http://www.intelligententerprise.com/channels/applications/feature/archive/kasturi.jhtml
    Regards
    Appana

  • IDOC Syntax Error E0072 with status 26 after upgrade to ECC6.0

    Hi
    We have upgraded SAP R/3 from 4.6C to ECC6.0. After upgrade, when we create PO and output EDI, we are seeing this IDOC syntax error E0072 for Mandatory Segment E1EDK01. In 4.6C it was working fine with no issues, only after upgrade this problem started. It says E1EDK01 is missing which is mandatory. We are using basic type ORDERS01 with no extensions. When we see WE30 it looks fine, WE20 settings looks fine.
    Order of the segments got scrambled in upgraded version. First segment is E1EDP19001, this is supposed to be under E1EDP01 segment. There are two E1EDP19001 segments created but there were no sub segments to E1EDP01.
    Any help in this regard is highly appreciated.
    Thanks
    Pandiri

    User Exit activation and fixing the issue in user exit fixed this issue.

  • XI Business content for MDM - Syntax error in IDOC adapter

    Hi mates,
    I'm trying out the Master Data Harmonization scenario for Vendor data with R/3 as the client system. I'm using SAP delivered XI Business content for MDM. The mapping program is generating ADRMAS and CREMAS IDocs but the IDOC adapter reports that there is a syntax error in ADRMAS IDOC. Find below the details.
    <i><SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
      <SAP:P1>Segment 'E1BPAD1VL', segmentnumber '000001' not correct in structure ADRMAS02</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error: Segment 'E1BPAD1VL', segmentnumber '000001' not correct in structure ADRMAS02</SAP:Stack>
      <SAP:Retry>M</SAP:Retry></i>
    Generated ADRMAS IDOC is
    <i>  <?xml version="1.0" encoding="utf 8" ?>
      <ADRMAS02>
      <IDOC BEGIN="1">
      <EDI_DC40 SEGMENT="1" />
      <E1ADRMAS>
      <OBJ_TYPE>LFA1</OBJ_TYPE>
      <OBJ_ID>0000500140</OBJ_ID>
      <CONTEXT>0001</CONTEXT>
      <E1BPAD1VL SEGMENT="1">
      <FROM_DATE>00010101</FROM_DATE>
      <TO_DATE>99991231</TO_DATE>
      <NAME>Swift Transportation</NAME>
      <COUNTRY>US</COUNTRY>
      <COUNTRYISO>US</COUNTRYISO>
      <LANGU>E</LANGU>
      <LANGU_ISO>EN</LANGU_ISO>
      <SORT1>SWIFT TRANSPORTATION</SORT1>
      <TIME_ZONE>CST</TIME_ZONE>
      <E1BPAD1VL1 SEGMENT="1">
      <LANGU_CR>E</LANGU_CR>
      <LANGUCRISO>EN</LANGUCRISO>
      <ADDR_GROUP>BP</ADDR_GROUP>
      </E1BPAD1VL1>
      </E1BPAD1VL>
      </E1ADRMAS>
      </IDOC>
      </ADRMAS02></i>
    Strangely, the control record is blank. I looked at the XSLT program, it is coded that way. I do not understand the reason. Is the error pointing to the control record?
    Look at the code sample from XSLT mapping program
      <xsl:for-each select="IDOC/*/E1ADRMAS">
           <IDOC BEGIN="1">
           <!-- The header data of each single ADRMAS-IDoc needs to be there but does not require specific data -->
                <EDI_DC40 SEGMENT="1"/>
                <xsl:apply-templates select="."/>
           </IDOC> 
      </xsl:for-each>
    How can an IDOC w/o control record be posted?
    Did anyone come across this error? Whats wrong/missing?
    I appreciate ur inputs.
    thx in adv
    praveen

    Moorthy,
    I tried reloading the IDOC metadata from IDX2. Still I get the same error.
    Regd, IDOC w/o control record, can u elaborate on "dynamic value while posting IDOCs". From where, XI message SOAP header with Business System replaced by corresponding logical system names?
    Thanks
    Praveen

  • Getting Error 26 in ALE IDOC scenario .- EDI Syntax Check Error...

    Hi..
    i am working in ALE Idoc scenario...I am getting Status 3 as well as status 26 in we02 transaction in my custom IDOC scenario for outbound process..
    The error is 'EDI- SYntax Check'..
    How to remove this error..
    Pls help.

    ya, there is only one segment available in IDOC..named i.e zseg_a .
    So , error in postion is avoided..
    How to find syntax error then?

  • 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

  • Extended Syntax Error......

    Hi All,
    In my Program I have created the following Subroutine -
    FORM call_back TABLES record_tab  STRUCTURE seahlpres
                                      CHANGING  shlp_top TYPE shlp_descr
                                                         callcontrol TYPE ddshf4ctrl.
    Here seahlpres is a DDIC Structure
    Now this is giving an Extended Syntax Error stating that "Using STRUCTURE is Obsolete".
    Agreed, but I am unable to use following -
    FORM call_back TABLES record_tab  TYPE STANDARD TABLE OF seahlpres
                             CHANGING  shlp_top TYPE shlp_descr
                                                callcontrol TYPE ddshf4ctrl.
    or
    FORM call_back TABLES record_tab  TYPE LINE OF seahlpres
                             CHANGING  shlp_top TYPE shlp_descr
                                                callcontrol TYPE ddshf4ctrl.
    How to remove this Error, by what way should RECORD_TAB be declared as to remove the Error.
    Regards,
    Pankaj Agarwal.

    Hi,
    see the below code from tcode ABAPDOCU.
    REPORT demo_mod_tech_example_5.
    DATA: BEGIN OF line,
            col1 TYPE i,
            col2 TYPE i,
          END OF line.
    DATA itab LIKE STANDARD TABLE OF line.
    PERFORM fill CHANGING itab.
    PERFORM out  USING    itab.
    FORM fill CHANGING f_itab LIKE itab.
      DATA f_line LIKE LINE OF f_itab.
      DO 3 TIMES.
        f_line-col1 = sy-index.
        f_line-col2 = sy-index ** 2.
        APPEND f_line TO f_itab.
      ENDDO.
    ENDFORM.
    FORM out USING value(f_itab) LIKE itab.
      DATA f_line LIKE LINE OF f_itab.
      LOOP AT f_itab INTO f_line.
        WRITE: / f_line-col1, f_line-col2.
      ENDLOOP.
    ENDFORM.
    For more details check examples in abapdocu.
    The ABAP Programming Language >Modularization Techniques >Procedures >Subroutines
    Cheers,
    Rudhir

  • 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

Maybe you are looking for

  • G/L account is missing error when try to add AP Credit Memo

    Dear All Experts, we are facing problem in adding A/P Credit memo, which is made based upon AP Invoice. Error is :-  [A/P Credit Memo - Whse Status] , 'G/L account is missing (1)'  [Message 131-46] Can any one know why this problem is coming? Regards

  • Video playback on XP pro

    I was recently using my netflix online account and to use it i have to switch to xp . The problem i am having is that it appears that my graphics card isnt processing the data correctly. It displays all green and un viewable., The audio is fine, but

  • Report Builder truncating data

    I have inherited an application that has uses Java and CFR's (built with CF report builder 7) to create PDF files. On one of the reports is a field that an essay goes into. This essay can be up to 10,800 characters long. That length is being controll

  • How to rip DVD  to MP3

    How to rip DVD to MP3 Are you looking for a program that can help you extract audios from a concert DVD or a movie DVD, and then save them as MP3? If so, Pavtube DVD Ripper would be a nice choice, since it is able to remove protections from all sorts

  • Consuming a web service from a BSP page

    Hello Here is the description of the different instances : ERP is running on an instance without J2EE engine EP  is running on an instance with J2EE engine I create a web service definition, VI, and proxy classe on ERP. I tested the web service using