SAP 批量扩充库位地点(根据物料组)
程序用处:1)根据物料工厂创建日期,SAP根据自定义物料组库位地点维护表,自动跑物料库位扩充; 2)减少人工维护时间,提高工作效率; 3)使用变式,晚上运行JOB;
程序涉及表:MARA,MARD,MSTA,MARDX;程序涉及函数:BAPI_MATERIAL_SAVEREPLICA;
屏幕界面格式:
批量扩充物料库位地点屏幕界面格式要求:
如上图所示:
1.“运行模式”选框中,“测试运行”默认选中;
2.“运行模式”中,若选中“正式运行”时,则"处理模式”选择框自动显示;
3.“处理模式”选框中,前端处理默认选中;
4.“处理模式”选框中,若选中“后台会话”,则“作业名称”自动显示,否则默认隐藏;
5.作业名称其名称为MMSC_MASS_UF,且不允许修改会话名称;
6.选中条件中,工厂必填,创建日期默认当前日期;
7.点击“物料组库存地点维护”按钮,自动跳转到物料组库存地点维护自定义表;
物料组库存地点维护自定义表:
ZTMMxx-自定义物料组库位扩充表程序执行结果样式:
扩充物料库位地点程序执行结果样式程序执行过程中,调用函数: BAPI_MATERIAL_SAVEREPLICA 进行物料主数据扩展;
调用函数 BAPI_MATERIAL_SAVEREPLICA 进行数据处理;
运行基本原理:
调用MARC,MARA,MSTA,获取需要扩充的物料,工厂,库位地点;
1)当MARC-WERKS=='所选工厂',MARC-MATNR='所选物料',MSTA-ERSDA =='所选创建日期',且MARC-WERKS==MSTA-WERKS,MARC-MATNR==MSTA-MATNR,MARC-=='L',读取需扩充的物料,工厂;
2)根据上述(1)获取到的物料、工厂,结合MARA和自定义表ZTMMXX(物料组库位地点扩充),当MARA-MATNR='上述获取到的物料',MARA-MATKL==ZTMMXX-MATKL,ZTMMXX-WERKS=='上述获取到的工厂',获取需扩充的物料、工厂、库位地点;
3)根据上述(2)获取到的物料,工厂,库位地点,读取MARD,将已扩充的物料、工厂、库位地点排除掉,需扩充的物料、工厂、库位地点;
4)根据上述(3)获取到的物料,调用函数 BAPI_MATERIAL_SAVEREPLICA 进行MARD,MARDX进行扩展;扩展成功,则维护状态为绿灯,并获取消息;扩展失败,则维护状态为红灯,并获取消息;
若“运行模式”单选为“测试运行”则进行测试扩充;
若“运行模式”单选为“正式运行”则进行正式扩充;
若“处理模式”单选为“前台设置”则进行前台处理;
若“处理模式”单选为“后台会话"则进行后台处理;