博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工单报工之批次确定
阅读量:5278 次
发布时间:2019-06-14

本文共 2944 字,大约阅读时间需要 9 分钟。

使用批次管理的公司可能经常会在一些地方想着批次确定,或者给出一些批次指导,方便业务做单等

至于系统标准的批次确定怎么配置,百度一大堆,而且基本都是正确可行的。。。美中不足的就是,会跳转到批次确认策略的界面,让用户一次确认,稍微麻烦

 

为了给老板们省时间,所以开发自动批次填充和拆分。。。

1.依旧使用‘批次确认’按钮。

2.在批次确认的逻辑里增强

程序 LCOWBFC1  call_batch_determination 这个FORM里。。。结尾的地方

ENHANCEMENT 1  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 + 1."初始化次数      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 <> 0.        ENDIF.          SORT VT_MCHB BY CHARG ASCENDING.          LOOP AT VT_MCHB INTO VS_MCHB WHERE CLABS <> 0.            IF LV_ERFMG > 0."判断是否数量已满足              IF VS_MCHB-CLABS >= LV_ERFMG."满足数量要求,选择批次,并把数量置0                GT_COMP-CHARG = VS_MCHB-CHARG.                VS_MCHB-CLABS = VS_MCHB-CLABS - LV_ERFMG."更新批次剩余数量                LV_ERFMG = 0.              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 < 0.                  VS_MCHB-CLABS = 0.                ENDIF.                GT_COMP-IND_ST = GV_LINE.                INSERT GT_COMP.                CLEAR:GT_COMP-CHARG.                GT_COMP-ERFMG = LV_ERFMG.                GV_LINE = GV_LINE + 1."自增一位                LV_LINE = LV_LINE + 1."自增一位                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.

 

 

因为如果配了批次,系统可能还是会跳的策略那个界面,所以找个地方屏蔽

程序 LV01FFD0    dialog 这个FORM最开始

ENHANCEMENT 1  ZCO15_ENHS.    "active versionIF SY-TCODE = 'CO15'.  no_dialog = 'X'.ENDIF.ENDENHANCEMENT.

设置不跳出这个DIALOG。。。

完美解决

 

下图这个是因为物料库存不足。。。所以拆分了

 

转载于:https://www.cnblogs.com/sapSB/p/6023711.html

你可能感兴趣的文章
hdu 1028 Ignatius and the Princess III(母函数入门+模板)
查看>>
Ubuntu下配置安装telnet server
查看>>
Codeforces 235 E Number Challenge
查看>>
ubuntu 常见命令整理
查看>>
EJBCA安装教程+postgresql+wildfly10
查看>>
(五十四)涂鸦的实现和截图的保存
查看>>
配置EditPlus使其可以编译运行java程序
查看>>
java中的占位符\t\n\r\f
查看>>
7.14
查看>>
SDN2017 第一次作业
查看>>
MySQL通过frm 和 ibd 恢复数据过程
查看>>
AngularJs 学习笔记(2)
查看>>
关于元素优先级
查看>>
oo第一单元作业总结
查看>>
SRS源码——Listener
查看>>
web.xml 4.0 头
查看>>
Java面向对象抽象类案例分析
查看>>
100.Same Tree
查看>>
JAVA 根据经纬度算出附近的正方形的四个角的经纬度
查看>>
对SPI、IIC、IIS、UART、CAN、SDIO、GPIO的解释
查看>>