cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping...

Former Member
0 Kudos

could you tell me if the following scenario is possible and if so then how to achieve it....

system a sends data to xi

during the mapping an rfc call or something similar is made to a table somewhere and based on a field i.e. name

certain data is returned i.e. address, post code, telephone number.

the data that is returned is depoendent on what the name field contains. i.e. if name = xxx return xxx's address , post code etc

but if name = yyy then return yyy's address post code etc...

is this possible within the mapping function in XI and are their tables you can create in xi with this data.

is it also possible to implement this scenario by using an rfc call within the mapping to a table on an r/3 system or a table on the abap stack of the XI system....

please take the ti,e to answer all of the questions on whether a particular scenario is possible and where you can provide me with the steps or a blog to configure this...

Accepted Solutions (0)

Answers (1)

Answers (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>>is this possible within the mapping function in XI and are their tables you can create in xi with this data.

sure you can use RFC API for that

but more standard is to use a BPM and make the RFC call there

and just use a mapping 2 messages to 1 (one of the two is the RFC response)

>>>>is it also possible to implement this scenario by using an rfc call within the mapping to a table on an r/3 system or a table on the abap stack of the XI system....

usually in R3 as you don't need to maintain the same set of data in two systems

Regards,

michal

Former Member
0 Kudos

Can anyone please elaborate a little more so that i can fully understand the options available to me and which is the most robust/easiest to configure

Former Member
0 Kudos

You can also achieve this using the value mapping .

You can maintian a table within XI and use it to fetch the values based on the keywod .

/people/community.user/blog/2007/01/08/valuemapping-using-the-graphical-mapping-tool

Another approach would be to maintain a table in an external database and use a UDF to fetch your desired values (address ,etc ) based on your keyword (name)

Bipin

Former Member
0 Kudos

bipin,

thank you... so are you saying that just by providing the name i can populate 3 target fields or would i have to have a separate value mapping table for each target field

Former Member
0 Kudos

Hi,

If u intend to do the RFC through mapping here's what you have to do;

Make a JCO connection through an UDF. And right the following code.

This would be the code:

JCO.Client mConnection = JCO.createClient( "170", "username", "password", "Language", "server", "01" );

mConnection.connect();

mRepository = new JCO.Repository("XI Lookup", mConnection);

JCO.Function function = null;

IFunctionTemplate ft = mRepository.getFunctionTemplate("RFC Module Name");

function = ft.getFunction();

JCO.Field input1 = function.getImportParameterList().getField("parameter that u need to pass");

JCO.Field input2 = function.getImportParameterList().getField("parameter that u need to pass");

input1.setValue(Parameter 1);

input2.setValue(Parameter 2);

mConnection.execute(function);

mConnection.disconnect();

If u intend to make the RFC through BPM, then u would have to make a synchronous RFC call as one of your steps.

Former Member
0 Kudos

You need to make 3 separate tables