Combine IDoc and RFC Respone in one Message Type
Hello,
I need to have the possibility to store the data of one IDoc and one RFC Response in one Message Type.
The structure should be something like this:
IDoc_AND_RFC_RESPONSE (root)
--item (0..onbounded)
ID (Attribute, type xsd:string)
IDOC (Elemtent, type IDOC <--unfortunately not possible in data type definition)
RFC_Response (Element, type RFC_Response <--unfortunately not possible in data type definition)
The goal is to merge 2 messages (idoc data and the data of a rfc response) into 1 message with logical connected items.
e.g.
IDOC (message 1)
--ID 01
IDOC_DATA_01
--ID 02
IDOC_DATA_02
RFC_Response (message 2)
--ID 01
RFC_DATA_0101
RFC_DATA_0102
--ID 02
RFC_DATA_0201
I need this data to be transformed into:
IDoc_AND_RFC_RESPONSE
--item
ID 01
IDOC
IDOC_DATA_01
RFC_RESPONSE
RFC_DATA_0101
RFC_DATA_0102
--item
ID 02
IDOC
IDOC_DATA_02
RFC_RESPONSE
RFC_DATA_0201
The problem ist NOT how to do the mapping, BUT how to define the data type of the target message.
The IDoc and the RFC have a very complex structure so manually building the structure is not possible.
Thanks for your help.
Hi,
thank you for your hints.
- How can I define one interface with 2 message types? I work with XI 3.0.
- Manually manipulatiing the xsd files is what I wanted to avoid (besides that, there is no possibility to get the rfc as xsd, only wsdl). Besides that, I tried to extract the IDoc xsd and imported it as message type, but there is an error message telling me "Schema to be handled does not contain a definition of type <Data Type Name>", whereas <Data Type Name> is the name I give to the Data Type. I tried the name of the IDoc Type here. Importing the xsd as external definition would work, but that would still not solve the problem as I cannot use the message in my data type definition.
Maybe I should specify the scenario a bit better:
I have an R3 System sending an IDoc.
The Idoc contains multiple items.
The data in the IDoc is NOT sufficient (and due to warranty reasons and company guidelines, it is not possible to add all the needed data to the IDoc).
Therefore, the IDoc is passed to an Business Process, where an RFC is invoked (input are the item IDs of the IDoc).
So afterwar the rfc call, I have all neccessary data per item in 2 messages, the IDoc and the RFC response.
Now I need to merge the data per item into one message.
This one message than is splitted into the several items and every item has to be sent separately. So I need a possibility to unite the IDoc with the rfc response.
Any hint?
Thanks a lot!
Similar Messages
-
Do we need to create message interfaces for idocs and rfcs thatare imported
do we need to create message interfaces for idocs and rfcs thatare imported
from sap server
in scenarios from sap system to file or vice versa
i knew that we need not create message types
do we also skip creating message interfaceshi,
you create an abstract message interface for IDOC only if you want to use
them in a BPM (integration process)
for more about IDOCs have a look at my book:
<a href="/people/michal.krawczyk2/blog/2006/10/11/xi-new-book-mastering-idoc-business-scenarios-with-sap-xi"><b>Mastering IDoc Business Scenarios with SAP XI</b></a>
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Difference between idoc and rfc
what is the difference between idoc and rfc? when and where it is used? when there is idoc, why rfc vice versa?
IDoc (for intermediate document) is a standard data structure for electronic data interchange (EDI) between application programs written for the popular SAP business system or between an SAP application and an external program. IDocs serve as the vehicle for data transfer in SAP's Application Link Enabling (ALE) system.
IDocs are used for asynchronous transactions: Each IDoc generated exists as a self-contained text file that can then be transmitted to the requesting workstation without connecting to the central database.
Another SAP mechanism, the Business Application Programming Interface (BAPI) is used for synchronous transactions.
A large enterprise's networked computing environment is likely to connect many geographically distributed computers to the main database. These computers are likely to use different hardware and/or operating system platforms. An IDoc encapsulates data so that it can be exchanged between different systems without conversion from one format to another.
IDoc types define different categories of data, such as purchase orders or invoices, which may then be broken down into more specific categories called message types. Greater specificity means that an IDoc type is capable of storing only the data required for a particular transaction, which increases efficiency and decreases resource demands.
An IDoc can be generated at any point in a transaction process. For example, during a shipping transaction process, an IDoc may be generated that includes the data fields required to print a shipping manifest. After a user performs an SAP transaction, one or more IDocs are generated in the sending database and passed to the ALE communication layer. The communication
layer performs a Remote Function Call (RFC), using the port definition and RFC destination specified by the customer model.
The IDoc is transmitted to the receiver, which may be an R/3, R/2, or some external system
RFC
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.
note:reward points if solution found helpfull.....
regards
chandrakanth.k -
How to create idoc and send it frm one sap to another sap
hi,
can anyone tell me the complete procedure of creating the idoc and sending it to another sap r/3
how to create rfc destination, partner profiles, port and outbound parameter and inbound parameter
thanksHi Azhar,
Go through the following Links
IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Go through the following Steps for Creating IDoc Via ALE
ALE IDOC
Sending System(Outbound ALE Process)
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Create Model View
Tcode BD82 ? Generate partner Profiles & Create Ports
Tcode BD64 ? Distribute the Model view
Message Type MATMAS
Tcode BD10 ? Send Material Data
Tcode WE05 ? Idoc List for watching any Errors
Receiving System(Inbound ALE )
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 ? Idoc List for inbound status codes
ALE IDOC Steps
Sending System(Outbound ALE Process)
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Create Model View
Tcode BD82 !V Generate partner Profiles & Create Ports
Tcode BD64 !V Distribute the Model view
This is Receiving system Settings
Receiving System(Inbound ALE )
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 !V Idoc List for inbound status codes
Message Type MATMAS
Tcode BD10 !V Send Material Data
Tcode WE05 !V Idoc List for watching any Errors
1)a Goto Tcode SALE
Click on Sending & Receiving Systems-->Select Logical Systems
Here Define Logical Systems---> Click on Execute Button
go for new entries
1) System Name : ERP000
Description : Sending System
2) System Name : ERP800
Description : Receiving System
press Enter & Save
it will ask Request
if you want new request create new Request orpress continue for transfering the objects
B) goto Tcode SALE
Select Assign Client to Logical Systems-->Execute
000--> Double click on this
Give the following Information
Client : ERP 000
City :
Logical System
Currency
Client role
Save this Data
Step 2) For RFC Creation
Goto Tcode SM59-->Select R/3 Connects
Click on Create Button
RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
give the information for required fields
RFC Destination : ERP800
Connection type: 3
Description
Target Host : ERP000
System No:000
lan : EN
Client : 800
User : Login User Name
Password:
save this & Test it & RemortLogin
3)
Goto Tcode BD64 -- click on Change mode button
click on create moduleview
short text : xxxxxxxxxxxxxx
Technical Neme : MODEL_ALV
save this & Press ok
select your just created modelview Name :'MODEL_ALV'.
goto add message type
Model Name : MODEL_ALV
sender : ERP000
Receiver : ERP800
Message type :MATMAS
save & Press Enter
4) Goto Tcode BD82
Give Model View : MODEL_ALV
Partner system : ERP800
execute this by press F8 Button
it will gives you sending system port No :A000000015(Like)
5) Goto Tcode BD64
seelct the modelview
goto >edit>modelview-->distribute
press ok & Press enter
6)goto Tcode : BD10 for Material sending
Material : mat_001
Message Type : MATMAS
Logical System : ERP800
and Execute
7)goto Tcode : BD11 for Material Receiving
Material : mat_001
Message Type : MATMAS
and Execute --> 1 request idoc created for message type Matmas
press enter
Here Master Idoc set for Messge type MATMAS-->press Enter
1 Communication Idoc generated for Message Type
this is your IDOC
Change Pointers
I know how to change the description of a material using ALE Change Pointers.
I will give the following few steps
1) Tcode BD61---> check the change pointers activated check box
save and goback.
2) Tcode BD50---> check the MATMAS check box save and comeback.
3) Tcode BD51---> goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
4) Tcode BD52---> give message type : matmas press ok button.
select all what ever you want and delete remaining fields.
save & come back.
5) 5) go to Tcode MM02 select one material and try to change the description and save it
it will effects the target systems material desciption will also changes
6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
give Message type : MATMAS and Executte
ALE/IDOC Status Codes/Messages
01 Error --> Idoc Added
30 Error --> Idoc ready for dispatch(ALE Service)
then goto SE38 --> Execute the Program RBDMIDOC
29 Error --> ALE Service Layer
then goto SE38 --> Execute the Program RSEOUT00
03 Error --> Data Passed to Port ok
then goto SE38 --> Execute the Program RBDMOIND
12 Error --> Dispatch ok
Inbound Status Codes
50 Error --> It will go for ALE Service Layer
56 Error --> Idoc with Errors added
51 Error --> Application Document not posted
65 Error --> Error in ALE Service Layer
for 51 or 56 Errors do the following steps
goto WE19 > give the IDOC Number and Execute>
Press on Inbound function Module
for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error
Regards
Sreeni -
DIFFERENCE B/W IDOC AND RFC ADAPTERS
HI FRIENDS,
WHAT IS THE DIFFERENCE B/W IDOC AND RFC ADAPTERS..? AND WHICH ONE IS
PREFERABLE TO USE IN TRANSFERING DATA FROM THIRD-PARTY SYSTEM TO SAP.?
REGARDS,
RAMAKRISHNA.Hi
These links will help you to understand :
http://help.sap.com/saphelp_nw04/helpdata/en/11/028417f9f8b24cbe1b0b398e1cb76a/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ab/bdb13b00ae793be10000000a11402f/frameset.htm
Please dont forget to reward with points.
Edited by: Dheeraj Kumar on Mar 3, 2008 2:59 PM -
ALE/IDOC and RFC/BAPI Integration Scenarios with SAP DS for ESA v3
Hi,
we are planning two PoCs of Integration Plattforms. One of our major requirement set is SAP Integration into our existing SOA.
Because we also have R/3 4.7 Systems in production, we are planning to test ALE/IDOC and RFC/BAPI Integration scenarios with these Integration Plattforms.
My question is:
We are looking for are smart solution to get a SAP Test Environment, where we can test ALE/IDOC und RFC/BAPI Integration scenarios.
It is possible to do this with SAP DS for ESA v3 or shall we better use IDES for that purpose?
Best regards,
StevenHi Abhishek,
This is our scenario. We are doing an integration of SAP HR r/3 system with the CRM system. We need housing information details of the employees which we have in custom infotype 9310 in SAP HR system and we need those details in the CRM system. So am planning out for an ALE/IDOC approach for the integration and gonna maintain the 9310 details in a custom table. In the CRM system, we gonna build a BOL layer for accessing the 9310 details. Also i'm preparing a HLD for this process. I wanna read and go through few same HLD's before i submit my proposal to my client. Please suggest me and help me out.
Thanks in advance.
Regards,
Arunmozhi. -
Hi Folks,
I have few questions on SAP XI.
1) For IDoc and RFC, why we need to import the metadata again even though we import RFC and IDoc in intergration Repository?
2) Why we don't need to create Message interface and Message type for IDoc and RFC?
3) Why RFC and IDoc comes in different namesapce, not in the namespace in which they are impoeted?
4) For IDoc we need to import metada in tran IDX2. Why the same is not in case of RFC? In case of RFC we need to specify metadata repository parametes in Communication Channels.
Thanks,
PunitAnswer 1) IDoc (Intermediate Document) metadata comprises structures for the corresponding IDoc types that are required by the IDoc adapter to convert these IDocs to IDoc XML format and the other way around
Answer 4) The adapters are configured in the configuration part of the Integration Builder, or in the configuration part of the PCK. You use the SAP Java Connector (JCo), which enables you to manage metadata. This in turn enables you to map RFC data generically to RFC XML and the other way around.
http://help.sap.com/saphelp_nw2004s/helpdata/en/33/c6e63b60c25767e10000000a11402f/content.htm.
Regards
Abhishek Mahajan
**Reward points if helpful** -
How to decide which adapter to use from IDOC and RFC?
Hi All,
When interating XI with an SAP system,
How to decide which adapter to use from IDOC and RFC?
Thanks.Hi,
you can also consider to use ABAP Proxy if you are working with Systems based on SAP Web AS 6.40.
Here some useful links:
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/content.htm">ABAP Proxy Runtime</a>
ABAP Proxies in XI(Client Proxy)
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
ABAP Server Proxies
/people/siva.maranani/blog/2005/04/03/abap-server-proxies
How do you activate ABAP Proxies?
/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
XI: Reliable Messaging EOIO in ABAP Proxies
/people/arulraja.ma/blog/2006/08/18/xi-reliable-messaging-150-eoio-in-abap-proxies
More links for proxy:
proxies and performance...
Hope this help
Francesco -
IDOC and RFC/PROXY Scenarios
Is there a way to practice IDOC or RFC Scenarios if you only have access to the XI System? So you have XI abap and Java but no R/3 System...
Can someone tell me how I can practice IDOC and RFC scenarios pleaseIt is possible to practive IDOC & RFC scenarios with XI's abap stack as sender & receiver of IDOCs and RFCs with the "XI" in the middle....
However, the problem might be the IDocs & RFCs might have to be created from scratch to test these out....
If you have some IDOcs that you can use in XI abap stack, have the program that generates this IDOc and when(if) XI abap stack receives this, the processing module to process this IDoc...
Similarly, the RFC FM has to be available on XI ABAP so that it can bhe invoked from the RFC interface..
Thanks.
Message was edited by:
Renjith Andrews -
One message type different IDoc Types
Hi All,
Can we use one message type and different data types based on the requirement in PI mapping.Basically I want to select mappings based on IDoc ...My requirement is to use different IDoc types for one message type in mapping ...will it work ?
Thanks ,
Vinay.If you will be wanting to have 1 message producing different IDOCS types (to be meaning that not just multiple IDOCS of the same type) then this must be done via a BPM as the IDOC adapter will not be able to handle it by itself. Have a receiver determination step in the BPM for each IDOC type - you'll then be sending each via foreach block.
-
could any one send examples of how to use idocs and rfcs via proxies
Hi,
Refer the following Article.
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/93d4e690-0201-0010-8abb-8057c8608803">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/93d4e690-0201-0010-8abb-8057c8608803</a>
Regards,
Sudharshan -
How to use IDOC and RFC adapter in 1 scenario?
We have AAA field and BBB field and we want to send AAA field to receiver sap system using IDOC adapter and BBB field to receiver sap system using RFC adapter. But how to use IDOC and RFC adapter in 1 scenario and how to map and what are the design and configuration objects we require to create?
To achieve this you have to use
Two Interface Determinations
Two Communication Channels (IDOC & RFC)
& Two Receiver Aggrements.
Use the Enhanced Interface determination and give your conditions there. Based on you condition your interface mapping will be triggered and data will be sent to IDOC & RFC respectively. -
Hi friends, IDOC and RFC are sap related.but idoc is in abap stack rfc is
1)IDOC and RFC are sap related.but idoc is in abap stack rfc is in java stack.what is difference between two.?
hi ganga,
The IDoc adapter is used by SAP systems to connect to a centrally configured Integration Engine using IDocs
which is properitory to SAP integration
so it doesn't need the Adapter engine.
refer:
http://help.sap.com/saphelp_nw04/helpdata/en/ab/bdb13b00ae793be10000000a11402f/content.htm
The Adapter engine is working on the J2EE Engine.
RFC Adapter is provided by the AdapterEngine.
So RFC needs Java Runtime where IDoc doesn't.
refer:
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm
regards,
nikhilbos -
ALE distribution model - one message type to more than one recipient
Hello colleagues,
currently I'm working on an integration project between one SAP system and an e-shop system. The communication is established through IDOCs ( both inbound and outbound ). There is another system ( POS ) which is already integrated
with SAP via IDOCs also.
Now I'm facing the following problem regarding distribution of transactional IDOCs ( orders, deliveries, etc. ): when assigning one message type ( for example DESADV - Delivery: Shipping notification ) to more than one external system in ALE distribution model I receive a message alerting that one message type can be send to only one recipient.
The distribution model is as follows:
Model Views
SAP to POS
SAPDEV ( the SAP system )
POS ( the external POS system )
DESADV
SAP to E-SHOP
SAPDEV ( the SAP system )
E-SHOP ( the external e-shop system )
DESADV
Well, the system message is clear and I did the obvious: create a complete copy to the original message type and than assign it to the E-SHOP system ( the original message type is already used in integration between SAP and POS ).
As you can see I have found a workaround already but I think that it comes natural to SAP to communicate with other systems and to exchange same kind of documents to those systems and I can't believe that there isn't a standard solution for situation like this.
FYI I'm working on SAP ECC 6.0
Thanks in advance.
Wish you nice day and successful week ,
VladimirI believe when ePrint server has received the email, it made the necessary settings and configured the job for printing and then it went for "Reply All" option. So here it cannot send the print job to your personal email ID and the error came up.
The only option I can think of is add the printer email ID to your email contact list and give it a name like MyPrinter so you can remember easily , just like email contacts are added in Outlook.
Mark this post as answered so that others can find it useful.
Say "Thanks" by clicking the Kudos Star in the post that helped you.
Please mark the post that solves your problem as "Accepted Solution" -
IDOC and RFC sent by SAP PI , how to access in ECC.
Hi Everybody,
I have been working in SAP PI but have never handled the ECC part of the implementation.
Till now I have only dropped idoc or RFC to the ECC system and let the further processing to the target team.
But in new project the further processing part also we have to handle.
So could you please tell me, for any idoc (say ORDERS) once PI drops it at ECC , where to access it ? which table? for further processing of that data in ECC? Same for RFC?Dilip, as soon as the system ECC receives IDOC file, IDOCs are created. For further processing
1. ALE attributes (BD51) must be defined.
2. Then Partner profile (WE20) must be active for the partner(vendor/customer) and message
(ORDERS/DESADV) combination which exists in IDOC control record.
3. If you want to manually process IDOC in test or dev system you can use test tool (WE19).
4. To monitor created IDOCs you can use WE02/WE05.
5. You can use tables EDIDC, EDID4, EDIDS to view IDOC info.
6. Also you can go to corresponding tcode to see the posted document.
Thanks,
Siva
Maybe you are looking for
-
I guess this all goes back to me wanting to sync my photos from my phone to my computer. In iTunes I don't have the option to sync from my phone to the computer. I just have the ability to sync from Computer to the Phone. Thanks in advance
-
Snow Leopard and Adobe Photoshop CS4
Hi! I've recently switched from custom built PCs to a Mac workstation, mainly for professional photography and editing purposes. I use photoshop roughly 12 hours a day (if not more...sigh), so switching to Mac would, in my mind, streamline and enhanc
-
Also, do I just scan in my student ID if I download it and email it? And if so, where to? Also, the download works worldwide right?
-
My ipod touch will not charge or register in itunes. It keeps turning off and then shows the apple logo. I have tried holding down the button and plugging it in. It will show the red battery for a second and then turn off? Any other suggestions?
-
HT204003 I have iPhone 5 with the new ios 7.02,
What I would like to know is how do you delete old flights from your passbook.