cancel
Showing results for 
Search instead for 
Did you mean: 

using xml schema problem (SAP MDM 7.1 Syndicator)

Former Member
0 Kudos

Good day !

I try to syndicate directory which correspond to some xml-schema and I have a problem.

I want to syndicate data from hierarchy table which have one field which have a type like lookup <Flat> (multivalued).

In XML-schema element "DEF_PRODUCT" and "DEF_PRODUCT_CODE" - attribute presents hierarchy table.

"CREDIT_PRODUCT" and childs presents linked flat table.

According idea and business rules I must get the result like this: each "DEF_PRODUCT" have N-"CREDIT_PRODUCT". One - to- many.

But when I set up all map completely and look to xml result file I start to be disappointed.

XML result file approximately must be like this:

 
<DEF_PRODUCT>
    <CREDIT_PRODUCT/>
    <CREDIT_PRODUCT/>
    <CREDIT_PRODUCT/>
    ................................
</DEF_PRODUCT>

but in result I have all <CREDIT_PRODUCT> in one node and child attributes.

I attach 3 pics which explain my situation.

xml-schema :[http://xmages.net/storage/10/1/0/6/3/upload/42ca6ca8.jpg]

field mapping: [http://xmages.net/storage/10/1/0/6/a/upload/bbbc09f2.jpg]

example: [http://xmages.net/storage/10/1/0/c/c/upload/817b0e23.jpg]

Anybody can help me?

About software : SAP MDM 7.1 (7.1.04.139)

P.S: My problem can be resolved succesfully if I will use 1 <main> table and 1 <qualified flat> table.

But in my case I must use hierarchy - structure because it most usable for business - users

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Can you try to use a tuple in order to substitute a qualified table? You should be able to create this on hierarchy tables.

Best regards

Christian

Former Member
0 Kudos

Christian, I added tuple-field to hierarchy - table and it was very successful course!

I got all that I want !

Thank you for your best reply !

And now, I get new problem.

If you look at added pic, look at a tuple:

Tuple have a child like "[Remote Key]". Where is [Remote System]?

Export xml-file must contain [Remote System] from tuple...

pic:[new problem|http://xmages.net/storage/10/1/0/9/8/upload/16d69d1a.jpg]

Former Member
0 Kudos

Hi,

there is no remote system field. You specify the remote system when you create a new syndication map. The map then knows, which values to choose for the remote key. If you need the remote system in a field, you should not map the field and enter the remote system using the Static Value parameter in field SYSTEM_ID in the Destination Items.

Later you will assign the map to a port. Also there, you will again specify the remote system.

Hope that helps.

Best regards

Christian

Former Member
0 Kudos

Hi, thanks for reply.

My problem couldn't be resolved because , I think MDM Syndicator don't give me opportunity to select pair like "RemoteSystem / RemoteKey" in each linked lookup - table (look at my example).

In our <LookUp> tables, which contains many records which have many values like RemoteKey.

In output result XML we MUST write each value.

This situation is inconvenient for me, because I want to do steps like this :

1) To create new map, choosing RemoteSystem and *.xsd file.

2) To link fields from source items / destination items and to get FULL node like "RemoteSystem / RemoteKey" from each <LookUp> table

3) To get result XML - file .

Former Member
0 Kudos

Hi,

that is correct. By design MDM allows you only to syndicate keys for the remote system you specified in the map and port information.

If you need to syndicate all system/key pairs, you may want to think about another tuple that contains two fields: Remote System and Remote Key. Here basically you rebuild the same logic of remote key mapping, but with much more control over how to consume this information.

The tuple can then easily set up as field in every lookup table where you need it. You then need to consider it also in your import maps.

If you need more info, let me know.

Bets regards

Christian

Former Member
0 Kudos

If you need to syndicate all system/key pairs, you may want to think about another tuple that contains two fields: Remote <System and Remote Key.

<Here basically you rebuild the same logic of remote key mapping, but with much more control over how to consume this <information.

Tuple may be like data type as : text, integer, LookUp table etc.

When you design and create your table you can't add fields like "RemoteSystem" and "RemoteKey". Are invisible.

You can manipulate with values and pairs like "RemoteSystem" = "RemoteKey" if you select record in MDM Data Manager and click on "Edit key mappings".

Question: How can I do it ? How I can show unvisible fields ?I can not add static fields in table and import data into fields,

because it is not comprehensible in current table structure and whole relation schema.

Former Member
0 Kudos

Hi,

sorry, that was unclear. What I meant is that the tuple fields are just ordinary text fields where you import remote system and key information into. You can make the tuple field read-only for your users or not show it on your web UI.

If this is not an option for you to have a tuple field in each table, then, quite frankly, I'm not sure whether you can fulfill your requirement. In syndication you can only syndicate one remote system with all its remote keys, unless you have these values in another structure.

Best regards

Christian

Former Member
0 Kudos

Christian, ok.

Imagine that I have tuple static fields which present key-mapping and which are filled by Import-server and hands.

And one question to you :

What do you do If I edit key-mapping in some records via "Edit key-mappings" ? 😃

Static fields does not change.

I hope you understand me clearly.

Thank you for your attention.

P.S: I successfully performed my requirement after using underlying database . Views and ETL Informatica are my best friends )

Edited by: I.A. Bataj on Dec 1, 2010 2:55 PM

Former Member
0 Kudos

Hi,

now I understood and you really have got a point here. But the question is whether you need key mapping then on the remote key level with a tuple anymore. If yes, you won

