Inbound Idoc segment change

Hi All,
How can We modify or append a segment to the inbound IDOC. The scenario is as follow
We have an inbound IDOC to create/change contract order. There are some segments in the IDOC to hold the error records.
while processing the inbound IDOC we need to fill these blank segments with relevant data, so that we can reprocess the IDOC with ease.
I am trying the modify the IDOC_DATA inside the processing function module. Till the end of the function module IDOC_DATA is having the added segment data, however when I am checking from WE02, the segments are appearing to be blank.
Please let me know, what is missing above.
Thanks & Regards
D. Pradhan

Which exit / BAdI are yous using for adding the segment & what is your inbound processing function module ?
Anyways i also had the same problem a few weeks back i was trying to delete a segement though
My understanding is in WE02 it displays the data from EDIDC & EDIDD. In your I/B processing FM you only modify the data in the IDOC_DATA table & not in EDIDD.
Check in EDIDD, the segment would not be there.
BR,
Suhas

Similar Messages

  • Inbound Idoc Create/Change Purchase Order

    Hi All,
    I have to do a inbound Idoc scenario for create as well as change Purchase Order.
    Which is the IDoc type for Create/Change purchase order.
    I went through this form found that ORDERS05 can be used but I am not sure this can be used for both create as well change Purchase Order.
    If ORDERS05 can be used then which is Process code,Function Module and Message type for both create and change Purchase order.
    I also found that IDoc type PORDCR102 can be used for  create Purchase order and PORDCH02 can be used for change Purchase order,but i don't want to use two Idoc types.
    Please suggest.
    Thanks in advance.
    Regards,
    John

    Hi John,
    For creating a IDoc for PO, whenever a PO is created/Changed, it has to be configured in Parter Profile(WE20) for a particular Partner in Outbound Paramtrs tab.
    Give ORDERS05 in Message Type and select the line & go to Display.
    In the screen which appears , choose tab Message Control and give the Process code
    ME10 - Creation of PO
    ME11 - Changes to PO & check the Change Message.
    Give respective Output Message Type & Application(VF) for PO.
    Create Output types for a vendor in T.Code MN04, else take help from MM Consultant.
    Create a PO & save. Then make some changes in Po & again save.
    Now IDoc will be created while saving the Po & IDocs will be created whenver you make changes to PO and saving it.
    Hope It helps.
    Regards,
    Anbalagan

  • 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

  • CRM IDOC Segments Changing in PI mappings

    Hi All,
    I had configured a scenario from CRM to PI and to SQL Table.
    When ever a BP is Created or Changed an idoc with that BP is sent to PI and to SQL. I had used this IDOC(CRMXIF_PARTNER_SAVE) for mapping.
    When i send BP of Person type the IDOC Segment is getting Changed and Mapping error occurs.
    So please suggest me whether to use IDOC or not?
    Is there any Adapter i can use for real time?
    I need to get data of BP automatically.
    Thanks in Advance.
    Sriram

    Did you try change pointers..........
    Regards
    Ravi Raman
    PS: Points..are the only rewards here...so..!!!!!!!

  • Why does an Inbound IDoc no change and differs from an Outbound IDoc no?

    Hi Experts,
    This seems to be a basic question..! But can someone kindly clarify why an IDoc number gets changed when sent from one R/3 system to another R/3 system and how does this happen???
    i.e., whenever an IDoc was triggered from R/3 system A to R/3 system B through XI/PI, the Inbound IDoc number (in system B) differs from the Outbound IDoc number (in system A)... Why does this happen and how???
    Thanks in advance!
    Br,
    G@nesh

    Hi Ganesh,
    The IDOC numbers are always Unique,
    IDOC can be generated in SAP system as a result of internal testing (WE19), or
    can be posted from a non sap system (say PI).
    So every time a new IDOC comes, it is assigned a new number to avoid confusion and also this plays a
    critical role in the  end to end testing and validation.
    If you look at the control record of the IDOC you can see a element called DOCNUM. this stores to actual IDOC number.
    from PI side you can  use IDX5 and in ECC  We02/05 to notice the idoc numbers.
    Regards,
    Srinivas

  • My IDOC segment change should reflect ONLY for 1 extension

    Hello
    I have added a additiona/new field to a custom segment. And this segment is used in 2 IDOC extensions, say Z_ORD_1 and Z_ORD_2.
    But, we are interested only in Z_ORD_1 extension. So, some how can i restrict that my additional field should point only to Z_ORD_1 and its associated processing FM.
    Because, there is no change in Z_ORD_2 processing FM and all its associated interfaces/XI stuff.
    Can i restrict my change only should applicable to Z_ORD_1?
    Thank you

    I do not think we can restrict at segment level to point only to a particular extension...
    Suggestion would be control at data level before creating IDOC...you can check the extension fill the field accordingly...
    if that field is not filled, IDOC will not take it in output structure...
    Thanks

  • Idoc Segment Changed- Support Packs

    Hii All
    In our SAp system (SAP ECC 6) support packs were implemented. After the implementation one of the segment of the idoc (Basic Type:- SHPMNT03) got changed infact that segment now does not exist.
    Its a business critical issue, can anyone do let me know what to do in such scenario.
    Thanks & Regards
    Gaurav Manocha

    Somehow I find it hard to believe... The IDoc structure is not supposed to be changed. If there is some kind of an upgrade, then instead of changing the IDoc, SAP creates a new version. That's why we have ORDERS01, ORDERS02, etc. The IDocs are supposed to be downwards-compatible.
    I'd guess that either the standard IDoc was extended in your system and the extension is the one that's missing or there is some kind of a mistake. If it wasn't an extension, you'd definitely should contact SAP about it (check the OSS notes first though - maybe it's already a known issue).

  • Creating Work Flow Item for inbound Idocs

    Hi experts,
    I'm just trying to create a work item in sap inbox when inbound idoc fails and gets the status 51 .Documentation says no need for any extra setup,it works with standard SAP tasks & Idoc system process codes which are all preconfigured.
    I'm assiginig a user id in the partner profile.I do get a work item when there is syntax error in the inbound idoc segments(like wrong sequence of segments...), but not when idoc fails,due to idoc errors.Am i missing something.Users want a workitem when it fails,so they can reprocee/edit etc.Please help.
    Thanks in advance,
    Rajj

    Thanks for the response.I know this task and i could see a event triggered in the event log,but no work item created in my inbox.What should i do to get the work item in my inbox.should i change this task or assign this to some thing else.
    Thanks,
    Rajj

  • IDOC Segment Definition received instead of Segment type

    Hello Folks,
    When i send a Z Idoc Segment from A to B System, It is successfull from A System, but in B System sometimes its erroringout because in the inbound idoc Segment Definition is coming instead of Segment type.
    For Example
    From A System I have sent Z1P0002 segment
            B System I have received Z2P0002000(Which is the segment definition for Segment type Z1P0002)
    Any inputs to above problem?

    Hi,
    The problem may be due to system B using a older release version of the IDoc. In those scenarios, even though your IDoc type is recognized, it may not be possible for the reciever to determine the right segment version of the reciever.
    There are options in the WE20 partner profile configuration, Field Segment release in IDoc type and Segment Appl. rel. which enable the partner system preventing from erroring out.
    BR/Yogesh
    Edited by: Yogesh Surender on Jun 1, 2009 12:34 PM

  • Prevent the Output Message when creating PO from inbound IDOC

    Hi SAP Gurus,
    In my project, I have to create PO from inbound IDOC (PORDCR) with a specific Document Type ('099').
    Requirement: These PO should not generate the output message while the others (Doc Type # '099') do.
    I have the Z fuction module which call BAPI_PO_CREATE for posting IDOC and it works fine.
    In the existing system, there are some set up that trigger the output message type for PO (output NEU) when using ME21 or ME22, as a result my PO created with output message.
    Can you please advise if there are some way (User Exit?) that prevent the output message in this scenario (specific PO Type) without touching the current Condition setup?
    I'm new in MM and really need help!
    Thanks,
    Elaine.

    Hi Vinod,
    I really appreciate your anwer. I'm going to explore this with my functional consultant.
    Just like to have more questions:
    1. Is it easier if we change the existing condition table instead of creating a new routine?
    2. There are two forms for routine 101 (FORM KOBEV_101 and FORM KOBED_101). Can you explain to me why we need 2 here for what purpose of each form.
    3. In the debug mode by using WE19 to post inbound IDOC, I change the SY-SUBRC = 4 and PO created without output message. Is it the right direction? Anything else I need to pay attention to?
    Thanks again.
    Regards,
    Elaine.

  • Inbound idoc delvry03

    Hi exports,
    I have scenario where I will get an IDOC(Basic Idoc type DELVRY06) from source SAP system but I am(receiver system) having upto DELVRY03(SAP ver 4.7). Some of the required segments in DELVRY06 are not there in DELVRY03. So  I am panning extend DELVRY03 and add custom segments. Could you please let us know how the inbound idoc segments are correctly mapped to my new idoc type.
    I am new to IDOCs so please let me know whether above process is correct are do we have any other way of doing it?
    Regards,
    Ravinder

    HI,
    In the sender system we have one option, go to Partner functions(WE20) in the sender system and in that we have one option like version of segment , so that give the version of urs then it will send only current version to receiver system.
    for example in 4.7 we have 5 segments where as in the ECC 6 we have 10 segments , it will send only 5 segments.
    Currently i dont have the SAP system to check and tell.
    Try this
    Regards,
    Bharani

  • IDOC for changing user status to 'HIST' on Functional Location

    Hi.
    Can anyone please support me with an inbound IDOC for changing status on existing Functional Location?
    Thanks.

    Hi ,
    I am not sure whether it would work with LSMW but if your on ECC 6.00 ,Enhacement Pack 3 then you have BADIs which allow you to make collective status changes in IW38 .The below are those BADIs :-
    BADI_EAM_RIAUFK20_FCODE_CUS1 :Implement Customer Function Code in Order List
    BADI_EAM_RIAUFK20_FCODE_SAP1 :Implement SAP Function Code in Order List
    Else if your on lower version then write up a batch programme which checks the PM Order types with specific status and sets user status using FM STATUS_CHANGE_EXTERN[This is used to set or delete User Status] in SE37 ..
    regrds
    pushpa

  • Inbound IDoc using LSMW

    Hi..
    I am trying To Upload customer master data using LSMW with IDOc.
    I am debugging the Inbound IDoc Using BD87 and INPUT_METHOD = 'A'
    One segment E1KNB1M data is not passed to transaction 'XD01'  due that my company code data is not updated
    Pls tell me how to pass segment E1KNB1M data to transaction.
    I am using Message type :  /SAPSLL/DEBMAS_SLL
               Idoc type    :  Debmas03
            Function Module  : IDOC_INPUT_DEBITOR

    Hi Rishi,
         Thanks for the document. But the document mainly concentrates on LSMW(I'm aware of generic LSMW with BDC), it doesn't explain the inbound IDoc, segment merging, Creation of partner function or Message and Basic types WRT inbound IDoc. Please send any document with that relevance.
    Kiran

  • Inbound IDOC for Invoice failing at segment-E1EDK28- Incorrect BankAccNumbe

    Hi SDNers,
    We have  EDI - Invoice/Invoice Processing.
    Inbound Idoc failing  at segment E1EDk28.
    This is because  in segment E1EDK28 ,
    1. The field ACNUM has the value for Bank Account Number as N111111A.
    2. This is incorrect.
    3. This field should have had the value for account number as 0000N111111A.
    4. But for some reason the pre-zerou2019s are removed .
    5. When we check the process code IDOC_INPUT_INVOIC_FI, and  IDOC_INPUT_INVOIC_MM, and the table LFBK the value is     saved as 0000N111111A.
    But why in IDOC it is getting seen as N111111A?
    Please guide as to where i need to look for the solution or fix.
    Where should i look for the fix for this issue.
    Regards,
    SuryaD.
    Edited by: SuryaD on Nov 24, 2009 7:01 PM
    Edited by: SuryaD on Nov 25, 2009 9:21 AM

    Hi Navitha,
    Thanks for your response.
    I had checked the exits to see if the field ACNUM is changed anywhere while debugging.
    It wasn't getting changed anywhere.
    In fact the user and the ticket creator had the assumption that the Vendor Bank Account number (in case of the Inter company billing) is maintained in vendor master (XK03) or LFBK or KNBK.
    the y thought IDOC is picking the ACNUM from one of the above three place.
    They were checking the Bank account number from the above 3 places  and since here it was maintained as 0000N111111A while in IDOC it was showing as N1111111A they had all this confusion.
    In fact the IDOC segment E1EDK28 picks the ACNUM from SPRO->Financial Accounting-> Banking->home bank.
    Here we checked and found that the Bank Account Number was maintained as N1111111A and we changed it to 0000N1111111A and the IDOc segment E1EDK28 picked it correctly.
    Issue got resolved.
    Thanks for your input.
    Regards,
    SuryaD.
    Edited by: SuryaD on Nov 25, 2009 10:29 PM

  • Change sales order values from Inbound Idoc

    Hi all,
         In my scenario i have to change sales document automatically(Workflow) by getting the values from the inbound idoc ordchg (one more thing i dont want to create another sales document). Is there is any function module? please tell me how to do this.
    Regards,
    Adithan S.

    Hi Adithan;
       You can read the IDoc information using the function IDOC_READ_COMPLETELY as demonstrated in the example below:
    DATA: int_edidd TYPE STANDARD TABLE OF edidd WITH HEADER LINE,
           wf_docnum type edidc-docnum.
    MOVE: 'IDOC_NUMBER' to wf_docnum.
    CLEAR int_edidd.
    REFRESH int_edidd.
    CALL FUNCTION 'IDOC_READ_COMPLETELY'
         EXPORTING
              document_number         = wf_docnum
         TABLES
              int_edidd               = int_edidd
         EXCEPTIONS
               document_not_exist      = 1
               document_number_invalid = 2
               OTHERS                  = 3.
       After that call, you can loop through int_edidd to get at the segment information you need.
       You can update the sales order using BAPI_SALESORDER_CHANGE.  Below is an example of updating line 10 of a sales order with a new material number.
    DATA: l_vbeln LIKE bapivbeln-vbeln,
          so_headx TYPE bapisdh1x,
          change_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
          so_item_in TYPE bapisditm OCCURS 0 WITH HEADER LINE,
          so_item_inx TYPE bapisditmx OCCURS 0 WITH HEADER LINE.
    MOVE 'U' TO so_headx-updateflag.
    MOVE <insert sales order number here> to l_vbeln.
    MOVE:  '00010' TO so_item_in-itm_number,
           'MATERIAL_NUMBER' TO so_item_in-material.
    APPEND so_item_in.
    MOVE: '00010' TO so_item_inx-itm_number,
          'U' TO so_item_inx-updateflag,
          'X' TO so_item_inx-material.
    APPEND so_item_inx.
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
         EXPORTING
              salesdocument    = l_vbeln
              order_header_inx = so_headx
         TABLES
              return           = change_return
              order_item_in    = so_item_in
              order_item_inx   = so_item_inx.
    Cheers,
    John

Maybe you are looking for