cancel
Showing results for 
Search instead for 
Did you mean: 

Sender RFC Adapter

Former Member
0 Kudos

Hi,

All configuration settings regarding Sender RFC Adapter in SAP XI system, IR, ID, Destination system are ready.

In the source SAP R/3 System, RFC enabled function module(FM) is pending. I have written code in FM which brings the data from Database and prepares a structure required by the Outbound Message type. But I require the code to trigger the process. i.e., when I run RFC FM in source system, it should trigger the process and enable the message flow.

Please tell me whether I am wrong. If so, please help me to give the procedure for triggering the process. If not, Please provide me the code.

Regards,

Suraj Kumar

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

As long as the FM is remotely enabled, it will be triggered when a message comes in.

For ex., take a file to rfc scenario, the RFC will be triggered one the file is accepted by the file adapter and sent to the integration engine.

All you need to do is import the rfc and map the rfc message type with the file mesage type.

Regards,

Smitha.

Former Member
0 Kudos

Hi Smitha,

Thanks for your reply.

>>><i>As long as the FM is remotely enabled, it will be triggered when a message comes in</i>

I do accept this, but here it is sender RFC Adapter. When I run it from SAP Source system, it should send message to XI and then to destination(File system in this case).

i.e., RFC should trigger message flow, for which I require some code to do this.

I hope I am clear.

Regards,

Suraj Kumar

Former Member
0 Kudos

Hi Suraj,

I hope you have created a RFC destination in sm59 of the source R/3 to XI.When u call ur RFC with destination as that of XI(Destination u have created in sm59) it will take all the data that you have imported or in tables and strike at XI. In XI you do a mapping between the RFC that u imported in repository to the target receiver. Hope I am clear.

Regards,

Sudharshan

Former Member
0 Kudos

Hi Sudharshan,

Thanks for your reply. You are close to query.

Please find below the details of the code written in my RFC enabled function module.

******************************************************

select single *

from zempdetail

where ssn = ssn_in.

if sy-subrc eq 0.

move: zempdetail-ssn to ssn,

zempdetail-lname to lname,

zempdetail-fname to fname,

zempdetail-dob to dob.

endif. " if sy-subrc eq 0.

CALL FUNCTION 'Z_INPUT_EMHDR_RFC'

IN BACKGROUND TASK DESTINATION 'YXDRFC'

EXPORTING

SSN = SSN

LNAME = LNAME

FNAME = FNAME

DOB = DOB

EXCEPTIONS

COMMUNICATION_FAILURE = 1

SYSTEM_FAILURE =2.

IF SY-SUBRC EQ 0.

ENDIF.

ENDFUNCTION.

******************************************************

'YXDRFC' is the destination maintained in SM59 and tested it which is perfect.

RFC imported is Z_INPUT_EMHDR_RFC.

I ran this program, but it did not send any message to XI.

Can you now help me out?

Thanks & Regards,

Suraj

Former Member
0 Kudos

Hi,

You import ur FM by making it remotely enabled in r\3.then use the rfc FM for mapping.so see whether the process has been triggered u need to perform the mapping.if u want the message to be seen XI,then perform the message mapping with RFC as ur source and in the output u can see a XML returned from ur FM(from r\3), which shows the message has been trigerred and the output is sent from ur FM.

regards

jithesh

Former Member
0 Kudos

Hi suraj,

Check whether ur sender RFc communication channel and sender agreement are activated in XI. Also check whether the program Id that u gave in destiantion in R/3(source) is same as that of the program id u give in sender communication RFC channel.check these out.

Ps: Destination: connection type T

Regards,

Sudharshan

Former Member
0 Kudos

Hi Sudharshan,

I have checked everything mentioned by you. They are in place.

Can you comment on the code written?

Can you list out the settings for trigerring RFC in Source system?

Regards,

Suraj Kumar

Former Member
0 Kudos

Hi Suraj,

Please can you run your RFC from SE37 by giving the RFC destination in the 'RFC target parameter'

See if it gets triggered. If not then there is something wrong with the RFC destination. Make sure it's exactly the same that you have created small letters small and big letters big.

After this, if your RFC destination is working successfully and if you have used the same RFC in more then one place, please check the program ID is correctly given in the RFC adapter.

Also please see that you are calling the RFC from the same client that you have given in RFC adapter parameter.

Regards

Vijaya

Former Member
0 Kudos

Hi Suraj,

After the function call u have to give a commit work.

statement.

Regards,

Sudharshan

Former Member
0 Kudos

Hi,

In the case of rfc lookup wher u access ur FM with rfc adapter jus check whether u have given the proper communication channel(sender rfc channel)and business service or the business system in the code.

regards

jithesh

Former Member
0 Kudos

Hi Vijaya,

Thanks for your helpful answer.

I have done the same as per your instructions and after running the remote enabled function module it ran into short dump.

It says <i>"senderAgreement not found: lookup of binding via CPA-cache failed for"</i>

To resolve this issue I am applying the SAP Note 730870.

Please let me know, still anything need to be done or I am missing anywhere.

Sudarshan,

I have written 'commit work'. Thanks for your suggestion.

Regards,

Suraj Kumar

Former Member
0 Kudos

Hi,

i have configured asynchronous sender RFC to file scenario n whn i execute RFC i get short dump "senderAgreement not found: lookup of binding via CPA-cache failed for"

my scenario configurations, RFC destination all r okey..i refreshd the cache too still im gettin the same dump..

Suraj: i guess u have encounterd similar pbm...could you plz share the solution to this weird pbm if u have got any.

Thx n Rgds,

Amulya

Former Member
0 Kudos

Hi Amulya,

Please can you check if the Program ID is registered.

Look at Q 22 in note: 730870 for how to do this.

If you will open a new query that would be better.

Regards

Vijaya

Former Member
0 Kudos

Hi Amulya,

I have overcome this problem.

Find below the check list where you can solve your problem.

1. Delete and create Sender Agreement, Then activate.

2. Test the RFC destination which is of type T. Inside RFC destination of type 'T', specify Program ID which was given in sender communication channel.

3. Go to se37 >> specify your function module >> Test >> after specifying import parameters, specify RFC target sys with RFC destination created of type T.

If the problem, persists get back.

My email-id is surajp@yash.com.

Or it is better to open a new thread.

Regards,

suraj

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

The Adapter specific parameters and the Business systems are fine.

Regards,

Suraj

STALANKI
Active Contributor
0 Kudos

Suraj,

I think it is due to the missing sender agreement..

You need to bind your sender interface to a sender RFC channel..in sender agreemnets..check your ID configuration.Guess there is a gap.

Former Member
0 Kudos

Hi,

When I check Adapter monitoring, I got the description of the error as follows.

********************************************************

Sender Channel 'ZEMHDR_RFC_SENDER_CC' for Party '', Service 'YRA' (Internal Name 'RfcServer[ZEMHDR_RFC_SENDER_CC]')

Server data: {jco.server.gwhost=yhsapdev06, jco.server.progid=sdnsuraj, jco.server.gwserv=sapgw00, jco.server.unicode=0}

Repository data: {jco.client.lang=EN, jco.client.snc_mode=0, jco.client.client=100, jco.client.passwd=******, jco.webas.ignore_jdsr_error=1, jco.client.user=sapdev05, jco.client.sysnr=00, jco.client.ashost=yhsapdev06}

Current pool size: 1, max pool size : 1

RFC_HISTORY

- Error: 2006-04-27 14:12:32 GMT+05:30: com.sap.aii.af.rfc.afcommunication.RfcAFWException: senderAgreement not found: lookup of binding via CPA-cache failed for AdapterType RFC, AdapterNS http://sap.com/xi/XI/System, direction INBOUND, fromParty '', fromService 'YRA', toParty '', toService '', interface 'ZEMHDR_MI_SENDER_RFC', NS 'urn:sap-com:document:sap:rfc:functions' for channel 'ZEMHDR_RFC_SENDER_CC' (channelId 727b0362d5e631e6bb0b2750860032d5)

********************************************************

Sender agreement with required communication channel is in place. The details are as follows:

Sender Service: YRA

Sender Interface: ZEMHDR_MI_SENDER_RFC

Sender communication channel: ZEMHDR_RFC_SENDER_CC

Please let me know, if anything I am missing out.

Regards,

Suraj Kumar

Former Member
0 Kudos

Hi Suraj,

I think I am repeating myself here. But can you confirm if the Business system client and the client from which you are making this call is the same?

Also, please can you check in Integration Directory if the Business system Service>Adapter specific configuration if the client and logical system are correct as defined in SLD.

Regards

Vijaya