bodsexpert
bodsexpert

SAP Data Migration Interview Questions and Answers

By Imran, Mohammad November 13, 2024 under Miscellaneous

An interview for SAP Data Migration is different from typical interviews. Simply reading a book or memorizing definitions will not be enough to succeed. Hands-on experience is crucial, as the interviewer will want to assess your practical knowledge of working with various objects such as Material Master, Vendor Master, Purchase Order, etc.

Additionally, it is important to have in-depth knowledge of BODS (SAP Data Services), including expertise in extracting data from SAP applications, data validation, rule validation, and performance tuning.

You should also be well-versed in IDoc processing from both BODS and SAP perspectives, as well as tools such as LTMC, LSMW, and BAPI.

Below are some interview questions I have prepared based on my real-time project experience and the interviews I have conducted. These questions are designed to provide general awareness and offer insights into how an SAP Data Migration interview is typically conducted. Keep in mind that interview styles can vary, and the same question may be asked in different ways. Cross-questioning can be challenging, especially for individuals with only theoretical knowledge. Therefore, a strong foundation in practical knowledge is essential to successfully pass 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 that facilitates the extraction of data from various legacy systems, including SAP. It is capable of processing and transforming millions of records efficiently, and loading data into target systems such as SAP using various methods, including IDoc and BAPI.

    In an SAP Data Migration project, Data Services plays a key role not only in data extraction and transformation but also in data validation and automation of several tasks aimed at reducing manual effort. These tasks include cross-referencing or looking up data, identifying and removing duplicates, and more.

    The tool offers a range of built-in transforms, such as Query Transform, Case Transform, Merge Transform, and Validation Transform, which can be effectively leveraged to streamline the data migration process.

  3. How do you connect Data Services with source and target systems.
  4. The Datastore is essential for establishing a connection between source systems and target systems within SAP Data Services.

  5. Can you explain, how do you setup datastore in SAP Data Services?
  6. To establish a connection, the connection details of the target system are required. Once these details are obtained, follow the steps outlined below.

      • Navigate to the Datastore tab, right-click, and select "New."
      • In the dialog box, enter the datastore name, datastore type, and connection details, including the server name, username, and password.
      • Click "Apply" and then "OK" to create the datastore.
  7. Is there any difference between SAP and relational Database datastore. If yes, then how do you differentiate both during datastore creation.
  8. When creating a datastore, if you are setting up a connection for SAP, select "SAP Application." For a relational database connection, choose "Database."

  9. Can you explain what the system configuration is and what is the use of it.
  10. During data migration, we often work with multiple SAP systems, such as S2D, S2Q, or S3D. To avoid the need for creating multiple datastores, we can configure multiple connections within a single datastore and link them to the system configurations. This approach enables us to select the appropriate configuration during job execution and run the job in the required environment.

  11. What is the job, workflow, and dataflow?
  12. Job is responsible for executing objects such as workflows, dataflows, scripts, and transforms.

    Workflow is used to group lower-level objects, such as dataflows, scripts, and various transforms. It also controls the execution of these objects, allowing you to specify whether they should run in parallel or sequentially.

    Dataflow is created to design the movement of data between source and target systems. It includes components such as source tables, target tables, and various transforms. For example, it handles tasks like source data extraction, data loading to the target system, and applying various transforms.

  13. What is the difference between temporary and permanent table?
  14. A temporary table can be restructured, whereas a permanent table cannot be modified or 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 include the first three dataflows in a workflow and configure them to execute in parallel. Next, I will create a second workflow and add the remaining two dataflows. Finally, I will link the first workflow to the second, ensuring that the second workflow executes only after the completion of the first.

  17. How many transforms do you know or have you worked with.
  18. I primarily work with the Query Transform, as it accounts for approximately 90% of our data movement. The Query Transform offers the ability to apply various transformation rules, functions, joining conditions, as well as group by and order by clauses.

    Additionally, I am proficient in using the Case Transform, Validation Transform, and Merge Transform.

  19. Do you know lookup function and how do you apply it in SAP Data Services:
  20. The Lookup Transform is used to perform cross-referencing from another data set. It can be applied through a function, where you need to specify the target table, the joining condition for the lookup, and the output field.

  21. Can you apply lookup on temporary table?
  22. Yes, when applying the Lookup function, only permanent tables are available. Therefore, you should select a permanent table and, if necessary, rename the table or field name later.

  23. Can you explain validation transform?
  24. Using the Validation Transform, we can apply various validation rules to categorize records as either failed or passed, aiding in decision-making.

  25. Can you identify and remove duplicates from dataset using Data Services?
  26. Yes, the gen_row_num_by_group function can be used with Query Transforms on the fields. This function assigns a number starting from 1 and continues until the last found duplicate. However, before applying it, ensure that you have applied an ORDER BY clause on the source dataset. This ensures that duplicates can be identified properly.

    To remove the duplicates, you can apply a WHERE clause in the subsequent Query Transform to filter and pass only the records with the 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 several methods to improve performance, for example:

    1. Perform a bulk load by configuring the target table, which helps improve performance.
    2. Apply the Join Rank in the From tab in the Query Transform.
    3. If performance issues persist, we can split the large dataset into multiple smaller sets using a while loop, and then execute all the smaller sets in parallel.
  29. Can you split large data set into N number of sets. If yes, then how?
  30. We can split a large dataset into multiple smaller sets using a while loop and execute all smaller sets in parallel. First, count the total number of records and then divide this total by the number of sets. The result of this division will serve as the condition for the while loop to execute.

    This approach allows us to start from 1 and proceed to the last number, with each loop providing one set of data until all sets are processed.

  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, ensure that the partner profile is correctly set in the target SAP system.

    Next, verify that the SAP datastore is connected to the correct SAP system.

    Import the IDoc using the datastore in SAP Data Services and map it to the source fields.

  33. Can we check if the config is available or missing in SAP using Data Service?
  34. Yes, it is important to know the relevant check tables. For example, to check the plant configuration, we need the T001W table. To verify the configuration, we will import the T001W table into Data Services and extract the data into a target table.

    Then, we can apply the rule in the Validation Transform to check if the plant extracted from the source is available in the target table T001W, using the 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 relevant tables that we have loaded. For example, for Material Master, the tables such as MARA, MARC, and MARD are essential. We will import and extract these tables into SAP Data Services.

    Using the Query Transform, we can then apply a left join between the source tables (MARA, MARC) and the target tables (MARA, MARC). The left outer join will return records that exist in the target system, while blank fields will appear for non-existing records. This approach allows us to compare each field effectively.

  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 the EDIDC and EDID4 tables. The EDIDC table stores information about the IDoc, while the EDID4 table contains the data of the IDoc. By joining both tables, we can retrieve the IDoc numbers along with their corresponding 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, even if certain fields are not available. Later, after loading all the records, we can use the MASS transaction or LSMW to update the missing fields, even if they are not available in the MASS transaction as well.

  41. What do you do if the IDoc you are using has some extra fields. How do you handle those extrac fields?
  42. If certain fields are not required, we can simply pass null. These extra fields cannot be deleted as they are built-in and imported from SAP. Therefore, we leave them as-is and pass null for those fields.

  43. Have you ever handled large number of IDocs? If yes then what do you do to achieve better performance?
  44. Yes, I have handled over a million materials via IDoc. I loaded these materials using background processing in IDoc. Before starting the loading process, ensure that the partner profile is configured for background processing.

    1. Bring all your IDocs to status 64.
    2. Execute all your IDocs using the program RBDAPP01. For more details, refer to the article here.
  45. What is MASS transaction and how do you use it?
  46. MASS transaction is an in-built tool available in S4HANA used to update specific fields of an object. To start the MASS transaction, execute the t-code MASS. Choose the object, select the fields you need to update, and then provide the input.

    There are two options for providing input to MASS:

    1. Direct input, if we have constant values across the records.
    2. File input, using an Excel sheet. Prepare the sheet according to the structure required in MASS and then upload it.
  47. What is LSMW and how do you use it?
  48. LSMW is an in-built tool available in S4HANA used to migrate legacy data through input files or other methods. The recording method is commonly used. LSMW is typically used when IDoc or BAPI cannot meet the requirements, as it is an outdated technology that involves a significant amount of manual effort. However, LSMW is quite useful for quick, one-time migrations or mass updates, where we can quickly create an LSMW and perform a mass update for certain fields.

    The LSMW process involves the following steps:

    1. Run the t-code LSMW and create a project, sub-project, and object.
    2. Start the recording using the t-code.
    3. Prepare the target structure.
    4. Map the fields.
    5. Provide input as a file.
    6. Read and convert the data.
    7. Create a batch job.
    8. Execute the job. There are three methods to execute the job:
      1. Foreground - Executes in the foreground and waits for your action.
      2. Display errors only - Runs in the background but stops if any errors occur during execution.
      3. Background - Runs in the background.

    These are the steps we must follow to run the LSMW migration. We do not need to repeat steps II to IV when using the same LSMW program repeatedly. For more details, you can refer to the detailed explanation here.

  49. What is LTMC and how do you use it?
  50. LTMC is one of the loading methods available exclusively in S4HANA. We can migrate legacy data either via file or staging table. When I mention file, it means we need to download pre-built templates, fill them out, and upload them to start the migration. The second method involves staging tables, which requires importing certain tables into BODS.

    LTMC is a user-friendly tool, primarily designed for use by functional teams. However, for large-scale migrations with complex data, migration experts are needed. This is because the staging table method is more technical and requires expertise, such as a BODS expert.

    To use LTMC, you need to run the t-code LTMC (in versions prior to 2020). In the newer version from 2020 onwards, a Fiori app is used. While the method is the same in both versions, the look and feel are entirely different.

  51. How do you migrate data using File based approach of LTMC
  52. First, we need to download the template from the LTMC portal and fill in the data according to the template. The template contains Yellow and Blue tabs. The Yellow tabs are mandatory and must be filled in; if missed, migration cannot continue. The Blue tabs are optional; fill them in if necessary, or leave them blank.

    Additionally, certain fields will have an asterisk (*) next to them, indicating that these fields are mandatory. Leaving them blank will result in an error during file validation.

    Once you have filled out the template, upload it to the LTMC portal and activate it.

    The next step is to start the migration, which involves four key steps:

    1. Start Validation - Validates the file to ensure the template has been correctly filled out.
    2. Mapping - Allows you to map fields with target data. It also checks if your source data has been configured in S4HANA, especially for configuration data.
    3. Simulation - Checks your source data against S4HANA to ensure there are no data errors.
    4. Execute - The final step. If all previous steps are successful, this step will create the data in S4HANA.

    How do you migrate data using the Staging Table-based approach in LTMC?

    The Staging Table-based approach is similar to the File-based approach but with one key difference: it requires BODS Involvement. This makes the approach more suitable for BODS experts due to its technical nature.

    First, we need connectivity between the staging tables and BODS in order to import the staging tables into BODS. This connectivity is typically managed by the BASIS team. While you can create the connection yourself if you have the necessary details, it is generally recommended to have the BASIS team handle this setup.

    The next step is to begin preparing the staging tables:

    1. Open the object on the LTMC portal and locate the staging table names.
    2. Import those tables into BODS.
    3. Build a job to transfer data to the staging tables.
    4. Once the staging tables are populated with data, proceed with the migration, following the file-based approach.
  53. What should you do if the staging table has extra fields? How do you handle them?
  54. In BODS, we handle these situations by passing a blank ('') value to the extra fields during the field mapping process. It is important to avoid passing null, as all fields have been configured as not null by SAP.

  55. Which one is better IDoc or LTMC?
  56. There is no direct comparison between IDoc and LTMC, as these are entirely different approaches to data migration, each requiring distinct skill sets. In terms of performance, IDoc is superior due to its parallel processing feature, which significantly enhances its speed compared to LTMC or LSMW.