bodsexpert
bodsexpert

SAP Data Migration Interview Questions and Answers

By Imran, Mohammad November 13, 2024 under Miscellaneous

Interview on SAP Data Migration is little different than any other normal interview. You cannot clear it by just reading a book or momorizing its definitions. You must have working knowledge as interviewer would like to know from you that whether you have knowledge or worked on certain objects, for example - Material Master, Vendor Master or Purchase Order etc.
Also, you should have in-depth knowledge on BODS (SAP Data Services) like Extraction from SAP Application, Data Validation, Rule Validation and Performance tuning etc.
You should also have in-depth knowledge on IDoc processing from BODS as well as from SAP, LTMC, LSMW and BAPI

Below are some of the interview questions I prepared based on my realtime project experience and interview handled. Again, these question were prepared for general awareness only to give you an idea how SAP Data Migration interview is hanled. Interview depends on person to person that how same question is asked in differnt way and cross questioning makes it little more difficult for the person who has only theoritical knowledge so in-depth with practical knowledge can only help you crack the interview.

  1. What is SAP Data Services and how can you utilize it in SAP Data Migration project.
  2. SAP Data Services is an ETL tool which can extract data from various legacy systems including SAP. It can process and transform millions of records very quickly and load data to target system like SAP using various loading methods such as IDoc, BAPI. In SAP Data Migration Project, the data services is utilized to validate the data and also to automate the various requirements to reduce manual efforts such as, checking the data with cross-reference or lookup, find and remove duplicates etc. The tool has various in-built transforms such as query transform, case transform, merge transform, and validation transform etc. which can be easily utilized to streamline data migration process.

  3. How do you connect Data Services with source and target systems.
  4. The Datastore plays crucial role to make a connection between source system and target systems with SAP Data Services.

  5. Can you explain, how do you setup datastore in SAP Data Services?
  6. We would need the connection information of the system we want to connect with. Once we have the information then follow the steps as follows.

    1. Navigate to the Datastore tab and right click then click new.
    2. In the dialog box put the datastore name, datastore type and the connection information such as server name, username, and password.
    3. Click apply and OK. The datastore is created.
  7. Is there any difference between SAP and relational Database datastore. If yes, then how do you differentiate both during datastore creation.
  8. During datastore creation, if we want to create datastore for SAP connection then we choose SAP Application and for relational database, we choose database.

  9. Can you explain what the system configuration is and what is the use of it.
  10. During the data migration, we basically deal with multiple SAP systems such as S2D, S2Q or S3D etc. So, to avoid multiple datastore creation we can create multiple connections in same datastore and link with system configurations, so during job execution we choose one of the configurations to execute the job in required environment.

  11. What is the job, workflow, and dataflow?
  12. Job helps to execute the objects such as workflow, dataflow, scripts, and transforms.

    Workflow is used to group the lower level of objects such as dataflow, script, and other various transforms. Workflow can also help control the execution of the objects for example when do we want to execute the objects in parallel or series.

    Dataflow is something which we create to design the movement of data such as source table, target table and various transforms. For example, source data extraction, loading data to the target system, using various transforms.

  13. What is the difference between temporary and permanent table?
  14. Temporary table can be restructure but permanent table cannot be restructured.

  15. How do you execute dataflow or workflows in parallel or series. For example, I have 5 dataflows and I want to execute the first 3 dataflows in parallel and other two dataflows in series that should only execute after first three dataflows.
  16. I will put first three dataflows in a workflow and make them execute in parallel then create one more workflow and put other two dataflows in second workflow. Then connect first workflow to the second workflow so that second workflow should only execute after first workflow.

  17. How many transforms do you know or have you worked with.
  18. I mostly work with Query transform. The 90% of our data movement can be done using query transform as it has power to apply various transformation rules, functions, joining conditions, group by and order by.

    I also know case transform; validation transform and merge transform.

  19. Do you know lookup function and how do you apply it in SAP Data Services:
  20. Lookup is used to do the cross reference from other data set. We can apply it from the Function. Choose the target table, joining condition of the lookup and output field.

  21. Can you apply lookup on temporary table?
  22. Yes, when we apply the lookup function, the only permanent table can be found, so choose any of the permanent table, later rename of the table name if field name.

  23. Can you explain validation transform?
  24. Using validation transform, we can apply various validation rules to list the failed and pass records for decision making.

  25. Can you identify and remove duplicates from dataset using Data Services?
  26. Yes, using gen_row_num_by_group function that can be used with query transforms on the fields. gen_row_num_by_group function assigns number starting from 1 and goes until the last found duplicate. But before applying make sure you have applied order by on source data set. This way we can find the duplicate.
    Then to remove the duplicate, we can apply where clause in next query transform to pass only records which has number 1.

  27. How can we deal with millions of records; your job will take a lot of time to process these records, what can you do for performance tuning?
  28. I can apply few methods, for example.

    1. Bulk load which we can set in target table to improves performance.
    2. Apply the join rank in From tab in Query transform.
    3. If we still have performance issue, we can split the large data set in multiple set using while loop and then execute all smaller sets in parallel.
  29. Can you split large data set into N number of sets. If yes, then how?
  30. We can the split large data set in multiple set using while loop and then execute all smaller sets in parallel.
    Count the number of records then divide the total number by number of sets. The number we get from the above division will become our condition for while loop to execute.
    This way we can start from 1 to last number and each loop will give us one set of data until the last set.

  31. Have you ever sent any IDoc from BODS? If yes, then what did you do before sending the IDoc?
  32. Before sending the IDoc we should make sure the partner profile is set in target SAP system.
    Then check if SAP datastore is connected with right SAP system.
    Import the IDoc using the datastore to SAP Data Services and map with the source fields.

  33. Can we check if the config is available or missing in SAP using Data Service?
  34. Yes, we should know the check tables for example for plan config check we need T001W table. So, to check the config, we will import the table T001W to Data Services and extract the data in a target table. Then apply the rule in Validation transform if the plant we extracted from source is available in target table of T001W or not using Lookup function.

  35. Can we prepare postload reports which can compare source data vs target data?
  36. Yes, we first need to import all the tables which we have loaded for example for material master the MARA, MARC, and MARD etc. are the tables. Wo we will import and extract these tables to SAP Data Services. Then using Query transform we can apply left join between source MARA, MARC and Target MARA, MARC. The left outer join will give us those records which are available in target system but blank for non-existing ones. This way we can compare field by field.

  37. Can we get a report of IDocs with data so that we can analyze that which IDoc was failed and what data it contains using SAP Data Services?
  38. Yes, we can import and extract EDIDC and EDID4 tables, EDIDC stores information of IDoc and EDID4 stores data of the IDoc. So, by joining both the tables we can get IDoc numbers along with its data.

  39. What do you do if the IDoc you are using does not have certain fields. How do you handle those missing fields?
  40. We can continue using the same IDoc eventhough certain fields are not available. Later, after loading all the records, we can use MASS transaction or LSMW if fields are not availabe even in MASS transaction too.

  41. What do you do if the IDoc you are using has some extra fields. How do you handle those extrac fields?
  42. We can simply pass null in case certain fields are not required. We cannot delete those extra fields because that in-built and imported from SAP. So we simply leave them as-is and pass NULL.

  43. What is MASS transaction and how do you use it?
  44. MASS transaction is an in-built tool avaiable in S4HANA to update certain fields of an objects. to start MASS transaction, we need to execute a t-code called MASS. Choose your object then fileds you need to update, then provide the input.
    We have two options to provide the input to MASS.

    1. Direct input if we have constant value through the records.
    2. File input using an excel sheet. Prepared the sheet according to the structure you have in MASS then upload.
  45. What is LSMW and how do you use it?
  46. LSMW is an in-built tool available in S4HANA to migrate lagacy data through input file or various other methods. We mostly use recording method. LSMW is used when IDoc or BAPI is not fulfilling the requirents as LSMW is an outdated technology and has a lot of manual effort as well. LSMW is much usefull when we have quick and one time kind of migration or mass update. We can quickly create the LSMW and mass update for certain fields.
    It has variuos steps to follow.

    1. Run the t-code called LSMW and creae project,sub-project and object.
    2. Start the recording using the t-code.
    3. Prepare target structure.
    4. Mapping of the fields.
    5. Provide input as file.
    6. Read and Convert data.
    7. Create a batch job.
    8. Execute the job. there are basically three methods to execute the job.
      1. Foreground - Gets executed on foreground and wait for your action.
      2. Display errors only - Runs on background but gets stopped if any error occured during execution.
      3. Background - Runs in background.

    These are the steps which we have to follow to run LSMW migration. We do not need to repeat from point number II to IV when we have to use the same LSMW prgram again and again. for more details you can refer detailed explanation here.

  47. What is LTMC and how do you use it?
  48. LTMC LTMC is one the loading methods available in only S4HANA. We can migrate our lagacy data either via file or staging table. When I say file, that means we will need to download pre-built templates, fill it and upload to start the migration. The second method is staging table which requires certain tables to import to BODS.
    The LTMC is an easy to use tool, the main purpose of this tool is to get used by even function people. But when you have complex and huge amount of data then you need migration expert as other method which is staging table is little technical so only technical person can use it; for example BODS expert.

    To use LTMC, we will need run a t-code called LTMC (in older version prior to 2020). in the new version from 2020, we have a fiory app. The method is same in both the version but look and feel is entirely different.

  49. How do you migrate data using File based approach of LTMC
  50. We first need to download template from LTMC portal, fill the data according to template. There Yellow and Blue tabs in the template. The Yellow tabs are mandatory tabs which need to be filled, if missed we cannot continue with migration. The Blue ones are optional, if required fill them otherwise leave them blank.

    Also, there are certain fields which will have asterisk (*), that means fields are mandatory, if left blank then you will have an error during file validation.

    Once you are done with filing template, upload it to LTMC portal and activate it.

    The next step is start the migration, there are four steps:

    1. Start validation - Validates the file if the template has been filled correctly.
    2. Mapping - Lets you map the fields with target data. Also checks your source data whether your data has been configured in S4HANA if data is config data.
    3. Simulation - Checks against S4HANA if your source data does not have data error.
    4. Execute - The final step, if all previous steps are completed successfully, this stap creates the data in S4HANA.
  51. How do you migrate data using Staging table based approach of LTMC
  52. The approach is similar to File based approach but it has one additional requirement which is BODS Involvement, that is the reason the approach is well handled by BODS expert only.

    We will need connectivity between Staging table and BODS so that we can import those staging tables to BODS. The connectivity is handled by BASIS Team. You can also create the connection if you have the details but it is better handled by BASIS Team only.

    The next step is start prepraing the stahing tables:

    1. Open the object on LTMC portal and find the staging table names.
    2. Import those tables to BODS.
    3. Build a job to transfer data to Staging tables.
    4. Once staging tables are ready with data, start the migration same as file based approach.
  53. What do you do if the Staging table has some extra fields, how do you handle them?
  54. We handle them in BODS, simply by passing blank ('') to those extra fields during field mapping. Do not pass null as all the fields have been set to not null by SAP.

  55. Which one is better IDoc or LTMC?
  56. There is no any comparison between IDoc and LTMC as these two are entirly different approach to migrate data, also requires different skill set. if you are talking in terms of performance then IDoc is better as it has parallel processing feature which makes it much faster when compared to LTMC or LSMW.