on 09-23-2013 12:18 PM
Hi, My PI scenario ECC-> PI-> FILE. I have configured RFC at the sender side succesfully with the status green. But i am not getting any data on PI or in communication channel monitor when i execute a program on ECC. I could not able to figure out the issue. Thanks Vijay
Hi Satish, Yes its failed and the error message is "JCO.Server could not find server function". Thanks Vijay
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Vijay,
As error suggest you have not configured your RFC Destination of Type TCP/IP properly. It is trying to find the RFC on PI server. As it is developed on ECC server you have to give ECC Host name and Gateway.
Open your RFC Destination throug Transaction SM59 in ECC. And Modify "Gateway Option".
In Gateway Host Provide ECC Host Name and in Gateway Service Provide Service of ECC. It should work.
I think as of now you have PI Gaveway Host and Service mentioned in RFC destination.
Thanks,
Sunil Singh
Hi Sunil,
Yes thanks. i have changed and RFC is working means i can see the log in communication channel
but now i found another error saying "
in sm58 and in CC "Sendor aggrement not found".
For both the issues i got a SAP note 730870. But i have followed everything what they have mentioned . But still am getting sendor aggrement not found.
Thanks
Vijay
Vijay,
Sometimes "Sender Agreement" issue for RFC communication is due to mismatch between logical System Name and actual Business System name. As I see in your communication Channel Details
Your BS name is BS_IDES800CLNT and logical system name as RFC_Sender_clnt800. If you can correct them (Make both of them Identical), it will solve your issue.
Thanks,
Sunil Singh
Vijay,
To Check Logical System name Associated with Business System :
Open Business System -> Communication Component - > Adapter-Specific Identifier
You can see Logical System Name there (it is very significant for Idoc related scenario and sometimes causes issue for RFC related scenario like yours )...
Other way to find logical system name is from SLD. Open the Business System ->Integration -> Logical System Name
Just Make sure Business System Name and Logical System Name is Same.
Also Before you do that try to what Business System RFC Adapter is trying to find. You should be able to see error like Party, Service XXX, Interface XXXX not found in cache.
Please check if value shown in Service (in Error Text) Matches with what you have configured.
Thanks,
Sunil Singh
Vijay,
Had you chance to see error Message in RWB which Business System it is referring to while giving you error? If you see "SENDER_P" then Yes you have to make Sure if your Business System is "X" then the LogicalSystem Name should be "X"...
In Case of Idoc Partner Profile Should be same as your Logical System Name (Idoc Receiver). In Case of Idoc Sender Logical System Maps to Business System(Internally) thats why you won't get error related to Sender Agreement. But Sometimes (depending on SP level) in case of Sender RFC communication Logical System doesn't Maps to Business System and you see Sender Agreement issue.
Thanks,
Sunil Singh
Vijay,
As you mentioned it is used by other Interfaces, I won't advice for deleting it.
- Once solution could be you create Business service with the name as in Logical System and use that in RFC scenario
- Another could be: If you are not using any Idoc scenario(which is not using that Logical System name) for communication then you can change the logical system name (After consulting with your Basis team to make sure it is not used by other system)
- Did you try to search for Any note in this regard on Market place? I hope there should be one..
Thanks,
Sunil Singh
Vijay,
Did you try "Also this stricter verification can be disabled by setting the J2EE Service Property 'verifySenderAgreement' for RFC adapter to false. Setting this property to false in the Visual Administrator/NetWeaver Administrator will prevent such a check for all the RFC calls made through the RFC Adapter." ?
I was talking about "Business Service" and not "Business System". Create a Business Service with the same name as in the Logical System Name.
Thanks,
Sunil
Hi Vijay,
As I have told you earlier also,please do these bullets points again
One as a workaround,can you take the payload and check the payload in ID side(yes configuration side) what are the pipeline steps it is completing successfuly.
After doing this go back to RWB and send the test message and after that go that moni and see the status of that message.
Even after doing this,if your scenerio is not working than please check with basis team,may be they have not configured the JCO call correctly while delievering the system.
Please do this step and share the screenshot.I hope we will short out this issue.
Regards,
Abhi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Plaese also check if your RFC program is registered at the gateway with the same program ID.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
If it has not reached PI, can you check SXMB_MONI in ECC?
Regards
Krishna
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
if the message is not reaching PI some times there could be some issues with your report program.
check you are using correct function module and destination name in report program.
Can you share us the function module,destination name and your report program code?
Regards,
Muniyappan.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Muniyappa,
Please find the code below.
data : it_mara type table of mara,
wa_mara type mara.
select single * from mara into wa_mara where matnr = '000000000000000098'.
if sy-subrc = 0.
call function 'ZRFC_SW_TEST_PI' in background task destination 'ECC_PI'
exporting
brgew = wa_mara-brgew
ernam = wa_mara-ernam
ersda = wa_mara-ersda
gewei = wa_mara-gewei
* MAKTX = WA_mara-MAKTX
matkl = wa_mara-matkl
matnr = wa_mara-matnr
mbrsh = wa_mara-mbrsh
meins = wa_mara-meins
mtart = wa_mara-mtart
mtpos_mara = wa_mara-mtpos_mara
.
commit work.
Thanks
Vijay
Hi praveen, I have tried your suggestion also. But still the problem exists. Thanks Vijay
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vijay,
If you are using RFC,than create RFC destination of type T and provide program id and gateway service. Same program id and gateway service needs to be provided in PI communication channel so we need to create RFC channel and RFC adapter is on java stack and communication happens via Jco. so message keeps on jumping from one stack to another.
Please provide the program id and try after that.It will definetly work.
Regards,
Abhi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vijay,
It is just quick question.
Are you able to see this message inst PI moni. Why I am asking this question is because I just want to check whether message is coming to PI or not.
If yes,than can you please share the screenshot with pipeline steps.
One more important point I just want to check with you
As soon as you create Sender RFC communication channel,SAVE and ACTIVATE it.after that create RFC destination in R/3 side.
Regards,
Abhi
Hi Vijay,
Have you put the program id in the RFC sender communication channel?, have you got any exception in the st22 transaction in the ECC?, have you enabled the monitoring in PI?.
On the other hand i think you should consider to use the ABAP proxy like a sender instead of RFC, it works better.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vijay,
If you are using the integration engine in PI (sender agreement, receiver determination, etc) you can check like Michal Krawczyk said in its blog http://scn.sap.com/community/pi-and-soa-middleware/blog/2005/05/10/xi-i-cannot-see-some-of-my-messag...
Regards.
let me know if you perform the next configuration steps
create the comunication channel
check if the program ID exist in the ECC system ---> SMGW-->logged on client
Create a TCP/IP destination (SM59) --> select registered program option and put the program ID defined in the channel. (complete all the values strikethrough)
in the program make sure you are calling the funtion using a code like
Parameters: l_id type scustom-id default '1',
dest type rfcdes-rfcdest default 'XI_SERVER'.
DATA: l_scust type scustom,
mess_text(200).
CALL FUNCTION 'XXXXXXXXXXXXXXXXXXXXX'
destination dest
EXPORTING
i_id = l_id
IMPORTING
e_SCUSTOM = l_scust
EXCEPTIONS
NO_ENTRY_FOUND = 1
system_failure = 2 message mess_text
communication_failure = 3 message mess_text
OTHERS = 4
.
case sy-subrc. ...
endcase.
2011
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.