IDOC Control Segment
Hi,
I deliver an ORDRSP (ORDERS02) to a partner and they complain that the field DOCTYP (not IDOCTYP !!!) should not be in the Control Segment.
There are at least 3 structures in SAP :
EDI_DC40 without DOCTYP
EDI_DC with DOCTYP
EDIDC with DOCTYP
Can I do something to avoid my system adding the field DOCTYP in the Control Segment?
(Actually the IDOC go through our Business Connector and as last solution I could delete the field there)
Thanks and Regards
You pls set the indicator - Apply Control Record Values from Payload
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
http://help.sap.com/saphelp_nw70/helpdata/EN/96/791c42375d5033e10000000a155106/frameset.htm
Similar Messages
-
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 -
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 -
File- idoc, port in control segment not being populated
Hi guys,
I have a file->idoc scenario. Everything works fine, but the receiver port in control segment of idocs has no value. I'm surprised, because this is provided in the Idoc adapter so I thought it is taken from this parameter.
Any ideas, what could be wrong?
Thank you,
OlianYou pls set the indicator - Apply Control Record Values from Payload
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
http://help.sap.com/saphelp_nw70/helpdata/EN/96/791c42375d5033e10000000a155106/frameset.htm -
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 -
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 -
RFFOEDI1 IDOC Control Header - How can multiple payments be included?
When running RFFOEDI1, instead of one payment within one IDOC Control Header (ST=Segment Header), we have a requirement to include multiple IDOC payments within one Control Header. How is this accomplished?
Thanks in advance, ScottHi Scott
Were you able to achieve what you wanted with heavy customization.
Regards
Wai Meng -
Determine Partner number based on IDoc Data Segments
Are there any user exits or BADI, which can be used to determine Control record parameters (Partner), based on IDoc Data segments? This is for an Inbound IDoc, into ECC.
I found EXIT_SAPLEDI1_001. But, this has only control record. It is used to determine control record parameters, by using control record only.
Thanks,
JuwinDear Juwin,
Could you please provide some info. about what you are trying to achieve by trying to determine the partner dynamically?
If the scenario is something like 'Partner A should get data related to only plant 1000 and Partner B should get data related to only plant 2000', you could use filters in the Distribution model to achieve this.
BR,
Aashrith -
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 - 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 -
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
Maybe you are looking for
-
Can anyone help me with a problem i am having with my music on my iPhone 4S. I have put alot of Compilation CDs in my library on iTunes. I download these tracks onto my phone, everything is ok so far. Now, this is what is niggling me and I don.t know
-
Report format trigger not working
Hi, I am using a format trigger on a column in my report as follows: function B_9FormatTrigger return boolean is begin if (:TEST > 30) then return (FALSE); else return (TRUE); end if; end; When testing in reports builder everything works fine, but wh
-
How do I complain about apple online?
Hi On Black Friday I ordered a Jawbone Up Band from Apple online and received the reduction in price. The shipping date was January 25 but I was fine with that. Just today I got an e-mail saying that they will no longer be carrying this product and
-
When putting in new contacts, do I need to enter a "1" before the 10 digit phone number, or does iPhone know that a 1 needs to dialed before an area code?
-
Since upgrading to iPhoto 7.0.2, I am virtually unable to edit photos. When I open "Adjust", I used to be able to slide the tab & immediately see a change in the picture, I think even on 1st installing iLife '08. Now, when I try to move a tab either