MIGO批次增强总结技巧

2024-02-15 18:08
文章标签 总结 技巧 增强 批次 migo

本文主要是介绍MIGO批次增强总结技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、批次增强的出口包含程序是ZXVBZU02,在ZXVBZU02中添加如下代码可实现同物料&工厂生成同一个批次

*&---------------------------------------------------------------------*
*& 包含               ZXVBZU02
*&---------------------------------------------------------------------*
*data z_bncom like bncom.
*data num(10) type c.
*z_bncom = x_bncom.
*concatenate sy-datum+2(6) new_charg+6(4) into num.
*new_charg = num.

TABLES MCHB.
DATALAST_CHARG  LIKE MCHB-CHARG,
      DATE_STR(6TYPE C,
      SERIAL(4)   TYPE C.
SELECT MAXCHARG )  INTO LAST_CHARG
  
FROM  MCHB
  
WHERE MATNR  X_BNCOM-MATNR
    
AND WERKS  X_BNCOM-WERKS
    
AND ERSDA  SY-DATUM+2(6).


DATE_STR SY-DATUM+2(6).

IF LAST_CHARG IS INITIAL.

  CONCATENATE DATE_STR  '0001' INTO NEW_CHARG.

ELSE.
  NEW_CHARG LAST_CHARG + 1.
*   if serial < 10 .
*     CONCATENATE '0' serial into serial.
*   endif.

*   CONCATENATE date_str  serial  into new_charg.
ENDIF.

2、如果同物料&工厂有多行,并且想要分配不同批次则需要使用自建表,并在每次调用增强是进行存储操作,具体代码如下。

*&---------------------------------------------------------------------*
*& 包含               ZXVBZU02
*&---------------------------------------------------------------------*
*data z_bncom like bncom.
*data num(10) type c.
*z_bncom = x_bncom.
*concatenate sy-datum+2(6) new_charg+6(4) into num.
*new_charg = num.

TABLES MCHB.
DATALAST_CHARG  LIKE MCHB-CHARG,
      LV_ZBATCH   TYPE ZBATCH,
      DATE_STR(6TYPE C,
      SERIAL(4)   TYPE C.
SELECT MAXCHARG )  INTO LAST_CHARG
  
FROM  ZBATCH
  
WHERE MATNR   X_BNCOM-MATNR
    
AND WERKS   X_BNCOM-WERKS
    
AND CHARG_C SY-DATUM+2(6).


DATE_STR SY-DATUM+2(6).

IF LAST_CHARG IS INITIAL.

  CONCATENATE DATE_STR  '0001' INTO NEW_CHARG.

ELSE.
  NEW_CHARG LAST_CHARG + 1.
*   if serial < 10 .
*     CONCATENATE '0' serial into serial.
*   endif.

*   CONCATENATE date_str  serial  into new_charg.
ENDIF.
CLEAR LV_ZBATCH .
LV_ZBATCH-MATNR   X_BNCOM-MATNR .
LV_ZBATCH-WERKS   X_BNCOM-WERKS .
LV_ZBATCH-ERSDA   SY-DATUM .
LV_ZBATCH-CHARG   NEW_CHARG .
LV_ZBATCH-CHARG_C LV_ZBATCH-CHARG(6) .

MODIFY ZBATCH FROM LV_ZBATCH .

自建表格式:

MANDTXMANDTCLNT30集团
MATNRXMATNRCHAR400物料编号
WERKSXWERKS_DCHAR40工厂
CHARGXCHARG_DCHAR100批号
CHARG_C  CHAR60批号截取
ERSDA ERSDADATS80创建日期

 

这样做的弊端是:

1*如果MIGO操作只进行了检查没有保存或保存不成功就会产生跳号的现象

2*系统期初导入的批次数据无法自动流入自建表

 

3、如何使导入的期初数据自动流入自建表且能避免跳号问题?我的思路是由于批次是不可跨天累计的,所以可以在进入MIGO界面并伴有PAI动作时将自建批次表当天的数据清空,并将MCHB当天的数据更新进入自建表,这样便可以解决上面两个问题。具体做法如下:

此处加入如下代码

 

*{   INSERT         D01K900321                                        1
  DATA GT_MCHB   TYPE TABLE OF MCHB WITH HEADER LINE .
  DATA GT_ZBATCH TYPE TABLE OF ZBATCH WITH HEADER LINE .
  IF SY-TCODE 'MIGO'.
    DELETE FROM ZBATCH WHERE ERSDA SY-DATUM .
    CLEAR GT_MCHB[] .
    SELECT INTO CORRESPONDING FIELDS OF TABLE GT_MCHB[] FROM MCHB
      
WHERE ERSDA SY-DATUM
      
.
    LOOP AT GT_MCHB.
      GT_ZBATCH-MATNR GT_MCHB-MATNR.
      GT_ZBATCH-WERKS GT_MCHB-WERKS.
      GT_ZBATCH-CHARG GT_MCHB-CHARG.
      GT_ZBATCH-ERSDA GT_MCHB-ERSDA.
      GT_ZBATCH-CHARG_C GT_MCHB-CHARG(6).
      APPEND GT_ZBATCH .
      CLEAR GT_MCHB .
      CLEAR GT_ZBATCH .
    ENDLOOP.
    MODIFY ZBATCH FROM TABLE GT_ZBATCH[] .
  ENDIF.
*}   INSERT

这篇关于MIGO批次增强总结技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/712133

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel