on 04-27-2006 4:40 AM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
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
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
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
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
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
Hi,
The Adapter specific parameters and the Business systems are fine.
Regards,
Suraj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.