Stuck with S/4 1709 FPS01 upgrade?
It is very rare that SAP notes , communities and SAP Service Market Place do not come to our rescue. At least Google does throw something that can give us ideas to proceed.
But, we (Former Member Shabnam Ansari Former Member ) stumbled on an error that google went clueless with.
We were upgrading to 1709 FPS01 level from FPS00 ON PREMISE EDITION (in Azure) using SUM 2.0 SP1 (PL3) and got stuck during EXECUTION Phase at 76% as current phase MAIN/NEWBAS/RUN_HTA_HDI_PUBLISH_HDI_CONTAINER failed with error that report RSUPG_HTA_HDI does not exist. Here is the extract of the log and screenshots:
From RSUPG_HTA_HDI_PH.LOG:
Call of function module “SUBST_START_REPORT_IN_BATCH” by RFC failed (error-status “5”)
RFC of “SUBST_START_REPORT_IN_BATCH” failed:
code/exception : 5
key : REPORT_DOES_NOT_EXIST
2 Number:000
Date Time: 20180307072140
Date Time: 20180307072140
Last error code set is: RFC system D4H nr 00 function ‘SUBST_START_REPORT_IN_BATCH‘
RFC failed with
code 5 key REPORT_DOES_NOT_EXIST:
Number:000
Now there is a note 2549556 – S/4 HANA Migration – SUM Phase RUN_DEFAULT_BTC_CHECK_ENDDT which has a similar error but different SUM tool version. Hence, no help.
Executing function module manually from system would lead to same error and report actually does not exist in active.
STUCK!!
Well the report is to be created by SUM Tool itself which it fails to do with SUM 2.0 SP1 (PL3) and hence, please find the report below as well as the steps to use this report and help yourself to proceed with the upgrade.
Steps:
- To unlock an original SAP system (not shadow instance in this case), follow the steps in Note 1901463 “How to unlock the SAP system to perform correction(s) during an upgrade”.
- Since DDIC cannot be used, so use any other user id apart from DDIC to login to 000 and create the missing report RSUPG_HTA_HDI. This report was mailed to us by SAP and is now a part of updated SUM tool patch 04 per Note 2499175. Alternatively, you can Download SUM 2.0 SP01 with at least patch level 04, or a higher SUM version, if available. Afterwards restart the SUM procedure again.
- Go to SE38. Type report name and click on Create Report. Paste the contents (code mentioned below) for the report RSUPG_HTA_HDI.
- Lock system again using the same process mentioned in the Note 1901463.
- Re-run SUM! ISSUE RESOLVED!!!
Report to be created as mentioned in step 3:
*&———————————————————————*
*& Report RSUPG_HTA_HDI
*&———————————————————————*
*&
*&———————————————————————*
REPORT RSUPG_HTA_HDI.
*{ INSERT D4HK900031 1
**&———————————————————————*RSUPG_HTA_HDI
**& Report RSUPG_HTA_HDI
**&———————————————————————*
**&
**&———————————————————————*
*report rsupg_hta_hdi.
class lcl_main definition final.
public section.
types tyv_cts_hdi_container_group type char255.
methods check_authorization raising cx_upg.
methods publish_hdi_container_group importing iv_hdi_container_group_name type tyv_cts_hdi_container_group raising cx_upg.
endclass.
parameters action type c length 30.
parameters logfile type trfilename.
parameters hdigname type lcl_main=>tyv_cts_hdi_container_group.
perform main.
class lcl_main implementation.
method publish_hdi_container_group.
data lv_sy_sybrc type sy-subrc.
constants lc__fm__scts_hta_reg_cont_grp type funcname value ‘SCTS_HTA_HDI_REGISTER_CONT_GRP’.
constants lc__fm__function_exists type funcname value ‘FUNCTION_EXISTS’.
call function lc__fm__function_exists
exporting
funcname = lc__fm__scts_hta_reg_cont_grp
* IMPORTING
* GROUP =
* INCLUDE =
* NAMESPACE =
* STR_AREA =
exceptions
function_not_exist = 1
others = 2.
lv_sy_sybrc = sy-subrc.
if lv_sy_sybrc = 1.
” FM SCTS_HTA_HDI_REGISTER_CONT_GRP only exists in SAP-BASIS >=752
message e316(supg) into cl_upg_logger=>ms_msg-text.
cl_upg_logger=>log->raise_exception( ).
endif.
if lv_sy_sybrc <> 0.
” Error calling FM &1 (sy-subrc:&2)
message e295(supg) with lc__fm__function_exists lv_sy_sybrc into cl_upg_logger=>ms_msg-text.
cl_upg_logger=>log->raise_exception( ).
endif.
” Start call. FM SCTS_HTA_HDI_REGISTER_CONT_GRP with group &1
message s314(supg) with iv_hdi_container_group_name into cl_upg_logger=>log->ms_msg-text.
cl_upg_logger=>log->trace( ).
cl_upg_logger=>flush_log( ).
call function lc__fm__scts_hta_reg_cont_grp
exporting
iv_group_name = iv_hdi_container_group_name
exceptions
already_exists = 1
invalid_name = 2
others = 3.
lv_sy_sybrc = sy-subrc.
if lv_sy_sybrc = 1.
” HDI-group already specified in HTA. Check new group &1, delete if unused
message w317(supg) with iv_hdi_container_group_name into cl_upg_logger=>ms_msg-text.
cl_upg_logger=>log->trace( ).
cl_upg_logger=>flush_log( ).
endif.
if lv_sy_sybrc > 1.
” Error call. FM SCTS_HTA_HDI_REGISTER_CONT_GRP with group &1 (sy-subrc:&2)
message e315(supg) with iv_hdi_container_group_name lv_sy_sybrc into cl_upg_logger=>ms_msg-text.
cl_upg_logger=>log->raise_exception( ).
endif.
endmethod.
method check_authorization.
authority-check object ‘S_ADMI_FCD’ id ‘S_ADMI_FCD’ field ‘SUM’.
if sy-subrc <> 0.
” User &2 is not authorised to execute report &1
message e290(supg) with sy-repid sy-uname into cl_upg_logger=>ms_msg-text.
cl_upg_logger=>log->raise_exception( ).
endif.
endmethod.
endclass.
form main.
data lo_main type ref to lcl_main.
data lx type ref to cx_static_check.
try.
cl_upg_logger=>create( iv_filename = logfile ).
” Start execution of report &1 with action &2
message s292(supg) with sy-repid action into cl_upg_logger=>log->ms_msg-text.
cl_upg_logger=>log->trace( ).
cl_upg_logger=>flush_log( ).
lo_main = new lcl_main( ).
lo_main->check_authorization( ).
case action.
” preparation
when ‘PUBLISH_HDI_CONTAINER_GROUP’.
lo_main->publish_hdi_container_group( iv_hdi_container_group_name = hdigname ).
when others.
” Unknown action &2 for report &1
message e291(supg) with sy-repid action into cl_upg_logger=>ms_msg-text.
cl_upg_logger=>log->raise_exception( ).
endcase.
catch cx_upg into lx.
” Exception occured in report &1 for action &2 (see details below)
message e294(supg) with sy-repid action into cl_upg_logger=>log->ms_msg-text.
cl_upg_logger=>log->error( ix_upg_base = lx ).
cl_upg_logger=>log->flush_log( iv_close = abap_true ).
return.
endtry.
” Finished execution of report &1 with action &2
message s293(supg) with sy-repid action into cl_upg_logger=>log->ms_msg-text.
cl_upg_logger=>log->trace( ).
cl_upg_logger=>flush_log( abap_true ).
endform.
*} INSERT
Stuck no longer 🙂
Thanks Shabnam for sharing with wider SAP community. Surely this will help the folks who are in the process of upgrading to FPS01.
Rajeev Das
HI ,
Are you upgrading the S4HANA 1610 to 1709SP01 ? or you are doing the conversion from EHP to S4HANA 1709 .
to investigate can you share ECO logs .
Hi Allam,
The blog also provides the report which is the resolution. We were upgrading from FPS00 to FPS01 as mentioned , relevant logs are also present in the blog.