工单批量关闭

作者:斌将军 约 2 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
工单批量关闭 - 封面图
工单批量关闭 - 封面图

#

工单关闭,事务代码:CO02

工单批量关闭 - 封面图
工单批量关闭 - 封面图

点击菜单项-功能-限制处理-技术性完成,即关闭工单,点击保存即可。

工单批量关闭 - 封面图
工单批量关闭 - 封面图

为了实现批量关闭工单的需求,需要调用BAPI进行处理。在处理时,需要对关闭的工单进行检查,确保符合关闭条件, 具体需要根据实际项目情况而定 。

可使用BAPI:BAPI_PRODORD_COMPLETE_TECH批量处理。

BAPI参数声明:

DATA : gt_order TYPE TABLE OF bapi_order_key WITH HEADER LINE ,

gt_detail_return TYPE TABLE OF bapi_order_return WITH HEADER LINE ,

gs_return TYPE bapiret2 .

DATA : lv_message TYPE char200 ,

lv_check TYPE char1 .

传入订单号:

gt_order \- order_number = '001000000768' . "工单

APPEND gt_order .

调用BAPI:

CALL FUNCTION 'BAPI_PRODORD_COMPLETE_TECH'

• EXPORTING

• SCOPE_COMPL_TECH = '1'

• WORK_PROCESS_GROUP = 'COWORK_BAPI'

• WORK_PROCESS_MAX = 99

IMPORTING

return = gs_return

TABLES

orders = gt_order

detail_return = gt_detail_return .

lv_check = 'S' .

CLEAR : lv_message .

LOOP AT gt_detail_return WHERE type CA 'EAX' . lv_message = lv_message && gt_detail_return \- message . lv_check = 'E' . ENDLOOP . IF lv_check = 'E' . CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .

ELSE .

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = 'X' .

ENDIF .

点击显示,发现技术性完成已经灰掉,证明关闭工单成功。也可以点击撤销技术性完成,即撤销工单关闭。

工单批量关闭 - 封面图
工单批量关闭 - 封面图
斌将军

关于作者:斌将军

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「工单批量关闭.md」整理生成,仅用于内部技术分享与学习交流。