IDOC Missing Segment Field

Hi,
Some of my outbound IDOC's are missing a particular field in the Segment.....
This is probably because that Segment field don't have any value and hence missing from IDOC.
What can be the possible approach for Solving this probelm?

Hi Abhishek,
Can you please get the solution for such issue?
I didnt aware of Enhancement Spot...
Looking for your reply..
Regards,
Raghu
Edited by: Raghu Raman on Jan 5, 2009 1:27 PM

Similar Messages

  • Idoc nested segment fields update

    Hi all,
    I have a requirement like this
    I have an IDOC say DOC1
    DOC1 has a segment say SEG1
    SEG1 has a child segment say CLD1
    CLD1 has a filed  say FLD1 .
    i need to update the data in field FLD1.
    can any one  please tel me how to read data in the FLD1 and how can I update that.

    Hi Vijay,
    Basically, it is used the same approach to update parent/child segment(s). You need to loop at internal table EDIDD and find the corresponding segment. Then you move to work area, do the modification and lastly update the internal table EDIDD with new value(s).
    Please follow step 2 to read and update the child segment field.
    DATA: wa_cld1 like CLD1.
    LOOP AT itab_edidd WHERE segnam = 'CLD1'.
      wa_cld1 = itab_edidd-sdata.
      IF wa_cld1-field1 = <the condition>.
        wa_cld1-field1 = <new value>.
        itab_edidd-sdata = wa_cld1.
        MODIFY itab_edidd.
        EXIT.
      ENDIF.
    ENDLOOP.
    Regards,
    Ferry Lianto

  • Custom IDOC type Segment-field length change

    Hello,
    We have a custom segment developed for triggering Outbouds. I'm tring to change the Field length of a deta element used for one of the fields in the segment.
    But after chaning the data element and activating it also, the changes are not effecting in WE31/ in the structure of the segment.
    Process I'm following:
    we31 <segment>
    ......cancel release
    Change data element and activate
    ....set release.
    Please suggest if something else can be done
    Thanks,
    Lucky.

    > @Sarvesh: The IDOC segment has been released.  I also re-imported the IDOC into XI - is that what you mean by 'reloaded'?
    No, re-importing in XI is different from reloading the metadata into ABAP stack of XI using IDX2 transaction. So if you have not done this, then this could be the main reason of truncating the length.
    Regards,
    Sarvesh

  • XI IDOC missing segment definition in type E1LFM1M

    Hi experts,
    we have recently upgraded our ERP system to NW 702 EH5. As aresult a new segment definition was added to our segment type E1LFM1M ( segment def. E2LFM1M007). The problem we are havign is that our XI system is still running on NW700 and it doesnt have this segment defintion. Since the upgrade we are getting an error in transaction RFC complaining about the new segment definition E2LFM1M007 everytime we try to send a vendor from ERP to SUS using BD14. Is there a way we can deactivate the new segment definition E2LFM1M007 in segment type E1LFM1M?
    Thanks,
    Abdul.

    Hi Abdul,
    Actually it does not matter what are your systems' versions, PI can always handle an IDoc properly. All you need to do is perform the following steps in your PI system:
    1. Log on to ABAP stack, go to t-code idx2, find your ECC system and that particular IDoc (I believe this will be CREMAS) and delete its metadata.
    2. Log on to Enterprise Services Repository, find your SWCV where the IDoc definition was loaded, and load it again from your ECC system, then activate the change.
    3. If necessary, also adjust the message mapping to use/not use the new segment. Activate your changes.
    Once you have these steps completed, you are ready to retest your scenario and say goodbye to the error.
    Hope this helps,
    Grzegorz

  • Missing/left-out segments/fields in IDocs - best practise

    Hi all,
    when SAP generates IDocs, occationally certain field/segments, instead of being blank, will not
    show up at all which causes mappings in XI to go awry. For instance, in a two line sales order,
    when you set a reason for rejection for order line 2, the corresponding line in the IDoc will have a
    ABGRU field populated with the reason of rejection's code, however the first line will not have a
    blank ABGRU field but instead it will not have any at all. Now, when you do the mapping of those
    to lines, because the first line doesn't have this field, the ABGRU queue will hold only one value
    which in all probability will end up in the first line when it should be mapped to the second.
    At this point, in lack of a better solution, what I'm doing is to add ABAP code to user exits and
    add a blank/dummy ABGRU field to the lines that do not have any in order to be able
    to map the IDoc correctly. That works but its not ideal. What other options are there?
    Am I missing something obvious?
    Thanks for your input.
    Frustrated,
    Sven

    Hi,
    You could try appending the node function mapWithDefault after the field so that the it will always have a default value instead of being suppressed.
    Hope this helps,
    Mark

  • 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

  • Missing Mandatory field in IDOC

    Hi All,
            There is one outbound idoc which gives out an error status 40 "Application document not created in target system".
    The error is Missing mandatory field : 1CS210,, not sure how tor find this missing field since the name does not match with the field names in the segments.
    Can anyone help me?
    Regards,
    Anand

    hi shiva,
    pls try the below links you may get solution.
    http://sap.ittoolbox.com/groups/technical-functional/sap-log-sd/mandatory-condition-mwst-is-missing-388959
    Missing fields in Customer Master Data - 41k -
    Re: Web Service - Error in Connection and Data fields missing - 44k -
    http://blogs.ittoolbox.com/sap/ehadzipetros/archives/no-mystery-to-troubleshooting-gis-and-sap-always-begin-at-the-beginning-22646
    www.helpsap.com/account1.html - 14k
    thanks
    karthik
    reawrd me if helpfull

  • Replaced value is not getting relected in IDOC segment field

    Hi,
    Need your help for the below issue.
    I am replacing the PO # with Delivery Doc # . But the replaced value is not getting reflected in the IDOC segment field(e1bp2017_gm_item_create-po_number.).
    Function Module  which I am using is IDOC_INPUT_MBGMCR as a copy.
    Here is my code given below:
    SELECT
                SINGLE vbeln
                  INTO lx_vbeln
                  FROM lips
                 WHERE vgbel EQ e1bp2017_gm_item_create-po_number.
    Move lx_vbeln TO e1bp2017_gm_item_create-po_number.
    MOVE-CORRESPONDING e1bp2017_gm_item_create
                   TO goodsmvt_item.
    Then this is passed as  TABLE in "BAPI_GOODSMVT_CREATE".
    Please do the needful.

    Hi Dheepa,
    Check it in debug whether the filed is empty or having po#, when ur code is executed for the replacement. if it is empty, po# is populated after ur code. in this case you need to write the code in suitable place.
    Reddy

  • How to map idoc segment field E1IDB02-FIIKONTO with BSEG-ESRNR.

    Hi,
    I have searched for lot of threads in the forum , and also i tried myself but i am not able to map this fields segment with my logic, so please anyone kindly contribute in mapping idoc segment field  with the logic given below:
    idoc type :PAYEXT  outbound idoc.
    message type: PEXR2002
    This is my logic: i need to populate the ISR number(BSEG-ESRNR  ) in idoc segment field( E1IDB02-FIIKONTO)
    DATA : str1 TYPE string,
          len1  TYPE i,
          len2  TYPE i,
          str2  TYPE string,
          str3  TYPE string.
    str1 = '01-1234-4'. ---> BSEG-ESRNR  "ISR Subscriber Number
    REPLACE FIRST OCCURRENCE OF '-' IN str1 WITH '_'.
    REPLACE ALL OCCURRENCES OF  '-' IN str1 WITH space.
    CONDENSE str1.
    len1 = STRLEN( str1 ).
    IF len1 LT '9'.
    len2 = '9' - len1.
    CASE len2.
       WHEN '1'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '00'.
       WHEN '2'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000'.
       WHEN '3'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0000'.
       WHEN '4'.
         REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000000'.
       WHEN OTHERS.
    ENDCASE.
    ELSEIF len1 EQ '9'.
    REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0'.
    ELSEIF len1 GT '9'.
    REPLACE ALL OCCURRENCES OF '_' IN str1 WITH space.
    CONDENSE str1.
    ENDIF.
    Thanks in Advance.

    Resolved.

  • Inbound idocs segment fields

    Hi,
    Iam new to idocs and a functional consultant. I need to know whenever we receive the inbound idocs and if i see the segments of the inbound idoc, do the fields which i see in the segments are the sap fields.????/ for instance if the inbound idoc needs to create a sales order, then the fields of the segments of such an inbound idoc are the normal sap sales order fields ??
    do i need to give functional specs to the abapers that whenever the inbound idocs is received the segments fields need to be mapped to sales order fields if such an idoc needs to create a sales order ??
    regards
    sachin

    Hi Sachin,
    Most of the IDoc segment fields are simmilar to SAP transaction fields e.g. most of the ORDERS IDoc segment fields will be simmilar to what you can see in VA01/VA02 screen fields.
    Some fields may have different names.
    In the case of few segments which may repeate in IDoc with different qualifiers (such as partner details, date segments), fields will be same but different qualifier value decides where these field values will be populated in the Order.
    If you are using standard function module to create Order, it will take care of mapping IDoc segment fields to VA01/VA02 screen fields. But if it is a Z function module, then you need to specify the mapping.
    Hope this information will help you.
    Regards,
    Mahesh Pakhale

  • Value for IDoc Segment field SEGMENT

    Hello,
    In the Integration Repository, while creating Message Mapping between a flat file (inbound) & an IDoc (outbound), I'm getting an error that not all target fields are mapped. In the target structure (IDoc), each segment has a field named <b>SEGMENT</b>. Can someone please tell me what value should go here. These are not part of the IDoc but seem to be a requirement in XI message mapping.
    There is also a segment called <b>BEGIN</b> (<u>Type</u> - xsd:string) which is defined as required. Please write as to what should be populated in this segment.
    Any help is greatly appreciated.
    Thanx in advance.
    Homiar.

    My current scenario is
    File Adapter -
    > XI -
    > SAP R/3 (Idoc Adapter).
    I will be using FIDCPP2 IDOC.  
    1. For an instance following is the structure, in this case how can I achieve getting a set of data in one IDOC and another set in other IDOC based on document no.
    CC        Doc No.        line items        
    UK01         456                 1
    UK01         456                 2  -
    > IDOC 1
    UK03         456                 3
    UK04         450                 1
    UK04         450                 2 -
    > IDOC 2
    UK04         450                 3
    i). Is there any way to create instances of idocs in XI or any alternative way out.
    ii). Where/ how can I give the condition, that based on Document No. should create another IDOC instance.

  • Idoc Segment Fields

    Hi,
    I am having a problem with the display of idoc segment fields. When i check the Idoc segment contents in WE02 it is displaying the fields which dont have the value in the DB table along with the fields which have the data. To avoid this what is the procedure. I dont want to display the fields in the content of segment which does not contains the data.
    Plz help me out.
    Regards
    Santosh

    Hi,
    U have to use for reduced message type...U need to filter the segments which  u don't want...In BD53 u need to create reduced message type....
    plz go through the below link..
    http://help.sap.com/saphelp_erp2005/helpdata/en/d3/06f6679aaf0e44b67ca6d6b58d91df/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6702507d11d18ee90000e8366fc2/content.htm
    Regards,
    Nagaraj

  • IDOC filter at Field / Segment Level

    Hi
    Can you please tell me how to set an IDOC filter at field and segment level in short?
    Thanks

    Hi,
    There are two filtering in IDoc.
    Segment Filtering:
    Segment filtering can be achieved using T/Code BD56. Here you can suppress a whole segment irrespective of data inside it . You have to give Message Type / Sender Prrtner / Receiver Partner.
    Data Filtering:
    Data filtering can be done in dustribution model (BD64) where you can restrict whole IDOCS or partials IDOCS to be send based on data in fields inside IDOC depending on whether the segment in which you filter is at the highest level or at a lower level. For example in MATMAS if you put a filter of E1MARCM for a particular plant , only data for this plant will go and other plants will be ignored.
    Please check this link for detail information.
    http://help.sap.com//saphelp_470/helpdata/EN/0b/2a611c507d11d18ee90000e8366fc2/frameset.htm
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Segment/Field name for Unplanned delivery costs in Inbound Invoic Idoc?

    Hi Folks,
    Will you please let me know the name of the segment/field (IDoc type INVOIC) for unplanned delivery costs on Inbound Invoic Idoc??
    Thanks,
    Matt

    Hi,
    Am facing the same issue and did tried the E1EDS01 segment. SUMID = 20 and passing the value to field BEZNK, but its not updating the value.
    Could you please give me some more info. how to achieve it.
    Thanks,
    Aniket Korde

  • Idoc segment field - maximum length ?

    Hi,
    what is the maximum of characters in a segment field of an idoc ?
    regards,
    Hans

    Max length = 1000 characters
    Check out
    http://help.sap.com/saphelp_nw04/helpdata/en/1c/9fad3a05fdb92de10000000a114084/content.htm
    FYI
    ALE Interface
    The following objects are generated from the application function module:
    · Message, IDoc structure and segments: Mapping of the complex data type
    · Outbound function module: Each IDoc always contains one application object only
    · Inbound function module: IDocs are always transferred to the application individually or in packets of objects.
    · Customizing objects required for the run
    Assigning names to generated objects
    · Default message (maximum 30 characters) proposed from the function module name.
    · IDoc (maximum 30 characters) is derived from the message – the last two characters are extended by 01 (message <= 28 characters) or are replaced by 01 (message > 28 characters).
    · Generated function module name
    Outbound (maximum 30 characters): ALE_function module name (default)
    Inbound (maximum 30 characters): IDOC_INPUT_message (default)
    · Segments
    The default segment name begins with E1 for SAP and Z1 for customers, or namespace /.../. A meaningful and unique segment name is assigned as follows:
    - In the application system (maximum 27 characters):
    The segment name is derived from the structure name:
    · If the structure name is shorter than 24 characters, the segment name is copied directly.
    · If the structure name is longer than 23 characters, it is shortened to 23 and the “less important” characters at the front are cut off. The remaining characters are used to form a number that establishes the uniqueness of the shortened name. If numbers 01 to 99 are used, assignment continues with numbers 100 to 999 until the segment name becomes unique. This ensures that new segment names are created for the same structure, when this structure is used many times in a complex data type.
    Hope this’ll give you idea!!
    P.S award the points.
    Good luck
    Thanks
    Saquib Khan
    "Some are wise and some are otherwise"

Maybe you are looking for