在 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(<text>).
CLEAR: ls_result.
ls_result-status_id = <text>-istat.
ls_result-status_code = <text>-txt04.
ls_result-status_text = <text>-txt30.
APPEND ls_result TO rt_status_in_s4_format.
ENDLOOP.
ENDMETHOD.
测试一下,成功拿到所有状态,和事务码 CO03 里看到的一样。
要获取更多 Jerry 的原创文章,请关注公众号 ” 汪子熙 ”: