SAP中對於獲取訂單的狀態
阿新 • • 發佈:2019-05-14
end 通過 獲取 status 字符 情況下 一個 狀態 -o
objnr = ‘OR000000100014‘.
DATA:t_status TYPE TABLE OF jstat WITH HEADER LINE.
"結果存放在STATUS表中
CALL FUNCTION ‘STATUS_READ‘
EXPORTING
client = sy-mandt
objnr = objnr
TABLES
status = t_status
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT t_status.
IF t_status = ‘I0046‘.
WRITE:‘訂單已關閉‘.
EXIT.
ENDIF.
ENDLOOP. 2.STATUS_TEXT_EDIT 改函數讀取的結果是將訂單狀態拼接到一個字符串中,而且這個字符串是在前臺訂單上看到的狀態,比較直接,這樣做的結果就可能由於狀態較多導致長度過長,在某些情況下取的數據可能不準。 下面是一段代碼 DATA:line TYPE bsvx-sttxt.
CALL FUNCTION ‘STATUS_TEXT_EDIT‘
EXPORTING
client = sy-mandt
objnr = objnr
spras = sy-langu
IMPORTING
line = line
EXCEPTIONS
object_not_found = 1
OTHERS . "
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
SEARCH line FOR ‘CLSD‘.
IF sy-subrc = 0.
WRITE:‘訂單已關閉‘.
ENDIF.
在SAP中對於如何獲取訂單的狀態,提供了至少兩個函數,分別是 STATUS_READ 和 STATUS_TEXT_EDIT。下面簡單介紹這兩個函數
1.STATUS_READ 改函數的實現原理大概是通過訂單的對象好(OR+訂單號) 到JEST中取出字段STAT INACT. JEST表中STAT是一串從字面看不出意思的字符,可以根據STAT到表TJ02T中找到具體的描述。 下面是具體用法 DATA:objnr TYPE aufk-objnr.objnr = ‘OR000000100014‘.
DATA:t_status TYPE TABLE OF jstat WITH HEADER LINE.
"結果存放在STATUS表中
EXPORTING
client = sy-mandt
objnr = objnr
TABLES
status = t_status
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
LOOP AT t_status.
IF t_status = ‘I0046‘.
WRITE:‘訂單已關閉‘.
EXIT.
ENDIF.
ENDLOOP. 2.STATUS_TEXT_EDIT 改函數讀取的結果是將訂單狀態拼接到一個字符串中,而且這個字符串是在前臺訂單上看到的狀態,比較直接,這樣做的結果就可能由於狀態較多導致長度過長,在某些情況下取的數據可能不準。 下面是一段代碼 DATA:line TYPE bsvx-sttxt.
CALL FUNCTION ‘STATUS_TEXT_EDIT‘
EXPORTING
client = sy-mandt
objnr = objnr
IMPORTING
line = line
EXCEPTIONS
object_not_found = 1
OTHERS . "
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
SEARCH line FOR ‘CLSD‘.
IF sy-subrc = 0.
WRITE:‘訂單已關閉‘.
ENDIF.
SAP中對於獲取訂單的狀態