Thursday 31 October 2019

Bill of Material (BOM) – Components | Deletion steps

Introduction


In data migration testing, we can come across a situation where the records which are being created as per the file provided by the client, later on can be irrelevant from the functional point of view. So what to do now? Will we have to delete them manually? The answer to this problem lies in this blog post.

During the testing phase of LSMW for BOM Header + Component creation in the SAP system, some duplicate records with wrong mapping were posted. The same records were filtered in the Data File (received excel file for migration) and we were asked to upload the same file once again with new data, deleting all the records (Number of Records were around 1.1 Lacs)

Initially we thought to create a recording passing all relevant source fields. But the execution time was so much high that it resulted as a performance issue and the same was not at all desired from technical/functional perspective, so we came with the below solution as mentioned in this blog post.

In this blog post you will learn the procedure to delete all the BOM (Bill of Material) Components from the SAP system in very less period of time by using 3 Functional Modules.

Expectation and benefits


1. The system integration is not at all affected.
2. It does not affect the details of the header material, only deletes the BOM Components.
3. Execution time for around 10,000 headers consisting of multiple Components is around 15 minutes.

Prerequisite


Techno functional knowledge of both the Bill of Material component creation and to write LSMW code.

Legacy System Migration Work Bench (LSMW)


Legacy System Migration Workbench (LSMW) is handy tool for data uploads. In most of the big projects there is a separate development / data migration team is available. However, at times, it would be responsibility of the functional consultant to load the data such as vendor master, customer master and asset master etc. It would be real handy for a functional consultant to know LSMW (at least recording method) and it would help them to successfully complete the task.

High Level Steps to delete BOM Components.


The following are the high level steps that are necessary for the deletion of Bill of Material Components from the system.

1. Create a LSMW through T-Code ‘LSMW’.
2. Call the SE38 T-code via Recording.
3. Maintain the source Fields.
4. Declare all the necessary global Variables in the __GLOBAL_DATA__.
5. Call the FM’s in the ‘__BEGIN_OF_TRANSACTION__’.
6. Specify the files in the same format as in maintained in the Source Field Structure, then Assign the same file.
7. Read Data.
8. Lastly, Convert Data.
9. For testing purpose you can test for a single record in Convert data step.
10. Check if the Components are deleted through the T-Code ‘CS03’.

Steps performed


The following are the steps for the deletion of Bill of Material Components from the system.

1. Go to Transaction LSMW.
2. Create the object, subproject and object as below and then press enter.

ABAP Development, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Online Exam, SAP ABAP Study Material

3. Go to ‘Maintain Object Attributes’. And the press Ctrl + F1 and then create a recording ‘DUMMY’ (DUMMY stands here that the recording will not be executed and as per the LSMW requirement in the first step, we have to provide a method that we are going to use to just fulfil the first mandatory step of LSMW;

4. Maintain the source structure.

5. Maintain Source Fields as follow or you can modify it as per requirement.

ABAP Development, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Online Exam, SAP ABAP Study Material

6. Maintain the Structure Relations.

7. In Maintain Field Mapping and Conversion Rules tab, write the code as follow: In global data you will declare all the internal table, work areas, constants etc.

ABAP Development, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Online Exam, SAP ABAP Study Material

8. In the __BEGIN_OF_TRANSACTION__ write the following Code:

ABAP Development, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Online Exam, SAP ABAP Study Material

Calling the Function Module ‘CSAP_MAT_BOM_OPEN’ and passing the values as follow:

ABAP Development, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Online Exam, SAP ABAP Study Material

Then Loop the above internal Table IT_STPO into its WorkArea

And call the Function Module ‘CSAP_BOM_ITEM_MAINTAIN’  to Delete the Components :

ABAP Development, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Online Exam, SAP ABAP Study Material

After the Endloop Call the Function Module ‘CSAP_MAT_BOM_CLOSE’ to close the BOM:

ABAP Development, SAP ABAP Certifications, SAP ABAP Guides, SAP ABAP Learning, SAP ABAP Online Exam, SAP ABAP Study Material

9. Specify the file in the ‘Specify Files’ in the same format as in maintained in the Structure of ‘Source Field’.

10. Assign the File.

11. Read the Data

12. CONVERT THE DATA.

No comments:

Post a Comment