BOM展开
*?BOM展開/工藝路線轉換的日期
*??????SELECT?SINGLE?AUFLD
*????????INTO?LV_AUFLD
*????????FROM?AFKO
*???????WHERE?AUFNR?=?WA_OUT-AUFNR.
*
*??????LV_DATUB_BI?=?LV_AUFLD.
*
*??????CALL?FUNCTION?'CSAP_MAT_BOM_READ'
*????????EXPORTING
*??????????MATERIAL?????????????=?WA_OUT-AUFMT
*??????????PLANT????????????????=?WA_OUT-WERKS
*??????????BOM_USAGE????????????=?'1'
*??????????ALTERNATIVE??????????=?'1'
*??????????VALID_FROM???????????=?LV_DATUB_BI
*??????????VALID_TO?????????????=?LV_DATUB_BI
**???????????CHANGE_NO????????????=
**???????????REVISION_LEVEL???????=
**???????????FL_DOC_LINKS?????????=
**???????????FL_DMU_TMX???????????=
**?????????IMPORTING
**???????????FL_WARNING???????????=
*???????TABLES
*?????????T_STPO???????????????=?LT_STPO
**???????????T_STKO???????????????=
**???????????T_DEP_DATA???????????=
**???????????T_DEP_DESCR??????????=
**???????????T_DEP_ORDER??????????=
**???????????T_DEP_SOURCE?????????=
**???????????T_DEP_DOC????????????=
**???????????T_DOC_LINK???????????=
**???????????T_DMU_TMX????????????=
**???????????T_LTX_LINE???????????=
**???????????T_STPU???????????????=
*???????EXCEPTIONS
*?????????ERROR????????????????=?1
*?????????OTHERS???????????????=?2
*????????????????.
*??????IF?SY-SUBRC?<>?0.
**?MESSAGE?ID?SY-MSGID?TYPE?SY-MSGTY?NUMBER?SY-MSGNO
**?????????WITH?SY-MSGV1?SY-MSGV2?SY-MSGV3?SY-MSGV4.
*??????ENDIF.
*直接材料
*??????WA_OUT-MATNR?=?WA_AMOUNT-MATNR.
*
*??????CALL?FUNCTION?'CONVERSION_EXIT_ALPHA_OUTPUT'
*????????EXPORTING
*??????????INPUT??=?WA_AMOUNT-MATNR
*????????IMPORTING
*??????????OUTPUT?=?WA_AMOUNT-MATNR.
*
*??????READ?TABLE?LT_STPO?INTO?WA_STPO?WITH?KEY?COMPONENT?=?WA_AMOUNT-MATNR.
*取直接材料
*??????IF?SY-SUBRC?=?0.
*????????"字符轉數值
*????????CALL?FUNCTION?'UNITS_STRING_CONVERT'
*??????????EXPORTING
*????????????UNITS_STRING???????=?WA_STPO-COMP_QTY
*????????????DCPFM??????????????=?'X'
**???????????MLLN???????????????=?'M'
**???????????TSND???????????????=?'T'
*?????????IMPORTING
*???????????UNITS??????????????=?WA_OUT-COMP_QTY
*?????????EXCEPTIONS
*???????????INVALID_TYPE???????=?1
*???????????OTHERS?????????????=?2
*??????????????????.
*????????IF?SY-SUBRC?<>?0.
**?MESSAGE?ID?SY-MSGID?TYPE?SY-MSGTY?NUMBER?SY-MSGNO
**?????????WITH?SY-MSGV1?SY-MSGV2?SY-MSGV3?SY-MSGV4.
*????????ENDIF.
*
**????????WA_OUT-COMP_QTY?=?WA_STPO-COMP_QTY.
*????????WA_OUT-COMP_QTY?=?WA_OUT-COMP_QTY?*?WA_OUT-PSMNG?/?10000.
*??????ENDIF.
*標準作業時間
*??????SELECT?SINGLE?AUFPL
*????????FROM?AFKO
*????????INTO?LV_AUFPL
*????????WHERE?AUFNR?=?WA_OUT-AUFNR.
*
*??????SELECT?VGW01?VGW02?VGW03
*????????INTO?CORRESPONDING?FIELDS?OF?TABLE?I_TIMES
*????????FROM?AFVV
*????????WHERE?AUFPL?=?LV_AUFPL.
*
*??????LOOP?AT?I_TIMES?INTO?WA_TIMES.
*????????WA_OUT-VGW01?=?WA_OUT-VGW01?+?WA_TIMES-VGW01.
*????????WA_OUT-VGW02?=?WA_OUT-VGW02?+?WA_TIMES-VGW02.
*????????WA_OUT-VGW03?=?WA_OUT-VGW03?+?WA_TIMES-VGW03.
*??????ENDLOOP.
*??????SELECT?SINGLE?AUFLD
*????????INTO?LV_AUFLD
*????????FROM?AFKO
*???????WHERE?AUFNR?=?WA_OUT-AUFNR.
*
*??????LV_DATUB_BI?=?LV_AUFLD.
*
*??????CALL?FUNCTION?'CSAP_MAT_BOM_READ'
*????????EXPORTING
*??????????MATERIAL?????????????=?WA_OUT-AUFMT
*??????????PLANT????????????????=?WA_OUT-WERKS
*??????????BOM_USAGE????????????=?'1'
*??????????ALTERNATIVE??????????=?'1'
*??????????VALID_FROM???????????=?LV_DATUB_BI
*??????????VALID_TO?????????????=?LV_DATUB_BI
**???????????CHANGE_NO????????????=
**???????????REVISION_LEVEL???????=
**???????????FL_DOC_LINKS?????????=
**???????????FL_DMU_TMX???????????=
**?????????IMPORTING
**???????????FL_WARNING???????????=
*???????TABLES
*?????????T_STPO???????????????=?LT_STPO
**???????????T_STKO???????????????=
**???????????T_DEP_DATA???????????=
**???????????T_DEP_DESCR??????????=
**???????????T_DEP_ORDER??????????=
**???????????T_DEP_SOURCE?????????=
**???????????T_DEP_DOC????????????=
**???????????T_DOC_LINK???????????=
**???????????T_DMU_TMX????????????=
**???????????T_LTX_LINE???????????=
**???????????T_STPU???????????????=
*???????EXCEPTIONS
*?????????ERROR????????????????=?1
*?????????OTHERS???????????????=?2
*????????????????.
*??????IF?SY-SUBRC?<>?0.
**?MESSAGE?ID?SY-MSGID?TYPE?SY-MSGTY?NUMBER?SY-MSGNO
**?????????WITH?SY-MSGV1?SY-MSGV2?SY-MSGV3?SY-MSGV4.
*??????ENDIF.
*直接材料
*??????WA_OUT-MATNR?=?WA_AMOUNT-MATNR.
*
*??????CALL?FUNCTION?'CONVERSION_EXIT_ALPHA_OUTPUT'
*????????EXPORTING
*??????????INPUT??=?WA_AMOUNT-MATNR
*????????IMPORTING
*??????????OUTPUT?=?WA_AMOUNT-MATNR.
*
*??????READ?TABLE?LT_STPO?INTO?WA_STPO?WITH?KEY?COMPONENT?=?WA_AMOUNT-MATNR.
*取直接材料
*??????IF?SY-SUBRC?=?0.
*????????"字符轉數值
*????????CALL?FUNCTION?'UNITS_STRING_CONVERT'
*??????????EXPORTING
*????????????UNITS_STRING???????=?WA_STPO-COMP_QTY
*????????????DCPFM??????????????=?'X'
**???????????MLLN???????????????=?'M'
**???????????TSND???????????????=?'T'
*?????????IMPORTING
*???????????UNITS??????????????=?WA_OUT-COMP_QTY
*?????????EXCEPTIONS
*???????????INVALID_TYPE???????=?1
*???????????OTHERS?????????????=?2
*??????????????????.
*????????IF?SY-SUBRC?<>?0.
**?MESSAGE?ID?SY-MSGID?TYPE?SY-MSGTY?NUMBER?SY-MSGNO
**?????????WITH?SY-MSGV1?SY-MSGV2?SY-MSGV3?SY-MSGV4.
*????????ENDIF.
*
**????????WA_OUT-COMP_QTY?=?WA_STPO-COMP_QTY.
*????????WA_OUT-COMP_QTY?=?WA_OUT-COMP_QTY?*?WA_OUT-PSMNG?/?10000.
*??????ENDIF.
*標準作業時間
*??????SELECT?SINGLE?AUFPL
*????????FROM?AFKO
*????????INTO?LV_AUFPL
*????????WHERE?AUFNR?=?WA_OUT-AUFNR.
*
*??????SELECT?VGW01?VGW02?VGW03
*????????INTO?CORRESPONDING?FIELDS?OF?TABLE?I_TIMES
*????????FROM?AFVV
*????????WHERE?AUFPL?=?LV_AUFPL.
*
*??????LOOP?AT?I_TIMES?INTO?WA_TIMES.
*????????WA_OUT-VGW01?=?WA_OUT-VGW01?+?WA_TIMES-VGW01.
*????????WA_OUT-VGW02?=?WA_OUT-VGW02?+?WA_TIMES-VGW02.
*????????WA_OUT-VGW03?=?WA_OUT-VGW03?+?WA_TIMES-VGW03.
*??????ENDLOOP.
總結