Fonction SAP CAD_CHANGE_BOM_WITH_SUB_ITEMS - CAD: change BOM with sub-items (in background)

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
I_BOM_HEADER CAD_BICSK u 610 BOM header data

Paramètre Reférence Type Long. Description
E_BOM_HEADER CAD_BICSK u 610 BOM header data for the created BOM
E_MESSAGE MESSAGE-MSGTX C 200 Message
E_MESSAGE_LEN CAD_RETURN-MESSAGE_LEN C 4 Length of message
E_RETURN CAD_RETURN-VALUE C 10 Return code "0" or "99"

Paramètre Reférence Long. Facultatif Description
BOM_ITEM CAD_BOM_ITEM 604 New BOM items
BOM_SUB_ITEM CSSUBITEM 85 New BOM sub-items
DMS_CLASS_DATA CLS_CHARAC 99 Currently not in use
SAP_FIELD_DATA RFCDMSDATA 330 Currently not in use

Functionality
This function module allows changes to be made to a BOM that hassub-items. Before you call this function module you must call thefunction module CAD_DISPLAY_BOM_WITH_SUB_ITEMS with the parameterI_DISPLAY_FLAG = ' ' . This function module reads the existing BOM andlocks it.
...
DATA: BOM_HEADER LIKE BICSK,
BOM_ITEM LIKE CSRFCITEM OCCURS 0 WITH HEADER LINE,
BOM_SUB_ITEM LIKE CSSUBITEM OCCURS 0 WITH HEADER LINE,
DMS_CLASS_DATA LIKE CLS_CHARAC OCCURS 0 WITH HEADER LINE,
SAP_FIELD_DATA LIKE RFCDMSDATA OCCURS 0 WITH HEADER LINE,
E_RETURN LIKE CAD_RETURN-VALUE,
E_MESSAGE LIKE MESSAGE-MSGTX,
E_MESSAGE_LEN LIKE CAD_RETURN-MESSAGE_LEN,
I_DATE LIKE BICSK-DATUV.
CLEAR: BOM_HEADER, BOM_ITEM, BOM_SUB_ITEM.
REFRESH: BOM_ITEM, BOM_SUB_ITEM.
CALL FUNCTION 'CAD_DISPLAY_BOM_WITH_SUB_ITEMS'
EXPORTING
I_MATERIAL = 'AH10'
I_PLANT = ' '
I_BOM_ALTERNATIVE = '01'
I_BOM_TYPE = '1'
* I_VALID_FROM = ' '
I_REVISION_LEVEL = ' '
I_DISPLAY_FLAG = ' '
IMPORTING
E_RETURN = E_RETURN
E_MESSAGE = E_MESSAGE
E_MESSAGE_LEN = E_MESSAGE_LEN
E_BOM_HEADER = BOM_HEADER
TABLES
BOM_ITEM = BOM_ITEM
BOM_SUB_ITEM = BOM_SUB_ITEM
DMS_CLASS_DATA = DMS_CLASS_DATA
SAP_FIELD_DATA = SAP_FIELD_DATA
EXCEPTIONS
OTHERS = 1.
IF E_RETURN ne 0.
WRITE: E_MESSAGE.
EXIT.
ENDIF.
CLEAR: BOM_HEADER.
* fill BOM header
BOM_HEADER-MATNR = 'AH10'.
BOM_HEADER-STLAL = '01'.
BOM_HEADER-STLAN = '1'.
BOM_HEADER-BMENG = '2'.
BOM_HEADER-STKTX = 'new alternative text'.
BOM_HEADER-ZTEXT = 'new BOM text'.
CLEAR: BOM_ITEM, BOM_SUB_ITEM.
REFRESH: BOM_ITEM, BOM_SUB_ITEM.
* fill item
BOM_ITEM-IDNRK = 'AH20'.
BOM_ITEM-POSNR = '10'.
BOM_ITEM-POSTP = 'L'.
APPEND BOM_ITEM.
BOM_ITEM-UPSKZ = 'X'.
BOM_ITEM-IDNRK = 'AH30'.
BOM_ITEM-POSNR = '20'.
BOM_ITEM-POSTP = 'L'.
APPEND BOM_ITEM.
* fill sub item
BOM_SUB_ITEM-POSID = '2'.
BOM_SUB_ITEM-EBORT = 'left'.
BOM_SUB_ITEM-UPMNG = '1'.
BOM_SUB_ITEM-UPOSZ = '1'.
BOM_SUB_ITEM-UPTXT = 'left side'.
APPEND BOM_SUB_ITEM.
BOM_SUB_ITEM-POSID = '2'.
BOM_SUB_ITEM-EBORT = 'right'.
BOM_SUB_ITEM-UPMNG = '1'.
BOM_SUB_ITEM-UPOSZ = '2'.
BOM_SUB_ITEM-UPTXT = 'right side'.
APPEND BOM_SUB_ITEM.
BOM_SUB_ITEM-POSID = '2'.
BOM_SUB_ITEM-EBORT = 'top'.
BOM_SUB_ITEM-UPMNG = '1'.
BOM_SUB_ITEM-UPOSZ = '3'.
BOM_SUB_ITEM-UPTXT = 'top'.
APPEND BOM_SUB_ITEM.
CALL FUNCTION 'CAD_CHANGE_BOM_WITH_SUB_ITEMS'
EXPORTING
I_BOM_HEADER = BOM_HEADER
IMPORTING
E_RETURN = E_RETURN
E_MESSAGE = E_MESSAGE
E_MESSAGE_LEN = E_MESSAGE_LEN
E_BOM_HEADER = BOM_HEADER
TABLES
BOM_ITEM = BOM_ITEM
BOM_SUB_ITEM = BOM_SUB_ITEM
DMS_CLASS_DATA = DMS_CLASS_DATA
SAP_FIELD_DATA = SAP_FIELD_DATA
EXCEPTIONS
OTHERS = 1.
WRITE: 'Returncode: ', E_RETURN,
/ 'Message : ', E_MESSAGE.
...

Description
Return value meaning:
0 -> no error
99 -> error

Description
Table with BOM items
When a BOM item has the attribute UPSKZ set to "X" you can transfersub-items from the table BOM_SUB_ITEMS for this item
The table has the set-up structure CSRFCITEM.

545676FAQ BOM data transfer
401467CAD: doubling the document BOM items