Sending IDOC from BODS to SAP (Inbound to SAP)
Sending IDOC from BODS to SAP
This document provides steps required to load data in SAP using one of the SAP interfaces. This document will be used at the time of proof of concept to demonstrate the ability of Business Objects Data Services (BODS) to invoke IDOC interface to load data in SAP.
The main objectives are:
- Loading data in SAP using IDOC
- Demonstrate how BODS can be used to load data using IDOC
- Display required configurations step-by-step & invocation
- Demonstrate actual sample load using BODS job
This document provides systematic approach for the data load in three sections:
- Configuration Required at SAP Side:
- Configuration Required at BODS Side:
- Demonstration Sample Load using BODS Job:
Each of above sections provide information as in how to configure the specific parameters required to get both SAP & BODS ready to communicate with each other. Screen shots provided for better understanding of the parameters & their configuration.
Configuration Required On SAP (ECC 6.0) Side
Following is the required configuration on SAP side.
1.Display IMG [ /nsale ]
Connect to SAP System using SAP GUI
Use Transaction Code (TCODE) /nsale to “Display IMG”
Screenshot 1: Display IMG screen
Expand Logical Systems tree & click on the Clock icon in front of “Define Logical System”
2. Defining Logical System
Screenshot 2: Defining Logical System screen
Click on the “New Entry” Button
For SAP Inbound IDOC One Logical system (FRMDICL100) is required
Create a Logical system as shown below
Screenshot 3: Overview of added entries
Click on the save button to save both the Logical System.
Verify that the LS FRMDICL100 is present in the SAP system
Screenshot 4: Overview of Logical Systems
3. Create Partner Profile [ /nwe20 ]
Use TCODE /nwe20 to configure partner profile.
Screenshot 05: Partner Profile screen
Click on Create button to create new partner profile
Create partner profile as shown below
- Provide partner no. “FRMDICL100 “ i.e same as BODS Logical System.
- Agent 50010120 “EDI Department” is necessary for communication with non-SAP systems like BODS. Without this agent IDOC communication will not be successful.
Screenshot 06: Partner Profile deatil screen
Click on the Save button to save the partner profile
After saving; the “Create Inbound parameter” will be activated in “Inbound paramtrs”
Screenshot 07: Partner Profile create Inbound paramtrs screen
Click on “Create Inbound parameter” Green Plus button in “Inbound paramtrs” section
Screenshot 08: Partner Profile Inbound paramtrs screen
In Inbound options tab, select appropriate process code relevant to message type.
(In this case; for MATMAS message type, process code is MATM)
In “Post processing : permitted agent” tab provide details as shown above.
Save “Partner profile: Inbound parameters” using Save button
After saving verify Partner Profile & Inbound Parameter added.
Configuration Required On BODS Side
Following is the required configuration on BODS side
1. Create SAP Datastores
Create SAP Datastore by providing required SAP Application Server Information & creadentials
Screenshot 11: SAP Datastore in BODS
Right click on IDOCs and select “Import By Name…”
Screenshot 12: IDOC list under SAP datastore in BODS
Screenshot 13: Import IDOC screen
Provide Type and Name as shown above and click on “Import” to import IDOC in datastore
2. Generating input XML schema
To create the input XML structure with the correct datatypes quickly drop the IDOC as message source onto the dataflow, go into this object and rightclick the schema. There, you can ask the Designer to generate the entire structure as XML schema, thus you get all columns, schemas including the datatypes.
Screenshot 14: MATMAS01 IDOC screen
“MATMAS01_OUT” this XML file source is created using generated schema in“File Format” tab.
Screenshot 15: XML Schema screen
3. Build Batch Job
Build a Batch Job with a DataFlow inside…
DataFlow is as Follows
Screenshot 16: Batch Job screen
Double click on source XML File Source configure it as shown below.
Note: For demonstration purpose we have used XML file that was output of the Real-Time Job designed in article “Receiving IDOC In BODS from SAP”.
Important : Make sure that in XML file Sending Partner setting i.e. <SNDPRN> should be same as BODS logical system name. (FRMIDCL100) as shown below.
Screenshot 18: IDOC out XML file strucutre screen
Unnest by right clicking on MATMAS01_OUT schema in “Query” as shown below
Screenshot 19: IDOC structre screen
Drag the IDOC MATMAS01 from SAP DataStore as shown
Screenshot 20: IDOC in SAP Datastore
Note: Make sure to select option “Make IDOC Message Target“
Configure “IDOC Message Target”
Screenshot 21: BODS side IDOC configuration
Very helpful document..Thanks for posting.
these is very useful document. can you please explain one step by step sample inbound idoc job in sap bods. and also how to create multiple segments in query transform.
my email id: firstname.lastname@example.org
can you please send that document into my email.
Thanks in advance!!
I have followed the above and it case of MATMAS it works well,
but unfortunately in case of ZEQUI_CREATE it gives the following warning and doesn't load anything:
Data flow DF_DM_Equipments_GenerateIDOC_Custom_Message|Loader ZEQUI_CREATE01
Warning: IDoc target did not have any data available for IDoc <ZEQUI_CREATE01>.
I made sure that there is data by creating an XML out of the same same query and it is not empty. (= two targates from the last query: one is ZEQUI_CREATE01 IDoc loader, the other is an XML.)
The structure looks like this:
By any chance anyone had the same issue, and could resolve it?
What may be the cause that the loaded doesn't see the data coming in?