SAP增强实现批次自动编号(2)

2019-03-28 12:12

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增强实现批次自动编号(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湖州市公交路线(完整版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: