Creation of Variant BOM using Simple BOM

Hi
I am havign a production BOM, i wanted to create Variant BOM using Production BOM.
Pls let me know, whether we have any Function modules for the same.
Regards
MD

check SAP std.program to create variant BOM .
<b>RCSBI030</b>
Regards
Prabhu

Similar Messages

  • Simple BOM with sub-items (very very urgent)--1 item & 2 subitem

    Hi all,
    i am creating a BOM with sub-items using  'BAPI_MATERIAL_BOM_GROUP_CREATE'. while  creating sub-item, it is taking only one subitem. but i am giving multiple sub-items per item.
    i am giving a program where i am assigning 2 subitems to one item.
    after tha bapi call, 1 subitem is creating.
    i have tried so many times by clearing the work area & calling the bapi for each sub-item.but it is creating only one sub-item only.
    i am giving an example of my report.plz correct it if i am wrong.it is veryt very urgent.
    any idea will be highly appreaciated.
    Regards
    pabitra
    REPORT ZTEST_CHIN message-id 01.
    This code will create a material BoM for the material
    MAINMATERIAL with the components COMPON1 and COMPON2.
    Data Declaration
    DATA:
        it_bomgroup LIKE bapi1080_bgr_c OCCURS 0 WITH HEADER LINE,
        it_variants LIKE bapi1080_bom_c OCCURS 0 WITH HEADER LINE,
        it_items LIKE bapi1080_itm_c OCCURS 0 WITH HEADER LINE,
        it_matrel LIKE bapi1080_mbm_c OCCURS 0 WITH HEADER LINE,
        it_itemas LIKE bapi1080_rel_itm_bom_c OCCURS 0 WITH HEADER LINE,
        it_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
        it_subitems LIKE bapi1080_sui_c OCCURS 0 WITH HEADER LINE,
        it_subitemas LIKE BAPI1080_REL_SUI_ITM_C OCCURS 0 WITH HEADER LINE.
    Fill the data
    Material BoM Group Header Data
    CLEAR it_bomgroup.
    it_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.
    it_bomgroup-object_type = 'BGR'.
    it_bomgroup-object_id = 'SIMPLE1'.
    it_bomgroup-bom_usage = '1'.  " YOU COULD CHANGE THE BOM USAGE TO YOUR
    it_bomgroup-ltxt_lang = sy-langu.
    it_bomgroup-technical_type = ' '.
    it_bomgroup-bom_text = 'Simple BoM - FM'.
    APPEND it_bomgroup.
    Header Details of the different variants
    CLEAR it_variants.
    it_variants-bom_group_identification = 'BAPI_SMP_COL1'.
    it_variants-object_type = 'BOM'.
    it_variants-object_id = 'SIMPLE1'.
    it_variants-alternative_bom = '01'.
    it_variants-bom_status = '01'.
    it_variants-base_qty = '1.000'.
    it_variants-valid_from_date = sy-datum.
    it_variants-function = 'NEW'.
    APPEND it_variants.
    Details of the materials of the different variants
    CLEAR it_matrel.
    it_matrel-bom_group_identification = 'BAPI_SMP_COL1'.
    it_matrel-material = 'BAPIBOMFG1'.
    it_matrel-bom_usage = '1'.
    it_matrel-alternative_bom = '01'.
    APPEND it_matrel.
    Linking subitems to the corresponding variants
    CLEAR it_subitemas.
    it_subitemas-bom_group_identification = 'BAPI_SMP_COL1'.
    it_subitemas-sub_object_type = 'SUI'.
    it_subitemas-sub_object_id = 'SIM1'.
    it_subitemas-super_object_type = 'ITM'.
    it_subitemas-super_object_id = 'SIMPLE1'.
    APPEND it_subitemas.
    Linking items to the corresponding variants
    CLEAR it_itemas.
    it_itemas-bom_group_identification = 'BAPI_SMP_COL1'.
    it_itemas-sub_object_type = 'ITM'.
    it_itemas-sub_object_id = 'SIMPLE1'.
    it_itemas-super_object_type = 'BOM'.
    it_itemas-super_object_id = 'SIMPLE1'.
    it_itemas-valid_from_date = sy-datum.
    it_itemas-function = 'NEW'.
    APPEND it_itemas.
    Details of the items of the variants
    CLEAR it_items.
    it_items-bom_group_identification = 'BAPI_SMP_COL1'.
    it_items-object_type = 'ITM'.
    it_items-object_id = 'SIMPLE1'.
    it_items-item_no = '0010'.
    it_items-item_cat = 'L'.
    it_items-component = 'BAPIBOMRW1'.
    it_items-comp_qty = '2'.
    it_items-valid_from_date = sy-datum.
    APPEND it_items.
    CLEAR it_subitems.
    it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
    it_subitems-object_type = 'SUI'.
    it_subitems-object_id = 'SIM1'.
    it_subitems-subitem_no = '0001'.
    it_subitems-INSTALLATION_POINT = 'ab1'.
    it_subitems-subitem_qty = '1'.
    APPEND it_subitems.
    CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
      EXPORTING
        all_error         = 'X'
      TABLES
        bomgroup          = it_bomgroup
        variants          = it_variants
        items             = it_items
        materialrelations = it_matrel
        itemassignments   = it_itemas
        subitems          = it_subitems
        subitemassignments = it_subitemas
        return            = it_return.
    CLEAR it_subitems.
    it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
    it_subitems-object_type = 'SUI'.
    it_subitems-object_id = 'SIM1'.
    it_subitems-subitem_no = '0002'.
    it_subitems-INSTALLATION_POINT = 'ab2'.
    it_subitems-subitem_qty = '1'.
    APPEND it_subitems.
    CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
      EXPORTING
        all_error         = 'X'
      TABLES
        bomgroup          = it_bomgroup
        variants          = it_variants
        items             = it_items
        materialrelations = it_matrel
        itemassignments   = it_itemas
        subitems          = it_subitems
        subitemassignments = it_subitemas
        return            = it_return.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    LOOP AT it_return.
      WRITE:/ it_return-type, it_return-id, it_return-number,
              it_return-message.
    ENDLOOP.

    Hi rich,
    Thanks. i will do the same.can u plz suggest me , where i am doing mistake in my coding to create sub-items in a BOM?
    Thanks & Regards
    pabi

  • Error while creating BOM using BAPI (urgent)

    Hi all,
    Thanks for ur help. i am getting some error while creting a BOM using that BAPI
    BAPI_MATERIAL_BOM_GROUP_CREATE.
    errors are
    1) Error/warning when checking the structure of the BOM group with ID =
    2)Alternative does not exist for material assignment to material BAPIBOMFG1
    is it mandatory to pass the bom group id to this bapi?
    In bomgroup structure , i am not passing anything to BOM_GROUP field.
    is it mandatory to pass this data? i am giving my coding below.plz suggest , where i am making mistake. it is urgent.
    regards
    pabitra
    report z_bom_create
    line-size 132
    line-count 65
    no standard page heading.
    *-- DATA DECLARATION--
    include <icon> .
    *---Tables
    tables : s076, t100, marc .
    *---Types
    types : begin of t_upload, " Upload file data
    col1(18),
    col2(10),
    col3(30),
    col4(12),
    col5(50),
    end of t_upload,
    begin of t_split,
    location like stpu-ebort,
    end of t_split.
    data:begin of i_return occurs 10.
    include structure bapiret2.
    data:end of i_return.
    types:begin of t_item."occurs 10.
    include structure BAPI1080_ITM_C.
    types:end of t_item.
    types:begin of t_subitem." occurs 10.
    include structure BAPI1080_SUI_C.
    types:end of t_subitem.
    types:begin of t_header." occurs 10.
    include structure BAPI1080_MBM_C.
    types:end of t_header.
    types:begin of t_bomgroup." occurs 10.
    include structure BAPI1080_BGR_C.
    types:end of t_bomgroup.
    types:begin of t_variant." occurs 10.
    include structure BAPI1080_BOM_C.
    types:end of t_variant.
    *--- Tables
    data: i_upload type standard table of t_upload, " to hold data
    i_upload1 type standard table of t_upload,
    i_split type standard table of t_split,
    i_item type standard table of t_item,
    i_subitem type standard table of t_subitem,
    i_header type standard table of t_header,
    i_bomgroup type standard table of t_bomgroup,
    i_variant type standard table of t_variant.
    data: wa_upload type t_upload, " to hold file data,
    wa_upload1 type t_upload, " to hold plan data,
    wa_split type t_split,
    wa_item type t_item,
    wa_subitem type t_subitem,
    wa_header type t_header,
    wa_bomgroup type t_bomgroup,
    wa_variant type t_variant.
    data:v_matnr like mara-matnr,
    v_start like sy-index,
    v_count(3) type c.
    *--Constants
    data: c_dot type c value '.',
    c_x type c value 'X',
    c_comma type c value ','.
    -------Selection Screen Design -
    *Selection screen for input of upload file address
    selection-screen skip 2.
    selection-screen begin of block blk1 with frame.
    parameters : p_file like rlgrap-filename obligatory .
    parameters : p_matnr like mara-matnr obligatory,
    p_werks like marc-werks obligatory memory id wrk,
    p_stlan like afko-stlan obligatory default '1' .
    selection-screen end of block blk1.
    ---AT SELECTION SCREEN -
    at selection-screen on value-request for p_file.
    *--For popup to select file.
    perform f_give_help.
    at selection-screen on p_matnr.
    perform f_check_matnr.
    -----START OF SELECTION -
    *--Data upload using WS_Upload.
    perform f_get_data.
    perform f_get_bom_data.
    perform f_get_bom_data1.
    perform f_call_bapi.
    *& Form f_give_help
    text
    --> p1 text
    <-- p2 text
    FORM f_give_help.
    call function 'WS_FILENAME_GET'
    exporting
    mask = ',.,..'
    mode = 'O'
    importing
    filename = p_file
    exceptions
    inv_winsys = 1
    no_batch = 2
    selection_cancel = 3
    selection_error = 4
    others = 5.
    if sy-subrc <> 0 and not sy-msgty is initial.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    ENDFORM. " f_give_help
    *& Form f_check_matnr
    text
    --> p1 text
    <-- p2 text
    FORM f_check_matnr.
    CALL FUNCTION 'BAPI_MAT_BOM_EXISTENCE_CHECK'
    EXPORTING
    MATERIAL = p_matnr
    PLANT = p_werks
    BOMUSAGE = '1'
    VALID_FROM_DATE =
    VALID_TO_DATE =
    TABLES
    RETURN = i_return.
    ENDFORM. " f_check_matnr
    *& Form f_get_data
    text
    --> p1 text
    <-- p2 text
    FORM f_get_data.
    call function 'WS_UPLOAD'
    exporting
    CODEPAGE = ' '
    filename = p_file
    filetype = 'DAT'
    tables
    data_tab = i_upload
    exceptions
    conversion_error = 1
    file_open_error = 2
    file_read_error = 3
    invalid_type = 4
    no_batch = 5
    unknown_error = 6
    invalid_table_width = 7
    gui_refuse_filetransfer = 8
    customer_error = 9
    others = 10
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    ENDFORM. " f_get_data
    *& Form f_get_bom_data
    text
    --> p1 text
    <-- p2 text
    FORM f_get_bom_data.
    delete i_upload where col1 is initial.
    delete i_upload where col1 cs 'ITEM'.
    read table i_upload into wa_upload with key col1 = 'FINISHED GOOD:'.
    if sy-subrc = 0.
    v_matnr = wa_upload-col2.
    if v_matnr <> p_matnr.
    message e001(zl) with p_matnr.
    endif.
    else.
    message e000(zl).
    endif.
    ENDFORM. " f_get_bom_data
    *& Form f_get_bom_data1
    text
    --> p1 text
    <-- p2 text
    FORM f_get_bom_data1.
    loop at i_upload into wa_upload where col1 CS 'FINISHED GOOD'.
    v_start = sy-tabix + 1.
    loop at i_upload into wa_upload1 from v_start .
    if wa_upload1-col1 cs 'FINISHED GOOD'.
    exit.
    else.
    perform f_split_upload_data.
    endif.
    endloop.
    endloop.
    ENDFORM. " f_get_bom_data1
    *& Form f_split_upload_data
    text
    --> p1 text
    <-- p2 text
    FORM f_split_upload_data.
    if not wa_upload1-col5 is initial.
    if wa_upload1-col5 cs c_comma.
    split wa_upload1-col5 at c_comma into table i_split.
    loop at i_split into wa_split.
    v_count = v_count + 1.
    endloop.
    if wa_upload1-col4 <> v_count.
    wa_upload1-col4 = v_count.
    endif.
    clear wa_upload1-col5.
    clear wa_split.
    loop at i_split into wa_split.
    wa_upload1-col5 = wa_split-location.
    append wa_upload1 to i_upload1.
    endloop.
    else.
    append wa_upload1 to i_upload1.
    endif.
    else.
    append wa_upload1 to i_upload1.
    endif.
    ENDFORM. " f_split_upload_data
    *& Form f_call_bapi
    text
    --> p1 text
    <-- p2 text
    FORM f_call_bapi.
    clear wa_upload1.
    wa_header-material = p_matnr.
    wa_header-plant = p_werks.
    wa_header-bom_usage = p_stlan.
    append wa_header to i_header.
    wa_bomgroup-bom_usage = p_stlan.
    wa_bomgroup-created_in_plant = p_werks.
    append wa_bomgroup to i_bomgroup.
    wa_variant-alternative_bom = 1.
    wa_variant-base_qty = 1.
    wa_variant-valid_from_date = sy-datum.
    append wa_variant to i_variant.
    loop at i_upload1 into wa_upload1.
    wa_item-item_no = wa_upload1-col1.
    wa_item-item_cat = wa_upload1-col2.
    wa_item-component = wa_upload1-col3.
    wa_item-comp_qty = wa_upload1-col4.
    append wa_item to i_item.
    wa_subitem-subitem_qty = '1'.
    wa_subitem-installation_point = wa_upload1-col5.
    append wa_subitem to i_subitem.
    endloop.
    CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
    EXPORTING
    TESTRUN = ' '
    ALL_ERROR = ' '
    TABLES
    BOMGROUP = i_bomgroup
    VARIANTS = i_variant
    ITEMS = i_item
    SUBITEMS = i_subitem
    MATERIALRELATIONS = i_header
    ITEMASSIGNMENTS =
    SUBITEMASSIGNMENTS =
    TEXTS =
    RETURN = i_return.
    if i_return[] is initial.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    *write: /'BOM created:', stpo-stlnr.
    else.
    *if not i_return[] is initial.
    loop at i_return.
    IF i_return-TYPE = 'E'.
    errmsg-type = i_return-type.
    errmsg-line = i_return-message.
    append errmsg.
    ULINE /1(108).
    write:/ icon_led_RED as icon, i_return-MESSAGE.
    ULINE /1(108).
    ENDIF.
    IF i_return-TYPE = 'W'.
    errmsg-type = i_return-type.
    errmsg-line = i_return-message.
    append errmsg.
    ULINE /1(108).
    write:/ icon_led_YELLOW as icon, i_return-MESSAGE.
    ULINE /1(108).
    ENDIF.
    ENDLOOP.
    *write: / i_return-id, i_return-number, i_return-message(80).
    *endloop.
    *write: /'Error'.
    endif.
    ENDFORM. " f_call_bapi

    Hi shashi,
    Thanks for ur help.i tried after passing the group but it is giving same error.
    i am getting the error
    "Error/warning when checking the structure of the BOM group with ID= test"
    i am gettig the above error when i put bomgroup-bom_group_identification = 'TEST'.
    whatever i am putting in this field, the same error is comming having different value.
    if i put--- bomgroup-bom_group_identification = ' '. then i will get error
    "Error/warning when checking the structure of the BOM group with ID=
    if i omit that field, then also , i am getting same error.
    plz suggest what r the fields i need to pass for BOMGROUP structure for that bapi?
    regards
    pabitra

  • Use of BOM in sales

    Dear All,
    Any use of BOM in sales,how we can use BOM in sales?
    Regards
    Gajjen

    Dear
    The sales BOM represents a finished product which is assembled at the sales stage.here the both the finished product and the components appear as separate items in the sales order.
    In Sales BOM you do not manage the finished product as an inventory item, but just a sales item. The components can also be sales and stock items
    When you create the delivery to dispatch the customeru2019s order, the components are backflush issued from stock.
    The components for Sales BOM must be sales items.The Sales BOM is mainly used in the Retail industries than other industries.
    While using the material in each dept. the usage differs so for that sap provided this function. for sales bom is used only sales and also that material already exist in the plant. and mm bom the material has to procure from the some third party that all functionality will control throgh the maitaning bom usage.
    You can use OS20 T code for the usage and for creation CS01 wiith usage 5 or CS61.
    Refer this thread also,
    https://forums.sdn.sap.com/click.jspa?searchID=16427620&messageID=4368923
    Regards
    JH

  • ETO: SalesOrder BOM use directly from iPPE

    Hi experts,
    I am trying to test ETO scenario with using iPPE as follows;
    1. Create Structure node with valiant configuration with some materials.
    2. Copy it to M-BOM (PP BOM - Super BOM?)
    3. Crate SO with variant configuration, then copy SalesOrder(SO) BOM from M-BOM.
        and also automaticaly Project with networks are created.
    4. Process BOM transfer from SO BOM to Network.
    5 ....
    Is it possible solution.
    And the customer don't want to copy BOM from iPPE and need to create SO BOM from iPPE. is it possible. if so, please give some operation or customizing settings.
    thanks always.
    best regards, Takashi

    This thread was "answered".
    Discussed with my collegue, Sales order can not read iPPE node anymore.
    So we have only two options;
    1. Transfer M-BOM into PP from iPPE node.
        Then create SO.
    or
    2. Transfer E-BOM directly to PS.

  • Error while creating BOM using BAPI 'BAPI_BOM_UPLOAD_SAVE'

    Hi All,
    We are getting an error as 'Data is incomplete' while trying to create BoM using the bapi 'BAPI_BOM_UPLOAD_SAVE', if the item contains Item category as 'T'. But for other item category like 'L' or 'N', the bapi is sucessfull.
    The values that we pass to fill the item category 'T' are operation, item_cat, bom_itm_no, COMPON_QTY, FIXED_QTY as 'X', UNMEAS as 'ST', ITEM_TEXT1 and ITEM_TEXT2.
    Anyone who has faced same problem or has a solution to the problem, kindly provide a solution.
    Regards,
    Vijay

    The error you receive is because of different config for different Item Categories. Find out from the functional team what fields have they kept mandatory for the item category 'T'. You may not be passing one of those fields in the BAPI.
    Try creating a BOM manually for item category 'T' and you may figure our which field you are missing.

  • Sales Order - Purchase Order using Production BOM?

    Hi all,
    We are experimenting moving over from Sales BOMs to Production BOMs to allow us to use P&P Manager properly.
    One of the scenarios which is causing a problem is "back to back" ordering. At the moment, with our Sales BOMs, we can tick the "purchase orders" checkbox in the logistics tab, and generate Purchase Orders for our Sales Order (the system creates POs for all the child components in the Sales Order we choose).
    When we have tested this with a Production BOM, we cannot seem to find a way to get the system to do anything similar (plus in this case, I guess create the relevant work order(s)).
    Is there a way of achieving this?
    Thanks
    Raj

    Hi Suda,
    Thanks for your reply. After further thought, I realise that we will be unable to use the Production BOM and will have to stick to Sales BOM type for the forseeable future.
    Thanks,
    Raj

  • Planning for  product using multiple bom and multiple recipe involving SOP

    Hi friends,
    The problem. Currently we have maintained single BOM and single recipe (The BOM and Recipe used for MRP) for long term planning run. The FMCG sector of Client requested to have multiple BOMs and multiple recipes in the long term planning run. I.e. The planning is done quarterly and they wanted to use different BOMs and Different recipes for each quarter. But since the existing system has configured to use a single BOM and a single recipe we have a problem to use the long term planning run with the current setups.The problem we have is in this ‘001’ planning scenario.
    appreciate if you can help me how to accommodate multiple BOMs and recepis in the long term planning run.
    thanks and regards
    om

    HI Mr. Ready,
    We create PIR though a submit Job and in this case how to mention the production version while creating PIRs . Also if I am creating PIR through MD61 how to record the version.
    Please advice.
    Thanks and Regards,
    Om

  • Load Bill of Material (BOM) using DTW?

    I had a question, I was wondering how do we load BOM using DTW?
    Which template to use
    Thanks in advance

    Hai------ Sorry for Confusion Ignore the earlier reply
    For DTW work of BOM you need 2 no. of templates
    1. Product trees which contain all the Parent item names
    Eg of template
    Record Key -
    Item Code----
    Tree Type
    1 -
    A001 -
    iProduction tree
    2 -
    B001 -
    iProduction tree
    2. Product tree lines which contain all the child items with correspoinding parent item record key no and line no individual
    Record Key -
    Line No-- Item Code--
    Parent Item Code -
    Quantity
    1-- 0 -X001 A001--
    10
    1 -
    1 -
    X002 -
    A001 -
    4
    1 -
    2 -
    X003-- A001--
    5
    2 -
    0 -
    Y001-- B001--
      7
    2 -
    1--Y002--
    B001 -
    4
    2 -
    2 -
    Y003-- B001--
    6
    Like this prepare your template and upload
    For any queries come back to here
    Regds

  • To display flatfile rec's under 1 Alternative BOM using BDc recording.

    Hi,
    I m trying to display flat file entire(i.e.. 4 rec's i m using) records vertically under one (Alternative BOM) for CS01-BOM using BDC recording method.
    Now i m tried with the following code,i m getting as one (Alternative BOM) for one ff record,by replacing one by one.
    But i want as vertically under one (Alternative BOM).
    Can anyone help me to overcome this.
    report ZBOM
    no standard page heading line-size 255.
    *include bdcrecx1.
    DATA: BEGIN OF bdc OCCURS 0,
    matnr(18),
    werks(4),
    stlan(1),
    END OF BDC.
    DATA: BEGIN OF BDC1 OCCURS 0,
    idnrk(18),
    MENGE(18),
    MEINS(3),
    postp(1),
    posnr(4),
    END OF bdc1.
    DATA: BEGIN OF BDCDATA OCCURS 0,
    matnr(18),
    werks(4),
    stlan(1),
    idnrk(18),
    MENGE(18),
    MEINS(3),
    postp(1),
    posnr(4),
    END OF BDCDATA.
    data ibdcdata type standard table of bdcdata WITH header line.
    *start-of-selection.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    FILENAME = 'C:\Documents and Settings\dilipkumar.b\Desktop\soft.txt'
    FILETYPE = 'ASC'
    HAS_FIELD_SEPARATOR = ','
    HEADER_LENGTH = 0
    READ_BY_LINE = 'X'
    DAT_MODE = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    CHECK_BOM = ' '
    VIRUS_SCAN_PROFILE =
    NO_AUTH_CHECK = ' '
    IMPORTING
    FILELENGTH =
    HEADER =
    TABLES
    DATA_TAB = BDCDATA
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    NO_AUTHORITY = 6
    UNKNOWN_ERROR = 7
    BAD_DATA_FORMAT = 8
    HEADER_NOT_ALLOWED = 9
    SEPARATOR_NOT_ALLOWED = 10
    HEADER_TOO_LONG = 11
    UNKNOWN_DP_ERROR = 12
    ACCESS_DENIED = 13
    DP_OUT_OF_MEMORY = 14
    DISK_FULL = 15
    DP_TIMEOUT = 16
    OTHERS = 17
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *perform open_group.
    loop at bdcdata.
    perform bdc_dynpro using 'SAPLCSDI' '0100'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29N-STLAN'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RC29N-MATNR'
    'SOFTDRINKS'.
    perform bdc_field using 'RC29N-WERKS'
    'WIND'.
    perform bdc_field using 'RC29N-STLAN'
    '1'.
    perform bdc_field using 'RC29N-DATUV'
    '16.09.2008'.
    perform bdc_dynpro using 'SAPLCSDI' '0110'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RC29K-BMENG'
    '1'.
    perform bdc_field using 'RC29K-STLST'
    '1'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29K-EXSTL'.
    perform bdc_dynpro using 'SAPLCSDI' '0111'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29K-LABOR'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_dynpro using 'SAPLCSDI' '0140'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29P-POSTP(01)'.
    perform bdc_field using 'BDC_OKCODE'
    '=FCBU'.
    perform bdc_field using 'RC29P-IDNRK(001)'
    BDCDATA-IDNRK.
    perform bdc_field using 'RC29P-MENGE(001)'
    BDCDATA-MENGE.
    perform bdc_field using 'RC29P-MEINS(001)'
    BDCDATA-MEINS.
    perform bdc_field using 'RC29P-POSTP(001)'
    BDCDATA-POSTP.
    perform bdc_dynpro using 'SAPLCSDI' '0130'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29P-POSNR'.
    perform bdc_field using 'RC29P-POSNR'
    BDCDATA-POSNR. "'0010'.
    perform bdc_field using 'RC29P-IDNRK'
    BDCDATA-IDNRK. "'15'.
    perform bdc_field using 'RC29P-MENGE'
    BDCDATA-MENGE. "'1'.
    perform bdc_field using 'RC29P-MEINS'
    BDCDATA-MEINS. "'ml'.
    perform bdc_dynpro using 'SAPLCSDI' '0131'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'BDC_CURSOR'
    'RC29P-POTX1'.
    perform bdc_field using 'RC29P-SANKA'
    'X'.
    *perform bdc_transaction using 'CS01'.
    *perform close_group.
    CALL TRANSACTION 'CS01' USING IBDCDATA MODE 'A' UPDATE 'S'.
    REFRESH IBDCDATA.
    clear ibdcdata.
    endloop.
    Start new screen *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
    CLEAR iBDCDATA.
    iBDCDATA-PROGRAM = PROGRAM.
    iBDCDATA-DYNPRO = DYNPRO.
    iBDCDATA-DYNBEGIN = 'X'.
    APPEND ibDCDATA .
    ENDFORM.
    Insert field *
    FORM BDC_FIELD USING FNAM FVAL.
    IF FVAL NODATA.
    CLEAR iBDCDATA.
    iBDCDATA-FNAM = FNAM.
    iBDCDATA-FVAL = FVAL.
    APPEND iBDCDATA .
    ENDIF.
    ENDFORM.

    Hi Dilip,
    Please change your code.
    I request you to please go through BDC tutorials before even starting to write the program.
    There are many online tutorials which can help you with.
    Also, search in SDN.. there you will get more than thousand results.. with the search term BDC.
    Take this suggestion seriously before nayone reports the moderators that u have been posting this thread daily without taking into consideration the previous replies.
    Regards,
    Vishwa.

  • Problem while Creating BOM using LSMW Direct Input

    Hi  all ,
    I am trying to create the BOM Using LSMW Direct Input Method .
    I am getting problem at step 9 that is Read Data.
    It is able to read the values from header and item files .
    but it is not able to write , so the Written is 0 always .
    I put the field names first in the flat file and correcponding values below it with tab delimited.
    Please let me know where the Problem would be.... I am trying this from long time ..
    Regards ,
    Raj

    hi ,
    Yes i am specify files i am attaching 2 files .
    ones is header and the other is line item data .
    my strucure is :
    Hi ,
    I am still getting problem while for writing the records after reading the data .....
    my header structure :
    STYPE
    MATNR
    WERKS
    SELAL
    STLAN
    DATUV
    ZTEXT
    my item structure :
    STYPE
    MATNR
    WERKS
    SELAL
    POSTP
    MENGE
    my header data :
    STYPE     MATNR     WERKS     SELAL     STLAN     DATUV     ZTEXT
    1     388     0110     20     1     06.01.2009     SAMPLE ZTEXT     
    my item data :
    STYPE     MATNR1     WERKS     SELAL     POSTP     MENGE
    1     388     0110     20     N     1234
    1     382     0110     20     N     12345
    Above text files are delimited by tabulator.
    Please guide me . The files are reading but unable to write .....
    Regards,
    Raj

  • It did not insert the materials in the BOM using 'CSAP_MAT_BOM_MAINTAIN'

    Hi!
      We developed a ABAP technical maintenance BOM.
      In the program.
      Before, we got current BOM and eliminated all related items.
      Routine below.
         LOOP AT INTO it_stpo wa_stpo.
           MOVE-CORRESPONDING TO wa_stpo wa_stpo_i.
           wa_stpo_i-id_itm_ctg = wa_stpo-item_categ.
           wa_stpo_i-id_item_no = wa_stpo-item_no.
           wa_stpo_i-id_comp = wa_stpo-component.
           wa_stpo_i-fldelete = 'X'.
           APPEND TO wa_stpo_i it_stpo_i.
         ENDLOOP.
         CALL FUNCTION 'CSAP_MAT_BOM_MAINTAIN'
           EXPORTING
             Stuff = pv_matnr
             plant = p_werks
             bom_usage = p_tplis
             Alternative = p_altlis
             VALID_FROM = v_valid_from
             i_stko = pv_wa_stko
            TABLES
              t_stpo = it_stpo_i.
    After , we inserted new materials in the BOM using the same function .
    routine below
       LOOP AT INTO it_tab_i wa_tab_i ins_up_del WHERE = '1 ' OR
                                               ins_up_del = '2 ' .
            wa_stpo_i - item_categ = ' L' .
            wa_stpo_i -component = wa_tab_i - matnr_pri .
            v_menge_i = wa_tab_i - menge ( 9 ) .
            v_menge = v_menge_i / 1000 .
            WRITE TO v_menge wa_stpo_i - comp_qty .
            wa_stpo_i - comp_unit = " KG " .
            wa_stpo_i - issue_loc = " COS " .
            APPEND TO wa_stpo_i it_stpo_i .
          ENDLOOP .
    * Including new materials in the BOM .
          CALL FUNCTION ' CSAP_MAT_BOM_MAINTAIN '
            EXPORTING
              Stuff = pv_matnr
              plant = p_werks
              bom_usage = p_tplis
              Alternative = p_altlis
              VALID_FROM = v_valid_from
              i_stko = pv_wa_stko
            IMPORTING
              fl_warning = v_fl_warning
            TABLES
              t_stpo = it_stpo_i
            EXCEPTIONS
              error = 1
              OTHERS = 2 .
    But the new materials were not inserted.
    Could you help me what is missing in the routine ?
    Thanks.

    Hi!
    We found the problem.
    The problem was in the fields ID_ITM_CTG, ID_ITEM_NO and ID_COMP.
      They were not cleaned when we were inserting  the new materials in the BOM.

  • Issues while processing the BOMs using fm ''CSAP_MAT_BOM_MAINTAIN'

    Hi Group,
    we are facing issues while processing the BOMs using the basic type(Z-idoc type) for standard type BOMMAT04.
    thing is that the segment 'E1STPOM' is defined to contain 1 to 99999 records in it.
    when an Idoc is run(say with 150/200 segments of 'E1STPOM'), there was a standard error with error message id PIC01(number : 004) when the Idoc is processed with the Standard function module 'CSAP_MAT_BOM_MAINTAIN'.
    the error says 'Error reading material FING_005 . Exception: 0' and Check whether the material number is blocked. but when checked, the Material seems not blocked.
    kindly advise how to overcome this error and proceed further.
    Regards,
    Vishnu

    Checj the material status, while its transfer from one server to another server the status should be different

  • Non inventory Item used in BOM/production, but i need used qty used

    Hi
    What type of item do i use best or how can i achieve this:
    I have a license cost that is used in BOM's and therefore in production orders as well. Its cost is added to the product this way. At the end of a period, i need to know how many of the item has been used in a production. If i have set the item up as non-inventory, i don't get any statistics for the item.
    Howe do i have to set up the item to get my information.
    Thank
    Franz

    Hi Franz,
    Set up this item as non inventory item should be fine since you don't need to count the item on hand.  To get its qty for production, you could use query to get report.
    Thanks,
    Gordon

  • API's used in BOM

    can any tell me list of API's used in BOM
    thax in advance

    •     Process_BOM public API
    X)     Initialize User_Id, Login_Id, Prog_AppId, Prog_Id in System_Information
    record.
    X)     Initialize Assembly_Item_Name and Org_Id in System_Information record
    from values passed by Public API.
    X)     If an BOM Header was passed in, call BOM_Header
    X)     If BOM Revisions records exist, call BOM_Rev
    X)     Call Rev_Comps to process immediate-parentless components
    X)     Call Ref_Desgs to process immediate-parentless reference designators
    X)     Call Sub_Comps to process immediate-parentless substitute components
    Regards
    Prashant Pathak

