Idoc control mechanism
Hi,
I have a situation.
In processing the Idocs in background.
can anyone give me some info how to control this processing.
I am talking about PO to SO automation between to SAP systems.
lets assume,
The background job which triggers to send idocs from sender system is At 12.00 noon.
At 10 am , PO is created and Idoc created for this PO and sent to port.
at 11 am the same po has got some changes and the idoc also sent to port(FYI - I am not using Orderchange message type ) .
At port i want to have the sequence of getting processed which is created at 11 am first than the one at 10 am.(the latest).
i mean LIFO(last in first Out),in sending the idocs.
any kind of input is greatly appreciated.
Regards
Message was edited by: Satheesh Mothukuri
Hi Neela,
Please expalin your problem in detail, If following is not useful:
Master IDOC contains all the recods (control record, data record & status record).
After that it will consult Distribution Model for the Sender and Receivers (Tcode -BD64) . Then Communication Idocs are generated for the identified receivers. After that a function module will distribute that Communication Idocs. Communication idocs are generated befor getting into ALE layer.
Ashven
Similar Messages
-
Populating MESFCT and MESCOD in IDOC control record through XI.
Hi Experts,
I want to map only MESFCT and MESCOD fields to IDOC control record as i see help.sap.com and all forums this part in XI is very confusing, as mentioned in the below thread i disabled all the mandatory fields(which are in red color) in the EDI_DC40 and mapped MEDCOD and MESFCT with constants and in IDOC receiver adapter (Communication channel) i have checked the option (Apply Control Record values from Payload) , now i can see both the values MEDCOD and MESFCT in XI payload, however I'm unable to see them in the target (ECC 6.0) system
Threads Used:
/people/sravya.talanki2/blog/2005/12/02/manipulating-idoc-control-records-from-payload
/people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
SAP Note : 728792
Target System
WE09
IDOC control record structure.
Under Typinfo tab:
Message Varient : <Still Empty>
Message Function : <Still Empty> not populated from XI payload.
Any guess ??? will there be any configurations required from ECC point of view to populate these values from XI payload.
Thanks in advance
Kelli.You mentioned that the payload values are visible post mapping during runtime so ,
Try to edit the IDoc adapter once again and ensure that
you have set the Apply Control Record Values from Payload indicator in the receiver IDoc adapter
Activate the adapter and try again. -
What is sender port in idoc control record!
Dear all
In idoc control records it is showing two ports Receiver port and sender port.receiver port we cen configured in WE21.
where we configured senderport!
how it is updated in control records!
Thanks & Regards
rajWhen you generate the outbound idoc you provide info for Receipent
"control record
idoc_control-idoctp = 'ACC_GL_POSTING01'.
idoc_control-doctyp = 'ACC_GL_POSTING01'.
idoc_control-mestyp = 'ACC_GL_POSTING'.
idoc_control-rcvprt = 'LS'. "Partner Type of Receiver
idoc_control-rcvprn = 'WCP100'. "Partner Number of Recipient
idoc_control-rcvpor = 'WCP100'. "Partner Port of Recipient
idoc_control-direct = '1'. "outbound idoc
When you receive and inbound idoc you nedd to provided similar info but for Sender
Port for Sender is just like port for Receipent. Both you check in WE21.
Edited by: Marcin Pciak on Oct 17, 2008 9:47 AM -
First record is not an IDoc control record (check file)
Hi Experts,
I try to build an interface between a non SAP system and a SAP system via IDOC.
I created an .xml test file that I would like to upload now in system with program RSEINB00, but i have error
First record is not an IDoc control record (please check file).
What do I need to do? This is example file I uploaded
?xml version="1.0" encoding="UTF-8"?>
<EXCHANGE_RATE01>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<IDOCTYP>EXCHANGE_RATE01</IDOCTYP>
<MESTYP>EXCHANGE_RATE</MESTYP>
<MESCOD>010</MESCOD>
<SNDPOR>XML_2_IDOC</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>INCENTAGE</SNDPRN>
<RCVPOR>SAPQH3</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>QH3CLNT100</RCVPRN>
<CREDAT>20110526</CREDAT>
<CRETIM>204404</CRETIM>
</EDI_DC40>
<E1ECXHANGE_RATE SEGMENT="1">
<LOG_SYSTEM>QH3CLNT100</LOG_SYSTEM>
<UPD_ALLOW>X</UPD_ALLOW>
<DEV_ALLOW>000</DEV_ALLOW>
<E1BP1093_0 SEGMENT="1">
<RATE_TYPE>RUFX</RATE_TYPE>
<FROM_CURR>USD</FROM_CURR>
<TO_CURRNCY>RUB</TO_CURRNCY>
<VALID_FROM>20120105</VALID_FROM>
<EXCH_RATE>5000</EXCH_RATE>
<FROM_FACTOR>100</FROM_FACTOR>
<TO_FACTOR>1</TO_FACTOR>
<EXCH_RATE_V>0.00000</EXCH_RATE_V>
<FROM_FACTOR_V>0</FROM_FACTOR_V>
<TO_FACTOR_V>0</TO_FACTOR_V>
</E1BP1093_0>
</E1ECXHANGE_RATE>
</ IDOC>
</EXCHANGE_RATE01>
kr,
StefHi Udo,
I thought I posted it in another forum, still not solved.....
kr,
Stef -
First record is not an IDOC control record - Error
When I am trying to import orders in my test system through RSEINB00 , it is giving me this error "First record is not an IDOC control record"
But if I manually do it through test tool , it post successfully.
I tried different files which have been posted into production client successfully but still the same error.
It was working just fine until yesterday. Today I modified one file and ran it and it gave me the error. Now its giving me the error in all the file i try.
Any clues ??Hi,
Please check the partner profile (WE20) and IDoc ports (WE21) setup, perhaps someone changed them by mistake.
Also please check the IDoc file content whether there is IDoc control record (EDIDC) information or not.
Regards,
Ferry Lianto -
How to overwrite IDoc Control Record - DOCREL
Hi Gurus,
Is there a way to overwrite the DOCREL field when IDoc is generated in XI? XI always send '700' but i need it to have value '46B' so it will be processed properly by the receiving system.
My scenario is, XI is picking up a flat file in AL11 and converts it to INVOIC02 IDoc. The IDoc is being sent to a Biztalk server.
Thanks!
EoIf you want to have a control on the IDoc control records, handle them in the mapping and set the option in the IDoc adapter
Apply Control Record Values from Payload - http://help.sap.com/saphelp_nw04/helpdata/en/96/791c42375d5033e10000000a155106/frameset.htm -
Passing Idoc Control Record information to JMS header
Hi All,
We have a requirement where we need to pass the 'MESCOD' and 'MESFCT" in the EDIDC_40 - Control record for the idoc to the Header of a JMS message.
Basically we are trying to pass IDOC Control segment to the JMS header.
I was looking at the options we have in the JMS adapter, and i am not sure how can this be achieved.
Would appreciate any info on how this can be done.
Thanks,
KarthikHi Karthik,
As suggested by Ravi, you can hardcode this values in XI mapping before pushing data to JMS.
Otherway round would be...check for User Exit where you can populate EDIDC_40 with MESCOD and MESFCT.
Nilesh -
Changing IDOC Control Record for EDI inbound Orders Creatiion
Hi,
When I try to process the Inbound orders Idocs file through the GENTRAN EDI System.IDOC's were errored out, because of the Partner function was not defined for the Customer ( Legacy ) ( Type KU ) in the SAP.
Is there any user exit/badi/Configuration to change the Legacy Partner(Customer) to the SAP Partner(Customer) mapping and update the IDOC Control record with the SAP Partner. I am calling EDI_DATA_INCOMING Function module and IDOC_INPUT_ORDERS.IDOCs errored out with Message EO-332 ( Partner function not defined ).
Advance Thanks,
Balaji.It's been a long time since I have done any IDOC processing.
Go to SE37 and enter the function module IDOC_INPUT_ORDERS. Display the source code. Search for "CALL CUSTOMER". You should see several "CALL CUSTOMER-FUNCTION" lines. These are enhancements where you can manipulate the IDOC data. If you locate the correct one (where the data is read from the IDOC but not yet validated), you should be able to map the partner function value. Double-clicking on the number in quotes will bring you to an "EXIT_" function module. A "ZX" INCLUDE program is referenced. If you haven't used the exit yet, double-clicking on the ZX INCLUDE will create it. The values passed into the function module are available in the INCLUDE.
Ideally, you should create a project in transaction CMOD that references the chosen enhancement. This way you can activate/deactivate without commenting/uncommenting the code in the INCLUDE. -
Changing IDOC control record by XSL Mapping
Hi,
I am using scenario: legacy -> XI -> R/3.
In the first step I am mapping XML -> IDOC. I have to map the field "SERIAL" in idoc control record in EDI_DC40 (idoc control record structure) with a constant. When I view the message in XI monitor. I cannot see the change and that field is not visible as before.
Any suggestions would be highly appreciated !
Regards,
FaiqHi,
If you have set the Apply Control Record Values from Payload indicator in the receiver IDoc adapter, the following fields are filled from the IDoc-XML payload:
MESCOD
MESCFT
TEST
EXPRSS
STD
STDVRS
STDMES
SNDSAD
SNDLAD
RCVSAD
RCVLAD
REFINT
REFGRP
REFMES
STATUS
DIRECT
OUTMOD
CREDAT
CRETIM
You can change the contents of only above fields by using a mapping and getting it replected in the SAP System.
Regards,
Bhavesh -
Change IDOC Control Record in Receiver system
Hi Guys,
I want to change the inbound IDOC control record,is there any BADI or F.M available ?
My scenario : XI to SAP and its a custom application.
Regards,
Rajesh.hi Rajesh,
You can refer this wiki link , this will help you out in your problem
https://wiki.sdn.sap.com/wiki/display/ABAP/IDOC+Steps
Regards
Saurabh Goel -
IDOC control record mapping - Sender Partner number defaulted to log. sys.
My PI scenario is file to IDOC scenario.
I have ticked "apply values from payload" checkbox, so Sender Partner Number is being defaulted to logical system assigned to my business system.
Logical system name has to be unique in PI. My understanding is that I can not have more than 1 business system with the same logical system assigned to it.
In SAP, I need to have idocs, coming from different businees systems through PI, set to have the same sender partner number,
which is not possible when "apply values from payload = 'X' and messages are coming from different business systems.
Calling all PI Gurus, have you got a workaround ?Hi,
Idoc will be processed in SAP ECC based on the sender details (snprn,sndpor,sndpfc...) of idoc control record..
instead of different partners name sending in the sender details of control record ...pass the value of the PI logical system name in SNDPRN.... (use only one and this is common for all partners...) any how data records of idoc will have the needed partner details...
In SAP ECC you need to have this logical system ...to process the received idocs..
thats it... Hope you got
Regards
Rajesh -
We have an issue with one of our scenarios.
We are sending an IDoc into our SAP system but we get the message
"EDI: Partner profile not available"
Now at first this made sense as our logical system in the Partner profiles was FMS but the SLD had the sending systems logical system name as BS_FMS_QA.
We then changed it to match FMS so in the SLD under business systems the logical system is now FMS.
The issue is that we still have the problem. When we go to check the control segment of the Idoc in WE05 in the receiver system it has the Partner as BS_FMS_QA. The same value is present in the monitoring of XI for the
SAP:SNDPRN>BS_FMS_QA</SAP:SNDPRN
We have changed th value in the SLD restarted the system but still get the same result.
Could someone let me know where this value could also be kept AND where the IDoc control segment gets its values from because I thought it was the SLD.Hi Alex,
after you changed the ALE data in the SLD for your business system, it might be necessary to reset the SLD cache on the XI IS.
Check if you have success with following SLD related content of
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0332b2a-eb97-2910-b6ba-dbe52a01be34">How to Handle XPI Caches in SAP NetWeaver 7.0 (2004s) (PDF 1.8MB)</a>
Extract from unit 3.3 - Point 13:
SLD data of the business system is cached in table LCRT_CLNTCACHE. To display the table, use transaction SE16.
This table is populated with the data from the first request for this information.
For manual invalidation, use the function module LCR_CLEAR_CACHE in transaction SE37.
Hope this solves your issue.
Best regards,
Silvia -
Idoc control record DIRECT field mapping
Hello,
I have a file to idoc scenario where the receiver system is an external one.
I have the necessity to set in the outbound idoc control record DIRECT = 1.
The XI system is XI 3.0 SP 19 and I've set up the mapping of the idoc control record in the message mapping and selected Apply Control Record Values from Payload and Take receiver from Payload in the Receiver Communication Channel but the idoc is still generated with DIRECT = 2.
In the documentation the field DIRECT is listed as one that will be filled using the message mapping if Apply Control Record Values from Payload is selected.
How can I generate an idoc with DIRECT = 1?
Regards,
ElisaHello Punit,
I know that logically the right value should be 2 but the request of the receiver system is to have it as 1.
They only elaborate the idoc they receive with DIRECT = 1 (outbound).
In SAP documentation the field is listed as one that can be mapping with the message mapping but the idoc adapter is ignoring the mapping even when the Apply Control Record Values from Payload is selected.
Regards,
Elisa -
Some question on IDOC (Control Record/Data Record/Status Record)
Dear all,
I am new in this area, and would like to enquire some question on this topic.
When I view a IDOC via WE02, each of the IDOC record will consist of Control Record/Data Record/Status Record).
Questions:
I notice that the data records consists of many segment (i.e. E1EDK01, etc) which are use to store application data.
1 - My question is do I have to manually create all these segment and do a mapping to my application field one by one (i.e. that is when I want to create a brand new message type from scratch)?
2 - If question no. 1 is Yes, how to do it, what are the transaction code to create it? can you show me the step by step.
3 - I don't have to create the Control record and the status record for my new message type right ? because those field value will automatically pull out from partner profile and system status message, am I correct?
Thanks.
TuffHi Tuff,
As everything in SAP, with IDOCs too there are
1) Standard IDOCs
2) Standard IDOCs(Extending - Enhancement to an IDOC, to accomodate for custom values)
3) Custom IDOCs
And every IDOC has,
Control record - EDIDC Structure - This mostly reflects the partner profile information, along with few more details which are used for IDOC extension, Sequencing etc
Data Records - EDID4 Structure - These records contain the actual business data of the document in concern. So for ORDERS05 it would contain order details, INVOIC02 - Invoice details so on...
Status Records - These records capture the status of an IDOC from the time it is received/sent from your system and a corresponding business document is created/changed. So this will have messages like "IDOC sent to the port OK" etc which are status from the communication layer(ALE) to application specific messages like "Sales Order XXX created" or "Invalid Material" etc.
You would have noticed something called as Process code in the partner profile, this is associated with a FM(or work flow task etc) which has the business logic coded in.
So in case of an Inbound IDOC, the sending system updates the IDOC - Control and Data records, and sends it to the receiving system. On the receiving system the IDOC's control record is validated against the partner profiles set, if an entry is found then using the process code it finds the associated FM which will decode the data from the IDOC data records as per the IDOC type and then use it to post data into SAP (VIA BDC, Batch Input, BAPI etc).
And all this while the Status records are being updated accordingly.
So with the above context will try to answer your questions,
1 - My question is do I have to manually create all these segment and do a mapping to my application field one by one (i.e. that is when I want to create a brand new message type from scratch)?
In case of a custom IDOC, yes you will have to.
In case of a standard IDOC, you wouldn't have you just have set up the necessary configuration (Partner Profile, Process code etc)
In case of a standard IDOC extended to accommodate for some custom values(for which there are no fields in standard IDOC - Let us say you have added some new fields on VA01) - In this case you can still use the standard Process code and Standard FM associated with it, SAP provides several Function exits in these FM's which you can leverage to add your custom logic.
2 - If question no. 1 is Yes, how to do it, what are the transaction code to create it? can you show me the step by step.
There are several documents available on the net and on SDN detailing step by step approach for all the above three cases,
just search for step by step guide for IDOCS - sap.
3 - I don't have to create the Control record and the status record for my new message type right ? because those field value will automatically pull out from partner profile and system status message, am I correct?
Again it depends, in case of using a standard IDOC you wouldn't have to. But in case you have some customizations/enhancements then you might have to.
For Ex: updating the control record accordingly for indicating that you have extended the standard IDOC. Or append custom messages to the status record as per the business logic.
Try out the examples you find on the net and post any specific questions you might have.
Regards,
Chen -
Inbound IDOC:First record is not an IDoc control record
Dear Experts,
I am currently testing an inbound IDOC with program RSEINB00. Unfortunatelly I always get the errror "First record is not an IDoc control record (please check file)".
So apparently it picks up the file, but there are some format errors I guess?
Does anybody have an idea what to do?
this is file uplaoded:
<?xml version="1.0" encoding="UTF-8"?>
<EXCHANGE_RATE01>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<IDOCTYP>EXCHANGE_RATE01</IDOCTYP>
<MESTYP>EXCHANGE_RATE</MESTYP>
<MESCOD>010</MESCOD>
<SNDPOR>XML_2_IDOC</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>INCENTAGE</SNDPRN>
<RCVPOR>SAPQH3</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>QH3CLNT100</RCVPRN>
<CREDAT>20110526</CREDAT>
<CRETIM>204404</CRETIM>
</EDI_DC40>
<E1ECXHANGE_RATE SEGMENT="1">
<LOG_SYSTEM>QH3CLNT100</LOG_SYSTEM>
<UPD_ALLOW>X</UPD_ALLOW>
<DEV_ALLOW>000</DEV_ALLOW>
<E1BP1093_0 SEGMENT="1">
<RATE_TYPE>RUFX</RATE_TYPE>
<FROM_CURR>USD</FROM_CURR>
<TO_CURRNCY>RUB</TO_CURRNCY>
<VALID_FROM>20120105</VALID_FROM>
<EXCH_RATE>5000</EXCH_RATE>
<FROM_FACTOR>100</FROM_FACTOR>
<TO_FACTOR>1</TO_FACTOR>
<EXCH_RATE_V>0.00000</EXCH_RATE_V>
<FROM_FACTOR_V>0</FROM_FACTOR_V>
<TO_FACTOR_V>0</TO_FACTOR_V>
</E1BP1093_0>
</E1ECXHANGE_RATE>
</ IDOC>
</EXCHANGE_RATE01>
kr,
StefHi Stef,
I have just generated a file from my system, to give you an idea of how a file should look for the program RSEINB00 to import:
EDI_DC40_U1000000000000865239700 3012 DEBMAS06 DEBMAS SAPBCI LS BCICLNT100 GG_TEST LS TVNBTS 20120111135033 20120111135032
E2KNA1M005 1000000000000865239000001000000010050000000001Ms. 000000000000 0 DEBI US 0000000100 Mercedes Lee HAWTHORNE MINERAL 1030 89415 NV A5 B2C LEE E12312312 1520 1520 Fifth Street 775-949-2668 +481111111 323232323 0000000003 0000 0000000000 0 2902100601 00 EN
E2KNA11002 100000000000086523900000200000102
Hope this helps,
Grzegorz
Maybe you are looking for
-
Error in Reporting Facility of KM
Hi All, I am trying to use the reporting facility of KM. Under Content Management -> Reports there are various reporting tools like Approval Maintenance,Link consistency,Resource Statistics, Time based publishing. I tried all the reporting tools. <b>
-
How do I get back all the songs stored in iTunes after they were wiped out off my computer?
How do I get back all the songs stored in iTunes after they were wiped out when I re-installed Windows 7?
-
Start site is not uploaded correctly. html is missing. What can I do?
Hallo, I am searching for a new web host and created my site with Iweb. Unfortunately I cannot upload it correctly to the testing site. Pictures and the blog are all right. But the start site with its links is missing. Apparently it is an Iweb fault.
-
Hi, When I try to set up a connection using JDeveloper 3.0, I get an error saying "ocijdbc8" driver not found. I look through my computer and I don't see that driver. Any idea please.
-
Installed Tiger and it erased my internet settings
How can I restore my settings and get back online. I tried putting in my ISP address and other things and it doesnt seem to work. I live in Germany and they arent familiar with Macs so T Comm hasnt been much help in correcting the problem. I have a L