cancel
Showing results for 
Search instead for 
Did you mean: 

Load field through Import Manager

Former Member
0 Kudos

I would like to update one field through import manager satisfying below mentioned criteria: The behavior i want would look something like this. I only want the sample value(field in MDM) to load from source system if and only if the existing value in MDM is NULL.

Sample value      Existing value in MDM    Action in MDM      New Value in MDM

ABC                          NULL                         Overwrite                    ABC

ABC                          ABC                        None required                ABC

ABC                          XYZ                         None required                XYZ

Appreciate your inputs !

Regards,

Ali

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Ali,

As I understand your requirement is to add some records in MDM, on the basis of one field's value, with the following conditions. Let say that field name is ABC.

1. If  field ABC is null, then complete record should import.
2. If field ABC has a value, then the record should import but the value of ABC field should not change.

Please let me know, if I understand your requirement, correctly? If my understanding is correct then you can achieve your requirement with expressions and workflow.

Thx/ -Tarun

Former Member
0 Kudos

Hi Tarun,

Exactly, Your understanding is what i need to deliver..I need to update records in MDM flowing from other system..Please remember its a lookup flat field that must satisfy following conditions.

Incoming value      Existing value in MDM    Action in MDM      New Value in MDM

ABC                          NULL                         Overwrite                    ABC

ABC                          ABC                            Ignore                       ABC

ABC                          XYZ                             Ignore                        XYZ

Former Member
0 Kudos

Hi Ali,

Let say your lookup field name is Company_Code. To achieve your scenario, follow the below mentioned steps:

1. Create a Validation:


This validation will check If Company_Code field's value is null, in original record AND If Company_Code field's value is not null in checkout record. Just as an explanation, when the import process will start then as per the configuration of workflow, every record will remain check-out until it will not check-in. Every record will be having two versions: original and check-out. So in the validation expression:

a). I checked Company_Code field's value, with Is_Null function, in original record: because this is your first requirement.
b). I checked Company_Code field's value, with Is_Not_Null function, in checkout record: because the checkout/coming/importing record must have data for Company_Code field.

2. Create an Assignment:

This assignment will update only Company_Code field's value from checked-out record's value to original record's value. As an explanation, as soon as the workflow will be triggered, record will be checked-out and the original value of Company_Code field will be replaced by the check-out value but as per the requirement, Company_Code field's value should not modify, if Company_Code field is already have any value. So this assignment will keep the original value of Company_Code field, if data for Company_Code is already available...

3. Create a Workflow:

This Workflow will contain the following steps:
a) Start
b) Branch
  i)If Validation True
      X)Company Code Null Record Check-in
  ii)If Validation False
      X)Assign Original Value of Company Code
      Y)Company Code Not Null Record Check-in

*. This workflow will be configured with Record Import action.

How Workflow will Process: As soon as, data file will be processed, workflow will start and all records will be checked-out. One by one, all the records will be validated via present validation in Branch step and will be navigated to desired step. If any record has does not has value for Company_Code, it will navigate to Company Code Null Record Check-in step and that record will check-in. If any record has value for Company_Code field, it will be navigate to Assign Original Value of Company Code step. Assignment step will update the original value of Company_Code field. Once assignment will be completed, record will move to Company Code Not Null Record Check-in and record will check-in.

This is how, you will achieve your both following requirements:

1. If  field ABC is null, then complete record should import.
2. If field ABC has a value, then the record should import but the value of ABC field should not change.

You need to create very simple map, with "Update All Mapped fields" import action. Please try this scenario at your at end, as its working at my side. Hope it will help you.


Thx/ -Tarun

Former Member
0 Kudos

Thanks for the information Tarun. Your post was very helpful & indeed this has more or less resolved my issue but i just have one more query? Assuming i have already saved import Map. Is it possible to run this workflow for 1 particular Map that i created?

Actually i have many Maps executing under 1 remote system and i do not want to disturb the flow of other ports/Maps considering the time consumed to run workflow. It will be great if its possible to run this workflow restricted to 1 Import Map/Port.

Regards,
Ali

Former Member
0 Kudos

Ali,

As you said, you are using different maps for different ports. The same process can be followed, for your requirement, with following configuration in your import map:

  • Open the import map, which you are going to use to import the data, of the desired table.
  • Click Configuration menu, choose Options.
  • Scroll down to Import section, choose your workflow from Checkout/Workflow property.
  • Click OK to save the configuration and save update the map.

Now, whenever data will be imported using this port, only then this workflow will be triggered.

Thx/ -Tarun

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Ali,

In the matching step in import manager select the option 'Update (Null fields only).

Thanks & Regards,

Namrta Mahajan

Former Member
0 Kudos

Hi Namrta,

Thanks for reverting.Above said solution would stand perfect if i have to update only 1 field but there are another 40+plus fields to update. Also i forgot to quote in the above post that its a look up flat field that i am trying to update. Please let me know if there are any further solutions that i can try.

Regards,
Ali

Former Member
0 Kudos

Hi Ali,

The above solution holds good for any number of fields, ( of type text or look up flat).

Let me recapitulate the steps for you:

1 Prepare the source excel sheet and connect to import manager using that.

2 Open source and destination tables.( which I am assuming that in your case is main table).

3 Complete the field mapping, For look up flat fields, map the field values

4 Perform matching step, select the suitable field/fields for matching and select the Default import action as 'UpdateNull Fields only'.

5 Execute the Import.

Thanks & Regards,

Namrta Mahajan

Former Member
0 Kudos

Appreciate your comments Namrta. I think i must re-phrase my requirement again..It would be better to explain via example: say there are 10 fields in source that are mapped to destination main table, For these 10 fields default import action is already set to Update all mapped fields, which has Null interpretation set to overwrite for 2 fields and few fields would ignore null intepretation. Out of those 10 fields , just 1 field requires the modification that i have initially quoted. If i have to use option "Update Null Fields Only", then only null fieldsin the destination table would get updated and rest all 9 fields might be ignored which is not the requirement. Other 9 fields must update even if destination field has existing value. Please let me know if my requirement is clear enough to sort out.

Former Member
0 Kudos

Hi Ali,

Lets do it with an example here.

Suppose you have 10 fields of Vendor master,they are mapped in IM.

Now you select one or more fields to match the incoming data against repository data.

what is your matching critria here?

Once you fix your matching criteria you get a result like this:

Here you can set individual actions(Update Null/Update Mapped/Replace/skip) for Exact match,Partial Match etc.

Lets look at one example,I have material 1000,coming from system 100,and client 010.

This value I hold in remote key and make that combination as my matching criteria.

This remote key uniquely recognises a record in MDM.

If the incoming data has same Key value and this data is already in MDM,then it would perform the action defined in EXACT match.If this value is missing in MDM,you can CREATE.

So using 1 map you can you can either do Update Mapped or Update NULL.

Thereby you have 2 solutions for this :

1st you can have 2 maps dealing with these 2 actions separately.1st mapping all but one fields(9 in our example) and the 2nd, mapping primary field and the remaining one field.

2nd You can try using record filters.

Please detail your exact requirement.

Thanks,

Ravi

Former Member
0 Kudos

Hi Ali,

In addition to that,please go through this for trying the solution through filter:

http://scn.sap.com/docs/DOC-14885

Thanks,

Ravi