Best regards

Christian

Former Member
0 Kudos

>

> Hi,

>

> now I understood and you really have got a point here. But the question is whether you need key mapping then on the remote key level with a tuple anymore. If yes, you won

>

> Best regards

> Christian

If SAP MDM will present many opportunities to me I will be very glad.

I repeat I must get output xml which have the pair like "RemoteKey"="RemoteSystem" in tuple subnode.

In tuple, after your advices.

Ideally, Syndicator must present to each user ability to choose pair "RemoteKey" = "RemoteSystem" in each subnode like <LookUp> table in root (look at my example pic).

Imagine you have one root table and N-linked <lookup> tables.

Tree like this :

<main tbl>
  <subtbl1/>
  <subtbl2/>
  <subtbl3>
     <childtbl1/>
     <childtbl2/>
     ................
  </subtbl3>
  .............
</main tbl>

It's dangerous to deprive SAP MDM user to select pair "RemoteKey" = "RemoteSystem" from ROOT to ALL and LAST LEAF in abstract hierarchy. How do you think ?

Now, I haven't abilities to solve my problem using standard resources. Really ?

Former Member
0 Kudos

Hi,

without knowing your business requirements, I would say, that if that is your only syndication map, and you don't need remote key mapping anywhere else for syndication, then I would maybe delete it and use only tuples:


<main tbl>
  <subtbl1>
     <TupleField>
        <RemoteSystem/>
        <RemoteSystem/>
     </TupleField>
  </subtbl1>
  <subtbl2>
     <TupleField>
        <RemoteSystem/>
        <RemoteSystem/>
     </TupleField>
  </subtbl2>
  <subtbl3>
     <childtbl1>
        <TupleField>
           <RemoteSystem/>
           <RemoteKey/>
        </TupleField>
     </childtbl1>
     <childtbl2>
        <TupleField>
           <RemoteSystem/>
           <RemoteKey/>
        </TupleField>
     </childtbl2>
     ................
  </subtbl3>
  .............
</main tbl>

Normally, users should not change the key mapping. What is the requirement for this? Maybe you can check this functional requirement.

Let me now what you think.

Best regards

Christian

Former Member
0 Kudos

Christian, how I can select pair "RemoteSystem"="RemoteKey" in tuple ?

I tried to find it but my attempts was unsuccessfull

May be, you want to create static fields and fill them using Import-manager's processes?

Normally, users should not change the key mapping. What is the requirement for this? Maybe you can check this functional requirement.

Hm do you think it's normally to show metadata to business users ?

Can MDM allow to me to do steps like this :

1) Create tuples which contains field which present "RemoteSystem"="RemoteKey" pair ?

2) And if I want to delete/modify/add pair "RemoteSystem"="RemoteKey" via "Edit key mapping" then values in tuples will change too ?

Former Member
0 Kudos

Yes, you are right, the tuple would only contain text fields that are populated using Import Manager/Server.

As I mentioned, if you don't need remote key mapping standard functionality from SAP MDM (for syndication), but use it only to maintain system specific information (keys) in MDM, deactivate the key mapping for all tables and create a tuple with the following fields:

Remote System (type lookup to systems lookup table)

Remote Key (type text)

You mentioned that you don't want to display meta information to the users, but at the same time users should be able to change the keys.

So, if you have the tuple in every lookup table, the users will be able to easily change the system/key values and your syndication problem will be solved as well. You will not use the Edit Key Mapping function in Data Manager anymore.

If that does not solve your problem, I would definitely need more functional requirements for the project. I have experience in handling banking products and know that this is very difficult to do in MDM but possible.

Best regards

Christian

Former Member
0 Kudos

>

> Yes, you are right, the tuple would only contain text fields that are populated using Import Manager/Server.

>

> As I mentioned, if you don't need remote key mapping standard functionality from SAP MDM (for syndication), but use it only to maintain system specific information (keys) in MDM, deactivate the key mapping for all tables and create a tuple with the following fields:

> Remote System (type lookup to systems lookup table)

> Remote Key (type text)

>

> You mentioned that you don't want to display meta information to the users, but at the same time users should be able to change the keys.

>

> So, if you have the tuple in every lookup table, the users will be able to easily change the system/key values and your syndication problem will be solved as well. You will not use the Edit Key Mapping function in Data Manager anymore.

>

> If that does not solve your problem, I would definitely need more functional requirements for the project. I have experience in handling banking products and know that this is very difficult to do in MDM but possible.

>

> Best regards

> Christian

Hi, Christian, sorry for waiting, I was busy.

Thank you for your advices.

Today we can't change relation schema according your advices.

I note your advices and may be present them in next project.

If I will need in your councils then could I write to you ?

Former Member
0 Kudos

Sure, no problem. Feel free to write me. My address should be visible in my profile.

Best regards

Christian

Former Member
0 Kudos

Okay, I will mark my letter like "from SAP forum"

Answers (1)

Answers (1)

Former Member
0 Kudos

Привет,

from my point of view, you must map some element such as the multi-value lookup table to the repeatable XML element <CREDIT_PRODUCT>. Otherwise this element will not be repeated.

Did you try that?

Best regards

Christian

Former Member
0 Kudos

Christian, If I understand you completely and correctly then I may say that I tried to do it.

Syndicator's GUI don't give to me opportunity to do it.To link LookUp<flat>(multivalued) field with <CREDIT_PRODUCT>.