决策点更改状态

2020-08-13 16:13发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家, 我正在尝试开发...

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

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


尊敬的专家,

我正在尝试开发报告以修改决策点的状态。

我尝试使用标准函数/RPM/DECISION_POINT_MODIFY,并且尝试了标准类CL_RPM_DECISION的set_attributes方法。

在两种情况下,返回码都可以,并且状态显然已更改(在调试模式下查看变量),但是一旦报告结束,旧状态仍保留在数据库中(表/RMP/DECISION)。

我尝试通过更改DP状态粘贴两个ABAP代码。

请,你能告诉我我错过了什么还是有什么问题吗?

非常感谢。

奥帕。

ABAP代码:

当我调用函数/RPM/DECISION_POINT_MODIFY时,我会这样做:

ls_context-object_guid = wa_decision-guid。

ls_context-portfolio_guid = lv_porf_guid。

ls_context-parent_guid = wa_decision-guid。

通话功能'/RPM/DECISION_POINT_MODIFY'

导出

is_context = ls_context

iv_language = lv_lang

iv_change_mode = lv_chg_mode

it_comments = it_item_desc_comments

导入

ev_rc = lv_rc

表格

it_attributes = it_item_desc_attr_ins

et_msg = lt_msg。

并且当我尝试使用标准类时,我会这样做:

数据:lr_decision类型参考cl_rpm_decision,

ls_attributes类型rpm_ts_decision_int,

ls_decision_int类型rpm_ts_decision_int,

lv_rc类型i。

数据:lr_object_manager类型参考cl_rpm_obj_manager,

lr_common类型参考if_rpm_common。

lr_object_manager = cl_rpm_obj_manager => get_instance()。

调用方法lr_object_manager-> get_appl_object

导出

iv_project_guid = i_item_guid

iv_appl_obj_id = i_decision_id

  • iv_appl_obj_guid = i_decision_guid

iv_appl_obj_ot ='EPO'

接收

rr_object = lr_common。

lr_decision?= lr_common。

呼叫方法lr_decision-> get_attributes

导入

es_attributes = ls_attributes。

  • 确保决策点处于编辑模式

lv_rc = lr_decision-> if_rpm_entity〜set_edit_mode(

cl_rpm_co => sc_edit_mode_change)。

如果lv_rc不是INITIAL。

RAISE错误。

ENDIF。

  • 更新状态

ls_decision_int = ls_attributes。

ls_decision_int-status = i_status。

ls_decision_int-active ='X'。

  • 设置DP属性

lr_decision-> set_attributes(ls_decision_int)。

  • 阅读新的咒语

清除ls_decision_int。

呼叫方法lr_decision-> get_attributes

导入

es_attributes = ls_decision_int。

e_status = ls_decision_int-status。

3条回答
CPLASF-自律
2020-08-13 17:01 .采纳回答

使用功能模块更改决策点状态时,必须在/RPM/DECISION_POINT_MODIFY功能模块之后使用/RPM/SAVE_CHANGES功能模块,否则更改将不会提交到数据库。

何时 您正在使用这些类,则应使用对象管理器(cl_rpm_obj_manager)实例方法do_save。

一周热门 更多>