批量修改CS02 BOM状态
DATA:lt_bom TYPE TABLE OF typ_out. DATA: lv_datum TYPE sy-datum, lv_message TYPE char128, lv_date TYPE csap_mbom-datuv. DATA: ls_stko TYPE stko_api01, ls_warning TYPE capiflag-flwarning, ls_stko2 TYPE stko_api02. lv_datum = sy-datum . IF sy-batch IS NOT INITIAL. LOOP AT gt_out INTO gs_out. IF gs_out-stktx < lv_datum AND gs_out-stktx IS NOT INITIAL. APPEND gs_out TO lt_bom. CLEAR gs_out. ENDIF. ENDLOOP. ELSE. LOOP AT gt_out INTO gs_out WHERE cbox = 'X'. IF gs_out-stktx < lv_datum AND gs_out-stktx IS NOT INITIAL. APPEND gs_out TO lt_bom. CLEAR gs_out. ENDIF. ENDLOOP. ENDIF. LOOP AT lt_bom ASSIGNING FIELD-SYMBOL(<fs_bom>). CLEAR: ls_stko,lv_date,lv_message. ls_stko-base_quan = <fs_bom>-bmeng. ls_stko-alt_text = <fs_bom>-stktx. ls_stko-bom_status = '02'. * lv_date = <fs_bom>-datuv. * lv_date = sy-datum. WRITE SY-DATUM TO lv_date. CALL FUNCTION 'CSAP_MAT_BOM_MAINTAIN' EXPORTING material = <fs_bom>-matnr plant = <fs_bom>-werks bom_usage = <fs_bom>-stlan alternative = <fs_bom>-stlal valid_from = lv_date i_stko = ls_stko fl_commit_and_wait = 'X' fl_default_values = 'X' IMPORTING fl_warning = ls_warning o_stko = ls_stko2 EXCEPTIONS error = 1 OTHERS = 2. CALL FUNCTION 'MESSAGE_TEXT_BUILD' EXPORTING msgid = sy-msgid msgnr = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4 IMPORTING message_text_output = lv_message. IF sy-subrc <> 0. gs_out-type = 'E'. gs_out-msg = '更新失败:' && lv_message. MODIFY gt_out FROM gs_out TRANSPORTING type msg WHERE matnr = <fs_bom>-matnr AND werks = <fs_bom>-werks. ELSE. SEARCH lv_message FOR 'changed'. IF sy-subrc = 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. gs_out-type = 'S'. gs_out-stlst = '02'. gs_out-msg = '更新成功:'&& lv_message . MODIFY gt_out FROM gs_out TRANSPORTING type stlst msg WHERE matnr = <fs_bom>-matnr AND werks = <fs_bom>-werks. ELSE. gs_out-type = 'E'. gs_out-msg = '更新失败:' && lv_message. MODIFY gt_out FROM gs_out TRANSPORTING type msg WHERE matnr = <fs_bom>-matnr AND werks = <fs_bom>-werks. ENDIF. ENDIF. ENDLOOP.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