CO15批次确定,标准的太蛋疼了
1.批次确定的配置,之前有转过,自己也动手配过,可以是可以,但是蛋疼,用户不愿意去弹出的界面选批次。。。
2.因为这边的批次全部是按年月日+流水生成的,所以在批次确定这里就需要按照批次的号来排序选择了
一:INCLUDE LV01FFD0
FORM DIALOG最开始:屏蔽标准的弹窗界面
ENHANCEMENT ZCO15_ENHS. "active version
IF SY-TCODE = 'CO15'.
no_dialog = 'X'.
ENDIF.
ENDENHANCEMENT.
二:INCLUDE LCOWBFC1
FORM call_batch_determination 最后位置:批次手动逻辑重新确定
ENHANCEMENT ZCO15_ENH. "active version
"循环内表处理
DATA:GV_LINE TYPE I."重新生成的两表对应序列
DATA:VT_MCHB TYPE TABLE OF MCHB.
DATA:VS_MCHB TYPE MCHB.
DATA:LV_ERFMG TYPE MB_ERFMG."需求数量
DATA:LV_LINE TYPE I.
DATA:LV_FLAG TYPE C. CLEAR:GV_LINE,VT_MCHB[],VS_MCHB,LV_ERFMG,LV_LINE."情况临时变量\ DESCRIBE TABLE GT_CONTROL_TAB LINES LV_LINE. IF SY-TCODE = 'CO15'.
SORT GT_COMP BY MATNR ASCENDING. LOOP AT GT_COMP." WHERE MARK = 'X'.
GV_LINE = GV_LINE + ."初始化次数 AT NEW MATNR.
LV_FLAG = 'X'.
CLEAR:VT_MCHB[].
ENDAT.
LV_ERFMG = GT_COMP-ERFMG."将数量存入变量,后续判断使用
*
* IF GT_COMP-CHARG IS NOT INITIAL."排出已经确定的批次
* LV_ERFMG = LV_ERFMG - GT_COMP-ERFMG.
* ENDIF. IF GT_COMP-MARK EQ 'X' AND GT_COMP-LGORT IS NOT INITIAL
AND GT_COMP-WERKS IS NOT INITIAL AND GT_COMP-CHARG IS INITIAL.
"查询所有物料,工厂,库位级别的批次库存
IF LV_FLAG = 'X'.
SELECT MATNR WERKS LGORT CHARG CLABS INTO CORRESPONDING FIELDS OF TABLE VT_MCHB
FROM MCHB WHERE MATNR = GT_COMP-MATNR
AND WERKS = GT_COMP-WERKS
AND LGORT = GT_COMP-LGORT
AND LVORM = ''
AND CLABS <> .
ENDIF. SORT VT_MCHB BY CHARG ASCENDING. LOOP AT VT_MCHB INTO VS_MCHB WHERE CLABS <> .
IF LV_ERFMG > ."判断是否数量已满足
IF VS_MCHB-CLABS >= LV_ERFMG."满足数量要求,选择批次,并把数量置0
GT_COMP-CHARG = VS_MCHB-CHARG.
VS_MCHB-CLABS = VS_MCHB-CLABS - LV_ERFMG."更新批次剩余数量
LV_ERFMG = .
ELSE."数量不足,使用全部本批次,不足数量循环下一批,并插入行
GT_COMP-CHARG = VS_MCHB-CHARG.
LV_ERFMG = LV_ERFMG - VS_MCHB-CLABS.
GT_COMP-ERFMG = VS_MCHB-CLABS.
VS_MCHB-CLABS = VS_MCHB-CLABS - LV_ERFMG."更新批次剩余数量
IF VS_MCHB-CLABS < .
VS_MCHB-CLABS = .
ENDIF.
GT_COMP-IND_ST = GV_LINE. INSERT GT_COMP.
CLEAR:GT_COMP-CHARG.
GT_COMP-ERFMG = LV_ERFMG.
GV_LINE = GV_LINE + ."自增一位
LV_LINE = LV_LINE + ."自增一位
GT_CONTROL_TAB-IND_TO_TABLE = LV_LINE.
GT_CONTROL_TAB-IND_FOR_START_SORT = LV_LINE.
APPEND GT_CONTROL_TAB.
ENDIF. MODIFY VT_MCHB FROM VS_MCHB.
ENDIF.
ENDLOOP. ENDIF. GT_COMP-IND_ST = GV_LINE.
MODIFY GT_COMP.
CLEAR:LV_FLAG.
ENDLOOP.
ENDIF. ENDENHANCEMENT.
其实隐式增强用起来很爽的,很多程序都是DIALOG程序,只要找到对应位置,就和DIALOG开发一样了。。。
CO15批次确定,标准的太蛋疼了的更多相关文章
- HTML学习笔记——DOCTYPE和DTD,标准模式和兼容模式
主要涉及知识点: HTML与XHTML HTML与XHTML的区别 DOCTYPE与DTD的概念 DTD的分类以及DOCTYPE的声明方式 标准模式(Standard Mode)和兼容模式(Quirc ...
- 一种简单,轻量,灵活的C#对象转Json对象的方案(续)
本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...
- GCD详解
什么是GCD? Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写.从基本功能上讲,GCD有点像 NSOperationQueue,他们都允 ...
- Asp.net Mvc4默认权限详细(下)
前言 菜鸟去重复之Sql的问题还没有得到满意的答案.如果哪位大哥有相关的资料解释,能够分享给我,那就太谢谢了. 以后每发表一篇博文我都会将以前遗留的问题在前言里指出,直到解决为止. 本文主要在于探讨一 ...
- CSLight研究院之学习笔记结合NGUI(一)
原地址:http://www.xuanyusong.com/archives/3088 这两天一直在研究CSLight,目前Unity热更新的方式有两种,一种是ulua这个网上的例子已经很多了.还有一 ...
- java OOP及相关基础知识汇总(转)
OOP 对象有三个要素 behavior 接口是怎样的,有什么方法/field可以用? state 调用方法的时候,对象会有什么反应? 只有通过调用方法才能改变一个对象的state identity ...
- 基于ffmpeg的C++播放器1
基于ffmpeg的C++播放器 (1) 2011年12月份的时候发了这篇博客 http://blog.csdn.net/qq316293804/article/details/7107049 ,博文最 ...
- headfirst设计模式(1)—策略模式
什么是策略模式 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化(摘自百度百科) 关键字:算法封装,相互替换,独立变化 算法封装 ...
- NEL程序员专用轻钱包 进入0.01状态了
这个轻钱包能干什么,现在就能在测试网看个余额,转个帐,调用个合约. 而且功能非常程序员化 你会说是不是没啥用 但是他有非常有用,因为他可以很容易的拼出NEOGUI拼不出来的交易 比如参与ICO交易 ...
随机推荐
- 使用python+ffmpeg+youtube-dl下载youtube上的视频
一.准备工作 1.安装python,详见https://www.cnblogs.com/cnwuchao/p/10562416.html 2.安装ffmpeg,详见https://www.cnblog ...
- 软件开发架构、网络基础知识、osi七层模型
一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...
- SAP月结操作讲解
SAP月结操作讲解 https://wenku.baidu.com/view/ac6fe45d312b3169a451a4b9.html 步聚 操作内容 事务码 是否必须 操作时间 月/年结 1 ...
- C# widget
Invoke(Delegate)的用法: //例如,要实时update窗体.如果在另一个线程中update,那么可以直接update(可以不在新线程中):也可以在Delegate中给出upate,然后 ...
- JVM介绍
1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来 ...
- restFul接口设计规范
1.域名 1 应该尽量将API部署在专用域名之下. https://api.example.com 2 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https://example. ...
- 深入JVM对象引用
在jdk 1.2以前,创建的对象只有处在可触及(reachaable)状态下,才能被程序所以使用,垃圾回收器一旦发现无用对象,便会对其进行回收.但是,在某些情况下,我们希望有些对象不需要立刻回收或者说 ...
- 获取 ip ( 第三方接口 )
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson 搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8 ...
- public,protected,private
1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...
- vue element-ui 日期选择器组件 日期时间格式化
vue element-ui 组件开发大大提高了我们的效率,但有时候并不能满足我们的需求,例如时间,日期组件: element-ui 日期返回的格式是这样的,看下图: 但我们要的是另一个格式 , 如下 ...