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

相关文章

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

Python中处理NaN值的技巧分享

《Python中处理NaN值的技巧分享》在数据科学和数据分析领域,NaN(NotaNumber)是一个常见的概念,它表示一个缺失或未定义的数值,在Python中,尤其是在使用pandas库处理数据时,... 目录NaN 值的来源和影响使用 pandas 的 isna()和 isnull()函数直接比较 Na