cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with Value Mapping table

Former Member
0 Kudos

Hi

I want to upload a external value mapping table to XI.

I do not want to code for it on the SAP R/3 side. and there might be more than 2000 value mappings. so can we upload a external mapping table.

Is it possible?? if yes, then how??.

Thanks

Nikhil

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member185846
Active Participant
0 Kudos

Hi Christian,

Your reply was very helpful. But I've a doubt on it

<b>If you already have a sender for the mapping data, the next step is to configure the scenario in the directory??</b>

<b>My sender is a R/3 System table</b>.

<b>Can I create the ABAP outbound proxy from the R/3 system and make it communicate with Java inbound proxy in XI?</b>

Also, in the Design (Integration Builder) part <b>do I need to copy the objects (ValueMappingReplication, ValueMappingReplicationOut) from SAP Basis 6.4 to my scenario</b> and create a mapping (Message and Interface Mapping)?.. Is it mandatory?..

Thanks,

Jothivel.

Former Member
0 Kudos

XI 3.0

Hi,

first of all one helpful information:

You can see all data of the value mapping tables using the

runtime workbench: Go to the IntegrationBuilder->

Integration Monitoring->Cache Monitoring, select 'Search

for Value-Mapping' and choose your context.

The value mapping tables are located in the J2EE part of

XI. You have to send your value mapping data to an Java proxy

located in the J2EE part. First, the inbound proxies

(synchronous and asynchronous) need to be activated.

There are two urls, named in the docu, you have to call

from a web browser:

(asynchronous replication scenario)

http://<Server>:<Port>/ProxyServer/register?ns=http://sap.com/xi/XI/System&interface=ValueMappingRep...

(synchronous replication scenario)

http://<Server>:<Port>/ProxyServer/register?ns=http://sap.com/xi/XI/System&interface=ValueMappingRep...

You only need to perform this step once (for each

installation).

If you already have a sender for the mapping data, the

next step is to configure the scenario in the directory

Create a communication channel with

Adapter type: XI

Transport protocol: HTTP 1.0

Message-Protocol: XI 3.0

Adapter-Engine: Integration Server

and host name and http port of the XI J2EE Engine and Path Prefix: /MessagingSystem/receive/JPR/XI

The user XIAPPLUSER has the required permissions.

For an asynchronous communication you can use the

inbound interface ValueMappingReplication from the namespace http://sap.com/xi/XI/System.

In that namespace there are also outbound interfaces you

can use to generate a sender proxy and synchronous

interfaces for the same purpose. Set the created communication channel as the receiver channel.

You may need a mapping and so on depending on your

sender. If you use the provided outbound interfaces there

is no mapping required.

The Data:

You can create your own GUIDs using some function like GUID_CREATE in ABAP. You don't need to declare the context you use. Something like http://mycompany.com/Test should be ok.

A sample in ABAP:

CRM and R3 are the names of the business systems.

data: lcl_value_mapping type ref to co_svmr_value_mapping_rep,

ls_value_mappings type svmr_value_mapping_replication,

ls_item type svmr_value_mapping_rep_item,

lcl_system_fault type ref to cx_ai_system_fault.

ls_item-operation = 'Insert'.

ls_item-group_id = '315286378563858425463215845123548'.

ls_item-context = 'http://Test'.

ls_item-identifier-scheme = 'FormOfAddress'.

ls_item-identifier-agency = 'CRM'. <- Business System A

ls_item-identifier-value = '2'.

append ls_item to ls_value_mappings-value_mapping_replication-item.

ls_item-operation = 'Insert'.

  • Use the same guid for another value of the same group

ls_item-group_id = '315286378563858425463215845123548'.

ls_item-context = 'http://Test'.

ls_item-identifier-scheme = 'FormOfAddress'.

ls_item-identifier-agency = 'R3'. <- Business System B

ls_item-identifier-value = '1'.

append ls_item to ls_value_mappings-value_mapping_replication-item.

create object lcl_value_mapping.

try.

call method lcl_value_mapping->execute_asynchronous

exporting

output = ls_value_mappings.

commit work.

catch cx_ai_system_fault into lcl_system_fault.

write: 'Error: ', lcl_system_fault->errortext.

endtry.

See the XI documentation at SAP XI Design and Configuration Time -> Configuration -> Value Mapping -> Value mapping Replication for Mass Data.

Hope that helps.

Regards,

Christian

0 Kudos

Hi Nikhil,

You can use message interfaces (value-mapping replication interfaces) to replicate value-mapping data from other applications in the runtime cache (in the integration server). The interfaces available enable you to create both synchronous an asynchronous replicatin scenarios.

The value-mapping replication interfaces are part of SAP XI shipment. You can locate them in IR in the s/w component SAP BASIS, SWCV 6.40 in namespace http://sap.com/xi/XI/System

Let me know if you would like to know steps to do the same.

Bye,

Sachin K

Former Member
0 Kudos

Pl. send the steps. I think that'll help others.

Thanks

JK
Contributor
0 Kudos

Hi

i also tried to post some entrys and played around

with this value mapping replication interface

it can be found in the documentation

see

http://help.sap.com/saphelp_nw04/helpdata/en/2a/9d2891cc976549a9ad9f81e9b8db25/frameset.htm

but so far i had no success

i sent the message

<?xml version="1.0" encoding="utf-8" ?>

<ns1:ValueMappingReplication xmlns:ns1="http://sap.com/xi/XI/System" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Item>

<Operation>Insert</Operation>

<GroupID>GroupIDCRM01</GroupID>

<Context />

<Identifier scheme="Company" agency="CRM">CRM01</Identifier>

</Item>

<Item>

<Operation>Insert</Operation>

<GroupID>GroupIDCRM01</GroupID>

<Context />

<Identifier scheme="Customer" agency="SAP">123</Identifier>

</Item>

</ns1:ValueMappingReplication>

to that interface

but corresponding to the documentation the GroupID should be a GUID and i am not shure about the function of the field Context here.

the asynchronous interface gives a successfull

message, but i cannot find any entries in the

value mapping table

is there somebody who successfully inserted some

values?

joerg

MichalKrawczyk
Active Contributor
0 Kudos

> the asynchronous interface gives a successfull

> message, but i cannot find any entries in the

> value mapping table

but don't you think that it's correct?

help:

You cannot display the replicated value mapping data in the Integration Directory user interface (see Displaying/Editing the Value Mapping Table) since the original runtime data is stored in the application from where the data is copied

Regards,

Michal Krawczyk