CO_XT_COMPONENT_CHANGE 修改工单组件行

DATA :
is_order_key TYPE coxt_ord_key,
is_order_component_key TYPE coxt_s_ord_comp_key,
l_mode TYPE char1 VALUE 'A'. DATA :
wa_resb TYPE resb,
es_bapireturn TYPE coxt_bapireturn,
e_error_occurred TYPE c,
l_dyn_lgort TYPE string,
l_tag TYPE char2. is_order_key = uv_aufnr. SELECT *
INTO TABLE @DATA(lt_resb)
FROM resb
WHERE aufnr EQ @is_order_key. DATA:ls_resb TYPE resb.
* DATA is_order_key TYPE coxt_ord_key.
* DATA is_order_component_key TYPE coxt_s_ord_comp_key.
DATA is_requirement_quantity TYPE coxt_s_quantity.
DATA is_requirement_quantityx TYPE coxt_s_quantityx.
DATA is_confirmed_quantity TYPE coxt_s_quantity.
DATA is_confirmed_quantityx TYPE coxt_s_quantityx.
DATA i_material TYPE coxt_material.
DATA i_materialx TYPE coxt_materialx.
DATA is_storage_location TYPE coxt_s_storage_location.
DATA is_storage_locationx TYPE coxt_s_storage_locationx.
DATA i_batch TYPE coxt_batch.
DATA:is_order_operation_key TYPE coxt_s_ord_opr_key.
DATA:is_order_operation_keyx TYPE coxt_s_ord_opr_keyx.
DATA i_batchx TYPE coxt_batchx.
DATA i_mi_configuration_object TYPE coxt_config_object.
DATA i_mi_configuration_objectx TYPE coxt_config_objectx. LOOP AT lt_resb INTO ls_resb. " 锁定预留.
* "锁定预留.
CALL FUNCTION 'ENQUEUE_EMRESB'
EXPORTING
mode_resb = 'E'
mandt = sy-mandt
rsnum = ls_resb-rsnum
rspos = ls_resb-rspos
rsart = ls_resb-rsart
EXCEPTIONS
foreign_lock =
system_failure =
OTHERS = .
IF sy-subrc <> .
e_error_occurred = 'X'. es_bapireturn-type = 'E'.
es_bapireturn-id = ''.
es_bapireturn-number = ''.
es_bapireturn-message = '预留锁定失败!'.
RETURN.
ENDIF. is_order_component_key-rsnum = ls_resb-rsnum.
is_order_component_key-rspos = ls_resb-rspos.
is_order_component_key-rsart = ls_resb-rsart. * is_requirement_quantity-quantity = zcoxt_s_quantity-menge.
* is_requirement_quantity-uom = ls_resb-meins.
* is_requirement_quantityx-quantity = 'X'.
i_material = ls_resb-matnr. is_storage_location-werks = ls_resb-werks.
is_storage_locationx-werks = 'X'.
is_storage_location-lgort = uv_lgort.
is_storage_locationx-lgort = 'X'.
* i_batch = ls_resb-charg. * is_order_operation_key
DATA:ls_afko TYPE afko.
SELECT SINGLE * INTO ls_afko FROM afko WHERE aufnr = is_order_key.
IF sy-subrc = .
SELECT SINGLE aplzl INTO is_order_operation_key-aplzl FROM afvc WHERE aufpl = ls_afko-aufpl AND vornr = ls_resb-vornr.
ENDIF.
is_order_operation_key-aufnr = uv_aufnr. is_order_operation_keyx-aufnr = 'X'.
is_order_operation_keyx-aplzl = 'X'. CALL FUNCTION 'CO_XT_ORDER_INITIALIZE'. CALL FUNCTION 'CO_XT_COMPONENT_CHANGE'
EXPORTING
is_order_key = ls_resb-aufnr
is_order_component_key = is_order_component_key
is_requirement_quantity = is_requirement_quantity
is_requirement_quantityx = is_requirement_quantityx
is_confirmed_quantity = is_confirmed_quantity
is_confirmed_quantityx = is_confirmed_quantityx
i_material = i_material
i_materialx = i_materialx
is_order_operation_key = is_order_operation_key
is_order_operation_keyx = is_order_operation_keyx
* IS_REQUIREMENT_DATE = IS_REQUIREMENT_DATE
* IS_REQUIREMENT_DATEX = IS_REQUIREMENT_DATEX
is_storage_location = is_storage_location
is_storage_locationx = is_storage_locationx
i_batch = i_batch
i_batchx = i_batchx
i_mi_configuration_object = i_mi_configuration_object
i_mi_configuration_objectx = i_mi_configuration_objectx
IMPORTING
es_bapireturn = es_bapireturn
e_error_occurred = e_error_occurred.
IF sy-subrc <> .
RETURN.
ELSE.
DATA e_order_key TYPE coxt_ord_key.
DATA et_ord_key_map TYPE coxt_t_ord_key_map.
DATA et_bapireturn TYPE coxt_t_bapireturn. CALL FUNCTION 'CO_XT_ORDER_PREPARE_COMMIT'
IMPORTING
e_order_key = e_order_key
es_bapireturn = es_bapireturn
e_error_occurred = e_error_occurred
TABLES
et_ord_key_map = et_ord_key_map
et_bapireturn = et_bapireturn.
IF sy-subrc = .
COMMIT WORK AND WAIT.
ELSE.
DELETE et_bapireturn WHERE type <> 'E' OR type <> 'A'.
READ TABLE et_bapireturn INTO es_bapireturn INDEX .
ENDIF.
ENDIF. *解锁
CALL FUNCTION 'DEQUEUE_EMRESB'
EXPORTING
mode_resb = 'E'
mandt = sy-mandt
rsnum = ls_resb-rsnum
rspos = ls_resb-rspos
rsart = ls_resb-rsart. ENDLOOP.
————————————————
版权声明:本文为CSDN博主「倔强的ABAPER」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sq1986127/article/details/

