且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SAP S/4HANA使用ABAP获得生产订单的状态

更新时间:2022-03-28 08:14:56

在S/4HANA里,我们如何根据一个销售订单的行项目,查看对应的生产订单状态?


双击行项目:




点击Schedule line:




这里就能看到生产订单的ID和状态了。




其中订单的状态存储在表vsaufk里,注意订单和状态可以是1对多的关系。

状态的ID和描述信息存储在表tj02t里,所以有了下面的代码:

METHOD get_prod_order_status.

DATA: lt_status TYPE TABLE OF j_status,

lt_text   TYPE TABLE OF tj02t,

lv_id     LIKE iv_prod_order_id,

ls_result LIKE LINE OF rt_status_in_s4_format.

lv_id = iv_prod_order_id.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input  = lv_id

IMPORTING

output = lv_id.

SELECT stat INTO TABLE lt_status FROM vsaufk WHERE inact = space AND

aufnr = lv_id.

CHECK sy-subrc = 0.

SELECT * INTO TABLE lt_text FROM tj02t FOR ALL ENTRIES IN lt_status

WHERE istat = lt_status-table_line AND spras = 'EN'.

LOOP AT lt_text ASSIGNING FIELD-SYMBOL().

CLEAR: ls_result.

ls_result-status_id = -istat.

ls_result-status_code = -txt04.

ls_result-status_text = -txt30.

APPEND ls_result TO rt_status_in_s4_format.

ENDLOOP.

ENDMETHOD.

测试一下,成功拿到所有状态,和事务码CO03里看到的一样。