SAP增强实现批次自动编号
更新时间:2024-06-20 08:30:01 阅读量: 综合文库 文档下载
- sap自动批次确定推荐度:
- 相关推荐
批次编号处理
批次编号范围(将采用批次管理的物料分为两种,1种是自制件(E),1种是采购件(F),对于既有自制、又有采购的,根据实际状况处理) ? ?
对于自制件,批次编号跟生产订单编号一致(使用出口来实现) 对于外购件,批次编号采用6位日期+3位流水码(使用出口来实现)
内部编号范围分配目前逻辑如下,根据物料的生产方式
?
F->外购件-> 批次编号采用6位日期+3位流水号
o 对于1个物料来说,如果批次号码内部给号而不是手工输入,那么流水码从
001直到999,每次货物移动,流水码自动加1
o 对于不同的物料来说,比如之前有个物料使用了流水码180111000如果
MCH1物料+流水码查询不到记录,那么此物料仍然可以使用流水码180111000
? ?
E->外购件-> 批次编号采用生产订单编号 X->判断当前的生产订单编号是否为空
o 生产订单编号为空 -> 6位日期+3位流水号
o 生产订单编号不为空-> 生产订单编号(生产订单编号采用10位,前两位
为工厂代码)
首先对于增强说一下我的理解:
用户出口SAPLV01Z是用户自动分配批次号码(内部给号的),并且只有在配置了
基于移动类型生成新批次,并且设置成B,此出口才会被触发,所有的配置B的移动类型,在用MIGO进行货物移动时,都会触发增强的逻辑,并且增强逻辑只对(没有输入批次号码)这种情况下才生效。
集团配置的自动创建批次移动类型为101、103、501
对于批次,整个集团的规则是,批次号码均是自动生成,只有特殊情况才可以手工输入(561初始化,以及盘盈701、711):
只有收货(101、103、501-仅限采购件),才能自动产生新批次(设置成B-Automatic/Manual
and check in USER EXIT),其他的移动类型都要设成G-no creation
对于消耗的移动类型(201、261、281、601、541、543)批次都是根据批次确定规则(FIFO&剩余货架寿命),自动排出批次(在migo里面也要配置增强,如果输入的批次号不在MCH1或者MCHA中,会报错),且不允许产生新批次->全部设成G-no creation,且需要配置批次确定规则
对于移库类(241/242、301/302、303/304、305/306、309/310、311/312、313/314、315/316、344/343、411/412、413/414、415/416、551/552。。)如果物料有用到批次管理,会检查输入的批次是否存在,如果不存在,会报错,也是在MIGO增强里面做检查,因为移库可能没法使用FIFO规则。且不允许产生新批次->全部设成G-no creation,且不需要配置批次确定规则
对于561,并不设置内部检查规则(即采用默认配置),对于561初始化库存时,批次可以手工输入
对于701(盘盈),理论上,所有的盘盈并不会产生新批次,如果真的产生新批次的物料,批次可以手工输入,即701也采用默认配置
CMOD创建增强项目
注:EXIT_SAPLV01Z_001 & EXIT_SAPLV01Z_002适用于内部给号的情况
对出口EXIT_SAPLV01Z_002加代码
源代码
*&---------------------------------------------------------------------* *& Include ZXVBZU02 *& 内部编号范围分配目前逻辑如下 *& 根据物料的生产方式
*& F->外购件-> 批次编号采用6位日期+3位流水号
*& 流水号含义->对于1个物料来说,如果批次号码内部给号而不是手工输入,那么流水码从001直到999,
*& 每次货物移动,流水码自动加1
*& ->对于不同的物料来说,比如之前有个物料使用了流水码180111001如果MCH1物料+流水码
*& 查询不到记录,那么此物料仍然可以使用流水码180111001 *& E->外购件-> 批次编号采用生产订单编号 *& X->判断当前的生产订单编号是否为空
*& 生产订单编号为空 -> 6位日期+3位流水号 *& 生产订单编号不为空-> 生产订单编号
*&---------------------------------------------------------------------* TABLES:zbatch,mch1,marc.
DATA tab01 LIKE TABLE OF zbatch WITH HEADER LINE. DATA batch_number TYPE mch1-charg.
DATA pre_flow_number(3) TYPE n. \前一个流水号 DATA cur_flow_number(3) TYPE n. \当前流水号 DATA zbeskz TYPE marc-beskz. \采购方式 CLEAR batch_number. \批次号码 CLEAR pre_flow_number. CLEAR cur_flow_number. CLEAR tab01.
\首先获取物料的采购方式
SELECT SINGLE marc~beskz INTO zbeskz FROM marc WHERE marc~werks = x_bncom-werks AND marc~matnr = x_bncom-matnr.
\首先获取当前日期,当前物料下,该物料的最大批次号 CASE zbeskz.
WHEN 'F'. \外购件,使用流水码的批次号
SELECT MAX( charg ) INTO batch_number FROM MCH1 WHERE matnr = x_bncom-matnr AND ERSDA = sy-datum.
IF batch_number IS INITIAL. \如果当天的批次号不存在,那么当前流水号为001
cur_flow_number = '001'. ELSE.
pre_flow_number = batch_number+6(3). \如果当天的批次存在,那么前一个流水号=取到的流水号
cur_flow_number = pre_flow_number + 1. \当前流水号=前一个流水号+1 ENDIF.
\将此次的批次信息插入到表ZBATCH中
CONCATENATE sy-datum+2(6) cur_flow_number INTO batch_number. \当前日期后6位+当前流水号作为当前的批次号码 WHEN 'E'.
IF x_bncom-bwart <> '101' or x_bncom-bwart <> '103'. MESSAGE e001(00) WITH 'Please input batch number!'. ELSE.
batch_number = x_bncom-aufnr. ENDIF. WHEN 'X'.
IF x_bncom-aufnr IS INITIAL.
SELECT MAX( charg ) INTO batch_number FROM zbatch WHERE matnr = x_bncom-matnr AND cdate = sy-datum.
IF batch_number IS INITIAL. \如果当天的批次号不存在,那么当前流水号为001
cur_flow_number = '001'. ELSE.
pre_flow_number = batch_number+6(3). \如果当天的批次存在,那么前一个流水号=取到的流水号
cur_flow_number = pre_flow_number + 1. \当前流水号=前一个流水号+1 ENDIF.
\将此次的批次信息插入到表ZBATCH中
CONCATENATE sy-datum+2(6) cur_flow_number INTO batch_number. \当前日期后6位+当前流水号作为当前的批次号码 ELSE.
IF x_bncom-bwart <> '101' or x_bncom-bwart <> '103'.
MESSAGE e001(00) WITH 'Please input batch number! Finished Goods auto batch numer only allowed for mvt 101'. ELSE.
batch_number = x_bncom-aufnr. ENDIF. ENDIF. ENDCASE.
* tab01-charg = batch_number. * tab01-matnr = x_bncom-matnr. * tab01-cdate = sy-datum. * tab01-werks = x_bncom-werks. * APPEND tab01. *
* IF sy-ucomm = 'OK_POST1'. \只有post才会将数据写入到表ZBATCH中 * INSERT zbatch FROM tab01. * COMMIT WORK. * ENDIF.
new_charg = batch_number.
测试验证: 采购件
根据当前系统日期带出批次编号,测试通过
正在阅读:
SAP增强实现批次自动编号06-20
powermill程序单变量参数04-15
2022年安徽省马鞍山市含山县建设银行招聘考试试题及答案04-15
停车场管理系统详细设计说04-16
人教版高中物理选修(3-4)-11.1《简谐运动》学案101-04
谈钢琴歌唱性旋律的弹奏06-06
澎和天信位置服务平台使用手册07-24
赵坡煤矿核实文字05-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 批次
- 增强
- 编号
- 实现
- 自动
- SAP
- 《国际贸易实务》练习及答案
- 服装行业KPI指标
- 景区运营管理方案书
- 关于加快我市县域工业经济发展的调研报告
- 聘用意向书英文
- 影响网上银行的安全因素和风险防范对策
- 火力发电
- 河南国培08班课程大总结 - 图文
- 数据采集卡
- 房屋建筑工程钢筋施工技术
- 了不起的狐狸爸爸阅读推进题
- 上海知名的中文学校和国际学校
- 2018公共英语(二)平时作业
- 形式语言与自动机课后习题答案
- 小学二年级体育教案
- 郑州大学远程教育学院电力工程基础课程要点和综合练习课程要点和
- Maya之多边形建模 - 图文
- 云南省麻栗坝大型灌区规划报告(新版)
- 山东省聊城市2013届高三高考模拟(一)语文试题 2013聊城一模 Word
- 2018~2019学年江苏省徐州市五年级(下)期末数学试卷