Skip to Content
Technical Articles
Author's profile photo Heike Jensen

SAP S/4HANA Migration Cockpit – Direct Transfer – How can I influence the selection (1909)?

SAP delivers predefined criteria with which you will select data from the source system, depending on the scenario.

For example, for selecting from an ERP source system, the entity “company code” is predefined as selection criterion/filter. For one or several company codes, the records for the chosen Migration Objects will be selected.

When selecting for example from an EWM source system, the entity “warehouse” is the predefined selection criterion/filter.

In transaction LTMOM you have the possibility to influence the predefined selection. You can influence the predefined “organizational unit”, in the backend called “filters” and/or you can influence the selection on Migration object level, so-called “technical selection”.

 

Pls. note! If you change the predefined selection defined by SAP, it lies in your responsibility to care for the consistency and completeness of the migrated data.

In my opinion the most likely case might be that you want to influence the selection on Migration Object level, e.g. in order to exclude master data which is outdated or flagged for deletion or lies within a certain range.

1. Technical selection

Use transaction LTMOM and chose your project. Click on “source structures” for the Migration Object, e.g. for “Cost center”.

At right hand side, a window opens. Click on the icon under “Selection”, this opens a window in the lower part of the screen. Make sure that you are on tab “Selection criteria” as shown below.

 

If you now click on the icon in column “Technical selection”, a popup opens. Pls. note that the popup might appear in the lower part of your screen.

You can open this selection popup for each of the tables which are contained in the data model of the respective Migration Object, in this example tables CSKS and CSKT.

The popup offers the standard select option dialog. You can choose the fields you want to use to delimitate the data, in the above example I have chosen Cost Center (ID), Valid-from-date and assigned Profit Center.

If the selection shall be more differentiated, you can use the “multiple selection” button as shown to select single values, ranges, exclude values and so on.

2. Filters

The second possibility is to adapt the filters. A filter is a collection of values of the same type that is stored centrally for your project, and therefore available for all migration objects assigned to the project. Filters guarantee that the data records belonging to the defined units are selected.

A filter can be for example company code, controlling area, plant, … It is defined by SAP which filters exist resp. can be used.

 

Please note! Adapting or changing filters requires a deep understanding of the application of the respective migration object. If you change the predefined selection defined by SAP, it lies in your responsibility to care for the consistency and completeness of the migrated data.

You can add a predefined filter (if any exist) and assign it to a table field or you can remove existing filter assignment.

Existing filters:

The program determines the filter values in the source system based on the company code values (in the ERP scenario) that you provide as a main selection criterion in your project (Fiori). After this automatic value determination, the filter restriction works exactly like a simple technical selection restriction. These combination rules are valid:

  • Filter restrictions for the fields of one table are combined with a logical operator AND
  • Filter restrictions for different tables are combined with a logical operator OR

Example:

In my Migration Project (Fiori) which migrates data from an ERP system, company code is the predefined criterion by SAP. I have chosen company code 0001 to select from the ERP source system.

 

 

 

 

 

 

 

 

Transaction LTMOM (migration object modeler):

Within my project Demo_1909_DT, I have defined (using the modelling environment, transaction LTMOM) a new migration object “DM_Z_COST_CENTER_TEXTS” to migrate cost center texts for all languages. Table CSKT is the parent table, CSKS is the child table.

In order to select the right data records from the source for my newly defined object, I defined filter controlling area (KOKRS) for table CSKT and filter company code (BUKRS) for table CSKS. I have to go for KOKRS for table CSKT as in this table, BUKRS is unfortunately not available.

In the above picture you see how the selection then works when being started in the Migration project (Fiori) => Logic for selection.

