tiptop 编译运行_TIPTOP MPS(amsp500)运行流程

本文详细介绍了TIPTOP MPS(amsp500)的运行流程,包括数据表mpt_file和mps_file的结构,以及从预测量、安全库存到工单备料量等各个方面的数据处理和汇总。流程涉及需求和供给的计算、库存管理和计划排程等多个环节,旨在确保MPS的准确执行。
摘要由CSDN通过智能技术生成

TIPTOP MPS(amsp500)运行流程

主要数据库表mpt_file:

档案代号:mpt_file

档案名称:MPS 供需明细档

create table mpt_file

(

mpt_v varchar2(2), /*模拟版本 */

mpt01 varchar2(20), /*料号 */

mpt02 varchar2(10), /*No Use */

mpt03 date, /*供需日期 */

/*供需日期(依时距) */

mpt04 date, /*供需日期 */

/*供需日期(实际) */

mpt05 varchar2(2), /*供需类别 */

/* 39 : 预测量 */

/* 40 : 安全库存量 */

/* 41 : 独立需求 */

/* 42 : 受订量 */

/* 43 : 计划备料量 (MPS 计划下阶料展出) */

/* 44 : 工单备料量 (实际工单下阶料展出) */

/* 45 : PLM 备料量 (PLM 工单下阶料展出) */

/* 46 : 受订量(相依需求) */

/* 51 : 库存量 */

/* 52 : 在验量 */

/* 53 : 替代料库存量 */

/* 61 : 请购量 */

/* 62 : 在采量 */

/* 63 : 在外量 */

/* 64 : 在制量 */

/* 65 : 计划产 */

mpt06 varchar2(16), /*来源单号 */

mpt061 number(5), /*来源项次 */

mpt06_fz varchar2(1), /*冻结交期否 */

/*(Frozen)冻结交期否(Y/N)(For PR/PO/WO) */

mpt07 varchar2(20), /*来源料号 */

/*来源料号 (上阶半/成品需求追索料号) */

mpt08 number(15,3) /*数量 */

);

档案代号:mps_file

档案名称:MPS 供需汇总档

create table mps_file

(

mps_v varchar2(2), /*模拟版本 */

mps00 number(10), /*序号          */

/*序号 (于 MPS 完毕, 自动赋与) */

mps01 varchar2(40), /*料号 */

mps02 varchar2(10), /*No Use */

mps03 date, /*供需日期 */

/*供需日期 (依时距推算) */

mps039 number(15,3), /*需求:预测量 */

/*需求:预测量 (’39’) */

mps041 number(15,3), /*需求:受订量 */

/*需求:受订量 (安全库存/独立需求/受订) */

/* (’40’ ’41’ ’42’ */

mps043 number(15,3), /*需求:计画备料量 */

/*需求:计划备料量(MPS 计划下阶料展出’43’ */

/* +PLM 工单下阶料展出’45’)*/

mps044 number(15,3), /*需求:工单备料量 */

/*需求:工单备料量(实际工单下阶料展出’44’)*/

mps046 number(15,3), /*需求:受订量 */

/*需求:受订量(相依需求) */

mps051 number(15,3), /*供给:库存量 */

mps052 number(15,3), /*供给:在验量 */

mps053 number(15,3), /*供给:库存量 */

/*供给:库存量 (替代料) */

mps061 number(15,3), /*供给:请购量 */

mps062 number(15,3), /*供给:在采量 */

/*供给:在采量 (采购单未发出) */

mps063 number(15,3), /*供给:在外量 */

/*供给:在外量 (采购单已发出) */

mps064 number(15,3), /*供给:在制量 */

/*供给:在制量 (确认工单预计完工) */

mps065 number(15,3), /*供给:计画产 */

/*供给:计划产 (MPS 计划预计生产) */

mps06_fz number(15,3), /*已冻结交期的供给量(PR/PO/WO) */

/* 已冻结交期者不可重排交期 */

/* 故可重排交期的供给量=61+62+63+64+65-fz*/

mps071 number(15,3), /*建议交期重排导至供给减少数量 */

mps072 number(15,3), /*建议交期重排导至供给增加数量 */

mps08 number(15,3), /*预计结存 */

mps09 number(15,3), /*建议采购(PLP)建议工单(PLM)数量 */

/*建议采购(PLP)/建议工单(PLM)数量 */

/*主生产排程量 */

mps10 varchar2(1), /*是否已转正式MPS计划 */

/*是否已转正式MPS计划(Y/N) */

mps11 date, /*行动日期 */

/* P: 请购日期 (需求日-采购前置日数) */

/* M: OPEN日期 (需求日-制造前置日数) */

mps12 number(12,3) /*No Use */

);

1.先将当前版本的现有资料删除,再插入正要执行的版本

2.将此版本的mps_file供需汇总档资料删除,等待插入数据

3.将此版本的mpt_file供需明细档资料删除,等待插入数据

