RFC and Idoc scenarios
Hi all,
I need couple of links which explaing me how to do RFC to File(or vice versa) and also Idoc to File scenarios( or vice versa).
Hi Sonia,
partner profile:
In partner profile we define the system which are going to communicate between themself and send data ... here we give some logical name for the system which are going to be partners in data communication.we set it using WE20
http://help.sap.com/saphelp_46c/helpdata/en/dc/6b803343d711d1893e0000e8323c4f/frameset.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4943f2b7-0a01-0010-37af-faff35b2f08c
Regards,
Ram
Message was edited by:
Rambadri Madhavarao
Similar Messages
-
What is RFC and IDOC Adapters in XI ?
Hi,
What is the RFC and IDOC Adapters in XI , in which scenarios we use this adapter , what is the advantages and disadvantages of RFC , IDOC ? can any help me out.
Thanks & Regards
Surendra MSurendra,
<b>What is the RFC and IDOC Adapters in XI</b> :
<b>IDOC:</b> Generaly standard IDOCs are used to update the data in R/3 or to extarct the data from R/3.
<b>RFC:</b> Are generally used for synchronoue scenarios.
<b>in which scenarios we use this adapter</b>
For example you can use the IDOC <b>ORDERS05</b> to post the sales orders.
Similarly you can use <b>BAPI_COMPANY_GETDETAILS</b> to fetch the company details.
<b>what is the advantages and disadvantages of RFC , IDOC ?</b>
<b>Advantages:</b> Both can be used for data retrival and posting. RFC can be used for synchronus purpose but IDOCs are always asynchronous.
<b>Disadvangages:</b> If you are using custome made RFC/IDOC then you have to import the RFC/IDOC into XI every time when you make any small changes in the structure.
Also go through this blog to choose the right adapter to integrate with SAP systems.
/people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems
Regards,
Sarvesh -
Is it possible? RFC to IDOC Scenario
Hi,
Is it possible direct RFC to IDOC scenario ?
How many message interface? Message mapping? Interface Mapping are neccessary.
(scenario is simple and i think there is no need for message type or data type as i can map my fields easily in message mapping)
I do not want to do RFC--File----IDOC scenario
regards
hussaansearched on forum and found this solution
Three checkpoints:
1. Make sure you have entered the correct outbound and inbound interfaces.
2. Make sure you have activated your interfaces and mappings.
3. Make sure the cache is up-to-date (you can refresh cache by transaction sxi_cache).
Other very important tip when you create interface mapping.
Probably you did not select the inbound interface before selecting the Interface Mapping. First select the inbound interface (target interface), then you will see the interface mapping in the list
Go to your interface mapping and activate it. ( You might have to make a cosmetic change , like changing the description).
2. Go to transaction SXI_CACHE in the XI box and do a complete cache refresh. Once it is done, check that the mappings shown are the latest one.
ateeq
Edited by: ateeq lodhi on Nov 2, 2008 7:46 PM -
hi
can any one provide me with some scenarios having
idoc and rfc as senders.Hi
To Configure the RFC to FILE scenario ,Proceed as Follows
a. Create an RFC Destination to XI in transaction code (SM59)
b. Create new destination of type T (TCP/IP)
c. Make sure you select Registered Server Program option before writing your program ID
d. Write you program ID (remember it's case-sensitive)
e. In the gateway host and gateway service write the values of your Application system - business system (not the XI server)
Step2:Repository
1) From the Integration Builder page, select Integration Repository. This will launch the Java Web Start Application. Log with the User id and password from the Integration Server
2) Choose Tools->Transfer from System Landscape Directory->Import Software Component Versions
From the list of Software Component Versions, Choose your own software component version .Click Import.
3) On the left hand side frame ,software components will appear .Select your own software component. Open your own software component. Double click on this software component. A screen will appear .Switch to display mode. After doing this first add a namespace under Namespaces.
The namespace is ur:rfctofile
4) Then choose the Radio Button ->Import of RFC AND IDOC interfaces from SAP systems permitted
After this specify the connection parameters to the R/3 system:
4.1) System IS :sapfox
4.2) Client IS :800
Then Save it. The new namespace will be visible under software component version node in the left frame.
Under the namespace node, you will find the section Imported Objects. Right click on it and choose Import of sap objects. A wizard will display. In the wizard provide the following details.
4.3) Application server:172.25.5.7
4.4) System number: 00
4.5) User name:developer
4.6) Password: Password of Sap R/3 system.
Then click continue .You will find IDOC and RFC node. Click on this node and select the Idoc or Rfc which is to be imported from R/3. Click Finish to start the Import. Close the wizard. After doing this the Rfc and Idoc will be available into XI as Message types. So no need to create any Rfc or Idoc Structure. We need to create a structure for file only.
5). Under your namespace in the left frame, expand the node Interface objects. You will find a node DATA TYPES
6) Create new data types.
6.1) Right click on Data types and select New.
Your Data Type is. dt_file
In the data type Editor ,Create a structure having Elements of type String , integer, Boolean , Float etc as per the requirement.
Save the object.
6.2) The Import function for XSD files enables you to upload message definitions from external sources. The object type External Definition is a container to make external definitions available in the Integration Repository.. While Importing the XSD files from External Definition
no need to create Data types. They are imported directly as Message types.
6.3) To do so, In the left hand frame Under Interface objects Create a new object of type External Definition and give name to it.
Select the following.
6.3.1) Category: XSD.
6.3.2) Messages: From All Available Global Elements.
6.3.3) File:
Once the XSD is imported, click on Message tab , You should be able to see 2 messages(Request and Response)
7). Create a new Message Type.
7.1) In the left hand frame under Interface objects, right click on the Message types and select new.
7.2) Give a suitable name to the Message type.(MT_ messagetype).
7.3) For the section Data type used you can go to input help (F4) or Search help provided and choose your data type (DT_datatype) from there.
Save it.
8). Create a Message interface
8.1) In the left hand frame under Interface objects, right click on the Message Interface and select new and name(MI_ messageinterface) it
8.2). The interface Should be Inbound and mode should be Asynchronous .It should reference your Message type(Use F4 or Search help).
Save it.
9) . Create a graphical mapping between the target document and the sender .
9.1) In the left hand frame ,expand Mapping objects. Right click on Message mapping and name it.You are now in a graphical editor.The Source message is on left, the Target message is on right.
9.2) As Source message select your own Message type.You can choose Search for Integration Object.As a reminder you can find your Idoc or Rfc under Software Component- > Namespace->Imported Objects.
9.3) As Target Message you can choose your Rfc .Choose Search for Integration Object.
9.4) Now that we have defined the Source and Target message, we can start defining the Mapping rules.
9.5) Map the fields of Source document to the equivalent fields in Target document .This can be achieved easily by locating the field in Target document and then Drag and Drop the Source fields to the respective Target Fields.
Save It.
9.6) You can also Test your Mapping by selecting the 'Test Tab'.
9.7) Fill in the values in the Idoc fields and click 'Start Transformation'. On the right hand side you will see Target Document populated with the appropriate Values.
10). Create an Interface Mapping.
10.1) In the left hand Frame expand Mapping objects. Right Click on Interface Mapping and Name it. You are in a Interface Mapping Editor .Assign the following References.
10.2) Source interface : Your Outbound Interface (The Source document(Rfc) interface).You can Choose Search for Integration Object.
10.3) Target interface: Your Inbound Interface( The Target document interface).
Then Select 'Read Interface' and Assign your 'Mapping Program' .
Mapping Program: Your Message mapping.
Then Save it.
11.) Finally , in the left hand frame ,go to your change list and Activate it
STEP 3: Directory
1) From the Integration Builder page, select Integration Directory. This will launch the Java Web Start Application. Log with the User id and password from the Integration Server.
Create a Scenario Object
2). The First Step is to create a Scenario Object
This will serve as container for all your configuration work. Create and save a scenario object
3) In the left hand frame you can see the created scenario object. Under that Object Expand the node Service without Party and right click on Business System->Assign Business System
4) In the wizard , leave the party name blank and then select your own Business System. Uncheck the box Create Communication Channel Automatically.This service (business system) represents the legacy system and Sap R/3 which will be exchanging the data.
5) . Create a Communication Channel.
6). Expand your service and right click on Communication Channel. Name your Communication Channel
Here we need to configure the adapter.
Since the Sender is 'RFC', Specify the following Parameters
For the adapter type , use the F4 help and select RFC.
Specify Sender since the adapter will be sending messages to XI
Specify the following parameters.
Transport Protocol: RFC
Message Protocol: RFC(RFC XML )
Adapter Engine: Integration Server
Adapter status: Active
RFC Server Parameter:
Application Server(Gateway):172.25.5.7
Application Server Service(Gateway Service): sapgw00
Program Id: Id of Registered server program ( it is case sensititve)
And the adapter is configured. Save it
Since the Receiver is File , Specify the following Parameters
6.1 For the adapter type , use the F4 help and select FILE.
6.2 Specify Receiver since the adapter will be sending XML files from XI to the FTP server.
6.3 Specify the following parameters.
Transport Protocol: File Transport Protocol.(FTP)
Message Protocol: File Content Conversion(since the xml files produce by XI need to be converted to text files)
Adapter Engine: Integration Server
For the File system access Parameters, enter the following
Source Directory:Test
File Name: Input.txt
6.4 For the FTP Connection Parameters, Specify the Following
Server:172.25.5.240
Port: 21(by default)
Data Connection: Passive
Connection security: None
Connection Mode: Permanently
Transfer Mode: Binary
6.5 For Processing Parameters, Specify the following
File construction mode: Add Time Stamp
File Type: Binary
6.6 For Content Conversion Parameters, Specify the Following
RecordSet Structure:
Adapter Status: Active
The receiver file adapter is now configured. Save your Communication Channel.
Create an Receiver Determination.
7). From the left frame Create a new Receiver Determination object. This is the main part of routing process, where you assign a receiver for your message.
7.1) Select your sender service and interface.
Sender:
Party: blank
Service: Sender service(Business system)
Interface : Sender interface
7.2) In the Configured Receivers area , choose the Service for the Target System.. Save your Receiver Determination
Create an Interface Determination.
7.3) Next create an Interface Determination object. Now that we have defined a receiver of message ,we need to assign an Inbound interface and an Interface mapping
7.3.1) In the Receiver Determination you just created, have a look at the area Configuration Overview for Receiver Determination at bottom of your screen and press Refresh for that the Business system you assigned is displayed in that area as well.
7.3.2) In the column Receiver(Partner/Service) open the details by clicking the node .The Entry Not defined shows you that there is no interface determination present.
Right click on the Entry Not defined and select New specific, in order to create a new interface determination object
7.3.3) You are now in the screen Edit Interface Determination. In the section Configured Inbound Interfaces select the Inbound Interface using F4 help Provided. You might need to choose ALL button for the interface to be shown.
After choosing the Inbound Interface, It is shown in the Interface Determination
7.3.4) A mapping has to be specified .Use the F4 help next to Inbound Interface to select your Interface Mapping.
7.3.5) When you are done , Save the Interface determination object.
8.) Create a Sender Agreement.
In the left hand frame , right click on Sender Agreement ->New
8.1) Specify the following:
Party: blank
Service: Select your own Business system
Interface: Outbound Interface
8.2) In the screen Edit Service Agreement use F4 help for the Sender Communication channel field .Select your Communication channel .Save and close
9.) Create a Receiver Agreement.
Finally you will create a 'Receiver Agreement' .This will allow you to assign a Receiver Communication Channel to the receiver service/Interface you have chosen.
9.1) Go back to the main screen for your receiver determination. In the area Configuration Overview for Receiver Determination at the bottom of your screen click Refresh.
9.2) In the Column Receiver Agreement(Communication Channel) right click and select New Specific.
Specify the following:
Party: blank
Service: Select your own Business system
Interface: Inbound Interface
9.3) In the screen Edit Receiver Agreement for the field Receiver Communication Channel use the input help F4 and select your communication channel. Save and Close it
Your Configuration is complete. Activate the objects.
To Configure the IDOC TO FILE SCENARIO,PROCEED AS FOLLOWS
STEP 1:ALE SETTINGS TO POST IDOC OUT OF SAP R/3
We need to do the following settings in XI
1) Create an RFC Destination to the Sending System in transaction code (SM59)
a) Choose create
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#
e) Enter the Gateway host as same details above SID/URL
f) Gateway service is 3300+system number#
g) In the Logon /Security tab, enter the client user & Password details of Destination system
h) Test the connection and remote logon.Both should be succesful
2) Create Port Using Transaction Code IDX1
a) Select create new button
b) Enter the port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client
d) Enter the RFC Destination created in SAP R/3 towards other system
e) Save
3) Load Meta Data for IDOC Using transaction Using Transaction (IDX2)
a) Create new
b) IDOC Message Type
c) Enter port created in IDX1
SETTINGS IN SAP R/3
We need to do the following settings in R/3
Logon to Sap R/3 System
1) Create an RFC Destination to XI in transaction code (SM59)
a) Choose create
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#
e) Enter the Gateway host as same details above SID/URL
f) Gateway service is 3300+system number#
g) In the Logon /Security tab, enter the client user & Password details of Destination system
h) Test the connection and remote logon.Both must be succesful
2) Create communication Port for Idoc processing Using Transaction(We21)
a) First Select Transactional RFC and then click create button
b) Enter the destination port name as SAP+SID (The starting char should be SAP)
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
3) Create Partner Profile with Outbound Parameters (WE20)
a) Create New
b) Create the Partner no. name as same the logical system name of the destination system
c) Select Partner type LS
d) Enter details for Type: US/USER, Agent, and Lang
Then Save
e) Select Partner no. and LS which were create above
f) Now we have to give some Outbound Parameters.So click on ADD TO Create Outbound Parameter
g) Select Message type
h) Double click on Message Type and Then Enter the details for Receiving port, Pack size=1 and Basic type
I) save
4) In Transaction SALE, Create Logical System
a). Go to Basic Settings-> First Define logical systems
and then assign logical systems
b) Double click on Define the logical systems
c) Give data for your Logicaal System and Name
d) Now click on Save.Here one window may appear just click on Continue.Now the Logical System name is ready
e) Assign the logical system name to the client
5) Create Customer Distribution model in the transaction code BD64
1) Click on the Create modal View button and enter the short text, Technical name etc as shown below
2) Now select the created model view and click on Add message type button .A pop up box appears, enter Sending system, receiving system and message type
3) Save the Distribution model
Generate Partner Profiles
Click on Menu Item Generate Partner Profiles
It leads to the next transaction where in the selection screen you have to provide Model view name, Partner System logical system and execute
Then, you will be intimated about the partners, port creation, and outbound parameters creation
4) Distribute Customer Distribution Model
In the menu item GO to Edit->Modal View-> Distribute to the destination client
Popup window appears ,press Enter
You will be intimated about the the Modal View Distributed
Step2:Repository
1) From the Integration Builder page, select Integration Repository. This will launch the Java Web Start Application. Log with the User id and password from the Integration Server
2) Choose Tools->Transfer from System Landscape Directory->Import Software Component Versions
From the list of Software Component Versions, Choose your own software component version .Click Import.
3) On the left hand side frame ,software components will appear .Select your own software component. Open your own software component. Double click on this software component. A screen will appear .Switch to display mode. After doing this first add a namespace under Namespaces.
Your NameSpace is urn:idoctofile
4) Then choose the Radio Button ->Import of RFC AND IDOC interfaces from SAP systems permitted
After this specify the connection parameters to the R/3 system:
4.1) System :sapfox
4.2) Client :800
Then Save it. The new namespace will be visible under software component version node in the left frame.
Under the namespace node, you will find the section Imported Objects. Right click on it and choose Import of sap objects. A wizard will display. In the wizard provide the following details.
4.3) Application server:172.25.5.7
4.4) System number:00
4.5) User name: developer
4.6) Password: Password of Sap R/3 system.
Then click continue .You will find IDOC node. Click on this node and select the Idoc which is to be imported from R/3. Click Finish to start the Import. Close the wizard. After doing this the Idoc will be available into XI as Message types. So no need to create any Idoc Structure. We need to create a structure for file only.
5). Under your namespace in the left frame, expand the node Interface objects. You will find a node DATA TYPES
6) Create new data types.
6.1) Right click on Data types and select New.
Your Data Type is :dt_file
In the data type Editor ,Create a structure having Elements of type String , integer, Boolean , Float etc as per the requirement.
Save the object.
6.2) The Import function for XSD files enables you to upload message definitions from external sources. The object type External Definition is a container to make external definitions available in the Integration Repository.. While Importing the XSD files from External Definition
no need to create Data types. They are imported directly as Message types.
6.3) To do so, In the left hand frame Under Interface objects Create a new object of type External Definition and give name to it.
Select the following.
6.3.1) Category: XSD.
6.3.2) Messages: From All Available Global Elements.
6.3.3) File:
Once the XSD is imported, click on Message tab , You should be able to see 2 messages(Request and Response)
7). Create a new Message Type.
7.1) In the left hand frame under Interface objects, right click on the Message types and select new.
7.2) Give a suitable name to the Message type.(MT_ messagetype).
7.3) For the section Data type used you can go to input help (F4) or Search help provided and choose your data type (DT_datatype) from there.
Save it.
8). Create a Message interface
8.1) In the left hand frame under Interface objects, right click on the Message Interface and select new and name(MI_ messageinterface) it
8.2). The interface Should be Inbound and mode should be Asynchronous .It should reference your Message type(Use F4 or Search help).
Save it.
9) . Create a graphical mapping between the target document and the sender .
9.1) In the left hand frame ,expand Mapping objects. Right click on Message mapping and name it.You are now in a graphical editor.The Source message is on left, the Target message is on right.
9.2) As Source message select your own Idoc .You can choose Search for Integration Object.As a reminder you can find your Idoc or Rfc under Software Component- > Namespace->Imported Objects.
9.3) As Target Message you can choose your Message type .Choose Search for Integration Object.
9.4) Now that we have defined the Source and Target message, we can start defining the Mapping rules.
9.5) Map the fields of Source document to the equivalent fields in Target document .This can be achieved easily by locating the field in Target document and then Drag and Drop the Source fields to the respective Target Fields.
Save It.
9.6) You can also Test your Mapping by selecting the 'Test Tab'.
9.7) Fill in the values in the Idoc fields and click 'Start Transformation'. On the right hand side you will see Target Document populated with the appropriate Values.
10). Create an Interface Mapping.
10.1) In the left hand Frame expand Mapping objects. Right Click on Interface Mapping and Name it. You are in a Interface Mapping Editor .Assign the following References.
10.2) Source interface : Your Outbound Interface (The Source document(Idoc) interface).You can Choose Search for Integration Object.
10.3) Target interface: Your Inbound Interface( The Target document interface).
Then Select 'Read Interface' and Assign your 'Mapping Program' .
Mapping Program: Your Message mapping.
Then Save it.
11.) Finally , in the left hand frame ,go to your change list and Activate it
STEP 3: Directory
1) From the Integration Builder page, select Integration Directory. This will launch the Java Web Start Application. Log with the User id and password from the Integration Server.
Create a Scenario Object
2). The First Step is to create a Scenario Object
This will serve as container for all your configuration work. Create and save a scenario object
3) In the left hand frame you can see the created scenario object. Under that Object Expand the node Service without Party and right click on Business System->Assign Business System
4) In the wizard , leave the party name blank and then select your own Business System. Uncheck the box Create Communication Channel Automatically.This service (business system) represents the legacy system and Sap R/3 which will be exchanging the data.
5) . Create a Communication Channel.
6). Expand your service and right click on Communication Channel. Name your Communication Channel
Here we need to configure the adapter.
Since The Sender is IDOC , then there is no need of Sender communication channel and Sender Agreement.
For the Receiver, Specify the following Parameters
6.1 For the adapter type , use the F4 help and select FILE.
6.2 Specify Receiver since the adapter will be sending XML files from XI to the FTP server.
6.3 Specify the following parameters.
Transport Protocol: File Transport Protocol.(FTP)
Message Protocol: File Content Conversion(since the xml file produce by XI need to be converted to text file)
Adapter Engine: Integration Server
For the File system access Parameters, enter the following
Source Directory:Test
File Name: Input.txt
6.4 For the FTP Connection Parameters, Specify the Following
Server: 172.25.5.240
Port: 21(by default)
Data Connection: Passive
Connection security: None
Connection Mode: Permanently
Transfer Mode: Binary
6.5 For Processing Parameters, Specify the following
File construction mode: Add Time Stamp
File Type: Binary
6.6 For Content Conversion Parameters, Specify the Following
RecordSet Structure:
Adapter Status: Active
The receiver file adapter is now configured. Save your Communication Channel.
Create an Receiver Determination.
7). From the left frame Create a new Receiver Determination object. This is the main part of routing process, where you assign a receiver for your message.
7.1) Select your sender service and interface.
Sender:
Party: blank
Service: Sender service(Business system)
Interface : Sender interface
7.2) In the Configured Receivers area , choose the Service for the Target System.. Save your Receiver Determination
Create an Interface Determination.
7.3) Next create an Interface Determination object. Now that we have defined a receiver of message ,we need to assign an Inbound interface and an Interface mapping
7.3.1) In the Receiver Determination you just created, have a look at the area Configuration Overview for Receiver Determination at bottom of your screen and press Refresh for that the Business system you assigned is displayed in that area as well.
7.3.2) In the column Receiver(Partner/Service) open the details by clicking the node .The Entry Not defined shows you that there is no interface determination present.
Right click on the Entry Not defined and select New specific, in order to create a new interface determination object
7.3.3) You are now in the screen Edit Interface Determination. In the section Configured Inbound Interfaces select the Inbound Interface using F4 help Provided. You might need to choose ALL button for the interface to be shown.
After choosing the Inbound Interface, It is shown in the Interface Determination
7.3.4) A mapping has to be specified .Use the F4 help next to Inbound Interface to select your Interface Mapping.
7.3.5) When you are done , Save the Interface determination object.
8.) Create a Sender Agreement.
In the left hand frame , right click on Sender Agreement ->New
8.1) Specify the following:
Party: blank
Service: Select your own Business system
Interface: Outbound Interface
8.2) In the screen Edit Service Agreement use F4 help for the Sender Communication channel field .Select your Communication channel .Save and close
9.) Create a Receiver Agreement.
Finally you will create a 'Receiver Agreement' .This will allow you to assign a Receiver Communication Channel to the receiver service/Interface you have chosen.
9.1) Go back to the main screen for your receiver determination. In the area Configuration Overview for Receiver Determination at the bottom of your screen click Refresh.
9.2) In the Column Receiver Agreement(Communication Channel) right click and select New Specific.
Specify the following:
Party: blank
Service: Select your own Business system
Interface: Inbound Interface
9.3) In the screen Edit Receiver Agreement for the field Receiver Communication Channel use the input help F4 and select your communication channel. Save and Close it
Your Configuration is complete. Activate the objects.
plz rewards points
vikas -
Hello
Both RFC and Idoc adapters are used to connect to SAP system from XI. Why is that we have to configure RFC Destination, port and partner agreement for Idoc while we do not have to do that for RFC ? Both use the same RFC protocol still we do the configurations only for Idoc. Can someone explain to me the technical reasons why we do that
Thanks
RadhikaHi,
RFC Adapter resides in Adapter Engine,
IDoc resides in I.E,when you triiger an IDoc it directly Hits I.E,like communication with Other SAP System.
Thats why we need to create the port .....details for IDoc.
But coming i future it IDoc adapter ,HTTP Adapter moving in to JAVA Stack,wait till 2010 july.
in PI7.1 EHP1 there are too many changes in Idoc adapter,like Idoc package we can do at Sender IDoc adapter level.
Regards,
Raj -
What role of sd functional consultant in ale and idoc scenarios
Hi friends,
I am sd consultant having worked for indian support projects and implementaiton project. i do not have idea of ALE and IDOC scenarios. Now i am on foreign offshore support project where they asked for ALE AND IDOC knowledge. please guide me how to go ahead and please inform what role and responsibilities should have. i heard support may be for order management and delivery from sd module
please give me details steps and T.codes.
Regards,
Veereshhi
<a href="http://help.sap.com/saphelp_470/helpdata/en/0b/2a6695507d11d18ee90000e8366fc2/frameset.htm">http://help.sap.com/saphelp_470/helpdata/en/0b/2a6695507d11d18ee90000e8366fc2/frameset.htm</a> -
What is the difference between rfc and idoc
hi,
My name is rambabu.can anyone of u please tell me the main differences between idoc and rfc??
Thanks in Advancehi Ramesh,
Remote Function Calls (RFC) and data exchange through IDoc
message documents. RFC makes direct and synchronous calls of a program in
the remote system. If the caller is an external program it will call an
RFC-enabled function in R/3 and if the calling program is the R/3 system
it will call an RFC-function in another R/3-system or it will call a
non-R/3 program through a gateway-proxy (usually rfcexec.exe). BAPIs are
a subset of the RFC-enabled function modules, especially designed as
Application Programming Interface (API) to the SAP business object, or in
other words: are function modules officially released by SAP to be called
from external programs.
IDocs are text encoded documents with a rigid structure that are used to
exchange data between R/3 and a foreign system. Instead of calling a
program in the destination system directly, the data is first packed into
an IDoc and then sent to the receiving system, where it is analyzed and
properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls
and IDoc data exchange is the fact, that every action performed on IDocs
are protocolled by R/3 and IDocs can be reprocessed if an error occurred
in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE
are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to
deliver data to the receiving system. ALE is basically the scheduling
mechanism that defines when and between which partners and what kind of
data will be exchanged on a regular or event triggered basis. Such a
set-up is called an ALE-scenario.
Regards
Sreeram.G.Reddy -
Problem in Import of RFC and IDoc interfaces
hi,
i am a beginner in XI. now am following the link given below.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e07dcaa0-a92b-2a10-3a96-b3d942bd1539
Topic: A Step-by-Step Guide on IDoc-to-File Using Business Service in the XI Integration Directory
i don't know how to Import S/W Component and IDoc structure.
my doubt is what should i select from the populated list.
plz help me.
thanks in advancehi,
Please follow below steps assuming that the Software component is properly created in SLD.
1. open Integration Repository (IR)
2. Goto ---> Tools -
> Trasfer SWCV from SLD
3. Select the Software Component from the pop-up list
4. Press Import
5. It will import the software component in IR
6. Save it and activate.
7. If its for SAP system then give RFC details in SWC
8. Create Namespace in it and save and activate
http://help.sap.com/saphelp_nw04/helpdata/en/9c/7a973ca83a4601e10000000a114084/content.htm
Now it will be ready for further Development.
For importing an idoc structure...
go to imported objects and right click there and select import iDOCs and there give your application system details.This is the way to import your IDOc structure.
Thanks,
Vijaya. -
When and Why we use BAPI, RFC and IDOC.. in XI
Hi,
Could any one tell me why we some time use BAPI, and some times use RFC and some times use IDOC while communicating with the SAP systems.
Is there any differences while using the same.
regards,
SunilSunil,
RFC and BAPI are same as per the technical point of view both are remote enabled function module..
BAPI is provided by SAP while RFC is created by a developer..
IDoc is another proprietary technology of SAP for exchnaging messages .
Difference lies here :
1. For RFC/BAPI you need to use RFc adapter
while for IDoc you need to use IDoc adapter..
2. For RFC you need to create RFC destinations not for Idoc
3. For Idoc you also need to manage Partners Profiles..inn R3..
These are few differences in using RFC/BAPI and Idoc...not the only ones..
Feel free for any clarification..
Regards, -
Problem when calling the RFC and IDoc adapter at the same time
Hi,
I'm having a major slowdown problem with XI3.0 SP11.
When I'm sending a message(IDoc) from R/3 into XI to get translated into an EDI document, I have no problems and it's very fast. RFC calls are very fast too.
Now, if I'm sending the same message and at the same time another call is done trough the RFC adapter, then the full XI environment hangs for several minutes.
I did all recommended settings from the XI-SR1 install guide(Configuring the J2EE Engine) and tuning guide (XI Configuration Parameters)
and I don't know what to do more? At the Unix level, command TOP shows that dw.sap.XDV_DVEBMGS70 is taking all the CPU% available when both messages(IDoc and RFC) are sent to XI at the same time.
Anybody have an idea what to do next?
Rgds,
YvesDid you check the dev_rfc logs ? Also check SM21 for any errors. Logon to the Target System and check SM50 transaction then you will know whats going on.
regards
Shravan -
Hi PI Guru,
I want to count number of message, which was send from SAP R/3 to SAP PI and the SAP PI send back the number of message and information like send system name, date which will be save in table in sap R/3 and those information coul be read with webdynpro.
Please suggest me for the same.
thanks in advace
Regards,Hi,
Try Having a look at this:
http://help.sap.com/saphelp_sm32/helpdata/en/87/50cce344ae495bae240add66a28ed7/frameset.htm
Other approach you can try is by calling a ZRFC Lookup(RFC Lookup) in you message mapping. In zrfc program you update the count in a ztable, thus keeping the count of number of messages. This is just a Idea, I have not tried this.
Regards,
Aravind -
Hi Experts,
I have a scenario for RFC -- XI -- IDOC
In my XI dev. system already i have imported RFC and IDOC's
I have 2 Custom IDOC's
First IDOC is for Create
Second IDOC is for Change/Delete
Based on the condition i should select either one of the above IDOCs.
So, How many Message Mappings shall i need to create or
If i import both IDOCs at Receiver side and can i do the Mapping.
Awaiting for your response and Reward points for helpful answers...
Thanks & Regards,
Ramana Kumar. AThanks Varun,
based on the condition here,
field1 map with E1EDK03 (field: IDDAT) and the description here is, Fixed value = 001 set up in connection with the next field.
Here i map constant 001 to E1EDK03 node
Is this correct?
Next Field here is DATUM and the desc. here is If = `1´ then map date from field1 else if `blank`
field2 map with E1EDK03 (field: IDDAT) and the description here is, Fixed value = 002 set up in connection with the next field.
Here i map constant 002 to E1EDK03 node
Is this correct?
Next Field here is DATUM and the desc. here is If = `1´ then map date from field2 else if `blank`
Regards,
Ramana. -
Reg:Steps in IDOC Scenario
Hi,
I am very new to IDOC concept so can anyone tell me what is the use and why do we want to create,
1)RFC Destination
2)Port
3)Logical sysytem name
4)Partner Profile ,in IDOC Scenario and also let me know the steps that I have to implement while doing that scenario.
Thanks in advance
B.LavanyaHi,
This is complete step by step document for configuring the idoc to file scenario along with ALE Settings
To Configure the IDOC TO FILE SCENARIO,PROCEED AS FOLLOWS
STEP 1:ALE SETTINGS TO POST IDOC OUT OF SAP R/3
We need to do the following settings in XI
1) Create an RFC Destination to the Sending System in transaction code (SM59)
a) Choose create
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#
e) Enter the Gateway host as same details above SID/URL
f) Gateway service is 3300+system number#
g) In the Logon /Security tab, enter the client user & Password details of Destination system
h) Test the connection and remote logon.Both should be succesful
2) Create Port Using Transaction Code IDX1
a) Select create new button
b) Enter the port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client
d) Enter the RFC Destination created in SAP R/3 towards other system
e) Save
3) Load Meta Data for IDOC Using transaction Using Transaction (IDX2)
a) Create new
b) IDOC Message Type
c) Enter port created in IDX1
SETTINGS IN SAP R/3
We need to do the following settings in R/3
Logon to Sap R/3 System
1) Create an RFC Destination to XI in transaction code (SM59)
a) Choose create
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#
e) Enter the Gateway host as same details above SID/URL
f) Gateway service is 3300+system number#
g) In the Logon /Security tab, enter the client user & Password details of Destination system
h) Test the connection and remote logon.Both must be succesful
2) Create communication Port for Idoc processing Using Transaction(We21)
a) First Select Transactional RFC and then click create button
b) Enter the destination port name as SAP+SID (The starting char should be SAP)
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
3) Create Partner Profile with Outbound Parameters (WE20)
a) Create New
b) Create the Partner no. name as same the logical system name of the destination system
c) Select Partner type LS
d) Enter details for Type: US/USER, Agent, and Lang
Then Save
e) Select Partner no. and LS which were create above
f) Now we have to give some Outbound Parameters.So click on ADD TO Create Outbound Parameter
g) Select Message type
h) Double click on Message Type and Then Enter the details for Receiving port, Pack size=1 and Basic type
I) save
4) In Transaction SALE, Create Logical System
a). Go to Basic Settings-> First Define logical systems
and then assign logical systems
b) Double click on Define the logical systems
c) Give data for your Logicaal System and Name
d) Now click on Save.Here one window may appear just click on Continue.Now the Logical System name is ready
e) Assign the logical system name to the client
5) Create Customer Distribution model in the transaction code BD64
1) Click on the Create modal View button and enter the short text, Technical name etc as shown below
2) Now select the created model view and click on Add message type button .A pop up box appears, enter Sending system, receiving system and message type
3) Save the Distribution model
Generate Partner Profiles
Click on Menu Item Generate Partner Profiles
It leads to the next transaction where in the selection screen you have to provide Model view name, Partner System logical system and execute
Then, you will be intimated about the partners, port creation, and outbound parameters creation
4) Distribute Customer Distribution Model
In the menu item GO to Edit->Modal View-> Distribute to the destination client
Popup window appears ,press Enter
You will be intimated about the the Modal View Distributed
Step2:Repository
1) From the Integration Builder page, select Integration Repository. This will launch the Java Web Start Application. Log with the User id and password from the Integration Server
2) Choose Tools->Transfer from System Landscape Directory->Import Software Component Versions
From the list of Software Component Versions, Choose your own software component version .Click Import.
3) On the left hand side frame ,software components will appear .Select your own software component. Open your own software component. Double click on this software component. A screen will appear .Switch to display mode. After doing this first add a namespace under Namespaces.
Your NameSpace is urn : DSZVFGD
4) Then choose the Radio Button ->Import of RFC AND IDOC interfaces from SAP systems permitted
After this specify the connection parameters to the R/3 system:
4.1) System :SAPFOX
4.2) Client :800
Then Save it. The new namespace will be visible under software component version node in the left frame.
Under the namespace node, you will find the section Imported Objects. Right click on it and choose Import of sap objects. A wizard will display. In the wizard provide the following details.
4.3) Application server:172.25.5.7
4.4) System number:00
4.5) User name: DEVELOPER
4.6) Password: Password of Sap R/3 system.
Then click continue .You will find IDOC node. Click on this node and select the Idoc which is to be imported from R/3. Click Finish to start the Import. Close the wizard. After doing this the Idoc will be available into XI as Message types. So no need to create any Idoc Structure. We need to create a structure for file only.
5). Under your namespace in the left frame, expand the node Interface objects. You will find a node DATA TYPES
6) Create new data types.
6.1) Right click on Data types and select New.
Your Data Type is :DT_FILE
In the data type Editor ,Create a structure having Elements of type String , integer, Boolean , Float etc as per the requirement.
Save the object.
6.2) The Import function for XSD files enables you to upload message definitions from external sources. The object type External Definition is a container to make external definitions available in the Integration Repository.. While Importing the XSD files from External Definition
no need to create Data types. They are imported directly as Message types.
6.3) To do so, In the left hand frame Under Interface objects Create a new object of type External Definition and give name to it.
Select the following.
6.3.1) Category: XSD.
6.3.2) Messages: From All Available Global Elements.
6.3.3) File:
Once the XSD is imported, click on Message tab , You should be able to see 2 messages(Request and Response)
7). Create a new Message Type.
7.1) In the left hand frame under Interface objects, right click on the Message types and select new.
7.2) Give a suitable name to the Message type.(MT_ messagetype).
7.3) For the section Data type used you can go to input help (F4) or Search help provided and choose your data type (DT_datatype) from there.
Save it.
8). Create a Message interface
8.1) In the left hand frame under Interface objects, right click on the Message Interface and select new and name(MI_ messageinterface) it
8.2). The interface Should be Inbound and mode should be Asynchronous .It should reference your Message type(Use F4 or Search help).
Save it.
9) . Create a graphical mapping between the target document and the sender .
9.1) In the left hand frame ,expand Mapping objects. Right click on Message mapping and name it.You are now in a graphical editor.The Source message is on left, the Target message is on right.
9.2) As Source message select your own Idoc .You can choose Search for Integration Object.As a reminder you can find your Idoc or Rfc under Software Component- > Namespace->Imported Objects.
9.3) As Target Message you can choose your Message type .Choose Search for Integration Object.
9.4) Now that we have defined the Source and Target message, we can start defining the Mapping rules.
9.5) Map the fields of Source document to the equivalent fields in Target document .This can be achieved easily by locating the field in Target document and then Drag and Drop the Source fields to the respective Target Fields.
Save It.
9.6) You can also Test your Mapping by selecting the 'Test Tab'.
9.7) Fill in the values in the Idoc fields and click 'Start Transformation'. On the right hand side you will see Target Document populated with the appropriate Values.
10). Create an Interface Mapping.
10.1) In the left hand Frame expand Mapping objects. Right Click on Interface Mapping and Name it. You are in a Interface Mapping Editor .Assign the following References.
10.2) Source interface : Your Outbound Interface (The Source document(Idoc) interface).You can Choose Search for Integration Object.
10.3) Target interface: Your Inbound Interface( The Target document interface).
Then Select 'Read Interface' and Assign your 'Mapping Program' .
Mapping Program: Your Message mapping.
Then Save it.
11.) Finally , in the left hand frame ,go to your change list and Activate it
STEP 3: Directory
1) From the Integration Builder page, select Integration Directory. This will launch the Java Web Start Application. Log with the User id and password from the Integration Server.
Create a Scenario Object
2). The First Step is to create a Scenario Object
This will serve as container for all your configuration work. Create and save a scenario object
3) In the left hand frame you can see the created scenario object. Under that Object Expand the node Service without Party and right click on Business System->Assign Business System
4) In the wizard , leave the party name blank and then select your own Business System. Uncheck the box Create Communication Channel Automatically.This service (business system) represents the legacy system and Sap R/3 which will be exchanging the data.
5) . Create a Communication Channel.
6). Expand your service and right click on Communication Channel. Name your Communication Channel
Here we need to configure the adapter.
Since The Sender is IDOC , then there is no need of Sender communication channel and Sender Agreement.
For the Receiver, Specify the following Parameters
6.1 For the adapter type , use the F4 help and select FILE.
6.2 Specify Receiver since the adapter will be sending XML files from XI to the FTP server.
6.3 Specify the following parameters.
Transport Protocol: File Transport Protocol.(FTP)
Message Protocol: File Content Conversion(since the xml file produce by XI need to be converted to text file)
Adapter Engine: Integration Server
For the File system access Parameters, enter the following
Source Directory:VILAS
File Name: Input.txt
6.4 For the FTP Connection Parameters, Specify the Following
Server: 172.25.7.116
Port: 21(by default)
Data Connection: Passive
Connection security: None
Connection Mode: Permanently
Transfer Mode: Binary
6.5 For Processing Parameters, Specify the following
File construction mode: Add Time Stamp
File Type: Binary
6.6 For Content Conversion Parameters, Specify the Following
RecordSet Structure:
Adapter Status: Active
The receiver file adapter is now configured. Save your Communication Channel.
Create an Receiver Determination.
7). From the left frame Create a new Receiver Determination object. This is the main part of routing process, where you assign a receiver for your message.
7.1) Select your sender service and interface.
Sender:
Party: blank
Service: Sender service(Business system)
Interface : Sender interface
7.2) In the Configured Receivers area , choose the Service for the Target System.. Save your Receiver Determination
Create an Interface Determination.
7.3) Next create an Interface Determination object. Now that we have defined a receiver of message ,we need to assign an Inbound interface and an Interface mapping
7.3.1) In the Receiver Determination you just created, have a look at the area Configuration Overview for Receiver Determination at bottom of your screen and press Refresh for that the Business system you assigned is displayed in that area as well.
7.3.2) In the column Receiver(Partner/Service) open the details by clicking the node .The Entry Not defined shows you that there is no interface determination present.
Right click on the Entry Not defined and select New specific, in order to create a new interface determination object
7.3.3) You are now in the screen Edit Interface Determination. In the section Configured Inbound Interfaces select the Inbound Interface using F4 help Provided. You might need to choose ALL button for the interface to be shown.
After choosing the Inbound Interface, It is shown in the Interface Determination
7.3.4) A mapping has to be specified .Use the F4 help next to Inbound Interface to select your Interface Mapping.
7.3.5) When you are done , Save the Interface determination object.
8.) Create a Sender Agreement.
In the left hand frame , right click on Sender Agreement ->New
8.1) Specify the following:
Party: blank
Service: Select your own Business system
Interface: Outbound Interface
8.2) In the screen Edit Service Agreement use F4 help for the Sender Communication channel field .Select your Communication channel .Save and close
9.) Create a Receiver Agreement.
Finally you will create a 'Receiver Agreement' .This will allow you to assign a Receiver Communication Channel to the receiver service/Interface you have chosen.
9.1) Go back to the main screen for your receiver determination. In the area Configuration Overview for Receiver Determination at the bottom of your screen click Refresh.
9.2) In the Column Receiver Agreement(Communication Channel) right click and select New Specific.
Specify the following:
Party: blank
Service: Select your own Business system
Interface: Inbound Interface
9.3) In the screen Edit Receiver Agreement for the field Receiver Communication Channel use the input help F4 and select your communication channel. Save and Close it
Your Configuration is complete. Activate the objects.
PLZ REWARDS POINTS
VIKAS -
Hi Experts,
I am working on the scenario like File-Bapi-Idoc
1) Getting the file from external system, in the file
If the Sonumber is populated then need trigger an Bapi_change
and after getting the response flag as 1 from Bapi then have to send all those file fields through IDOC-.
Else
2)If the Sonumber is not populated from the file then need to trigger a Bapi_Createfromdat to create the sales order and receive the salesorder number as response from Bapi then
have to send all those file fields and Bapi response sales ordernumber through the same IDOC which is mentioned in the point 1.
Please provide the solution for this.
Is BPM required for this,if so provide the steps.
Thanks in advance,
PraveenHey,
you will require a BPM for this.
Steps.
1) recieve step(abstract async) for the file
2) Switch case: condition based on the Sonumber i.e . whether it is populated or not.
Branch 1(of switch if Sonumber is populated): send step(abstract synchronous) recieves flag as 1.
Branch 1 will also have a transformation step that will consist of the mapping between bapi_change and Idoc
Branch 2(of switch if Sonumber is not populated):send step (abstract synchronous) recieves sales order number. the creation logic will be written in the BAPI.
Branch 2 will also have a transformation step that will consists of mapping between Bapi_create and the Idoc.
3) After the switch there will be an abstract asynchronous send step for the Idoc.
In Inegration directory:
Channel: File, RFC and Idoc.
receiver determination
File-> BPM
BPM->RFC
BPM-> IDOC
Now for Idoc you require ALE settings both on XI as well as R3
Steps for ALE settings:-
Steps for XI
Step 1)
Goto SM59.
Create new RFC destination of type 3(Abap connection).
Give a suitable name and description.
Give the Ip address of the R3 system.
Give the system number.
Give the gateway host name and gateway service (3300 + system number).
Go to the logon security tab.
Give the lang, client, username and password.
Test connection and remote logon.
Step 2)
Goto IDX1.
Create a new port.
Give the port name.
Give the client number for the R3 system.
Select the created Rfc Destination.
Step 3)
Goto IDX2
Create a new Meta data.
Give the Idoc type.
Select the created port.
Steps for R3.
Step 1)
Goto SM59.
Create new RFC destination of type 3(Abap connection).
Give a suitable name and description.
Give the Ip address of the XI system.
Give the system number.
Give the gateway host name and gateway service (3300 + system number).
Go to the logon security tab.
Give the lang, client, username and password.
Test connection and remote logon.
Step 2)
Goto WE21.
Create a port under transactional RFC.(R3->XI)
Designate the RFC destination created in prev step.
Step 3)
Goto SALE.
Basic settings->Logical Systems->Define logical system.
Create two logical systems(one for XI and the other for R3)
Basic settings->Logical Systems->Assign logical system.
Assign the R3 logical system to respective client.
Step 4)
Goto WE20.
Partner type LS.
Create two partner profile(one for XI the other for R3).
Give the outbound or inbound message type based on the direction.
Step 5)
Goto WE19
Give the basic type and execute.
fill in the required fields.
Goto IDOC->edit control records.
Give the following values.(Receiver port,partner no.,part type and sender Partner no. and type)
Click outbound processing.
Step 6)
Go to SM58
if there are any messages then there is some error in execution.
Goto WE02.
Check the status of the IDOC.
Goto WE47.
TO decode the status code.
Step 7)
Not mandatory.
Goto BD64.
Click on Create model view.
Add message type.
BD87 to check the status of IDOC.
In case if not authorized then go to the target system and check in SU53, see for the missing object
and assign it to the user.
SAP r3
sm59(status check)(no message)
WE02(status check)
WE05(status check)
BD87(status check)
WE42 process code
WE47 status info.
reward points if useful
regards,
Milan -
Rfc to idoc...... how to create order
hi,
i worked on rfc to idoc scenario...... using matmas idoc to create material from r/3 system to IDES system through (rfcxiidoc) scenario
Now i want to do it to create an order using rfc to idoc
I am not sure which IDOC structure i will use and which fields are mandatory and optional?
I am looking to do that scenario with minimum required fields
hussaanhi,
The fields which are mandatory in case of order creation depends on your system settings.Like for a sales order or purchase order,you first create an orderusing transaction me23n for purchase order and va01 for sales order and check which fields are mandatory and get minimum no of required fields.
In this PO to SO scenario Idoc message controls will also come into picture.
Then after doing the required ALE settings you can test your scenario.
regards,
ujjwal kumar
Maybe you are looking for
-
Hello, When using XI 3.1 against SAP BW what is the equivalent of @Prompt('Rank By (Mandatory, Single)','A',{'MTD','QTD','YTD'},mono,constrained) That is I want the LOV to display MTD, QTD and YTD. The above syntax gives me the below error A database
-
Error Message: oracle/jbo/uicli/mom/JUMetaObjectManager
Trying to deploy a BC4J project on 9ias release 2 and having trouble. Currently I'm using JDeveloper 9.0.3. Are the two compatible?
-
ChaRM Copy Control for Ibase component
Hi Team, I have created ZDCR which is copy of SDCR. And i have created ZDHF which is copy of SDHF. I have created the ZDHF as a subsequent document from ZDCR. While ZDHF is created, the Ibase component is not getting copied from ZDCR. How to copy the
-
I send out monthly invoices and statements via an accounting package (as attachments). This creates 300+ open emails which requires that I switch to each open email and click send. How am I able to send without entering each message and pressing the
-
when I opened FCP 5.04 this morning a window appeared asking for missing movie file "CF-dvc appl-720x48010233017. After a search I discovered that it can be found in the "Constant Frame Folder" within the FCP Render folder/ In fact that every project