使用/IWWRK/BADI_WF_BEFORE_UPD_IB将PR批准备注保存到ECC

2020-09-15 18:34发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我们正在使用S/4 HANA 1610。

我们正在使用BADI /IWWRK/BADI_WF_BEFORE_UPD_IB 将审批者输入的注释更新回标题级别为" B02"的PR交易文本。


这里的问题是代码执行时没有任何错误,但是看不到ME52N/ME54N中的文本,请帮助我们解决这里的问题。我也附加了源代码。我们已经使用外部中断进行了检查 指向提供注释的源代码被触发并成功执行。

使用KEY元素='ACTION_COMMENTS'读取表it_​​wf_container_tab。
如果sy-subrc =0。
* ls_request-CURR_NOTICE = ls_wf_container-VALUE。<-> SPLIT ls_wtain_AT #'INTO TABLE it_string。 >

*读取现有文本
l_thead-tdid ='B02'。
l_thead-tdname = ls_object-INSTID。
l_thead-tdobject ='EBANH'。
通话功能' READ_TEXT'
导出
客户端= sy-mandt
id = l_thead-tdid
语言= sy-langu
名称= l_thead-tdname
对象= l_thead-tdobject
导入
标头= l_thead

行= lt_tline
例外情况
id = 1
语言= 2
名称= 3
not_found = 4
对象= 5
reference_check = 6
error_access_to_archive = 7
其他=8。

*在更新之前初始化文本。
调用功能 ION'INIT_TEXT'
导出
id = l_thead-tdid
语言= sy-langu
名称= l_thead-tdname
object = l_thead-tdobject
IMPORTING
标头= l_thead
表格
行= lt_tline
例外情况
id = 1
语言= 2
名称= 3
对象= 4
其他=5。

> *附加新文本
在it_string处循环播放,然后在FIRST处插入wa_string。
。CONCATENATE'USER-'sy-uname'Date-'sy-datum + 6(2)'。'
sy -datum + 4(2)'。' sy-datum + 0(4)
插入l_tline-tdline,按空格分隔。
追加l_tline到lt_tline。
清除l_tline。
ENDAT。
l_tline-tdline = wa_string-str。< br> APPEND l_tline到lt_tline。
ENDLOOP。

*将文本保存回PR
调用功能'SAVE_TEXT'
导出
客户端= sy-mandt
标头= l_thead
导入
函数= l_txfunction
表格
行= lt_tline
例外情况
id = 1
语言= 2
名称= 3
对象= 4
其他=5。
如果sy-subrc eq0。
提交工作并等待。
ENDIF。

ENDIF。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我们正在使用S/4 HANA 1610。

我们正在使用BADI /IWWRK/BADI_WF_BEFORE_UPD_IB 将审批者输入的注释更新回标题级别为" B02"的PR交易文本。


这里的问题是代码执行时没有任何错误,但是看不到ME52N/ME54N中的文本,请帮助我们解决这里的问题。我也附加了源代码。我们已经使用外部中断进行了检查 指向提供注释的源代码被触发并成功执行。

使用KEY元素='ACTION_COMMENTS'读取表it_​​wf_container_tab。
如果sy-subrc =0。
* ls_request-CURR_NOTICE = ls_wf_container-VALUE。<-> SPLIT ls_wtain_AT #'INTO TABLE it_string。 >

*读取现有文本
l_thead-tdid ='B02'。
l_thead-tdname = ls_object-INSTID。
l_thead-tdobject ='EBANH'。
通话功能' READ_TEXT'
导出
客户端= sy-mandt
id = l_thead-tdid
语言= sy-langu
名称= l_thead-tdname
对象= l_thead-tdobject
导入
标头= l_thead

行= lt_tline
例外情况
id = 1
语言= 2
名称= 3
not_found = 4
对象= 5
reference_check = 6
error_access_to_archive = 7
其他=8。

*在更新之前初始化文本。
调用功能 ION'INIT_TEXT'
导出
id = l_thead-tdid
语言= sy-langu
名称= l_thead-tdname
object = l_thead-tdobject
IMPORTING
标头= l_thead
表格
行= lt_tline
例外情况
id = 1
语言= 2
名称= 3
对象= 4
其他=5。

> *附加新文本
在it_string处循环播放,然后在FIRST处插入wa_string。
。CONCATENATE'USER-'sy-uname'Date-'sy-datum + 6(2)'。'
sy -datum + 4(2)'。' sy-datum + 0(4)
插入l_tline-tdline,按空格分隔。
追加l_tline到lt_tline。
清除l_tline。
ENDAT。
l_tline-tdline = wa_string-str。< br> APPEND l_tline到lt_tline。
ENDLOOP。

*将文本保存回PR
调用功能'SAVE_TEXT'
导出
客户端= sy-mandt
标头= l_thead
导入
函数= l_txfunction
表格
行= lt_tline
例外情况
id = 1
语言= 2
名称= 3
对象= 4
其他=5。
如果sy-subrc eq0。
提交工作并等待。
ENDIF。

ENDIF。

付费偷看设置
发送
2条回答
暮风yp
1楼 · 2020-09-15 18:58.采纳回答

Pavan,

请在下面的博客中查看代码,我们实现了在标题文本中添加批准注释及其正常工作。 希望对您有所帮助。

https://blogs.sap.com/2018/07/23/fiori-my-inbox-app-custom-purchase-requisition-workflow /

wang628962
2楼-- · 2020-09-15 18:37

尊敬的 Kapil Changrani

感谢您的回复,我们使用的是不同的工作流程方案,但是FM INSERT_TEXT_AFTER_COMMIT帮助我们实现了输出。

用我的代码中的INSERT_TEXT_AFTER_COMMIT替换了SAVE_TEXT。


此致

Pavan

一周热门 更多>