• PP-生产订单状态


    转自:http://www.cnblogs.com/mingdashu/p/5566108.html

    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 (删除) :对生产订单做删除标识,数据仍然存在数据库中,状态可恢复。如果想彻底删除,需对订单进行归档处理。
     

    表为:JEST,字段OBJNR为OR+订单号,STAT即为订单状态。但是STAT的都是I打头的状态,通过CO03看生产订单状态都是如下:

    表TJ02:

    函数:STATUS_READ

    输入参数OBJNR也是OR+订单号,ONLY_ACTIVE即只取出激活的状态。读出来后也需要转换下。STATUS_CHECK是检查生产订单状态,看是否具有某种状态,STATUS_TEXT_EDITSTATUS_READ,但似乎不能读出所有的状态。

    在JEST中,一个生产订单可能同时存在多个状态(比如DLV和TECO,TECO可能和其它状态都会同时存在),所以需要注意,单aufk和JEST关联是会存在多条记录,如果要做数量统计等。最后把TECO状态给过滤掉,或统计时不要统计TECO状态的条目,否则统计数据会错误。TJ02T表(系统状态文本)。
    包含订单的所有状态和文本说明。
     
    1.可以通过函数'STATUS_TEXT_EDIT' 。 
    复制代码
    CALL FUNCTION 'STATUS_TEXT_EDIT' 
    EXPORTING 
    objnr = object_tab-objnr 
    spras = sy-langu 
    flg_user_stat = 'X' 
    IMPORTING 
    line = object_tab-sttxt 
    user_line = object_tab-ustxt 
    EXCEPTIONS 
    object_not_found = 01.
    复制代码

    函数不能直接用工单号码作输入参数,需使用工单的OBJNR栏位,可以通过用工单号码从视图VSAUFK中取得。 TMP_LINE就是返回的工单状态记录,如: TECO DLV PRC MANC RESA RMWB SETC

    2.可以通过直接在JEST表中通过状态判定读取。

    复制代码
    SELECT SINGLE * FROM aufk WHERE aufnr = readrec-aufnr. ** 检查工单种类
    
    * IF aufk-auart(1) <> 'A'.
    * CONTINUE.
    * ENDIF.
    
    ** 判定工单状态
    CLEAR: jest.
    SELECT SINGLE * FROM jest
    WHERE objnr = aufk-objnr
    AND ( stat = 'I0045' OR " TECO
    stat = 'I0013' OR " DELETE
    stat = 'I0076' OR " DELETE FLAG
    stat = 'I0046' OR " CLSD
    stat = 'I0012 ') "DLV
    AND inact = space.
    IF sy-subrc = 0.
    CONTINUE.
    ENDIF.
    *
    ** 判定工单是否 RELASE
    CLEAR: jest.
    SELECT SINGLE * FROM jest
    WHERE objnr = aufk-objnr
    AND ( stat = 'I0002' OR " RELEASE
    stat = 'I0042') " Partial RELEASE
    AND inact = space.
    IF sy-subrc <> 0.
    CONTINUE.
    ENDIF.
    
    ** 检查此笔作业是否需要 ( 必需 RELEASE)
    ** 判定作业是否 RELASE
    CLEAR: afvc.
    SELECT SINGLE * FROM afvc WHERE aufpl = readrec-aufpl
    AND aplzl = readrec-aplzl. CLEAR: jest.
    
    SELECT SINGLE * FROM jest
    WHERE objnr = afvc-objnr
    AND stat = 'I0002' . " RELEASE
    IF sy-subrc <> 0.
    CONTINUE.
    ENDIF.
  • 相关阅读:
    debian安装jdk,batik
    Debian 安装 VMware
    [转贴]UNIX\LINUX系统开发-gcc参数详解
    Free mail server
    mysql 权限控制笔记
    Debian 4.0 编译内核 2.6.27.6
    backbone 学习之sync
    backbone 学习之extend以及总结
    backbone 学习之全部源码
    backbone 学习之Collection
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6400063.html
Copyright © 2020-2023  润新知