PP实施经验分享(23)——生产订单状态历史记录(例子:生产订单TECO后续订单操作区间的报工收货记录查询报表逻辑)
最近用户提到一个特别的需求点:就是想通过后台数据表获取工单在TECO标识之后,又打开,再关闭;这样的一段区间内,该张工单的报工及货物移动情况。
这里就涉及到生产订单的状态更改记录的问题;SAP中针对生产订单的状态更改,都是可以进行记录的,前提是后台配置”OPL8" 里面状态修改文档记录有没有勾选,这里控制了生产订单历史状态修改是否记录。
在确认完配置方面的信息无误之后,我们来认识下生产订单状态信息的表:JCDS
表名 | 描述 |
---|---|
JCDS | 状态更改记录表 |
JEST | 状态实时记录表(生产订单或其他订单状态更改之后,会实时体现在改表中) |
TJ02T | 系统状态文本(系统状态和前台显示状态的对应关系) |
我们查找历史记录主要是根据表“JCDS”进行数据查询。
举例:
-
前提表关联:
根据AUFK-AUFNR得到AUFK- OBJNR
AUFK- OBJNR=JCDS-OBJNR & JCDS-STAT=“ I0045”(TECO对应的系统状态) -
系统截图
-
内表取值 ZPP001
序号 | 日期 | 时间 | 状态未激活 | 对应TECO操作 |
---|---|---|---|---|
1 | 2021.08.20 | 15:14:03 | 状态未激活=“空”,代表打上TECO | |
2 | 2021.08.23 | 12:52:15 | x | 状态未激活=“X”,代表关闭TECO |
3 | 2021.08.23 | 13:10:06 | 状态未激活=“空”,代表打上TECO |
-
时间取值逻辑
1、首先获取生产订单的TECO状态标识第一次打上的时间点:A (日期+时间)
即内表“ZPP001"中 ,状态未激活=“空” 的第一条记录 2021.08.20、15:14:03
2、获取生产订单的TECO状态标识第一次关闭的时间点 :B (日期+时间)
即内表“ZPP001"中 ,状态未激活=“X” 的第一条记录 2021.08.23\12:52:15
现在可以获取的信息:
B 之后的报工、收货数据,就是“关掉TECO之后的报工、收货数据(首次关闭订单之后的报工、收货记录)
取报工数据、在AFRU中根据生产订单工序的确认编号 & 录入日期ERSDA +录入时间 ( ERZET)>= 2021.08.23\12:52:15 & AFRU- STOKZ≠“X”、 AFRU-STZHL=“空”得到的 产量∑〖AFRU− GMNGA〗
取收货数据,MSEG中MSEG-AUFNR=生产订单 & MSEG-CPUDT_MKPF、MSEG-CPUTM_MKPF>=2021.08.23\12:52:15 & MSEG-BWART=101 \102\ 得到的101移动类型-102移动类型的∑〖MSEG− MENGE〗
3、获取生产订单第二次打上TECO的时间点 : C (日期+时间)
即内表“ZPP001"中 ,状态未激活=“空” 的第二条记录 2021.08.23\13:10:06
现在可以获取的信息:
B~C时间点上,该生产订单的报工、收货记录。(关掉到打开的报工数据)
取报工数据、在AFRU中根据生产订单工序的确认编号 & 2021.08.23\13:10:06>=录入日期ERSDA +录入时间 ( ERZET)>= 2021.08.23\12:52:15 & AFRU- STOKZ≠“X”、 AFRU-STZHL=“空”得到的 产量∑〖AFRU− GMNGA〗
取收货数据,MSEG中MSEG-AUFNR=生产订单 & 2021.08.23\13:10:06 >= MSEG-CPUDT_MKPF、MSEG-CPUTM_MKPF>=2021.08.23\12:52:15 & MSEG-BWART=101 \102\ 得到的101移动类型-102移动类型的∑〖MSEG− MENGE〗
4、获取生产订单第二次关闭TECO的时间点:D(日期+时间)
即内表“ZPP001"中 ,状态未激活=“x” 的第二条记录 (本次举例无),则取日期时间为9999.12.31\00:00:00即可
现在可以获取的信息:
B~D 时间点上的报工、收货记录(关掉到打开到关掉的报工数据)
取报工数据、在AFRU中根据生产订单工序的确认编号 & 9999.12.31\00:00:00>=录入日期ERSDA +录入时间 ( ERZET)>= 2021.08.23\13:10:06 & AFRU- STOKZ≠“X”、 AFRU-STZHL=“空”得到的 产量∑〖AFRU− GMNGA〗
取收货数据,MSEG中MSEG-AUFNR=生产订单 & 9999.12.31\00:00:00 >= MSEG-CPUDT_MKPF、MSEG-CPUTM_MKPF>= 2021.08.23\13:10:06 & MSEG-BWART=101 \102\ 得到的101移动类型-102移动类型的∑〖MSEG− MENGE〗C-D 时间点上的报工、收货记录
如上即可……以此类推,如果获取不到对应时间点,则时间点=9999.12.31