CO02生产订单新增组件
"-----------------------------------------@斌将军--------------------------------------------
LOOP AT it_in. ls_storage_location-werks = it_in-werks."工厂
ls_storage_locationx-werks = 'X'. ls_storage_location-lgort = it_in-lgort."库存地点
ls_storage_locationx-lgort = 'X'. lv_kdauf = it_in-kdauf."销售订单
lv_kdaufx = 'X'."
lv_kdpos = it_in-kdpos."销售订单中的条款数
lv_kdposx = 'X'." CLEAR:lv_operation,lv_sequence,lv_gamng.
READ TABLE lt_afko INTO DATA(ls_afko) WITH KEY aufnr = it_in-aufnr.
IF sy-subrc EQ 0.
lv_operation = ls_afko-aplzl.
lv_sequence = ls_afko-plnfl.
lv_gamng = ls_afko-gamng.
ENDIF. ls_requ_quan-quantity = lv_gamng * it_in-menge."数量
ls_requ_quan-uom = it_in-meins."基本计量单位
lv_postp = 'L'."项目类别(物料单)
lv_material = it_in-matnr."物料编号
lv_order_number = it_in-aufnr. CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
EXPORTING
input = it_in-posid "(WBS 要素)
IMPORTING
output = lv_pspel. lv_pspelx = 'X'." CLEAR:lv_sobkz,lv_sobkzx.
READ TABLE lt_marc INTO DATA(ls_marc) WITH KEY matnr = it_in-matnr werks = it_in-werks.
IF sy-subrc EQ 0.
IF ls_marc-sbdkz = '2'.
CLEAR:it_in-kdauf."销售订单
CLEAR:it_in-kdpos."销售订单中的条款数
CLEAR:it_in-posid. "(WBS 要素)
CLEAR:lv_kdauf,lv_kdaufx,lv_kdpos,lv_kdposx,lv_pspel,lv_pspelx.
ELSE.
IF lv_kdauf IS NOT INITIAL AND lv_pspel IS NOT INITIAL.
gs_in_pp072-msgty = 'E'.
gs_in_pp072-message = '组件需求不能同时绑定销售订单和WBS'.
ELSEIF lv_kdauf IS INITIAL AND lv_pspel IS NOT INITIAL.
lv_sobkz = 'Q'.
it_in-sobkz = 'Q'.
lv_sobkzx = 'X'.
ELSEIF lv_kdauf IS NOT INITIAL AND lv_pspel IS INITIAL.
lv_sobkz = 'E'.
it_in-sobkz = 'E'.
lv_sobkzx = 'X'.
ENDIF.
ENDIF.ENDIF. * BAPI to add components to Production Order
CALL FUNCTION 'CO_XT_COMPONENT_ADD'
EXPORTING
is_order_key = lv_order_number
i_material = lv_material
is_requ_quan = ls_requ_quan
i_operation = lv_operation
i_sequence = lv_sequence
is_storage_location = ls_storage_location
is_storage_locationx = ls_storage_locationx
i_batch = lv_batch
i_batchx = lv_batchx
i_postp = lv_postp
i_kdauf = lv_kdauf
i_kdaufx = lv_kdaufx
i_kdpos = lv_kdpos
i_kdposx = lv_kdposx
i_pspel = lv_pspel
i_pspelx = lv_pspelx
i_posno = lv_positionno
i_sobkz = lv_sobkz
i_sobkzx = lv_sobkzx
IMPORTING
es_bapireturn = ls_return
e_error_occurred = lv_error. IF lv_error = space.
CLEAR: lv_numc,
ls_return. * Modify POSNR via ASSIGN before DB update to correct the blank
* item number in Components due to incompatible types of I_POSNO
* (type CIF_R3RES-POSITIONNO) and RESB-POSNR
ASSIGN ('(SAPLCOBC)RESB_BT[]') TO <ft_resb_bt>.
DATA(line) = lines( <ft_resb_bt> ).
LOOP AT <ft_resb_bt> ASSIGNING <fs_resb_bt>.
* lv_numc = sy-tabix * 10.
* <fs_resb_bt>-posnr = lv_numc.
* CLEAR lv_numc.
"新增行数据处理
IF sy-tabix = line. IF it_in-posnr IS NOT INITIAL.
<fs_resb_bt>-posnr = it_in-posnr.
ELSE. SELECT SINGLE MAX( posnr )
INTO @DATA(lv_posnr)
FROM resb
WHERE aufnr EQ @it_in-aufnr.
lv_posnr = lv_posnr + 10.
<fs_resb_bt>-posnr = lv_posnr. ENDIF. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = <fs_resb_bt>-posnr
IMPORTING
output = <fs_resb_bt>-posnr. "排序字符串
IF it_in-sortf IS NOT INITIAL.
<fs_resb_bt>-sortf = it_in-sortf.
ENDIF. "收货方
IF it_in-wempf IS NOT INITIAL.
<fs_resb_bt>-wempf = it_in-wempf.
ENDIF. "活动号
IF it_in-vornr IS NOT INITIAL.
<fs_resb_bt>-vornr = it_in-vornr.
ENDIF.
* IF <fs_resb_bt>-xwaok IS INITIAL.
* <fs_resb_bt>-xwaok = 'X'.
* ENDIF. ENDIF.
ENDLOOP.
sy-batch = 'X'."设置为后台模式
CALL FUNCTION 'CO_ZV_ORDER_POST'
EXPORTING
commit_flag = space
ext_flg = 'X'
trans_typ = 'V'
no_dialog = 'X' "不弹出窗口
iv_commit_work_and_wait = 'X'
EXCEPTIONS
no_change = 01
update_reject = 02
error_message = 03. IF sy-subrc = 0.
* commit dataCALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
CALL FUNCTION 'CO_XT_ORDER_INITIALIZE'.
ELSE.* Data Rollback
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
ELSE.
CLEAR:lv_error,ls_return.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
ENDLOOP.
"-----------------------------------------@斌将军--------------------------------------------
CO02生产订单新增组件的更多相关文章
- PP篇11 增、改生产订单组件BAPI
增.改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN USE BAPI_ALM_ORDER_MAINTAIN TO CREATE OR CHANGE PM WORK ORDER ...
- 增、改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN
转载留存 IT_METHODS LIKE BAPI_ALM_ORDER_METHOD处理方法,必选项,存储CREATE CREATETONOTIF CHANGE DELETE RELEAS ...
- SAP PP 生产订单变更记录保存
*&---------------------------------------------------------------------* *& 包括 ZXCO1U01 *&am ...
- 增强篇4 CO01生产订单屏幕增强
Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD 使用客户增强:PPCO0012 生产订 ...
- PP生产订单创建、下达、报工、收货、投料
转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...
- SAP 生产订单变更管理 OCM Order Changement Management
SAP OCM Order Changement Management 一.目的 订单变更管理系统是当我们的订单(生产订单.计划订单.采购订单)已经存在的时候,其物料主数据或销售数据有变更时,我们可 ...
- PP生产订单成本的计划、控制和结算
SAP系统成本分析功能关注订单的成本,通过对计划成本和实际成本的比较分析,可以发现成本控制上的问题,以便及时解决问题.1.订单成本计划在基础数据齐全的基础上,系统可以自动滚算生产订单的成本.生产订单计 ...
- S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
题目这个增强的输入参数很恐怖,长长的一串: CALL BADI l_badi->BEFORE_UPDATE EXPORTING IT_PIINSTRUCTIONVALUE = IT_PIINST ...
- SAP生产订单没有目标成本的原因解释
首先,OKV6察看一下目标成本的配置,默认是当期成本估算,见下图: 其次,没有目标成本的原因还可能是下列原因导致: 1.该物料没有成本估算和发布2.工艺路线维护日期晚于这个物料估算日期3.没有做CO1 ...
- ABAP 生产订单的创建与修改函数
ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html 如果生产订单过多,可以批量创建 ...
随机推荐
- 【maven】【外包杯】模块化开发
什么是maven模块化开发? 在多人协同开发,特别是规模较大的项目,为了方便日后的代码维护和管理,我们会将每个开发人员的工作细分到具体的功能和模块上. 该pom.xml文件多对应的项目称之为Root项 ...
- 如何将IPv4升级到IPv6?看完你就明白了
引言: 随着互联网的快速发展,IPv4(Internet Protocol version 4)已经无法满足日益增长的设备和用户数量的需求. IPv6(Internet Protocol versio ...
- 深入了解UUID:生成、应用与优势
一.引言 在当今数字化时代,唯一标识一个对象的能力变得越来越重要.UUID(Universally Unique Identifier,通用唯一标识符)应运而生,作为一种保证全球唯一性的标识方法,广泛 ...
- 吉特日化MES配料工艺参数标准版-第二版
作者:情缘 出处:http://www.cnblogs.com/qingyuan/ 关于作者:从事仓库,生产软件方面的开发,在项目管理以及企业经营方面寻求发展之路 版权声明:本文版权归作者和博客园共有 ...
- Hudi 在 vivo 湖仓一体的落地实践
作者:vivo 互联网大数据团队 - Xu Yu 在增效降本的大背景下,vivo大数据基础团队引入Hudi组件为公司业务部门湖仓加速的场景进行赋能.主要应用在流批同源.实时链路优化及宽表拼接等业务场景 ...
- RISC-V系列单片机快速入门指南
如何获取芯片开发资料 方法一:按型号选择 我们更推荐采用按型号选择的方法,获取所对应型号芯片的开发资料,这能有效降低错误使用资料的风险! 沁恒官网首页的产品中心,点击青稞 RISC-V 通用系列,可跳 ...
- 关于Secure Hash Algorithm加密算法
一.概述 SHA(Secure Hash Algorithm)加密算法是一种广泛应用的密码散列函数,由美国国家安全局(NSA)设计,用于保障数据的安全性和完整性.SHA算法经历了多个版本的更新,目前主 ...
- MinIO入门
MinIO 是一种高性能.S3 兼容的对象存储. 官方资料 中国官网 代码仓库 安装和部署MinIO 单节点单硬盘部署MinIO 单节点多硬盘部署MinIO 多节点多硬盘部署 站点复制概述 管理现有的 ...
- vulnhub - Fawks - writeup
信息收集 目标开放了21的ftp有匿名登录,除此之外还有常规的80,和连个ssh的端口. 80端口的是一张图片,就是哈利波特的海报图. anonymous空密码登上去有一个文件下载下来是二进制的文件 ...
- libGDX游戏开发之菜单界面(四)
libGDX游戏开发之菜单界面(四) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网和googl ...