cancel
Showing results for 
Search instead for 
Did you mean: 

How to enrich data after import

former_member188973
Participant
0 Kudos

Dear MDM Pros,

can anybody please give me a hint how I can enrich data after importing. If possible I do not want to use the ABAP oder Java API´s.

Use Case:

Every Record has:

-a field 1 with a number of 8 digits.

now I want to enrich field 2 with the first 2 digits of field 1.

How can I reach this with the MDM tools?

Best regards

Roman

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Roman,

This can be achieved using the combination of Assignments and Workflows.

Create an Assignment expression of Field2 and write the expression as

IF(IS_NOT_NULL(FIELD1), LEFT(FIELD1,2))

Put this Assignment in the workflow and set the Trigger Action property of Workflow to Record Import and Autolaunch to Immediate.

Now go to Import Manager select Configurations there you have to specify the workflow name under the property CheckOut / Workflow.

After importing no need to go to Data Manager and perform manual enrichment. You will find your records already enriched.

Regards,

Jitesh Talreja

Answers (6)

Answers (6)

former_member188973
Participant
0 Kudos

Ok, I did it with MDM ABAP API...

Best regards for help

Former Member
0 Kudos

Hi Roman,

Could you plaese update this thread if your question has been answered?

Thanks

Dola Aich

Former Member
0 Kudos

Hi Roman,

I think your problem can't be resolved using assignemnts because they are not applicable to Look up tables .

What can be done is you can export the data from the data manager as Spreadsheet , Access etc. Then you can do manual changes on that and can impoprt the file mapping the field to look up field 2.

I think this should solve your issue.

Regards

Deepankar.

Former Member
0 Kudos

Hi Roman,

If your requirement is to populate the field2 with the first two digits of Field1 then you can use the following asignment.It will definately work

IF(IS_NOT_NULL(FIELD1),LEFT(FIELD1,2),FIELD2)

Solution : If field1 is not blank [IS_NOT_NULL(FIELD1)] then Field2 will populate with the first two digits of field 1 i.e. [LEFT(FIELD1,2)]

In this expression I have mentioned Field2 at last. It mean field2 will be populated with the value [LEFT(FIELD1,2)]. In assignment expression we have to mention the field on which we want to assign the value.

After that select the table field from drop down list(here select field2 that is on which we want to do the assignment).

Now select the records and execute the assignment. Field2 will populate with the first two digit of field1.

Note: put the space and brace correctly.

Thanks

Dola

Edited by: DOLA AICH on Sep 8, 2008 9:32 AM

former_member188973
Participant
0 Kudos

First of all many thanks for all the good answers.

First Test work. Now I habe the same issue with a field with lookup values:

lookup table (1 Field Value:)

VALUE

17

18

19

20

21

2125

2126

..... (anything else from 2 to 4 integers)

My main table with a field with lookup table.

Now the expression:

IF(IS_NOT_NULL(Externe Nummer.Code),(LEFT(Externe Nummer.Code,2)),[NULL])

should deliver the lookup value

example: lookup table [20]

If I try

IF(IS_NOT_NULL(Externe Nummer.Code),lookup table [(LEFT(Externe Nummer.Code,2))],[NULL])

I get a syntax error. Any idea?

Thanks and best regards

Roman

Edited by: Roman Becker on Sep 8, 2008 12:03 PM

Former Member
0 Kudos

Hi Roman,

You can not assign any value to lookup filed. For this you need to have the desired values present in that lookup table.

Regards,

Jitesh Talreja

former_member188973
Participant
0 Kudos

The values are present in the lookup table.

how can I now archive the following:

Extract the first 2 digits of a field and map it to the value in the lookup table. The data is imported yet I have to do it with the Data Manager.

How can I do this.

Best regards

Roman

Former Member
0 Kudos

Hi Roman,

To achieve the desired functionality we need to loop into the second lookup table which is not possible in the current versions of MDM, but if your field2 is Text field and not lookup then your requirement can be fulfilled.

Assignment Expression:

IF(IS_NOT_NULL(Field1.Code), LEFT(Field1.Code,2))

where code is the display field of the lookup field Field1.

Regards,

Jitesh Talreja

Former Member
0 Kudos

Hi Roman,

Data Enrichment can be done in various ways in MDM. It can be easily achieved in Data Manager, Java APi's, ABAP API's etc.

However, in your case using Data Manager will be the best and the easiest option to enrich data.

As Deepankar has rightly mentioned, you can use Assigments Expressions to achieve your requirement. Go to MDM Data Manager and Move to Assignement Tab.

You can write the appropriate expression there and check the result by running the assigment in the Record Mode by right clicking on Any or all the records.

To know more about Assignments, Please refer to the link below:

Master Data Management Expression Engine: Validations, Assignments, and More... :

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/102dc4e5-07c9-2910-93b3-f49c8ed5...

Hope it helps.

Thanks and Regards

Nitin Jain

Former Member
0 Kudos

Hi Roman,

I think what i understood from the above mentioned problem is that for each record you have some fields.

Out of those there are two fields Filed1 containing a 8 digit code and Field 2 where you intend to copy the first two digits of field 1 for every record in the second field.

Solution:

As the problem is seen this can't be done by manual intervention upon import in the data manager, taking in to consideration the quantity of records. The method through which it can be accomplished is Assignments in data manager.

You have to create an assignment, assign a name and create an assignment expression.

IF(IS_NOT_NULL(FIELD1),(FIELD2=LEFT(FIELD1,2)),NULL)

The meaning of this statement is if field1 contain any value(is_not_null) then field2 will be assigned the leftmost 2 characters of the field1 else it will be asssigned null.

Note : just check the spaces and braces in the syntax for it to work.

After creting the assignments ,just select the records in data manager which yoy want to run the assignment through and it should produce the desired result.

Hope this should help.

Regards,

Deepankar.