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