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

相关文章

关于C++中的虚拟继承的一些总结(虚拟继承,覆盖,派生,隐藏)

1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下: class A class B1:public virtual A; class B2:pu

【EverEdit】活用 EverEdit 小技巧

【EverEdit】活用 EverEdit 小技巧 (1)设置 EverEdit 对比文件文本内容 设置如下图所示: 首先要先打开要对比的文本文件,和对比文件相比,此时打开了至少两个文件: 选择文件比较: (2)如何设置 EverEdit 监视文件的变化 设置如下图所示:

十五.各设计模式总结与对比

1.各设计模式总结与对比 1.1.课程目标 1、 简要分析GoF 23种设计模式和设计原则,做整体认知。 2、 剖析Spirng的编程思想,启发思维,为之后深入学习Spring做铺垫。 3、 了解各设计模式之间的关联,解决设计模式混淆的问题。 1.2.内容定位 1、 掌握设计模式的"道" ,而不只是"术" 2、 道可道非常道,滴水石穿非一日之功,做好长期修炼的准备。 3、 不要为了

人工智能机器学习算法总结神经网络算法(前向及反向传播)

1.定义,意义和优缺点 定义: 神经网络算法是一种模仿人类大脑神经元之间连接方式的机器学习算法。通过多层神经元的组合和激活函数的非线性转换,神经网络能够学习数据的特征和模式,实现对复杂数据的建模和预测。(我们可以借助人类的神经元模型来更好的帮助我们理解该算法的本质,不过这里需要说明的是,虽然名字是神经网络,并且结构等等也是借鉴了神经网络,但其原型以及算法本质上还和生物层面的神经网络运行原理存在

Java注解详细总结

什么是注解?         Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。         注解不光可以用在方法上,还可以用在类上、变量上、构造器上等位置。 自定义注解  现在我们自定义一个MyTest注解 public @interface MyTest{String aaa();boolean bbb()

邮件群发推送的方法技巧?有哪些注意事项?

邮件群发推送的策略如何实现?邮件推送怎么评估效果? 电子邮件营销是现代企业进行推广和沟通的重要工具。有效的邮件群发推送不仅能提高客户参与度,还能促进销售增长。AokSend将探讨一些关键的邮件群发推送方法和技巧,以帮助企业优化其邮件营销策略。 邮件群发推送:目标受众 了解他们的需求、兴趣和行为习惯有助于你设计出更具吸引力和相关性的邮件内容。通过收集和分析数据,创建详细的客户画像,可以更精

tensorboard-----summary用法总结

Tensorflow学习笔记——Summary用法         最近在研究tensorflow自带的例程speech_command,顺便学习tensorflow的一些基本用法。 其中tensorboard 作为一款可视化神器,可以说是学习tensorflow时模型训练以及参数可视化的法宝。 而在训练过程中,主要用到了tf.summary()的各类方法,能够保存训练过程以及参数分布图并在

七种排序方式总结

/*2018.01.23*A:YUAN*T:其中排序算法:冒泡排序,简单排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序*/#include <stdio.h>#include <math.h>#include <malloc.h>#define MAXSIZE 10000#define FALSE 0#define TRUE 1typedef struct {i

Java中的正则表达式使用技巧

Java中的正则表达式使用技巧 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我们来探讨一下Java中正则表达式的使用技巧。正则表达式是一种强大的工具,用于字符串匹配、替换和分割等操作。掌握正则表达式能够大大提高我们处理文本数据的效率。 1. 正则表达式的基本概念 正则表达式(Regular Expression,简称

IPython小白教程:提升你的Python交互式编程技巧,通俗易懂!

IPython是一个增强的Python交互式shell,它提供了丰富的功能和便捷的交互方式,使得Python开发和数据分析工作更加高效。本文将详细介绍IPython的基本概念、使用方法、主要作用以及注意事项。 一、IPython简介 1. IPython的起源 IPython由Fernando Pérez于2001年创建,旨在提供一个更高效的Python交互式编程环境。 2. IPyt