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交易 ...
随机推荐
- go 依赖工具glide
添加gopath/bin目录到环境变量下 安装glide $ go get github.com/Masterminds/glide $ go install github.com/Mastermin ...
- Docker之Swarm
Docker学习笔记 — Swarm搭建Docker集群 Swarm在schedule节点运行容器的时候,会根据指定的策略来计算最适合运行容器的节点,目前支持的策略有:spread, binpack, ...
- POJ 3279 Fliptile(翻格子)
POJ 3279 Fliptile(翻格子) Time Limit: 2000MS Memory Limit: 65536K Description - 题目描述 Farmer John kno ...
- POJ 1733 Parity game(种类并查集)
http://poj.org/problem?id=1733 题意: 给出一个01串,有多次询问,每次回答[l,r]这个区间内1的个数的奇偶性,但是其中有一些回答是错误的,问到第几个回答时与前面的回答 ...
- 基于 Python 和 Pandas 的数据分析(3) --- 输入/输出 基础
这一节, 我们要讨论 Pandas 的输入与输出, 并且应用在现实的实际例子中. 为了得到大量的数据, 向大家推荐一个网站 Quandl. Quandl 有很多免费和付费的资源. 这个网站最大的优势在 ...
- tarjan 缩点(模板)
描述: 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 注:允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次. 思路: ...
- python的json模块的dumps,loads,dump,load方法介绍
dumps和loads方法都在内存中转换, dump和load的方法会多一个步骤,dump是把序列化后的字符串写到一个文件中,而load是从一个文件中读取字符串 将列表转为字符串 >>&g ...
- python模块(3)
1.xml:实现不同语言或程序之间进行数据交换的协议 <data> <country name="Liechtenstein"> <rank upda ...
- vscode 的tab与空格设置
为了python 的pep8 标准,把tab键输入从\t的制表符 转为4个空格. 1在vscode下边栏点击 “空格” 在上面选项里设置 使用空格缩进, 以及可以 将缩进转换为空格 2在“文件-> ...
- 第 8 章 容器网络 - 061 - flannel 的连通与隔离
flannel 的连通与隔离 测试 bbox1 和 bbxo2 的连通性: bbox1 能够 ping 到位于不同 subnet 的 bbox2,通过 traceroute 分析一下 bbox1 到 ...