C223 生产版本BAPI
1、事务代码:C223

2、调用函数CM_FV_PROD_VERS_DB_UPDATE
"-----------------------------@斌将军-----------------------------
DATA:lt_mkal_i TYPE TABLE OF mkal,
lt_mkal_u TYPE TABLE OF mkal,
lt_mkal_d TYPE TABLE OF mkal,
ls_mkal TYPE mkal,
lt_mkal_aend TYPE TABLE OF mkal_aend,
ls_mkal_aend TYPE mkal_aend. SELECT
matnr,
werks,
verid
FROM mkal
INTO TABLE @DATA(lt_makl)
FOR ALL ENTRIES IN @t_input
WHERE matnr = @t_input-matnr
AND werks = @t_input-werks
AND verid = @t_input-verid. SORT lt_makl BY matnr werks verid. SELECT
*
FROM mkal_aend
INTO TABLE @DATA(lt_aend)
FOR ALL ENTRIES IN @t_input
WHERE matnr = @t_input-matnr
AND werks = @t_input-werks
AND verid = @t_input-verid. SORT lt_aend BY matnr werks verid zaehl DESCENDING. CLEAR:ls_mkal.
ls_mkal-matnr = '000000160000000019'."LV_MATNR."物料编号
ls_mkal-werks = '1011'."IS_MKAL-WERKS."工厂
ls_mkal-verid = 'JS20'."IS_MKAL-VERID."生产版本
ls_mkal-text1 = '333333'."IS_MKAL-TEXT1."生产版本的短文本
ls_mkal-bdatu = '99991231'."IS_MKAL-BDATU."生产版本的有效期截止日期
ls_mkal-adatu = sy-datum."IS_MKAL-ADATU."生产版本的有效期起始日期
ls_mkal-stlal = '01'."IS_MKAL-STLAL."可选的 BOM
ls_mkal-stlan = '1'."IS_MKAL-STLAN."BOM 用途
ls_mkal-plnty = 'N'."IS_MKAL-PLNTY."任务清单类型
ls_mkal-plnnr = '50000357'."IS_MKAL-PLNNR."任务清单组键值
ls_mkal-alnal = '1'."IS_MKAL-ALNAL."组计数器
* LS_MKAL-SERKZ = ''."IS_MKAL-SERKZ."版本允许的重复制造
* LS_MKAL-MDV01 = ''."IS_MKAL-MDV01."用于重复制造的生产线
* LS_MKAL-ELPRO = ''."IS_MKAL-ELPRO."对组件提出发货仓储地点
* LS_MKAL-ALORT = ''."IS_MKAL-ALORT."重复生产的收货库存地点
ls_mkal-prfg_f = '1'."检查生产版本的状态
ls_mkal-prfg_s = '1'."BOM - 检查生产版本的状态
*ls_mkal-PRFG_R = '1'."重复生产的收货库存地点
*ls_mkal-PRFG_G = '1'."重复生产的收货库存地点
ls_mkal-prdat = sy-datum."出品版本的最后测试日期
ls_mkal-bstma = 99999999."截至批量大小 READ TABLE lt_makl INTO DATA(ls_makl) WITH KEY matnr = '000000160000000019'
werks = '1011'
verid = 'JS20' BINARY SEARCH.
IF sy-subrc EQ 0."存在就更新
APPEND ls_mkal TO lt_mkal_u. READ TABLE lt_aend INTO DATA(ls_aend) WITH KEY matnr = '000000160000000019'
werks = '1011'
verid = 'JS20' BINARY SEARCH.
IF sy-subrc EQ 0.
CLEAR:ls_mkal_aend.
ls_mkal_aend-matnr = ls_aend-matnr."物料编号
ls_mkal_aend-werks = ls_aend-werks."工厂
ls_mkal_aend-verid = ls_aend-verid."生产版本
ls_mkal_aend-zaehl = ls_aend-zaehl + 1."计数参数 ls_mkal_aend-datuv = ls_mkal-adatu."有效起始日期
ls_mkal_aend-datub = ls_mkal-bdatu."有效截止日期
ls_mkal_aend-andat = ls_aend-andat."日期记录创建于
ls_mkal_aend-annam = ls_aend-annam."创建记录的用户
ls_mkal_aend-aedat = sy-datum."上次更改日期
ls_mkal_aend-aenam = sy-uname."更改对象的人员姓名
ls_mkal_aend-vbkz = 'U'."
ENDIF.
APPEND ls_mkal_aend TO lt_mkal_aend. ELSE."不存在就创建
APPEND ls_mkal TO lt_mkal_i. CLEAR:ls_mkal_aend.
ls_mkal_aend-matnr = '000000160000000019'."物料编号
ls_mkal_aend-werks = '1011'."工厂
ls_mkal_aend-verid = 'JS20'."生产版本
ls_mkal_aend-zaehl = 1."计数参数 ls_mkal_aend-datuv = ls_mkal-adatu."有效起始日期
ls_mkal_aend-datub = ls_mkal-bdatu."有效截止日期
ls_mkal_aend-andat = sy-datum."日期记录创建于
ls_mkal_aend-annam = sy-uname."创建记录的用户
ls_mkal_aend-vbkz = 'I'."
APPEND ls_mkal_aend TO lt_mkal_aend. ENDIF. CALL FUNCTION 'CM_FV_PROD_VERS_DB_UPDATE'
TABLES
it_mkal_i = lt_mkal_i "创建
it_mkal_u = lt_mkal_u "修改
it_mkal_d = lt_mkal_d "删除
it_mkal_aend = lt_mkal_aend. *DATA(gv_info) = TEXT-002.
IF sy-subrc EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
* ES_RETURN-RETYP = 'S'.
* ES_RETURN-REMSG = '生产版本修改成功'.
WRITE:'success'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
* ES_RETURN-RETYP = 'E'.
* ES_RETURN-REMSG = GV_INFO.
* WRITE:gv_info.
ENDIF.
"-----------------------------@斌将军-----------------------------
定期更文,欢迎关注

C223 生产版本BAPI的更多相关文章
- 如何使用 Xcode Targets 管理开发和生产版本?
在开始此教程之前,我们假设你已经完成了应用程序的开发和测试,现在准备提交生产发布.问题是,某些 Web 服务 URLs 指向测试服务器,而 API keys 则为测试环境而配置.在提交应用程序给苹果审 ...
- [HMLY]3.如何使用Xcode Targets管理开发和生产版本?
本文原地址:http://www.appcoda.com/using-xcode-targets/ 在开始此教程之前,我们假设你已经完成了应用程序的开发和测试,现在准备提交生产发布.问题是,某些web ...
- 设置 debug 版本签名与生产版本一致
debug 版本使用生产版本的签名 在开发过程中,app 直接跑到手机上,用的签名文件是 Android Studio 默认的自动生成的一个签名,与生产版本的 app 签名是不一样的.当接入华为推送的 ...
- 前端项目中使用git来做分支和合并分支,管理生产版本
最近由于公司前端团队扩招,虽然小小的三四团队开发,但是也出现了好多问题.最让人揪心的是代码的管理问题:公司最近把版本控制工具从svn升级为git.前端H5组目前对git的使用还不是很熟悉,出现额多次覆 ...
- 如何使用Xcode的Targets来管理开发和生产版本的构建
如何使用Xcode的Targets来管理开发和生产版本的构建 想象一下,你已经完成了应用程序的开发和测试,现在准备提交正式版本.问题是,一些web服务的url指向了测试服务器,同时API密钥被配置用于 ...
- 使用Xcode的Targets来管理开发和生产版本的构建
如何创建一个新的Target 如何在Xcode中创建一个开发的target?我使用示例项目“todo”引导您一步一步完成整个过程..您也可以使用自己的项目并按照步骤: 1. 在项目的导航面板进入项目设 ...
- EControl平台测试向生产版本工程切换说明
第一步,备份生产环境版本,假设生产环境版本工程名为SEHEControl,记录版本说明第二部,拷贝测试版本到新文件夹,假设测试版本工程名为SEHEControlTest第三步,进入工程文件夹,修改SL ...
- React 项目生产版本迭代页面不刷新问题
React 页面缓存 react 打包项目进行服务端部署后,会发现index.html被浏览器缓存,访问项目url指向的还是上个版本的内容.原理是index.html被缓存后,路由指向和跳转都是旧版的 ...
- SAP交货单过账自动生产采购订单、采购订单自动收货入库
公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...
- EOS1.1版本新特性介绍
EOSIO/eos 目前在github的项目活跃度方面排名第一,release版本更新的速度让人应接不暇.今天EOS的大版本1.1发布,我也有幸参与了贡献,本篇文章重点介绍1.1版本的重大功能升级. ...
随机推荐
- 【scipy 基础】--正交距离回归
Scipy的ODR正交距离回归(ODR-Orthogonal Distance Regression)模块,适用于回归分析时,因变量和自变量之间存在非线性关系的情况.它提高了回归分析的准确性和稳健性. ...
- 海康单筒红外相机SDK调用方法
目录 配置环境 1.准备文件 2.配置 3.路径 程序 1.错误警告 2.导入头文件: 3.修改SDK 配置环境 1.准备文件 通过VS创建空白项目后,将海康SDK文件夹: CH-HCNetSDKV6 ...
- Go切片是值传递还是引用传递?
Go没有引用传递和引用类型!!! 很多人有个误区,认为涉及Go切片的参数是引用传递,或者经常听到Go切片是引用类型这种说法,今天我们就来说一下方面的问题. 什么是值传递? 将实参的值传递给形参,形参是 ...
- MongoDB (操作数据库,操作集合,操作文档)的笔记
https://www.bilibili.com/video/BV1gV411H7jN/?spm_id_from=333.999.0.0&vd_source=92305fa48ea41cb7b ...
- [ABC263F] Tournament
Problem Statement $2^N$ people, numbered $1$ to $2^N$, will participate in a rock-paper-scissors tou ...
- Java使用线程池和缓存提高接口QPS
1.什么是QPS? QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒可以相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标 ...
- AI量化策略会:可以直接上实盘的策略构建方法
一年一度的培训虽晚但到,这是BigQuant与大家走过的第五个培训年头,在过去的四年里看到很多学员的成长和蜕变,从一开始的懵懂无知,到现在对深度学习的信手拈来,BigQuant与各位学员们一样都收获颇 ...
- ez_curl【代码审计】
ez_curl[代码审计][难度:4] 题目描述 代码审计类题目,附上代码: <?php highlight_file(__FILE__); $url = 'http://back-end:30 ...
- Kernel Memory 入门系列:自定义处理流程
Kernel Memory 入门系列:自定义处理流程 在整个文档预处理的流程中,涉及到很多的处理步骤,例如:文本提取,文本分片,向量化和存储.这些步骤是Kernel Memory中的默认提供的处理方法 ...
- Python——第四章:函数的递归调用
递归: 函数自己调用自己 递归如果没有任何东西拦截的话. 它默认就是一个死循环 def func() func() func() 因此递归调用的时候需要有判断,来退出循环 def func() if ...
