Help Center>Step-by-Step Guides Help

CS01 step by step: Creating a Bill of Materials

This document describes how you can use Winshuttle Transaction to create bill of materials in the SAP Business Suite from data in Microsoft Excel using the SAP transaction CS01. The following example will show how to use the Transaction Do-While loop feature to upload multiple-item BOMs from Excel into SAP.



  1. Start Winshuttle Transaction from the desktop shortcut or from the Windows Start menu.
  2. Click New.

    file tab new button

  3. Enter transaction code CS01 in the Transaction Code box, and then click Go.

    enter tcode click go to start recording

    An SAP Log On screen appears.

  4. Click the SAP system that you want to use, and then click OK.
  5. Enter the appropriate User Data in the SAP Logon window, and then click the OK button.

    sap logon box

    If you do not see the SAP system that you want, click the System button and choose a different system.

  6. For the recording mode, click Non-Batch Input Mode and click With SAP Controls.

    recording properties box

    Note: Non-Batch Input Mode Without Controls will work for most transactions. The difference between Without SAP Controls and With SAP Controls is just a matter of what tools are on the transaction screens. Non-Batch modes are necessary for downloading information from SAP transactions, or for Finance or HR transactions in which there are Dynamic Actions executing or user parameter values being used; otherwise, if you do not have access to Non-Batch modes, you can try recording in Batch Mode. For more information, see the Recording modes topic (Connect mode or Central mode).

  7. Enter any additional properties in the appropriate fields.
  8. To prevent people from editing the script, check the Lock TRANSACTION script box. This will password-­protect the script, preventing anyone from changing it.
  9. Click the Next button.

    The CS01 transaction starts.

    Note: The following screens may vary according to the way your SAP system has been configured.

    To make this process repeatable by Transaction, there will be a few modifications to the process compared with how you would manually create a bill of materials. These differences will be identified throughout the rest of this document.

  10. Enter header data into the initial screen:
    • Material
    • Plant
    • BOM Usage
    • Alternative BOM

    create material bom initial screen

    Important: The next step might be different from the manual entry process.

  11. Press Enter to continue.
  12. On the second line of the grid, enter the BOM Component information:
    • Item Number
    • Item Category
    • Component
    • Quantity

    Be sure to enter the Item Number. Otherwise, it will default to 0020.

    general item overview screen

    Important: These steps will most likely be different from the manual entry process.

  13. Press Enter.
  14. Enter the line item data on the General Data screen.

    item general data screen

  15. Press Enter.
  16. Enter the line item data on the Status/long text screen.

    status long text screen

  17. Press Enter. This shifts the entry to line 1.
  18. Click the New entries button to enter the next item.

    new entries button on the general item overview screen

  19. Enter the next line item by repeating steps 14-18.
  20. Select the second line in the grid.
  21. Click the New entries button.
  22. Click the Save button to save the BOM. This will also end the recording.

    click the save button


It is now time to create the mapping for this transaction. Mapping a script is just a matter of connecting SAP fields to fields in your data file. Transaction provides a Mapper to facilitate this process.