最新文章

  1. 【Spring】Spring框架之Struts2和Spring的优点
  2. PyQt4软件打包成exe文件
  3. [SmartFoxServer概述]SFS2X协议
  4. sitemesh学习笔记(1)
  5. 使用连接(JOIN)来代替子查询(Sub-Queries) mysql优化系列记录
  6. How to install JDK (Java Development Kit) on Linux
  7. volatile--共享数据必须保证可见性
  8. FastDFS php API
  9. 最近一些朋友问我,临近快毕业了专业不对口,想转行看到IT行业就业前景不错,但是编程语言众多不了解,不知道哪门语言能够快速入门掌握,短期能让我找到工作
  10. Codeforces Round #436 B. Polycarp and Letters
  11. 安装Nginx配置常用参数含义
  12. Redis持久化概念
  13. linux下access函数
  14. 外网访问ARM嵌入式Linux系统
  15. Qt编写守护程序保证程序一直运行(开源)
  16. uvm设计分析——tlm
  17. python操作Excel读写(使用xlrd和xlrt)
  18. PHP中strlen和mb_strlen的区别
  19. kubernets之endpoints
  20. Swift3 KWWebView的页面屏幕自适应

热门文章

  1. Python的高级文件操作(shutil模块)
  2. E. Little Pony and Expected Maximum(组合期望)
  3. 如果在使用谷歌的gson的时候,在返回时间类型的数据的时候,
  4. Python爬虫爬企查查数据
  5. oracle中LPAD和RPAD函数的使用方法(加个人总结)
  6. 浅谈C++编译原理 ------ C++编译器与链接器工作原理
  7. python -- 连接 orclae cx_Oracle的使用 二
  8. .net web开发——文件的上传和下载
  9. 改变Ubuntu命令行 用户名显示前缀
  10. Huawei Honorcup Marathon 2 垫底记