Assigned Tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Dyflex Generic
      Dyflex Generic

      Hi Heike,

      We are doing a project using Direct Transfer. The question I have is how you used in LTMOM to change the filter assignment or how to create new filter assignments?

      Another question is in the field mapping to the target structure there are standard CVT* transformation rules, is there a way we see the coding behind it? Is there a way to create our own logic as it is possible in the file or stating approaches?

      Thanks,

      Author's profile photo Heike Jensen
      Heike Jensen
      Blog Post Author

      Hi,

      is it perhaps possible that you enroll to this openSAP course “Migrating Your Business Data to SAP S/4HANA – New Implementation Scenario”? The course is still available. The material is too much to be uploaded here.

      https://open.sap.com/courses/s4h16

      In week 3 the topic is “Direct Transfer“. I have 7 units there (always PPT & demo video), units 5 & 6 are about creating own objects. In unit 6, the topic “filters” is explained and demoed. In unit 7 there is also information about transformation rules.

      It is possible to see the TRule coding in LTMOM – see screenshot:

       

      Currently (1909) it is not possible to create own transformation logic (coding rules).

       

      Regarding your second question, I provide here some more deep (deep) dive information on the topic “filter”, currently not available as PPT or video yet.

      For a delivered scenario (e.g. selecting from an ERP source system), the SAP content developers define which filters are used.

      The different filters are needed to select the migration object instances in a consistent way from the source system.

      E.g. for cost centers, you need the company code, for sales orders you need the respective VKORG and so on.

      It should be documented in the migration object documentation if needed (if it is not the company code which is obvious because you type it in the project).

      For the ERP scenario these are e.g. company code, controlling area, VKORG and some more.

      In these filters there is also defined (by rules resp. coding) how the relationship between the different filters is found out – for example for finding out the relationship between company code and controlling area, there is a rule assigned to the filter which says: look into table TKA02 in the source system.

      So currently, if you use or change a filter, you can only rely on the filters which are defined for/in the respective scenario. It is currently not possible that you define your own “scenario” / your own filters.

      In my small example in the openSAP course (new customer-own object: cost center texts, reading from CSKT and CSKS), I use the KOKRS filter (which is read from TKA02).

      And, also important: currently we do not offer the possibility to adjust (add or remove) values from these filters.

      For example:

      You have in Fiori decided to select from company code 0001. This company code has two VKORGs assigned.

      You use object “sales orders” and you want to only select items from VKORG 0001.

      And you would like to remove value VKORG 0002 from the filter VKORG (means: for all objects which depend on VKORG, only value 0001 is considered).

      These kind of adjustments are currently not possible. Currently, I cannot say if we will offer it in the future or not.

      A possibility would be to use technical filters instead for respective objects (see my part 1 in the blog post). Here you have to keep in mind that this restriction only refers to one object. So it would have to be checked if it works out for your dedicated migration need.

      In FIORI, you will always only see the predefined main filter, which is for an ERP source: company code.

      I would be interested in discussing with you your concrete project requirements regarding filters. If you are interested in a discussion, can you pls. raise a ticket on component CA-LT-PE-BAS => just write; discussion on filters & refer to me.

      Best regards,

      Heike

      Author's profile photo Olivia Ghebrezghi
      Olivia Ghebrezghi

      For more information about SAP Data Management and Landscape Transformation (DMLT) see this page https://www.sap.com/services/implementation/data-mgmt-landscape-transformation.html or read the solution brief and the SAPPI Success Story. You can contact the global SAP DMLT team by email sap_dmlt_gce@sap.com. They provides services for Selective Data Transition, New Implementation and System Conversion that can also be delivered remotely.

      Author's profile photo Royce Yi-Hsiang Yen
      Royce Yi-Hsiang Yen

      Hi Heike,

       

      For technical selection, are these selections combined with a "and" relation or a "or" relation?

      How does the system determines which selection criteria should be used first?

       

      Please help me with this. Thank you!

       

      Best regard,

      Royce

      Author's profile photo Vatsal Vora
      Vatsal Vora

      Hello Heike,

      I am using Direct transfer object for Pricing condition for sales & Purchase. I cannot add date filter on A*** table level, I can only apply validity period on KONH(Header) table.

      Here we don't have option to add selection criteria

      Date%20filter%20is%20not%20possible%20in%20Condition%20validity

      Date filter is not possible in Condition validity

      Can you please help me how to add Valid to date filter in Condition Validity period tab and not in the Header tab?

       

      Thank you.

      Regards,

      Vatsal Vora

      Author's profile photo Heike Jensen
      Heike Jensen
      Blog Post Author

      Hello Vatsal,

      It is not possible to apply a filter on the pricing condition data based on A* tables as these tables are not directly available in the data model. The condition tables can range from A001 to A999, not all of them exist in the customer system. Hence they are not added into the data model.

      Customers can create their own include with selection logic to enhance the existing logic and assign it in the relevant table in the Source Structures/ Source Tables in the Migration Object Modeler.

      Best regards,

      Heike