cancel
Showing results for 
Search instead for 
Did you mean: 

Help Needed: Syndicate Single Qualified Value

Former Member
0 Kudos

Hello,

I am having a problem understanding how to do the following in MDM 5.5 sp05:

I have a qualified table named "Classifications". I am using this table to associate name/value pairs with my products. The information is coming from an R/3 source. The Classification Type (the non-qualifier) is a lookup that has values like "FDA Drug", "Flash Point", "Latex Product". Classification Code is the qualifier and stores the value - could be "Yes", "No", etc.

Not every product is going to have all of these classifications, and that leads to my difficulty. I need to syndicate out a subset of products to a customer (achieved by setting a multi-valued lookup field) and I want to include the Classification Code for "Latex Product". I DO NOT want the other non-qualifiers to appear in the file. Also, if a product does not have a "Latex Product" classification, I still want to include it in the syndication.

I cannot figure out how to do this in Syndicator. I guess an alternative would be to create a calculated field (or assignment field) in the Products table that gets the code value from the qualified table. But I cannot figure out how to do this either.

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Bruce,

As you said I want to include the Classification Code for "Latex Product". I DO NOT want the other non-qualifiers to appear in the file. Also, if a product does not have a "Latex Product" classification, I still want to include it in the syndication.

Firstly, your non-qualifier field should be Display Field, so that During Syndication you can select records on the basis on Non-qualifier in drop-down search. Here for Non-qualifiers you can see ALL, NULL, Latex Products, FDA Drug etc,

you have to select here Latex Products then CTRL + NULL in this way you can syndicate records for Latex Products and Null values only

Hope it will Help you,

Rewards if useful......

Mandeep Saini

Former Member
0 Kudos

Hi Mandeep,

At first, I thought "Yes, that is the solution - add NULL to the criteria!" The problem is that if a product has any other Classifications associated with it (but not "Latex Product") then it will not appear in the syndicated file.

As an example: my current syndication for this customer has 2,413 products with the original criteria. When I add the "Latex Product" non-qualifier the count goes down to 1,027. When I Ctl-click [NULL] it goes up to 2,077. So there are 336 products that will be missing. They probably have 1 or more non-qualifiers, but not Latex Product.

Thank you for the suggestion.

Answers (1)

Answers (1)

Former Member
0 Kudos

You could try something like this (I haven't tested it out, just thinking it through):

1. Create a syndication map

2. Create three validations that checks to see if your non-qualifiers exist.

3. Create a workflow that branches based on those three validations, and only the non-qualifier you would like will go to a syndication step, the other two go to a stop step.

Former Member
0 Kudos

Hi Harrison,

Unfortunately, I am not yet at a point where I can think about workflows.

Former Member
0 Kudos

Workflows don't have to be used to "enrich data", you can use them to solve technical issues like the one you are facing. I'm pretty sure that solution will work, I'll test it out later this evening. Why can't you think about workflows?

Former Member
0 Kudos

Harrison,

When I say "can't think about workflows", I mean that I am currently concentrating on getting import and syndication to work. My current project is to get MATMAST03 and CLFMAS01 IDOCS from our R/3 (4.07b) implementation into MDM via import and then using syndication to create 2 product files for an external distributor. The CLFMAS01 idocs contain the classification name/value pairs that I am dealing with.

Former Member
0 Kudos

Another thing you can consider which will definitely work, is to pass this mapping challenge off to XI. Your probably not going to be able to accomplish this with just the syndicator. If you don't want to use other features of MDM to help such as validations and workflows, then you are restricting yourself to just using the syndicator. You may have to push all of the data out into your output file, and then XI can strip out the unnecessary qualified links very easily before passing it to ECC.

Former Member
0 Kudos

I don't believe we are using XI here. Our R/3 implementation is version 4.07b.

In looking at your solution, I think I may end up getting too few records. I basically want all the products for a given syndication target (achieved via setting a muli-valued lookup field and then setting that in the search criteria of the syndication map). For the non-qualifier, the following should happen:

If the product has a "Latex Product" qualified record, then put the qualifier value (Yes or No) in the syndication file. If it does not have a Latex Product qualified record, then put blanks in the file.

I can look at using workflow, if needed. My concern is taking the time to learn a new piece of MDM (which I will do eventually) while my customer is waiting for me to produce the file.

Former Member
0 Kudos

Hi Bruce,

As you said, If the product has a "Latex Product" qualified record, then put the qualifier value (Yes or No) in the syndication file. If it does not have a Latex Product qualified record, then put blanks in the file.

i would suggest in this case make a new field in your repository Main Table Say Qualifier Value write an assignment Expression as

IF(FIND(F1.Classification Type, "Latex Product")=0 AND FIND(F1.Classification Code, "Yes" OR "No")=0,"",F1.Classification Code)

and use Table Field Property as Qualifier Value while creating assignment.

where F1 is the field in Main Table which is lookup to Sub table Classifications.

This expression returns yes or no if and only if record in Main table is associatred with Latex Product otherwise returns blank

So you can map this Qualifier Value as source field to your target Destination field during syndication instead Classification Code as Qualifier.

But there is one problem if your record having two or more non qualifiers and one of them is Latex Products then it return yes or no for all the non-qualifiers, i mean

ClasificationType(NQ) Classification Code(Q)

Latex Products Yes

FDA Drug Yes

But it works fine if your main table record is associted with Latex Products Non-Qualifier only or multiple records associted with it but not Latex Products in it.

So your Qualifier Value Contains Yes;Yes so value is repeating for qualifier values , if i find solution to this also i will get back to you.

if you too want that during syndication also Non-Qualifier Latex Products only go then make one more field in your repository say Latex Product in main table and write assignment expression for this as:

IF(FIND(F1.Classification Type, "Latex Product")=0 ,"","Latex Product")

and use Table Field property as Latex Products while creating assignment. So you can map this Latex Products as source field to your target Destination field during syndication instead Classification Type as Non-Qualifier, so it will syndicate all the records having Latex Product value only.

Hope it will help you,

Rewards if Useful.....

Mandeep Saini

Former Member
0 Kudos

Mandeep,

Thank you for the information on assignments. I was unable to get anything useful until I read your post.

Unfortunately, there are other non-qualifiers that have "Yes" or "No" values. So if a product has 3 non-qualifiers (Latex Product, FDA Drug, and Proposition 65 for example) then I see 3 values in the result field for the assignment.

I guess my fall-back position is to write a java program (or groovy or scala script) that builds a multi-valued lookup with the qualifiers I want and then create a calculated field that picks out the value I want to syndicate.

It is probably confusing at this point, so here is what I want to do:

There are 8 Classification name/value pairs that come over from R/3. Each product may have 0-8 of them associated with it. There are 3 that I am interested in showing on our website: Latex Product, Latex Label, and Latex Package. One of them (Latex Product) I need to syndicate a value for.

So my java or script program will add values to the multi-valued field for the 3 non-qualifiers that relate to Latex. And then the calculated field will set to yes or no based on the appearance and value of the Latex Product state in the multi-valued field.