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 in Studio v11 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 loop feature to upload multiple-item BOMs from Excel into SAP.



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

    file new

  3. Click Transaction, and then click Create from Recording.

    click transaction create from recording

  4. Choose the SAP system that you want to use, enter the appropriate user data, and then click Log On to SAP.

    log on to sap

    If you do not see the SAP system that you want, click Advanced SAP Logon, click Add System, provide the system information, and click OK.

  5. In the Transaction code box, type CS01.

    type the transaction code in the transaction code box

  6. Leave the recording mode as Standard. If you do not see Standard, click Change, click Non-Batch Input Mode With SAP Controls, and click OK.

    Note: For most transactions, the default mode is Standard, and the Winshuttle Function Module (WFM) selects the optimum mode for the t-code that is being recorded.  If the WFM is not installed, 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 Foundation mode).

  7. Click Start Recording.

    start recording 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.

  8. 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.

  9. Press Enter to continue.
  10. 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

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

  11. Press Enter.
  12. Enter the line item data on the General Data screen.

    item general data

  13. Press Enter.
  14. Enter the line item data on the Status/long text screen.

    item status long text

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

    new entries button

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

    save button in s a p gui

After Studio finishes compiling the script, it will take you to the Map tab.


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 in the order that they appear in the Mapper. Because of the complexity of this transaction, we will map the fields manually instead.

The screenshot below shows the Basic View tab of the Mapper.

In each row 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.
  • Field Description: The label associated with the SAP technical field name.
  • Field Name: The SAP technical field name.
  • Field Type & Length: For example, String or Decimal, and the padding options.
  • Mapping direction: 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 mapped locations in the associated data source.

Note: The Properties pane is also displayed, but it is not shown below.

basic view of mapper

In the Data Set panel, you will see a preview screen of the selected data source type.

To change the data source type, click the drop-down menu under the Data Set tab and choose the data source type that you want.

change data source type drop down menu

The preview will change to reflect the choice. In this case, we will use Excel.

  1. 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 B, drag it up, and drop it onto row 2 (Material Number).

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

    header fields mapped to excel preview

  2. Click the Expert View tab.

    Expert View displays the fields organized by screens, and you can see the screen name, number, and description.

    expert view of mapper

  3. 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).

    selected rows in mapper

  4. Click the Create Loop button.

    create loop button

    The Loop box opens with default values, which you can change.

    • The boxes at the top show the start and end rows of the loop in the Mapper (the highlighted rows).
    • The Loop identifier column box displays the column in the spreadsheet that will contain the Header and Detail (line item data) identifiers.
    • The Text to identify Transaction Header and Text to identify repeating Line Items boxes display the values that will identify the Header (H) and Line Item (D) rows.
  5. Click the Loop identifier column box, click Show unmapped columns, click A, and then click Go.

    loop box

  6. Click OK to insert the loop around the selected Mapper rows.

    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 panel.
    • Row 2 contains the first Header ID value, and row 3 contains the Line Item ID value.

    loop in mapper

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

  7. 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 to excel preview

Add the data and run the script

  1. Click the Run tab.

    run tab

    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.

    data entered

    You can specify a start and end row, specify the Excel sheet that contains the data, and change the Log column.

  3. To execute the upload, click the Test button, if you are a Foundation user, or click the Run button if you are not a Foundation user.

    Studio prompts you to save the script and data files.

    save box

    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.

    After you save the script and data files, the script runs.

    The yellow message bar displays a message when the run has finished.

    success message in message bar

  4. Check the log column. The run was successful and the messages returned from SAP were entered into the log column.

    log messages