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,
JohnHi 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 -
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
sachinHi 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.
SriramDid 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@neshHi 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 youI 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 ManochaSomehow 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,
RajjThanks 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. -
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,
RavinderHI,
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 -
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_DEBITORHi 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 AMHi 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
-
How can i apply adobe bridge in my ipad 2?
how can i apply adobe bridge in my ipad 2?
-
Droid Razr Calendar Events synced from Gmail not visible in month only in Agenda
In my old windows phone, I could see the events of the day in the monthly view, but on my droid razr, I cannot see what events there are in the monthly display but only in the agenda display. I have searched and still not able to find if this is pos
-
Field Profit Center is not populated while posting through T-Code F-02
Dear Sir / Madam, While posting through T-code F-02 the field Profit center is in hidden mode as a result I am getting the given below error. "GLT2201 - Balancing field profit center in line item 001 not filled" Please guide me as to how do I change
-
AirPort Express problem on MacBook Pro
I'm having problems connecting to the internet via work place LAN while booted up in Lion. Sometimes I can go into settings preferences or what ever that's called and get it to work by trial and error but it's very difficult. Right now I'm using Ai
-
Item in FRF is paid in EUR due to expiring currency
Hi Expert, Our client has got error after F110 run for custome in Production due to which he is unable to generate Payment advice. Please find below Error in F110 after Paymen run done "Item 16039805 in FRF is paid in EUR due to expiring currency". C