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

举报
汪子熙 发表于 2022/01/02 09:50:25 2022/01/02
【摘要】 在S/4HANA里,我们如何根据一个销售订单的行项目,查看对应的生产订单状态?双击行项目:点击Schedule line:这里就能看到生产订单的ID和状态了。其中订单的状态存储在表vsaufk里,注意订单和状态可以是1对多的关系。状态的ID和描述信息存储在表tj02t里,所以有了下面的代码:METHOD get_prod_order_status.DATA: lt_status TYPE T...

在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里看到的一样。

本文介绍的工具原理和JavaDoc类似,位于software component BBPCRM

1. 在ABAP类里新建一个名为CLASS_DOCU的私有方法。

然后把所有的注释写在这个方法源代码的前面。

2. 在每个方法前面,采用和JavaDoc语法一样的方式对ABAP方法书写注释,比如@param修饰输入参数,@return修饰返回参数等。

3. 所有方法的文档书写完毕之后,使用事务码CLASS_DOCUGEN生成文档。

4. 接下来在事务码SE24,SE80里就可以在class builder里查看这些生成的文档了。

要获取更多Jerry的原创文章,请关注公众号"汪子熙".

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。