cancel
Showing results for 
Search instead for 
Did you mean: 

Interface determination based on condition

Former Member
0 Kudos

Dear Experts,

We have to choose the interface in interface determination based on the characters 4-6 in the filename.

I am using the context object for filename in the condition for interface determination. How to get the characters 4-6 of filename in the condition ? Please help

Thanks,

Aju

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

In an enhanced interface determination you do not enter the inbound interfaces manually, but instead first select a multi-mapping. You get the inbound interfaces from the target interfaces of the multi-mapping. The inbound interfaces are determined at runtime during the mapping step

step by step guide [http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/frameset.htm]

jagesh_lakdawala
Active Participant
0 Kudos

Hi Aju,

It is quite obvious that in context based Interface mapping, you will get entire filename and not 4-6 characters. for this purpose there are two options available.

(1)use BPM as suggested by someone in this thread

(2)Include the filename(4-6) characters in your input file, so that you can read it in your source message structure and then use the XPath base Interface determination. this would be easy for your instead of

having twice message mappings.

Thanks & Regards

Jagesh

Former Member
0 Kudos

Hi ,

I am trying to use wildcards in the condition in intefrace determination. eg filename = kk. It works but when i use ???kk* for specifiying position it fails . any clues . is it possible ?

Thanks,

Aju

former_member581827
Participant
0 Kudos

Hi,

I am still surprised like how can we keep conditions in interface determination.

Regards,

Chandra.

Former Member
0 Kudos

Hi,

in your condition, try this filename ~~ (likes operation) ???kk* .

Regards,

Rajeev Gupta

jyothi_anagani
Active Contributor
0 Kudos

Hi,

Its True. How can we give condition in Interface Determination. We can give condition in Receiver determination. Please check it once.

Thanks.

former_member181962
Active Contributor
0 Kudos

Hi Jyothi/CHandra,

yes, we can give.

Go to edit mode in the interface detemination.

Press the + Button.

Then you can see the Condition Column

Regards,

Ravi kanth Talagana

jyothi_anagani
Active Contributor
0 Kudos

Hi,

Thank You Ravi. I got it now.

Thanks.

Former Member
0 Kudos

Hi ,

I am using ~ , * works but ? does not , any idea ?

Thanks,

Aju

former_member181962
Active Contributor
0 Kudos

Use the substring function in the XPATH expression.

something like

substring(<Your file name>, 4, 2) = "kk"

Regards,

Ravi Kanth Talagana

Former Member
0 Kudos

Hi,

this is strange...........? should also work in your condition..........

just to check - first give only one ? in condition and give such an input file and see whether your condition is working..........then increase the number of ? in condition and check the filename also for spaces and other characters in the filename to see if the condition is getting satisfied or not........

if nothing works, then ask your basis guys to do a full CPACache refresh using PIDIRUSER....then rerun your scenario.

Regards,

Rajeev Gupta

Former Member
0 Kudos

Hi All ,

It should be + and not ? . Solved . Thanks everyone

Thanks,

Aju

Former Member
0 Kudos

Add one more mapping and in that you store the file name in some field, now use the target of this mapping as source for your second mapping. So now when you do your conditional Interface determination then you can chose the file name from the source of second mapping.

Regards,

Sarvesh

VijayKonam
Active Contributor
0 Kudos

But the issue is, unless an inbound interface is identified, interface mapping will not execute and that means, message mapping would not execute by that time.

VJ

Former Member
0 Kudos

Use BPM for first mapping by using different interface mapping and then use the output of this BPM as a source in your second mapping.

VijayKonam
Active Contributor
0 Kudos

I dont think it is possible because, even message mapping also not gets executed by that time..!!

VJ