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交易 ...
随机推荐
- ZJOI 2015 幻想乡战略游戏(动态点分治)
题意 https://loj.ac/problem/2135 思路 首先要明确一点,答案分布是有单调性的.什么意思呢?假设我们的答案在 \(u\) 节点,\((u,v)\) 之间有一条边且 \(u\) ...
- HTTP 返回状态码说明
HTTP 返回状态码一.1xx - 信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. • 100 - 继续. • 101 - 切换协议. 二.2xx ...
- 【转载】vim 中如何替换选中行或指定几行内的文本
https://segmentfault.com/q/1010000002552573/a-1020000002552589 :'<,'>s/替换项/替换为/g 以下命令将文中所有的字符串 ...
- 每天一个小程序—0014题(txt 转 Excel)
基础知识:Excel文件的后缀有xls和xlsx,前者是针对2003版本的,2007及其之后的版本是xlsx. 在python中对于这两种不同后缀的文件有不同的库来处理,对于xls用wlrd.xlwt ...
- POJ 3415 Common Substrings(长度不小于K的公共子串的个数+后缀数组+height数组分组思想+单调栈)
http://poj.org/problem?id=3415 题意:求长度不小于K的公共子串的个数. 思路:好题!!!拉丁字母让我Wa了好久!!单调栈又让我理解了好久!!太弱啊!! 最简单的就是暴力枚 ...
- IIS客户端没有权限
运行CMDicacls c:\ /setintegritylevel M
- 【Python】【一些概念与对比】
type.__new__() : 返回类.可以把类看作是metaclass 创建出来的实例 普通类里的__new__() : 返回类的实例. __new__() : 返回类的实例.Python解释器 ...
- Hash——字符串匹配(求s1在s2中出现的次数)
题目描述: 这是一道模板题. 给定一个字符串 A 和一个字符串 B ,求 B 在 A 中的出现次数.A 和 B中的字符均为英语大写字母. 求A 在 B 中出现了几次.(可重叠) 样例输入: 3 BA ...
- Python—合并两个有序列表
def hb(list1,list2): result = [] while list1 and list2: ] < list2[]: result.append(list1[]) del l ...
- 力扣(LeetCode)258. 各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所 ...