4.将此版本的mpl_fileMPS执行LOG档资料删除,等待插入数据

5.将此版本的mpk_file时距日档资料删除,等待插入数据

6.将此版本的mpm_file时距日与实际对照档资料删除,等待插入数据

7.按输入条件产生时距档并记录LOG(mpk_file),

事实上很多步骤都会有记录LOG的步骤,以下忽略

8.找出条件所需要的料号,放在part_tmp表里面等待使用

9.如果需求纳入方式为预测,则取最近的预测资料(axmi171),取总预测需求

如果需求纳入方式为订单,则跳过这步 –插入mpt_file供需明细档

[mpt05=’39’ mpt06=预测单号,mpt061项次,mpt07料号,mpt08预测数量]

–按料号汇总数据后插入mps_file mps039

10.取安全库存量(ima27),需求纳入为预测时有效

–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file mps40

11.取独立需求量数据 (amri506)–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file

12.取订单量数据 (订单axmt410未审核的单?)–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file

13.取总计划资料(mps计划下阶料amri500),则欲保留MPS计划

–插入mpt_file供需明细档

–汇总数据后插入mps_file

–按料号汇总数据后插入mps_file

14.取工单资料(实际工单单身料)有两种情况

[1]如果工单已经备料:取备料档的数据。汇总数据计算方法:取工单(时距内

不为试产工单,未结案,已经备料,有效,应发量>已发量+委外代买量)

工单备料量=应发-已发-代买+下阶料报废-超领

[2]如果工单未备料则直接取BOM资料

–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file

15.取库存量img10

–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file

16.取在验量(rva_file,rvb_file,收货单未验收数量)

–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file

17.请购量(apmt420)[非委外,有效,未结案,pml38=’Y’,订购量-已转采购数量]

–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file

18.在制量,这个是取工单生产成品料(即工单生产数量-完工数量那一部份)

–插入mpt_file供需明细档

–按料号汇总数据后插入mps_file

19.提出计划(考虑替代料):[1]找出需要替代料的元件,减去已经被工单替代了的数 量,然后统计MPS对应料号的总供应减去总需求,不足的就用替代料。

再合计原料需求+替代需求更新mps_file mps053,插入pmt_file mpt05=’53’

—在这里应该看出,amsq500,amsq510的数据大致都出来了

至于mps_file的

mps06_fz 检查是否有冻结, /*已冻结交期的供给量(PR/PO/WO) */

/* 已冻结交期者不可重排交期 */

/* 故可重排交期的供给量=61+62+63+64+65-fz*/

mps071 number(15,3), /*建议交期重排导至供给减少数量 */

mps072 number(15,3), /*建议交期重排导至供给增加数量 */

mps08 number(15,3), /*预计结存 */

mps09 number(15,3), /*建议采购(PLP)建议工单(PLM)数量 */

/*建议采购(PLP)/建议工单(PLM)数量 */

/*主生产排程量 */

09要考虑采购/制造倍量,最小采购/制造量

mps10 varchar2(1), /*是否已转正式MPS计划 */

/*是否已转正式MPS计划(Y/N) */

mps11 date, /*行动日期 */

/* P: 请购日期 (需求日-采购前置日数) */

/* M: OPEN日期 (需求日-制造前置日数) */

mps12 number(12,3) /*No Use */

其它主要代码如下:

LET bal=bal+sss[i].mps051+sss[i].mps052+sss[i].mps053

+sss[i].mps061+sss[i].mps062+sss[i].mps063

+sss[i].mps064+sss[i].mps065

-sss[i].mps043-sss[i].mps044

-sss[i].mps071+sss[i].mps072

#需求納入(1.訂單 2.預測 3.取最大)

CASE WHEN incl_so = ‘1’ LET bal = bal – sss[i].mps041

WHEN incl_so = ‘2’ LET bal = bal – sss[i].mps039

IF bal < 0 THEN FOR j = i+1 TO 100# 請/採購交期, 工單完工日調整

IF sss[j].mps03 > sss[i].mps03+l_ima72 THEN EXIT FOR END IF

LET qty2=sss[j].mps061+sss[j].mps062+sss[j].mps063+sss[j].mps064

-sss[j].mps06_fz

-sss[j].mps071+sss[j].mps072

IF qty2 <= 0 THEN CONTINUE FOR END IF

IF qty2 >= bal*-1

THEN LET sss[j].mps071=sss[j].mps071+bal*-1

LET sss[i].mps072=sss[i].mps072+bal*-1

LET bal=0

EXIT FOR

ELSE LET sss[j].mps071=sss[j].mps071+qty2

LET sss[i].mps072=sss[i].mps072+qty2

LET bal=bal+qty2

END IF

END FOR

END IF

LET sss[i].mps08=bal

IF sss[i].mps08 < 0 THEN 小于零即不够,建立采购数量

LET sss[i].mps09=sss[i].mps08*-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值