cancel
Showing results for 
Search instead for 
Did you mean: 

Start RFC by XI

Former Member
0 Kudos

Hi partners!

I have been looking around in the forum, but I do not find the same problem.

The case is that I receive an XML and I make a mapping into RFC. I have to import this information to a Function Module that already I have created with the corresponding structure that have mapped.

My problem is that I do not see the connection among the mapping of the message and to operate the call to the function. Through Monitor I have checked out that the message is received correctly, but the code of the Function Module is not executed.

It is my question: <b>Where do I have to indicate the RFC in XI that Function Module has to call</b>?

I have been looking at all objects that I have created to carry out the mapping and I have indicated that RFC is an adapter, but I do not see where this connection is this! &#65279;The problem is here, that it doesn't call the RFC... I have executed it separately and it made what I wanted (simply I have filled in a table...).

I thank your help in advance!!

See you!

Jorge

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

>>Where do I have to indicate the RFC in XI that Function Module has to call?

plz import your RFC under imported objects.

Regards

Former Member
0 Kudos

Hi Vijaka,

thanks for your quick response, I've already imported my RFC, that's why i am worried about, because my Function Module isn't called.

Do you know any flag or parameter why it doesn't work? Perhaps it's anything in the Directory? As i said before, the xml monitoring show me that the message is processed succesfully, so i' don't know...

Thanks in advance!

Jorge

Former Member
0 Kudos

>>I've already imported my RFC, that's why i am worried about, because my Function Module isn't called.

did you provided the correct parameters? (import of RFC/IDOC interfaces from SAP systems permitted) plz chk once again.

also check whether that imoprted object belongs to the same namespace.

regards

henrique_pinto
Active Contributor
0 Kudos

> Hi Vijaka,

> thanks for your quick response, I've already imported

> my RFC, that's why i am worried about, because my

> Function Module isn't called.

>

> Do you know any flag or parameter why it doesn't

> work? Perhaps it's anything in the Directory? As i

> said before, the xml monitoring show me that the

> message is processed succesfully, so i' don't

> know...

If it is an async scenario, you won't get errors in SXMB_MONI, since it was correctly processed in Integration Engine (but probably failed at Adapter Engine level).

Instead, check the Communication Channel Monitor for your RFC Adapter and check its status (and last connection logs) or go to Message Monitoring and check the audit log of the message which triggers the RFC Adapter.

Regards,

Henrique.

Former Member
0 Kudos

> If it is an async scenario, you won't get errors in

> SXMB_MONI, since it was correctly processed in

> Integration Engine (but probably failed at Adapter

> Engine level).

>

> Instead, check the Communication Channel Monitor for

> your RFC Adapter and check its status (and last

> connection logs) or go to Message Monitoring and

> check the audit log of the message which triggers the

> RFC Adapter.

Hi Henrique,

how can I check the Communication Channel Monitor? I dont't find it...

Thanks!

henrique_pinto
Active Contributor
0 Kudos

Hey Jorge,

good news you solved your issue.

Further info on CCM: http://help.sap.com/saphelp_nw70/helpdata/en/44/2a1a8620323f0ee10000000a114a6b/frameset.htm

Regards,

Henrique.

Former Member
0 Kudos

Thanks Henrique!

now I have a new problem...

Answers (3)

Answers (3)

Former Member
0 Kudos

Thanks to all you!

Already it|he is solved. The problem came of the attributes of the user. It was created like a user of connection, I have modified it to a user of dialog and the problem has solved!

You know in what him due? Should he not be a user of connection?

Thanks to all again!

Regards

henrique_pinto
Active Contributor
0 Kudos

In RFC scenarios, you need to import the RFC into Imported Objects of XI, in order to have its message definition (you don't have to create any data types, message types or message interfaces for the RFC).

Once you have imported the RFC message definition, you can use it in mappings.

When doing configuration, use the RFC definition as the interface (in your case, receiver interface).

The RFC adapter will trigger the proper RFC referencing it by the root tag in the RFC definition (it is the actual name of the function in the RFC Metadata Repository).

Regards,

Henrique.

Former Member
0 Kudos

Hi Henrique,

<i>>>The RFC adapter will trigger the proper RFC referencing it by the root tag in the RFC >>definition (it is the actual name of the function in the RFC Metadata Repository).

</i>

How can i see the RFC Metadata Repository? I want to check this...it's the name of the RFC in the repository?

Thanks!

henrique_pinto
Active Contributor
0 Kudos

RFC Metadata Repository = R/3 system where you developed it (or where it is, if it is a standard one). 😃

Use SE37 in that system in order to check the FM.

Regards,

Henrique.

Former Member
0 Kudos

😃 Thanks Henrique!

I had checked the FM previously, I only typed a code for filling a database table. It works, so it is why I don't understand the RFC isn't working...

I'm going to check the namespaces as said me Vijaka:

<i>>>also check whether that imported object belongs to the same namespace.</i>

I think it's ok...but I'm going to check out.

Regards!

Former Member
0 Kudos

1. Check whether the function module in the target system is "RFC enabled" to which the RFC call is being made from XI. (Anyways, this will be an implicit check as XI will provide the list of RFC function modules to import into the Integration Repository only if the function module is RFC enabled)

2. Once you have done the step 1. As mentioned by VijayaLakshmi earlier, import the function module into the integration repository (under imported objects, two options are available. Use the one for RFC modules)

3. Do not create the data structure for RFC call manually. Import the structure as mentioned in step 2. You will see that the data-structure name is the name of the function module. XI RFC adapter will handle the call and it will know which function module to call (it's implicit).

Anand

Former Member
0 Kudos

Hi Anand,

I've also did what you recommend me. In the attributes of the Function Builder, at Processing Type, I've selected the Remote-Enabled Module and that it Starts immediatly. As you said, it's an implicit check for importing this to the Repository.

I've also import the RFC module, I didn't create the data structure manually, I used the RFC imported structure in the target side of Message Mapping. [RFC Message: ZASICS_ADT_RECEIVER].

I think that all is well defined..it's so intuitive to create the different objects in the repository from the specific data types. It's also quite easy to define the channel, the determinations and the agreements in the directory...

Thanks!

Jorge