PP实施经验分享(23)——生产订单状态历史记录

PP实施经验分享(23)——生产订单状态历史记录(例子:生产订单TECO后续订单操作区间的报工收货记录查询报表逻辑)

最近用户提到一个特别的需求点:就是想通过后台数据表获取工单在TECO标识之后,又打开,再关闭;这样的一段区间内,该张工单的报工及货物移动情况。
这里就涉及到生产订单的状态更改记录的问题;SAP中针对生产订单的状态更改,都是可以进行记录的,前提是后台配置”OPL8" 里面状态修改文档记录有没有勾选,这里控制了生产订单历史状态修改是否记录。


在确认完配置方面的信息无误之后,我们来认识下生产订单状态信息的表:JCDS

我们查找历史记录主要是根据表“ JCDS ”进行数据查询。

  • 前提表关联:
    根据AUFK-AUFNR得到AUFK- OBJNR
    AUFK- OBJNR=JCDS-OBJNR & JCDS-STAT=“ I0045”(TECO对应的系统状态)

  • 系统截图

  • 内表取值 ZPP001

  • 时间取值逻辑
    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〗