Error values in Idoc Control Records in File to Idoc Scenarios
Hi All,
I am posting 2 different types of Idocs in 2 different File-to-Idoc Scenarios. In many cases both these files may get picked at the same time. One is an Orders Idoc and the other one is Shipment Idoc. The Orders Idoc has a control record value in the Sender Partner Fn as 'ZC' while as for Shipment Idoc that value is not passed. The other Sender parameters are passed and are different for both these idocs. But when the files are processed, the value 'ZC' get populated for the Shipment Idoc also. When 100 files are sent with 90 orders and 10 shipments, the shipments get created with 'ZC' partner fn. This is visible in the Call Adapter Pipeline Step under the node IDocOutbound. . I have 2 different Idoc receiver adapters.Can anybody help me out here?
Thanks,
Geetha
Hey,
>'ZC' while as for Shipment Idoc that value is not passed
Check whether the Source/ Mapping populates the 'ZC' , Did you checked Apply Control record in Receiver Adapter for Shipment, What is the name you have mentioned for the in the SLD -Logical system for Sender system
Cheers
Agasthuri
Similar Messages
-
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 -
Mapping of Control records in file to idoc scenario
Hi,
In the mapping part of file to idoc scenario is it necessary to provide the exact control record details
or will it pick what ever is mentioned ? Can any one please explain regarding the same?
Many Thanks,
Sharathhi,
in case of apply control records from payload
It is indeed very simple to do it and the feature is available from SP10. I have seen lot of posts on the forum for the same and that is the reason for this blog. We can manipulate the control record in the mapping editor and map the EDI_DC40 segment of Idoc as required. Most of the times we need to map only SNDPRN, RCVPRN, SNDPRT, RCVPRT for posting Idocs with appropriate partner profiles in SAP R/3 destination systems. We can disable the rest of the fields as shown below. We need to manually change the control record of idoc for populating partner profiles in the control records while dealing with non-sap sender system, which will be used by receiver SAP system for posting idocs with appropriate ALE configurations.
check this blog
/people/sravya.talanki2/blog/2005/12/02/manipulating-idoc-control-records-from-payload
regards
chandra -
Control record in File to Idoc
hi guys,
i am new to XI and now learning File to Idoc scenario.
after going thru some forums and blogs i found that while mapping the control record EDI_DC40 in the idoc should be disabled.
my question is will this control record be disabled forever or should the proper data be filled at the runtime.
help me in understanding this concept plz.
Points will be awarded
Regards
BHASKERHi Bhasker,
The control record acts as router. This control record has information like which is message type, Idoc type, sender port etc. [http://help.sap.com/saphelp_nw04/helpdata/en/13/95244269625633e10000000a155106/content.htm ]
The control records need to filled since data in the Idoc has to be filled accurately. But again it is not necessary, XI has option to fill the control records by itself at runtime using receiver determination
This blog will help you understand more
/people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
regards
Ramesh P -
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 -
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. -
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 -
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 -
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 -
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 -
)how to handle the control records in case of file to idoc scenario.
thanks
<THREAD LOCKED. Please stop asking interview questions. There is already a lot of information out there, refer to the [Rules of Engagement|https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement] on how to ask a good question and learn to search>
Edited by: Mike Pokraka on Aug 1, 2008 11:16 AMHi vani,
If you set the indicator, the conversion of communication parties to the IDoc partner is only possible for systems that are not logical systems.
If you do not set the indicator, all combinations of communication parties and services are handled as services without party.
If the IDoc XML structure contains a control record during outbound processing on the Integration Server, it is rejected and created again by the IDoc adapter. If you want to include additional values in the control record, set the indicator and provide an appropriate mapping for the values
If you want to take the receiver of the message from the payload and not from the configuration information in the Integration Directory
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
Regards
srinivas -
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. -
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 -
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 -
User Exit for Inbound Process - Changing IDOC control record
Hi,
I want to utilize the identification field (under details tab) of the IDOC Control Record. What is the suitable user exit for inbound process that i can use to change the IDOC control record?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.
Maybe you are looking for
-
How do I get my calendar to sync to my computer?
I just updated the new operating system and not only did I lose my calendar on my computer, but everything doubled in my calendar on my iphone. My notes also disappeared, but I retrieved them via mail time machine!
-
How do I add a column to the Result for BT111S_OPPT
Hi, I have a requirement to include a header level partner in the Results view of BT111S_OPPT. It is already possible to search by this partner function but the partner column is not available on the view 'BT111S_OPPT/Result'. My research has point
-
hi, can you please let me know the significances of the system statuses for dispute cases? like confirmed, i understand after this status, you cannot edit things anymore.
-
Version 10,0,32,18 fails to play MP4 video 10,0,22,87 does
Does not work to play MP4 on websites example www.30atelevision.com version 10,0,32,18 installed -- this in on my computer It appears in fact that the file TIMELINE plays, but does not deliver video or audio. Works version 10,0,22,87 installed -- Thi
-
Hi, I've purchased Adobe Photoshop Extended CS6 Student and Teacher edition through the online store for Asia Pacific. I was downloading it using Orbit, but halfway it stopped. I wanted to redownload using the original link given, but now it's giving