cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PI - Checking field content to send to another C.Channel

Former Member
0 Kudos

Hi Experts,

I'm currently working on a scenario on PI using file content conversion.

It is for incoming scenario.

PI will received file and then will push to SAP.

In the scenario we have to:

- Once file is received in the sender communication channel repository , do a control on a field of the file.

The control is done by calling an RFC function on abap stack of PI.

- If control is OK, file should be processed (mapping and conversion to recevier communication channel)

- if control is KO, we should put that file in an error repository.

For that case (KO case) I'm no able to find how to do it.

I heard that we could do in receiver determination, by adding a control. If the control is KO, we should push to another communication channel used for errors. But I don't see how to make a condition to check a field content here.

Does anyone have some idea of how this could be done ?

any idea is welcome

Thanks,

S.N


Accepted Solutions (0)

Answers (1)

Answers (1)

iaki_vila
Active Contributor
0 Kudos

Hi,

First of all i havent clear what is your whole scenario, FILE – FILE  or File - (ABAP Proxy or RFC).  I suppose you are in a FILE – FILE scenario with ESR development and the consequent File Content Conversion.

If I understand you right you would need a validation between the source system and the target system and you are doing a RFC Lookup or ABAP mapping calling a RFC inside the PI ABAP stack.

In that ABAP code you can generate a new XML internal payload  tag with the Target System then in the ICO object or in the ReceiverDetermination acces to this new tag payload and redirect your message to the Error folder, the Ok folder, etc.

Regards.

Former Member
0 Kudos

Hello Inaki,

thx for your answer.

Yes it is a file - file scenario (not abap proxy or RFC).

Yes we have done ESR dev and we use File content conversion.

Yes , we would like to call an RFC via an RFC lookup (as it could be done in mappings) on a field fo the file.

If the function returns an "OK" (field controled has correct value) we would like to process the file normally.

But if the function returns a "KO" we would like to move that file to another folder (via another comm channel I suppose) for these erroneous files.

The function, in fact, we cannot change it, it is used by multiple other interfaces here and we are not allowed to change it.

But we have to use it to do the control ...

In receiver determination , I saw that conditions on file fields could be added but I did not find where we could do an RFC lookup here. only I found simple conditions (= , <>, EX, ...).

My hope was to be able to add this control here and then if control is KO, to use the option "Select the following receiver if no receiver is found' (to choose a new communication channel for eroneous files).

I'm checking how to do on receiver determination cause I heard could be done there.

But maybe other ways are possible.

Hope it is more clear.

And Thx for the help.

S.N