MDM key mapping: multiple fields?

Hallo,
is it possible to base key mapping on more than one fields?
From what i see key mapping is based on one field only...
Regards,
Marco

Hi,
is it possible to base key mapping on more than one fields?
From what i see key mapping is based on one field only...
yes, for that your field in Maintable should be Display field. So if you have two fields in Maintable then both of these fields can be used as key mapping in import manager while importing Data, in Match records tab,  you can also have option of using these fields as Split or Combine as per your requirement on the basis of which you want to insert data into MDM Data Manager.
Hope it will Help you,
Rewards if Useful.....
Mandeep Saini

Similar Messages

  • In XI Mapping multiple fields mapping to single target field.

    Hi Friends,
    In XI Mapping multiple fields mapping to single target field.
    For example my requirement is :
    Source Fields:(This RFC BAPI Structure)
    Empno                0-1
    EmpName           0-1
    Address             0-1
    Taget Field is:
    Details               0-1
    The above three fields passed to the Details Field. Here i am using Concat function
    But i have one query on that on,Every field having "line Break" required.
    Can you please help me out above this requirement.
    Thanks in Advance,
    Sateesh N.

    If you want a line break between the three fields, then try
    passing a,b,c to the udf and in the udf you would have
    return a+"\n"+b+"\n"+c;

  • Display MDM key mapping information in EP Item Detail iViews

    Hi,
    in my repository I have the main table 'customer' including key mapping information for several client systems (master data consolidation scenario).
    The customer data is diplayerd in EP using the Item Details iView. I'd additionally like to display the key mapping information in Item Details iView, for example as a separate tabstrip. Is this feature already supported by the Item Details iView? How can I implement it?
    I'm using MDM 5.5 SP3 / EP6.0 SP14.
    Thanks in advance,
    Martin

    Hi Martin,
    Currently iView do not support the functionality to disply the key mapping information.
    Workaround I implemented is that, added a field "source system" to main table with type lookup. Added lookup table "source systems" with list of names of client systems. This helps user search data based on client system name.
    I hope this is helpful.
    Abhay

  • MDM Key Mapping

    Hello Experts,
    Please help me to understand the Key Mapping concept in context to SAP MDM.
    How the key mapping values get created while importing the data through the import manager and what role key mapping playes while importing the reference or look up data for the first time.
    Thanks.

    Hello Rajan,
      As all of us one of the main functions of MDM is to eliminate duplicates ok?
      now let consider that you have 2 offices one at US and another in India. lets say that you use citi bank both in india and US to do the transcations, of course there are also some other banks that you deal with.
    As you know any transcation that you do with  CITI bank(US) is not same as CITI bank(IND). Which means even though the bank is same these two are 2 different entities.
    know lets built a table for list of banks that you do transcations both in india and US
      BANKS-US
       bank num - 1     bank name - barkalays
                - 2                 south american bank
                - 3                 millenium bank
                - 4                 Citi bank
                - 5                 american express
      Bank - IND
       bank num - 1        bank name - sbi
       bank num - 2                    ING Vysa
                  3                    citi bank
                  4                    punjab national bank
    now when we are import all these data into MDM citi bank will be always a duplicate records. BUT IT IS NOT ACTUALLY DUPLICATE since it record1 of citi bank belongs to US and other belongs to IND.
      So inorder to over come this one what I create tha remote system ( we can create this in remote systems table under admin node ) in MDM where  i name all the data coming from US as BANK-US and from IND as BANK-IND
    now when we import data into MDM we log in into respective remote system for example if I am to import data from US i specify my remote system as BANK-US and similarly with india and import data. So now when  you see the data in data manager you can find only 1 records of CITI bank.
      now if you want to see which citi bank it is right click press "edit key mapping" there you can citi bank record of both the systems.
    Similarly the same concept applys for objects also i.e when similar record belongs to two different objects

  • Send Multiple field values to Single Target field in Message Mapping

    Hi,
    My  Requirement is to Map Multiple fields to Single field in Target side.I have to send all the values concatenated and pass the same to target Field in Message Mapping.
    We can use Concat function,but more that 15 fields are there.If using concat,the mapping will be complex.
    Is there any way to simplify this requirement or we can use any UDF for this,kindly suggest.
    Regards,
    Madhu

    >>>We can use Concat function,but more that 15 fields are there.If using concat,the mapping will be complex.
    I don't think it's complex but  just that it occupies more mapping area
    Just write a simple UDF - a one line code and pass all your input variables.
    return var1+var2+var3+var4+...+var15;

  • Key Mapping MDM

    I am interested in knowing if anyone has interest in the ability to visualize graphically and manage key mapping external to the MDM.  Would you want the capability to automatically update the MDM from the graphical model?  Is there a similar capability offered by SAP or another organization?

    Hello Rama:
    First you have to create Client Systems on the MDM console, of type Inbound/Outbound.
    Then Enable the Keymapping feature for the table you are using (on MDM). Choose your repository, on the right pane choose the table, and on Table Details, choose Keymapping = Yes.
    When importing data on Import Manager, map the desired source field into the Remote Key field on MDM.
    When syndicating, depending on your client system, the right key will be retrieved, if for instance, customers are duplicated on both systems (r/3 and sql server) you'll get the corresponding key for each one.
    I hope that helps
    Regards
    Alejandro

  • MDM iviews in Portal throws error in key Mapping

    Hi,
    I have EP7 with SP15 and MDM 6.0, recently upgraded. Before upgrade we have an application which uses the MDM iviews and maps the fields of one table to other and displays in some other iview.
    The application was working fine before upgrade of MDM. But after upgrade, the mapping seems not working.
    My scenario is as : Using MDM Search iview, I search records from MDM repository, Main Table. This result is displayed in MDM Result iview. From this result iview, I select a record. From this selected record, a field is mapped to the other table. The mapped record, then, is displayed in MDM Details Iview.
    After MDM upgrade, whenever we select a record from the result of table 1,the mapped iview throws erros :
    Error occurred: Error performing search. com.sap.mdm.internal.protocol.manual.ServerException: Illegal value for parameter,  com.sap.mdm.internal.protocol.manual.ServerException: Illegal value for parameter (see log for details)
    when serached log : it says error in <table 1>-Key mapping  <table1> is first table.
    We have used EPCF eventing for MDM iviews.
    has anyone out there faced same issue ?
    Please let me know your views.
    Regards,
    Abhijeet

    Hi Abhijeet ,
    check the below wiki
    findout anything is needed related to keymappings
    "if Keymapping is selected, your Result Set iView only displays fields that are related to key mapping.This step depends on the search table selected and the schema of the repository that you are connected to"
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/ep/set%2biviews
    check the search table and schema of repository properties you connected
    Koti Reddy

  • SAP MDM 7.1 Vendor Number and key mapping

    We are importing data for vendors whcih DO NOT have any VendorNumber now. (they have some the VendorNumber but not one which can be used in the field Vendor Number.)
    We have to generate the VendorNumber during oar - better - after the import.
    There is not problem creating is after the import with a simple assigmment statemen which contains some rules.
    So far so good.
    The pitfall in creating the number AFTER the import is that NO remote keys are generated.
    Any idea how to create these keys AFTER or DURING import IF hte venoder number is assigned during or after import?

    Hi Lutz-Peter,
    Any idea how to create these keys AFTER or DURING import IF the venoder number is assigned during or after import?
    During Import, if you have local keys for each of these remote system, you can maintain it using Remote key concept.
    But you must have one Matching field(Global ID) for this. Since you are creating Vendor key centrally in MDM using MDM Data Manager. Are you exporting data to different remote systems after creating Vendor number centrally in MDM(which can acts as Global ID) If yes then after data created into Remote systems, you can bring Local ID of remote system with this Global ID during import. 1stly, for this your main table property Key Mapping = yes should be enabled in MDM console.
    So during import you should open MDM Import Manager by selecting required Remote system, you will get one more field in target Remote Key, map this target field with with source Local ID field along with other fields like Global ID etc. So in this you will have your Remote Key for Remote systems.
    However Remote Keys depends on how are you creating Local ID(remote Keys) for remote systems, i mean in Remote systems itself or through MDM Syndicator using Remote system Key Generation concept.
    Regards,
    Mandeep Saini

  • Primary key based on multiple fields which are of a custom class type

    Hello!
    I have the following two classes.
    public class Application
    protected String appName;
    protected Set moduleOptions = new HashSet(); //Set<ModuleOption>
    public class Option
    protected String name;
    protected Application application;
    Now, I need for Option to have a composite primary key based on both its
    fields. How do I do this?
    For starters, I just need a few hints on how this should be done in Kodo
    because I already have this thing working in JPOX and that solution does
    not map directly to Kodo. JPOX defines the OptionPK (primary key class)
    to contain field ApplicationPK, and not Application. But Kodo does not
    accept this because of a mismatch between fields in class and its primary
    key class. (Not implying that Kodo should accept the same kind of
    solution.)
    Btw, I'm evaluating version 3.2.3.
    Thanks in advance!

    Viktor,
    The typical Kodo pattern for doing this is to create a private field in
    Option for each primary key in Application, map those fields as
    primary-key (but not the field of type Application), and therefore put
    those fields in the OptionPK. These fields should then be mapped to the
    same columns as the Application reference. Then, set the primary key
    fields to the same value as they are in the related object.
    Kodo allows multiple fields to be mapped to the same column in the
    database, and throws an exception if your actions would set the column
    to different values. So, typically, this might look like:
    public class Application
    protected String appName; // I'm assuming that this is the PK
    protected Set moduleOptions = new HashSet ();
    public class Option
    protected String name; // pk
    protected Application application; // not pk
    private String applicationAppName; // pk
    public Option (String n, Application a)
    name = n;
    application = a;
    applicationAppName = a.appName;
    -Patrick
    Viktor Matic wrote:
    Hello!
    I have the following two classes.
    public class Application
    protected String appName;
    protected Set moduleOptions = new HashSet(); //Set<ModuleOption>
    public class Option
    protected String name;
    protected Application application;
    Now, I need for Option to have a composite primary key based on both its
    fields. How do I do this?
    For starters, I just need a few hints on how this should be done in Kodo
    because I already have this thing working in JPOX and that solution does
    not map directly to Kodo. JPOX defines the OptionPK (primary key class)
    to contain field ApplicationPK, and not Application. But Kodo does not
    accept this because of a mismatch between fields in class and its primary
    key class. (Not implying that Kodo should accept the same kind of
    solution.)
    Btw, I'm evaluating version 3.2.3.
    Thanks in advance!

  • Can Key Mapping details be available as a serach parameter in MDM DM?

    Hello Experts,
    Is there any way that we can display or search certain Records in Data Manager/Portal based on the Key Mapping details (Remote System/Key Value assigned for any remote system).
    The scenario where I am trying to apply this is:
    I have say lacs of records in MDM and i have merged certain records into a new record (Record1) and assigned key mappings to this record1 to point to System1 and System2. 
    System1 has the key value as ABC and System2 has value set as DEF. If any user wants to now find the merged record based on the key value of system2 (i.e DEF), how will he proceed?
    Kindly advice.
    Thanks and Regrads,
    Elizabeth.

    Hi Elizabeth,
    In MDM Data Manager, once the record is merged you can see only one record in place of all merged records.
    In your case ABC from system1 and DEF from system2 are merged into ABC.
    So in data manager you can just search the record based on ABC but not DEF.
    However, if you select the record ABC and right click and select Edit key mappings, then you will see both the records and its respective system.
    So the work around is using syndicator, send the records in excel sheet or CSV file where you can send both the merged records with merged values.
    The users can make a search in that CSV file with DEF as well.
    Regards,
    Sravan

  • MDM Exception: Key mapping value must be unique. You cannot overwrite key

    "ServerException: Key mapping value must be unique. You cannot overwrite key mapping values."
    I received such exception when code tried to manipulate Key Mappings of the record.
    error was not happen on mdm 5.5 but on 7.1 it sometimes appears.
    What is probable reason of this?
    How to resolve this ?
    Code is approximate so:
                                         String[] keys = keyMapping.getKeys();
                        if (recordKeyMapping.containsKeyMapping(remoteSystem)) {
                    recordKeyMapping.replace(remoteSystem, keys);
              else {
                   recordKeyMapping.addKeyMapping(keyMapping);
              //Persist
              targetRecord.update();
    //where methods are:
         public void replace(RemoteSystem remoteSystem, String[] keys) {
              KeyMapping keyMapping = getKeyMapping(remoteSystem);
              if (keyMapping == null) throw new IllegalArgumentException("Can't update keys: key mapping for the system '" + remoteSystem + "' is not found");
              else {
                   keyMapping.setKeys(keys);
         public void addKeyMapping(KeyMapping keyMapping) {
              RemoteSystem remoteSystem = keyMapping.getRemoteSystem();
              for(int i = 0; i < keyMapping.size(); i++) {
                   addKey(remoteSystem, (String) keyMapping.get(i));
    Edited by: Vladimir Grigoryev on Oct 5, 2010 11:26 AM

    Hello -
    I am not sure on that coding part. but is it like are you trying to retrive Key Mapping from Memory accelerator. Here this information always needs to be read from Database.
    I am sure you also maintained  the required attribute for key mapping as in Property in Console should be set as "Yes" and other relevant things properly .
    Here also go through the below link for more insight from tools perspective.
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30843106-5539-2b10-75a9-da483911b0d9
    http://help.sap.com/javadocs/mdm/sp06/com/sap/mdm/data/KeyMapping.html
    It may help
    Rgds
    Deep

  • MDM API to read the Record Key Mapping table

    Hi,
    Does anybody know what class/method I can use to read the Record Key Mapping table?
    For the Business Partner table the Key Mapping table has this columns:
    <u>Default / MDM Partner ID / Remote System / Key</u>
    I have everything but the Key. How can I read it?
    Thanks in advance,
    Diego.

    GetKey Mapping is one of the available Web Services as of SP4.
    Else you could use the Java API to get the Key Mapping.
    <b>CatalogData class</b> has the following method
    <b>GetKeyMapping</b>
    public java.lang.String[][] GetKeyMapping(java.lang.String agency,
                                              java.lang.String table,
                                              int[] recordIDs,
                                              boolean isDefaultKeyOnly)
                                       throws StringExceptionRetrieves the key mapping for each record.
    Parameters:
    agency - the agency name.
    table - the table name.
    recordIDs - the list of records.
    isDefaultKeyOnly - True to retrieve only the default value, False to all key values.
    Returns: the key values for each record.

  • MDM API for key Mapping.

    Hi All,
    Can anyone tell me how to use MDM API for updating key mapping ?
    I want to create a webservice which will take customer,client system and key for updating key mapping in mdm.
    Can anyone give me clue on this

    Hello Rama:
    Under Java you can do these things:
    Delete key mapping:
    CatalogData.DeleteKeyMapping(ClientSystem : String, Table :
    String, RecordID : int, Keys : String[])
    Argument Description
    ClientSystem -> Client system name
    Table -> Table name
    RecordID -> Record ID
    Keys -> Remote keys to remove
    Set a new keymapping:
    CatalogData.SetKeyMapping(ClientSystem : String, Table :
    String, RecordID : int, Keys : String[], DefaultKeyIndex
    : int)
    Argument Description
    ClientSystem ->    ClientSystem name
    Table ->           Table name
    RecordID ->        Record ID.
    Keys ->            Remote Keys you want to add
    DefaultKeyIndex -> Index entry into the key parameter
    indicating the key value as the default.
    I hope that helps
    Alejandro

  • MDM 2.0  - OCI mapping of field "Price Information"

    Hi SDN,
    we are on SRM 5.0.
    we are setting up MDM 2.0. We do a new installation, although we were already on MDM 1.0. Anyway, we want to keep the repository from MDM 1.0.
    Right now we have problems transferring the price of shopping cart positions from the MDM Web Search UI  to EBP.
    what we did so far:
    1. set up j2ee server and oracle
    2. set up MDM 2.0 Server
    3. Deploy MDM 2.0 SP 2.0 Java API and UI stuff to j2ee
    4. set MDM 1.0 Repository in the appropriate place in the file system of MDM Server and unarchived it in the MDM console
    5. run repository upgrade using link from upgrade guide (http://<j2eeserver>:50000/webdynpro/dispatcher/sap.com/tcmdmsrmcat~uiutil/Utilities)
    6. upgrade configuration (same link as before, but step 2)
    still, in the OCI Mapping for price, I still have "price - amount" mapped on NEW_ITEM-PRICE
    and still, the price, which I can see in the search UI, is not being transferred to EBP...
    I am not sure, if I have to have "Price Information - amount" available as OCI mapping field. Right now, this is NOT the case. In MDM 1.0 it used to work fine with "Price - amount"
    In my repository in table cataloge items I have the field "Price Information" which is a qualified lookup table, based on look up table "Price". "Price" contains the field amount, which carries the price value.
    any clues welcome - regards, Matthias
    Edited by: Matthias Kasig on Dec 20, 2007 4:25 PM

    Hi Masa,
    just another brief status Q:
    Now I am able to receive the price in EBP.
    But this is a workaround. Just for a test I did a new OCI mapping like this:
    I leave the OCI field NEW_ITEM-PRICE blank and use instead
    NEW_ITEM-CUST_FIELD4 --> mapped on --> Price Information - Amount.
    Thus I am able to get the value of the price field in my BADI bbp_catalog_transfer.
    There seems to be a mismatch of field types. In the MDM Console the amount field is of type 'currency' - I assume this is decimal in fact.
    In my incoming structure in the BADI I have tabletype catalog_content which is based on structure BBP_WS_OCI_ITEM_S which carries field price of type DEC...  seems reasonable to me - but in the debugger I can't see the incoming price value. Instead now I use BBP_WS_OCI_ITEM_S-CUST_FIELD4 which is of type CHAR20. This works! I regard this as a workaround and I am still researching to get the price field mapped correctly to the proper price field in my BADI.
    Masi: Concerning your weblog and SLG1 and Errorlog BTC1...
    I set up in SPRO the MDM Catalog and also checked "use error log" for the catalog - still
    I wonder how I can access this log and esp the OCI fields -- can you guide me there?
    I was clicking through the entries of SLG1 but don't get to see the OCI fields of the transfer, though an entry which is because of the data transfer from mdm towards EBP.
    kind regards, matthias
    btw: SDN was down, hence the delayed response

  • Mapping Multiple Source fields to Single Target Fields with differnt Values

    Hello Friends,
    I am having a senario  where I have to mapped multiple fileds from source str. to same Idoc Fields with ( differnt default values )
    E.g Source Str.
    - ShopNO
    - OrderTyp
    Has to mapped to Idoc Str E1EDK14-Orgid.
    E.g Mapping:
    So when ShopNo will mapped to E1EDK14-Orgid the default value should be "MOP" & E1EDK14-Qualf should be 019
    and when OrderType will be mapped to E1EDK14-Orgid the default value should be "STD" & E1EDK14-Qualf should be 012
    So I tried of using node "UseOneAsMany".....but there I cant define the vaule of field orgid, and seconly how to specify the values of field Qualf?
    Do i need to write my own specify function ? or I can sovle this issue using standard avaiable functions ?
    Regards,

    Hi Ravi,
    Thanks for your reply....
    I am facing following problem... when I try to duplicate the segment and do mapping....... and then when I save, I got following error msg:
    The source or target structure has been changed or could not be found in the Integration Repository. The mapping definition contains elements or attributes that do not exist in the changed structure. The relevant entries will be deleted
    Target structure has no such path: /ZARVO_ORD/IDOC/E1EDK05[1]/KSCHL. Skipping mapping
    Target structure has no such path: /ZARVO_ORD/IDOC/E1EDK05[1]/KRATE. Skipping mapping
    Any suggestion ?
    in other words, when I do duplicate it creates me the segment, but when I save it, it gets disappered .........
    Regards,
    Edited by: Shah H on Oct 26, 2009 3:17 PM

Maybe you are looking for