Auto Mapping will map the entire script to an Excel spreadsheet and in order. Because of the complexity of this transaction, we will choose the Create Mapping option instead.

  1. In the Map pane, click Create Mapping.

    link to open mapper

  2. The screenshot below shows the Expert tab of the Mapper.

    In each of the rows of the Mapper, you will see:

    • Mapper Row number: This is just a reference number.
    • Enable flag: only enabled Mapper rows will be executed by Transaction.
    • Screen / Screen Number: Technical screen information from the recorded transaction.
    • Field Description: The label associated with the SAP technical field name.
    • Field Name: The SAP technical field name.
    • Mapping Type: Fixed Value, Excel to SAP, SAP to Excel (or, if mapping to Access: Access to SAP, SAP to Access).
    • Value: Values assigned to the SAP field; either fixed values or values to or from the assigned data source.
    • Notes: Free­format notes to provide useful information to runners of the Transaction script.

    expert tab of mapper

  3. In the Data Source Preview section, you will see a preview screen of the selected data source.

    To change the Data Source, click the Change Source Type link at the top of the Expert Tab.

    This displays a drop-down box to switch to Microsoft Access.

    drop down menu of data file types

    The Preview section will also change to reflect the choice. In this case, we will use Excel.

  4. Click the Basic tab.
  5. To map the script to the data source, you will drag in the direction that the data will move. For this script, you are uploading data from Excel to SAP, so you will drag from Excel to the Mapper.

    Map the Header data first:

    Click column A, drag it up, and drop it onto row 2 (Material Number).

    Continue this process for Plant, BOM Usage, and Alt BOM by dragging column B to row 3, column C to row 4, and column D to row 5.

    fields mapped to excel columns

  6. Click the Expert tab.
  7. To upload data for multiple BOM with a variable number of line items per BOM, we will insert a loop around the Mapper rows for the line item. In this case, select the line item screen and all the rows for that screen (including the selection of line 2 and the New Entries button).

    mapper fields selected

  8. Click the Loop button.

    The Do While Properties box opens with default values, which you can change.

    do while loop properties box

    • The start and end row refer to the rows in the Mapper that contain the loop (the highlighted rows).
    • The MS Excel ID Column box displays the column in the spreadsheet that will contain the Header and Detail (line item data) identifiers.
    • The Header ID and Line Item ID displays the values that will identify the Header (H) and Line Item (D) rows.
  9. In the MS Excel ID Column box, type A. The mapping of the other fields will shift to accommodate this change.
  10. Click the OK button on the dialog box to insert the loop around the selected Mapper rows.
  11. The Mapper reflects the following changes as a result of inserting the loop:
    • The graphical depiction of the Loop around the selected lines indicates which Mapper rows will be contained within the loop.
    • The ID column has been identified in the Preview screen.
    • Row 2 contains the first Header ID value, and row 3 contains the Line Item ID value.

    loop indicator in mapper

    Note: This will appear in the preview file only if you are mapping to a blank file.

  12. Map the line item fields by clicking the columns in the Excel preview and dragging to the rows for Item, Category, Component, and Quantity.

    line item fields mapped

  13. The next step is to save the script file (.TxR) and the Excel preview file (.xlsx). Click the Back arrow button at the top on the File menu.

    file tab back button

    The best practice is to name the Excel spreadsheet the same name as the script unless an Excel spreadsheet will be used for multiple scripts.

    Note: If you want to use an existing Excel file that already has the data set up, you can skip saving the preview file and save the script file by clicking the Save button on the File menu.

  14. Transaction prompts you to save the Excel preview file.

    prompt to save preview file

  15. Click Yes, and then enter the Excel file name.
  16. Transaction prompts you to save the script.

    prompt to save script file

  17. Click Yes, and then enter the script’s name.

Add the data

Transaction loads the Run pane.

If necessary, you can navigate back to the Mapper by clicking the Update Mapping link on the Map pane.

link to open mapper and update mapping

  1. Click the Excel icon to the right of the Select Data File box. This will open the mapped Excel file that is listed in the Selected Data File box.

    run pane

    Note: Transaction will automatically assign the Log column to the next available column after the last mapped column (in this case, column J).

  2. Type the data in the columns, and then save the Excel file.

    data in the sheet

    After you enter the data into the Excel spreadsheet, you can run the script.


Back at the Transaction Run pane, you can specify a start and end row, specify the Excel sheet that contains the data, and change the Log column.

  1. To execute the upload, click the Test button, if you are a Central user, or click the Run button if you are not a Central user.
  2. In the SAP Logon window, if necessary, click the System button to select the appropriate SAP system.
  3. Enter the appropriate user data, and then click OK.
  4. In the bottom left corner, Transaction displays a message when the run has finished.
  5. Open the Excel sheet and check the log column. The run was successful and the messages returned from SAP were entered into the log column.