REPORT ZTEST_PP01.
*---- BOM header data structure
data: begin of tstk2.
include structure stko_api02.
data: end of tstk2.
data: begin of tstko.
include structure stko_api01.
data: end of tstko.
*---- BOM items table
data: begin of tstp3 occurs 0.
include structure stpo_api03.
data: end of tstp3.
*---- Object dependencies table
* Basis data
data: begin of tdep2_data occurs 0.
include structure dep_data.
data: end of tdep2_data.
* Description
data: begin of tdep2_descr occurs 0.
include structure dep_descr.
data: end of tdep2_descr.
* Source
data: begin of tdep2_source occurs 0.
include structure dep_source.
data: end of tdep2_source.
* Sequence
data: begin of tdep2_order occurs 0.
include structure dep_order.
data: end of tdep2_order.
* Documentation
data: begin of tdep2_doc occurs 0.
include structure dep_doc.
data: end of tdep2_doc.
data: flg_warning like capiflag-flwarning.
*- Initialize database log
call function 'CALO_INIT_API'
exceptions
log_object_not_found = 1
log_sub_object_not_found = 2
other_error = 3
others = 4.
*- Fill item data
* Exception: items that can be identified uniquely via their item
* number
* 1. Item 0010: change quantity
clear tstp3.
tstp3-id_item_no = '0010'. "Item identification
tstp3-comp_qty = '222.000'.
append tstp3.
* 2. Item 0020: delete
* clear tstp3.
* tstp3-id_item_no = '0020'. "Item identification.
* tstp3-fldelete = 'X'.
* append tstp3.
**- 3. New item 0030 (stock material)
** For new items, the ID_ fields, BOM nodes, and BOM item counters are
** initial unless they use
** FLG_NEW_ITEM
* clear tstp3.
* tstp3-item_no = '0030'.
* tstp3-component = 'MAT200'.
* tstp3-item_categ = 'L'.
* tstp3-comp_qty = '1'.
* tstp3-rel_prod = 'X'.
* tstp3-sortstring = 'A1'.
* append tstp3.
** 3. Item 0040: change component
* clear tstp3.
* tstp3-id_item_no = '0040'. "Item identification
* tstp3-component = 'MAT500'.
* append tstp3.
*- Change BOM
call function 'CSAP_MAT_BOM_MAINTAIN'
exporting
material = 'DC-M321'
plant = '1000'
bom_usage = '1'
valid_from = '2009.07.01'
fl_bom_create = ' '
fl_new_item = ' '
i_stko = tstko
* importing
* fl_warning = flg_warning
* o_stko = tstk2
tables
t_stpo = tstp3
exceptions
others = 1.
if sy-subrc eq 1.
*---- Error
* Please see log
endif.
if flg_warning eq 'X'.
*---- Please see log for information, warning messages, and success
* messages.
Endif.