상세 컨텐츠

본문 제목

SAP PP - 작업지시 상태값 쿼리

SAP PP

by Kiroc 2022. 12. 5. 17:25

본문

  * 쿼리

SELECT A~OBJNR "W/O - EX. OR000010243897
    SUMCASE WHEN A~STAT 'I0002' THEN ELSE END AS REL      "RELEASED
    SUMCASE WHEN A~STAT 'I0010' THEN ELSE END AS PCNF   "INPROCESS
    SUMCASE WHEN A~STAT 'I0012' THEN ELSE END AS DLV      "COMPLETED
    SUMCASE WHEN A~STAT 'I0045' THEN ELSE END AS TECO   "TECO
    SUMCASE WHEN A~STAT 'I0076' THEN ELSE END AS DLFL    "DELETED
    INTO TABLE @DATA(LT_STAT)
    FROM JEST AS A "개별 오브젝트 상태 TABLE
    WHERE A~OBJNR IN @LR_OBJNR "오브젝트 번호
      AND A~INACT '' "지시자: 상태 비활성
      AND A~STAT  IN 'I0002','I0010', 'I0012', 'I0045', 'I0076' )
    GROUP BY A~OBJNR.

 

  * 상태코드 ALV에  디스플레이 - 상태값이 여러개인 경우 우선순위인 상태값이 존재

LOOP 안 


    DATA(LV_AUFNR'OR' && <FS_DISP>-AUFNR.

    READ TABLE LT_STAT ASSIGNING FIELD-SYMBOL(<FS_STAT>)
                       WITH KEY OBJNR LV_AUFNR
                       BINARY SEARCH.

    IF SY-SUBRC 0.


      IF <FS_STAT>-DLFL > .
        GS_STR-STATUS 'DELETED'.      "1순위
      ELSEIF <FS_STAT>-DLV > .
        GS_STR-STATUS 'COMPLETED'. "2순위
      ELSEIF <FS_STAT>-TECO > .
        GS_STR-STATUS 'TECO'.             "3순위
      ELSEIF <FS_STAT>-PCNF > .
        GS_STR-STATUS 'INPROCESS'. "4순위
      ELSE.
        GS_STR-STATUS 'RELEASED'.   "5순위
      ENDIF.
    ELSE.
      MESSAGE S082 WITH '상태 정보'.
    ENDIF.

 

ENDLOOP.

관련글 더보기