PP生产订单状态+函数STATUS_CHECK

SAP系统常见订单状态如下:
· CRTD (创建):标识生产订单刚刚创建,此时禁止做后续发料和报工确认等操作;
· PREL (部分下达):当生产订单部分下达时,如仅下达部分工序时出现此状态;
· REL    (已下达):当生产任务已经明确可下发生产时,将生产订单转换为已下达状态,这个状态后可以继续后续业务操作,如打印订单、发料、报完工等操作;
· MANC (未检查物料可用性):生产订单未进行零部件物料的可用性检查;
· SETC (结算规则维护):生产订单已维护结算规则;
· MSPT (物料短缺):生产订单的零部件物料在进行可用性检查后发现存在短缺;
· MACM (已承诺的物料):生产订单的零部件物料在进行可用性检查后确认完全可用;
· GMPS (已过帐的货物移动):生产订单已经进行过发料;
· PCNF (部分确认):生产订单只进行了部分完工确认,如订单10个,只生产5个,或者有2道工序,只完成了第一道工序;
· CNF (已确认) :生产订单已全部完工确认;
· PDLV (部分交货):生产订单只有部分产品入库;
· DLV (交货) :生产订单已经完全交货入库,这意味着生产订单业务全部完成。CO看到DLV状态或TECO状态时将对订单进行完工结算。
· VCAL (差异计算) :生产订单进行过差异运算;
· TECO (技术完成) :在生产过程中,会出现订单未完成但是不再继续生产的情况,这时就可以打上技术完结标识,此时订单对零部件的需求同时删除。在很多项目中,为了简便处理,会对所有完成的订单进行技术完结处理(注:不再继续生产也是一种完成)。CO看到DLV状态或TECO状态时将对订单进行完工结算;
· RESA (进行结果分析):生产订单进行过结算;
· CLSD (关闭):生产订单做账务关闭,不允许对订单发生任何过账,通常情况下,财务月末对订单进行结算后,如果确认不会再有追加发料等业务发生,则应该将订单进行关闭;
· DLID (删除) :对生产订单做删除标识,数据仍然存在数据库中,状态可恢复。如果想彻底删除,需对订单进行归档处理。

通过函数STATUS_CHECK,检查一个生产订单是否有某个状态

表:JEST,字段OBJNR为OR+订单号,STAT即为订单状态。但是STAT的都是I打头的状态

生产订单系统状态保存在表TJ02/TJ02T中:

STATUS_CHECK的输入参数objnr可以从aufk-objnr中取得,也可以自己组串格式为OR+订单号。

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

REPORT ztest_checkppstatus.

 

DATA:l_objnr TYPE jest-objnr.

PARAMETERS:p_aufnr TYPE aufk-aufnr.

 

SELECT SINGLE objnr

  FROM aufk

  INTO l_objnr

WHERE aufnr = p_aufnr.

CALL FUNCTION 'STATUS_CHECK'

  EXPORTING

*   BYPASS_BUFFER     = ' '

    client            = sy-mandt

    objnr             = l_objnr

    status            = 'I0045'

  EXCEPTIONS

    object_not_found  = 1

    status_not_active = 2

    OTHERS            = 3.

IF sy-subrc EQ 0.

  WRITE: p_aufnr , 'YES, this pp order has I0045 status'.

ELSE.

  WRITE:p_aufnr , 'NO, this pp order dose not has I0045 status'.

ENDIF.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值