cancel
Showing results for 
Search instead for 
Did you mean: 

4.6 RFC and PI....

Former Member
0 Kudos

Hey,

Is this possible ??

You import the RFC structure from 4.6 into PI where you have 3 tables defined xxx, yyy and zzz. All have been defined under the "tables" tab in SE37 for that function module. In PI, you use xxx as inbound parameter and again xxx as outbound parameter.

So u think when values are passed from PI back to 4.6 RFC, will the xxx get changed values ?

Is there any setting to be done for this ?

Or

should I have to define another table say mmm (just like xxx in 4.6 ) and the outbound in PI is mapped to this mmm ?

I suspect if ABAP is able to take back the changed value from PI. But i am not sure if PI can really use the same table as both inbound and outbound ??

Any idea ?

thks

Accepted Solutions (0)

Answers (3)

Answers (3)

dharamveer_gaur2
Active Contributor
0 Kudos

Hi

Check your Response Payload in SXMB_MONI, might be corresponding value not exist in R/3 that passed by you.

Try to send value that already exist, so you can get response.

Former Member
0 Kudos

Thanks to all for trying to help me resolve this issue. Yes I did check the payload response from PI , that XML file has exactly the values that are passed back to the RFC in 4.6 !! So PI is passing the values perfectly. But in 4.6 I am not getting the values !! Let me show u my code snippet...

Main program

Data declaration has declaration of internal tables as

DATA: BEGIN OF *inpdata OCCURS 0,

belnr LIKE bsid-belnr,

vbeln LIKE vbak-vbeln,

END OF *inpdata.

DATA: BEGIN OF *vbapdata OCCURS 0,

vbeln LIKE vbap-vbeln,

posnr LIKE vbap-posnr,

....

....

END OF *inpdata.

*inpdata is populated with just the belnr values...vbeln is empty. and this is what is passed from 4.6 to ECC 6.0 thru my RFC as shown below.. Also the abap proxy in ECC 6.0 returns values in *vbapdata as well fills the vbeln in inpdata and passes it back to PI and PI in turn passes it back to 4.6

CALL FUNCTION 'Zget_result_data' DESTINATION 'z_ecc_dest'

TABLES

INP_DATA = *inpdata

VBAP = *vbapdata

EXCEPTIONS

SYSTEM_FAILURE = 1 MESSAGE l_msg

COMMUNICATION_FAILURE = 2 MESSAGE l_msg.

COMMIT WORK.

In PI, INP_DATA is used in inbound message and both INP_DATA and VBAP are used in outbound.

I am able to receive values in *vbapdata. But *inpdata contains just those belnr values that were passed from 4.6 to ECC 6.0 and not teh vbeln that were populated by ECC 6.0.

I tested the proxy at ECC 6.0 independently, it retrieves the values...

I checked the response XMLs from PI to 4.6 and it contains the belnr and vbeln !!

So what is going wrong !!

I hope I have explained clearly what I have in hand...

any more suggestions ?

thanks

Former Member
0 Kudos

Hi

You mean to say that PI SXMB_MONI has the field in technical routing and its not avaialble in 4.6 RFC call.

Can you just take the payload from XI and debug the report. If the issue is at some other place.

Thanks

Gaurav

Former Member
0 Kudos

Hi all,

I tried my best to resuse the same internal table to receive the values from PI but that did not work and not able to figure out so far why !!

So I had to use the workaround of receiving the data back in another internal table in 4.6. This solved my problem as of now.

Hence closing this thread.

thanks to all for ur time.

prateek
Active Contributor
0 Kudos

So u think when values are passed from PI back to 4.6 RFC, will the xxx get changed values ?

Yes, it will get changed.

Is there any setting to be done for this ?

Just use the interface for sync scenario.

should I have to define another table say mmm

No need

Regards,

Prateek

MichalKrawczyk
Active Contributor
0 Kudos

hi,

>So u think when values are passed from PI back to 4.6 RFC, will the xxx get changed values ?

>Is there any setting to be done for this ?

this is how RFCs work in standard so with PI also

table parameters are passes in both directions

there are no settings for that the call just has to be synchronous

Regards,

Michal Krawczyk

http://mypigenie.com XI/PI FAQ

Former Member
0 Kudos

Thanks to all for confirming my understanding.

But still I am not able to get back the values from PI to 4.6. Can there be any other reason ?? I am able to see the values in form of XML that are passed from PI to 4.6.

thks

prateek
Active Contributor
0 Kudos

What is your end-to-end scenario? Check response mapping if it is populating the RFC values or not.

You may check the response mapping in sxmb_moni of XI.

Regards,

Prateek

Former Member
0 Kudos

Hi

Check with PI SXMB_MONI that at what point PI is not able to process your message and rectify it.

Check with mappings and Source and response message. If they are correct

Thanks

Gaurav