Inbound Idoc - control record settings
Hi,
we have a JDBC to Idoc scenario. We get data from JDBC interface (outbound), map some fields and send it to a receiver SAP system as an Idoc (inbound). We did a similar scenario before and PI filled out automatically the control record settings. So in our mapping to the idoc XML format the must fieds in the control records are set to constant="pi dummy entry".
It worked for the former scenario well. For this new scenario it doesn't! When i monitor the payload, SNDPOR as example is set with our dummy value of the mapping ("pi dummy entry").
specials:
- CC checkbox "Apply Control Values from Payload" is NOT set!
- The destination SAP Business System is configured as a Party in Integration Directory (not such configurations in SLD)
- We use PI 7.0
Any suggestions?
Thanks in advance
Michael
Hi Michael,
>>So the control record will not be send. I was expecting, that PI the control record data according to the configuration fills. Maybe this is a wrong assumption.
Yes you need to disable the control record in message mapping, because you want PI to make it at run time based on the configuration done in PI. So apart from disabling it you need to do some more settings.
If you have used parties in SAP PI, then select the
1.Apply control records in IDOC communication channel
2. Update the Identifier tab in the IDoc receiver channel with the correct information for sender/receiver
now when you see the IDoc Outbound (in SOap Header) then you will see the correct sender and receiver details.
Regards
Suraj
Similar Messages
-
Message type is not populating in the Inbound idoc control record
Hi,
I have created an Inbound Idoc function module and have done the necessary Idoc settings. But, while testing in WE19, I observed that control record is not getting populated with message type and it is dumping.
The settings which I have done in WEDI as follows:
1. Created Idoc segments with necessary fields and released
2. Created Idoc type for the segment type
3. Created message type
4. Assigned message type to basic type
5. In the inbound processing settings,
filled the ALE attributes with the Idoc function module name and input value '0'
6. Assigned FM to basic type and message type
7. Created process code and assigned the process code to message type
Please let me know, the reason for the message type not populating in the control record. Useful answers will be surely rewarded.
Best Regards,
MallikaHi,
Maintain partner profile (Transaction code WE20) for the message type you defined in WE81 and put your process code in partner profile and check your logical system settings also in transaction SALE.
Thanks
Rahul -
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 -
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. -
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 -
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. -
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 -
Req Idoc steps in detail for creating Idoc control records(Sender Non SAP)
Hello All,
I have a scenario where a Microsoft biztalk server communicates with SAP ECC through Idoc ORDERS05 . i need to give them the information of the below IDoc control records
SNDPOR
SNDPRT
SNDPFC
SNDPRN
RCVPOR
RCVPRT
RCVPFC
RCVPRN
IDOCtype
Since the sender is Ms Biztalk . kindly let me know the detailed steps involved in creating the sender side info such as SNDPOR, SNDPRT, SNDPFC and SNDPRN.
Thanks in advance ,
PavithraHi,
The info like (SNDPRN) which has to be providen by Biztalk in the IDoc control of their Idoc are these ones that YOU defined in the ALE config (tx WE20) of your ECC, to accept this IDoc (idoc message / idoc type) from Biztalk.
If your ALE config is not yet created in your ECC, you have to do it. For instance, check in WE20 (partner profile) the ALE config of your other systems, and in WE02 (Idoc log) to see the content of an IDoc Control, by selecting an inbound Idoc.
Do not hesitate to use WE19 to test an idoc integration, as you have to fill the idoc control manually. By this way you will sure be of what info Biztalk has to put inside their IDoc control (EDI_DC40).
Regards
Mickael -
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. -
SM58 - IDoc adapter inbound: IDoc data record table contains no entries
Trying to send Idocs from SAP ECC6.0 via PI 7.0 up until 2 days ago there was no problem.
Since yesterday, only one specific type of Idoc does not make it into XI (PI). In the Idoc monitor (WE02) the idocs that were created gives status 3 which is good. But all Idocs of that specific type (ZRESCR01) does not go to XI. I can only find them bakc in SM58 where it gives the following message:
IDoc adapter inbound: IDoc data record table contains no entries
I have checked SAP notes 1157385 and also 940313, none of them gives me any more insight into this error. I have also checked all the configuration in WE20, SM59, and in XI (repository and directory) and in XI IDX1, IDX2 but could not find anything that would cause this. I can also not think of anything that changed since 2 days ago.
Please point me in the right direction.hi,
i think in sm 58 u can find entries only when there is some failure in login credential .
if there is change in IDoc structure than you have to reimport the idoc metadata defination at IDX2.otherwise not requird.
please check the logical system name pointing to the your requird target system....
please also verify thet your port should not be blocked.
pls find the link it may help
Monitoring the IDOC Adapter in XI/PI using IDX5
regards,
navneet -
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 -
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 -
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
Maybe you are looking for
-
Hooked up Sharp LCD TV with HDMI cable to Charter HD cable receiver box and after 2 months suddenly no sound from TV speakers, I can get sound with surround system. Thought TV defective so I hooked up A/V cables Charter supplied and there is sound.
-
How to check parsing and binding of procedure's inner sql statements
Hi, I want to check, how all variables binding gets done for the sqls used in procedure. Is there any dictionary table or way to get it? Thanks in Advance.
-
Installing Elements 11 and Premier Elements 11
I just bought Elements 11 & Premier Elements 11 but cannot install it. When I click download, I get the Adobe Site Requirements screen, which says I have IE 4 or earlier. However, I have IE 10. What do I need to do?
-
Re-determination of batches in delivery
Hi All, The scenario is as follows : The delivery was created in 2009 and the shipment cost document has been created in the same year but the post goods issue was not carried out as a result the stock is still appearing in scheduled for delivery. No
-
Hello, In Reports 6i, I have used SRW.SET_MAXROW in the Before Report Trigger to dynamically limit the number of records fetched from the database as per an user specified parameter value. Say if the query in the data model fetches 25 records, but th