Maybe you are looking for

  • External monitor in ML ?

    I am using a Thunderbolt to VGA to connect a HP2035 monitor. Display says there is no extra monitor connected, and the monitor does not detect anything on "input" either......? What am I doing wrong ? ML....10.8.2   9, 2.....

  • Play count wrong after trying to home share

    Hello.  I recently turned on home sharing to share music with my wife's computer in the home.  After turning on home sharing, I found my play count was all different.  The numbers were off.  I have since turned off home sharing.  Is there a way now t

  • Converting Scope_Identity from tsql to pl\sql

    Here is my MS proc: CREATE Procedure [dbo].[sp_AddLabel] @v_LabelName NVARCHAR(50) = Null,           @v_LabelDescription NVARCHAR(255)= Null,           @v_Label_Data IMAGE = NULL,           @v_ProfileID SMALLINT) As begin      INSERT INTO LABELS (LAB

  • Sys_refcursor and Global Temp Table

    I have a stored proc that returns a sys_refcursor that is a query from the Global Temporary Table. The problem is that I cannot get ODP.Net to return the results. It comes back empty every time. The GTT is set for preserve on commit but ultimately I

  • From a complete database dump, I need to import 8 schemas

    I have a complete database dump made with datapump on oracle 10g on Linux. I need to import only 8 schemas. In my parfile I have to use the INCLUDE option? How can I tell oracle to import only these 4 schemas?