2010 Jun 22 12:16 PM
Hello,
I am trying to update BOM sub items by using this function module. I am filling up all fields in all tables, still it is giving error.
Any body has any sample code for this function module...
Unfortunately there is no documentation for this FM and very little usage in standard programs...
Regards,
Krishna.
Hello,
I am trying to update BOM sub items by using this function module. I am filling up all fields in all tables, still it is giving error.
Any body has any sample code for this function module...
Unfortunately there is no documentation for this FM and very little usage in standard programs...
Regards,
Krishna.
2010 Jun 23 10:09 AM
Hi,
Check this function CAD_CHANGE_BOM_WITH_SUB_ITEMS,I used CAD_CREATE_BOM_WITH_SUB_ITEMS to create BOMs for SD module i hope it will work.
CALL FUNCTION 'CAD_CREATE_BOM_WITH_SUB_ITEMS'
EXPORTING
I_BOM_HEADER = BOM_HEADER
IMPORTING
E_RETURN = E_RETURN
E_MESSAGE = E_MESSAGE
TABLES
BOM_ITEM = IT_BOM_ITEM
BOM_SUB_ITEM = IT_BOM_SUB_ITEM
DMS_CLASS_DATA = IT_DMS
SAP_FIELD_DATA = IT_SAP_FIELD.
WA_RET-MATNR = WA_DATA1-MATNR.
if e_return = 0 .
wa_ret-status = 'SUCCESS'.
ELSE.
wa_ret-status = 'ERROR'.
ENDIF.
Regards,
Manesh.R
2010 Jun 28 7:21 AM
Hello Manesh,
Thanks for update.
Could you pls provide some code ...
I am trying to use both create and change but getting some screen errors.
Thanks,
Krishna.
2010 Jun 28 12:29 PM
Hi,
My Code for create
DATA: BOM_HEADER TYPE CAD_BICSK ,"STRUCTURE FOR HEADER DATA
IT_BOM_ITEM TYPE TABLE OF CAD_BOM_ITEM,"INTERNAL TABLE FOR ITEM
WA_BOM_ITEM TYPE CAD_BOM_ITEM,"WORK AREA FOR ITEM
IT_BOM_SUB_ITEM TYPE TABLE OF CSSUBITEM ,"INTERNAL TABLE FOR SUB ITEM
WA_BOM_SUB_ITEM TYPE CSSUBITEM ,"WORK AREA FOR SUB ITEM
IT_DMS TYPE TABLE OF CLS_CHARAC,"INTERNAL TABLE FOR DMS_CLASS_DATA
WA_DMS TYPE CLS_CHARAC,"WORK AREA FOR DMS_CLASS_DATA
IT_SAP_FIELD TYPE TABLE OF RFCDMSDATA,"INTERNAL TABLE FOR SAP_FIELD_DATA
WA_SAP_FIELD TYPE RFCDMSDATA,"WORK AREA FOR SAP_FIELD_DATA
E_RETURN TYPE CAD_RETURN-VALUE,"STRUCTURE FOR RETURN
E_MESSAGE TYPE MESSAGE-MSGTX,"STRUCTURE FOR MESSAGE
E_MESSAGE_LEN TYPE CAD_RETURN-MESSAGE_LEN."STRUCTURE FOR MESSAGE LENGTH
LOOP AT IT_DATA INTO WA_DATA.
MOVE-CORRESPONDING WA_DATA TO WA_DATA1.
APPEND WA_DATA1 TO IT_DATA1.
ENDLOOP.
SORT IT_DATA1 BY MATNR WERKS.
DELETE ADJACENT DUPLICATES FROM IT_DATA1 COMPARING MATNR WERKS.
LOOP AT IT_DATA1 INTO WA_DATA1.
CLEAR: BOM_HEADER, WA_BOM_ITEM,WA_RET.
REFRESH: IT_BOM_ITEM.
FILL BOM HEADER
PERFORM DATE_FORMAT USING WA_DATA1-DATUV CHANGING BOM_HEADER-DATUV.
BOM_HEADER-MATNR = WA_DATA1-MATNR.
BOM_HEADER-WERKS = WA_DATA1-WERKS.
BOM_HEADER-STLAL = WA_DATA1-STLAL.
BOM_HEADER-STLAN = WA_DATA1-STLAN.
BOM_HEADER-ZTEXT = WA_DATA1-ZTEXT.
LOOP AT IT_DATA INTO WA_DATA WHERE MATNR = WA_DATA1-MATNR and werks = wa_Data1-werks.
FILL ITEM
if wa_data-postp = 'T'.
WA_BOM_ITEM-POSNR = WA_DATA-POSNR.
WA_BOM_ITEM-POSTP = WA_DATA-POSTP.
WA_BOM_ITEM-POTX1 = WA_DATA1-ZTEXT.
else.
WA_BOM_ITEM-IDNRK = WA_DATA-IDNRK.
WA_BOM_ITEM-POSNR = WA_DATA-POSNR.
WA_BOM_ITEM-POSTP = WA_DATA-POSTP.
WA_BOM_ITEM-MENGE = WA_DATA-MENGE.
endif.
APPEND WA_BOM_ITEM TO IT_BOM_ITEM.
ENDLOOP.
CALL FUNCTION 'CAD_CREATE_BOM_WITH_SUB_ITEMS'
EXPORTING
I_BOM_HEADER = BOM_HEADER
IMPORTING
E_RETURN = E_RETURN
E_MESSAGE = E_MESSAGE
TABLES
BOM_ITEM = IT_BOM_ITEM
BOM_SUB_ITEM = IT_BOM_SUB_ITEM
DMS_CLASS_DATA = IT_DMS
SAP_FIELD_DATA = IT_SAP_FIELD.
WA_RET-MATNR = WA_DATA1-MATNR.
if e_return = 0 .
wa_ret-status = 'SUCCESS'.
ELSE.
wa_ret-status = 'ERROR'.
ENDIF.
WA_RET-WERKS = WA_DATA1-WERKS.
WA_RET-MSG = E_MESSAGE.
APPEND WA_RET TO IT_RET .
ENDLOOP.
LOOP AT IT_RET INTO WA_RET.
if wa_ret-status = 'ERROR'.
APPEND wa_ret to it_erv.
ENDIF.
WRITE: /.
WRITE:(12) WA_RET-MATNR,(6) WA_RET-WERKS,(8) wa_ret-status,(70) WA_RET-MSG.
ENDLOOP.
Regards,
Manesh.R
2010 Jun 28 9:39 AM
Hi,
Check this out:
You can maintain the sub item details in t_stpu.
call function 'CSAP_MAT_BOM_MAINTAIN'
exporting
material = api_mbom-matnr
plant = api_mbom-werks
bom_usage = api_mbom-stlan
alternative = api_mbom-stlal
valid_from = api_mbom-datuv
change_no = ale_aennr
REVISION_LEVEL =
i_stko = api_stko1
FL_NO_CHANGE_DOC = ' '
fl_bom_create = 'X'
fl_new_item = 'X'
fl_complete = 'X'
fl_default_values = ' ' "note506312
fl_identify_by_guid = g_flg_ident_by_guid "n567351
importing
fl_warning = api_warning
o_stko = api_stko2
tables
t_stpo = api_stpo3
t_dep_data = api_dep_dat
t_dep_descr = api_dep_des
t_dep_order = api_dep_ord
t_dep_source = api_dep_src
t_dep_doc = api_dep_doc
t_ltx_line = api_ltx_lin
t_stpu = api_stpu "note530922
exceptions
error = 1
others = 2.
BR,
Jimmy Qin
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |