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版本的重大功能升级. ...
随机推荐
- 记一次有趣的hwclock写RTC的PermissionDenied错误
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 无 前言 稍微接触过嵌入式板卡的,基本都知道嵌 ...
- Android学习day03【跑马灯】
这个学习内容很简单,说一下自己笨蛋的点吧 要实现这种情况,我始终没有办法实现(也就是跑马灯,图片没办法显示) 后来发现 android:layout_width="wrap_content& ...
- ABAP 泰国凭证批导 报错 F51 192 输入一个业务场景
泰国凭证批导报错 F51 192 输入一个业务场景 方案一: 方案二: ID_BUPLA 用户参数
- [CF1854E] Game Bundles
题目描述 Rishi is developing games in the 2D metaverse and wants to offer game bundles to his customers. ...
- [ABC262E] Red and Blue Graph
Problem Statement You are given a simple undirected graph with $N$ vertices and $M$ edges. The verti ...
- IDEA配置自定义标签,实现高亮注释~
为什么要写这么一篇博客呢? 不知道大家有没有这样的一种苦恼,就是在写代码的时候遇到复杂的核心的代码,想加一个特殊的注释方便后期自己或者同事查看,但是这玩意IDEA好像只给我们提供了两个 FIXME : ...
- grpc是基于http/2协议的高性能的rpc框架
师傅领进门,修行在个人,跟着官方脚手架demo了grpc后,之后就需要扩展前后知识边界,下面总结grpc的前世今生和最佳实践. https://www.cnblogs.com/JulianHuang/ ...
- Havoc C2d的初次使用
Havoc C2 简介 Havoc是一款现代化的.可扩展的后渗透命令控制框架 当前的Havoc版本还处于早期开发版,随着框架的不断成熟,可能会对Havoc的API和核心结构进行大量更改 以下的配置部分 ...
- 技本功|Hive优化之监控(三)
Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的一个点,因此掌握一些Hive调优是必不可少的技能.影响Hive效率的主要有数据倾斜. ...
- IBM DS5020存储更换硬盘操作
前期准备:笔记本.网线 连接存储控制器操作,在笔记本上安装DS Storage Manager 11 Client,然后在笔记本IP设备为192.168.128.X(A控制器管理口1和2的管理IP地址 ...
