
FUNCTION z_fin_calc .
………………………….
"reference(s)
DATA: lo_fin_cap_planning_api TYPE REF TO /rpm/cl_fin_cap_planning_api.
"field-symbols
FIELD-SYMBOLS: <fs_fin_plan> TYPE x_fin_planf,
<fs_msg> TYPE /rpm/ts_messages.
"select projects and process
……………………………………………………..
"get api reference
CALL METHOD /rpm/cl_fin_cap_planning_api=>get_instance
RECEIVING
rr_instance = lo_fin_cap_planning_api.
IF lo_fin_cap_planning_api IS BOUND.
"loop projects
LOOP AT tb_item_d INTO s_item_d.
CLEAR: tb_fin_group_api[], tb_fin_plan_api.
"populate context
CLEAR s_context.
s_context-portfolio_guid = s_item_d-portfolio_guid.
s_context-parent_type = k_parent_type. "'RIH'.
s_context-parent_guid = s_item_d-guid.
s_context-object_type = k_object_type."'RIH'.
s_context-object_guid = s_item_d-guid.
"get plan info
CLEAR: var_subrc, s_plan_info.
CALL METHOD lo_fin_cap_planning_api->get_plan_info
EXPORTING
is_context = s_context
* iv_language =
iv_fin_cap = k_fin_cap "1
IMPORTING
es_plan_info = s_plan_info
et_msgs = tb_msgs[]
ev_rc = var_subrc.
APPEND LINES OF tb_msgs TO tb_msgs_item.
CLEAR tb_msgs[].
"pass context
CALL METHOD lo_fin_cap_planning_api->initialize_planning
EXPORTING
is_context = s_context
iv_hierarchy_type = k_hierarchy_type
iv_fin_cap = k_fin_cap "1
* iv_language =
it_filter_data = tb_filter_data[]
is_plan_info = s_plan_info
* iv_portfolio_type =
IMPORTING
et_msgs = tb_msgs[]
* es_mode = *
.
……………………………………………………..
"for every group
AT END OF guid_g ##loop_atb_ok.
"only if plan table is filled
"update fin plan
IF tb_fin_plan_api[] IS NOT INITIAL.
"call api
CALL METHOD lo_fin_cap_planning_api->fin_groups_modify
EXPORTING
iv_category_guid = var_cat_guid
it_fin_groups = tb_fin_group_api[]
it_fin_plan = tb_fin_plan_api[]
iv_hierarchy_type = k_hierarchy_type
iv_language = k_language
is_plan_info = s_plan_info
IMPORTING
ev_rc = var_subrc
et_msgs = tb_msgs[].
APPEND LINES OF tb_msgs TO tb_msgs_group.
CLEAR tb_msgs[].
"save
CALL METHOD cl_inm_ppm_services=>save(
EXPORTING
iv_check_only = /rpm/cl_co=>sk_false
IMPORTING
et_messages = tb_msgs[]
ev_rejected = var_rejected ).
APPEND LINES OF tb_msgs TO tb_msgs_group.
CLEAR tb_msgs[].
"append project and group external ID
UNASSIGN <fs_msg>.
LOOP AT tb_msgs_group ASSIGNING <fs_msg>.
<fs_msg>-objectid = s_item_d-external_id.
ENDLOOP.
UNASSIGN <fs_msg>.
APPEND LINES OF tb_msgs_group TO etb_msgs.
CLEAR tb_msgs_group[].
ENDIF.
CLEAR: tb_fin_group_api[], tb_fin_plan_api[], s_fin_group_api.
ENDAT.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDFUNCTION.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
20 | |
19 | |
9 | |
7 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 |