Create BOM (Build of Material)

<< Click to Display Table of Contents >>

Navigation:  All About ABAP Technique > Indonesia > Function Module Examples Code >

Create BOM (Build of Material)

Objective

Pengetahuan menggunakan Function Module Standard SAP untuk membuat BOM (Build of Material)

Support

 

Contributor

Albertus Reinandang ( reinandang@yahoo.com )

 

BAPI_MATERIAL_BOM_GROUP_CREATE : Creation of a Material BOM Group

 

Contoh :
REPORT  ztest_fm701.
 
PARAMETERS p_matnr LIKE mara-matnr DEFAULT '51200013',
            p_werks LIKE marc-werks DEFAULT '5620',
            p_stlan LIKE rc29n-stlan DEFAULT '1',
            p_stlal LIKE rc29n-stlal DEFAULT '06',
            p_datum LIKE sy-datum DEFAULT sy-datum.
 
PARAMETERS p_mat01 LIKE mara-matnr DEFAULT '51300004',
            p_quant1 LIKE rc29p-menge DEFAULT '10000',
            p_mat02 LIKE mara-matnr DEFAULT '51300002',
            p_quant2 LIKE rc29p-menge DEFAULT '1000'.
 
 
DATA:
gi_bomgroup LIKE bapi1080_bgr_c OCCURS WITH HEADER LINE,
gi_variants LIKE bapi1080_bom_c OCCURS WITH HEADER LINE,
gi_items LIKE bapi1080_itm_c OCCURS WITH HEADER LINE,
gi_matrel LIKE bapi1080_mbm_c OCCURS WITH HEADER LINE,
gi_itemas LIKE bapi1080_rel_itm_bom_c OCCURS WITH HEADER LINE,
gi_return LIKE bapiret2 OCCURS WITH HEADER LINE.
 
DATA lw_return LIKE bapiret2.
DATA fc_message LIKE sy-lisel.
 
START-OF-SELECTION.
 
* Fill the data
* Material BoM Group Header Data
CLEAR gi_bomgroup.
 gi_bomgroup-bom_group_identification 'BAPI_SMP_COL1'.
 gi_bomgroup-object_type 'BGR'.
 gi_bomgroup-object_id 'SIMPLE1'.
 gi_bomgroup-created_in_plant p_werks.
 gi_bomgroup-bom_usage p_stlan" YOU COULD CHANGE THE BOM USAGE TO YOUR needs
 gi_bomgroup-ltxt_lang sy-langu.
 gi_bomgroup-technical_type ' '.
 gi_bomgroup-bom_text 'Simple BoM - FM'.
APPEND gi_bomgroup.
 
* Header Details of the different variants
CLEAR gi_variants.
 gi_variants-bom_group_identification 'BAPI_SMP_COL1'.
 gi_variants-object_type 'BOM'.
 gi_variants-object_id 'SIMPLE1'.
 gi_variants-alternative_bom p_stlal.
*gi_variants-bom_status = '01'.
*gi_variants-base_qty = '1.000'.
 gi_variants-valid_from_date p_datum.
 gi_variants-function 'NEW'.
APPEND gi_variants.
 
* Details of the materials of the different variants
CLEAR gi_matrel.
 gi_matrel-bom_group_identification 'BAPI_SMP_COL1'.
 gi_matrel-material p_matnr.
 gi_matrel-plant p_werks.
 gi_matrel-bom_usage p_stlan.
 gi_matrel-alternative_bom p_stlal.
APPEND gi_matrel.
 
* Details of the items of the variants
CLEAR gi_items.
 gi_items-bom_group_identification 'BAPI_SMP_COL1'.
 gi_items-object_type 'ITM'.
 gi_items-object_id 'SIMPLE1'.
 gi_items-item_no '0010'.
 gi_items-item_cat 'L'.
 gi_items-component p_mat01.
 gi_items-comp_qty p_quant1.
 gi_items-valid_from_date p_datum.
APPEND gi_items.
 
CLEAR gi_items.
 gi_items-bom_group_identification 'BAPI_SMP_COL1'.
 gi_items-object_type 'ITM'.
 gi_items-object_id 'SIMPLE1'.
 gi_items-item_no '0020'.
 gi_items-item_cat 'L'.
 gi_items-component p_mat02.
 gi_items-comp_qty p_quant2.
 gi_items-valid_from_date p_datum.
APPEND gi_items.
 
* Linking items to the corresponding variants
CLEAR gi_itemas.
 gi_itemas-bom_group_identification 'BAPI_SMP_COL1'.
 gi_itemas-sub_object_type 'ITM'.
 gi_itemas-sub_object_id 'SIMPLE1'.
 gi_itemas-super_object_type 'BOM'.
 gi_itemas-super_object_id 'SIMPLE1'.
 gi_itemas-valid_from_date p_datum.
 gi_itemas-function 'NEW'.
APPEND gi_itemas.
 
* Create variants
CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
  EXPORTING
     all_error         'X'
  TABLES
     bomgroup         gi_bomgroup
     variants         gi_variants
     items             gi_items
     materialrelations gi_matrel
     itemassignments   gi_itemas
    return            gi_return.
 
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
 
 
LOOP AT gi_return INTO lw_return.
  CALL FUNCTION 'RPY_MESSAGE_COMPOSE'
    EXPORTING
      language       sy-langu
       message_id     lw_return-id
       message_number lw_return-number
       message_var1   lw_return-message_v1
       message_var2   lw_return-message_v2
       message_var3   lw_return-message_v3
       message_var4   lw_return-message_v4
    IMPORTING
       message_text   fc_message.
 
  WRITE:/ fc_message.
 
ENDLOOP.