Skip to Content
0

planning sequence dump - aggregation level on top of composite provider

Jun 16, 2017 at 12:31 PM

267

avatar image

We have a dump every time we execute planning sequences with function created on AGL on top of composite providers. First, before executing, we receive a message "infoprovider <id of the composite> does not exist. When executing the sequence, the system dumps :

Category ABAP Programming Error
Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED
Except. CX_SY_REF_IS_INITIAL
ABAP Program CL_RSDRC_TREX_QUERY_LAYER=====CP
Application Component BW-BEX-OT
Date and Time 16.06.2017 13:57:01
----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------
|Short Text |
| Access using a 'ZERO' object reference is not possible. |
----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------
|What happened? |
| Error in the ABAP Application Program |
| |
| The current ABAP program "CL_RSDRC_TREX_QUERY_LAYER=====CP" had to be |
| terminated because it has |
| come across a statement that unfortunately cannot be executed.

Error analysis |
| An exception has occurred which is explained in more detail below. The |
| exception is assigned to class 'CX_SY_REF_IS_INITIAL' and was not caught in |
| procedure |
| "_FILL_MPRO_CALC_STRUC" "(METHOD)", nor was it propagated by a RAISING clause. |
| Since the caller of the procedure could not have anticipated this |
| exception, the current program was terminated. |
| The reason for the exception is: |
| You are trying to access a component with a 'ZERO' object reference |
| (points to 'nothing'). Variable: "L_R_HCPR_NAME_MAPPER". |
| An object reference must point to an object (an instance of a class) |
| before it can be used to access a component. The reference has either |
| never been set, or it was set to 'ZERO' with a CLEAR statement.

Information on where terminated |
| The termination occurred in ABAP program "CL_RSDRC_TREX_QUERY_LAYER=====CP", |
| in "_FILL_MPRO_CALC_STRUC". The main program |
| was "SAPLRSPLWPLAN". |
| |
| In the source code, the termination point is in line 67 of (Include) |
| program "CL_RSDRC_TREX_QUERY_LAYER=====CM007". |
| The termination is due to exception "CX_SY_REF_IS_INITIAL" occurring in |
| procedure "_FILL_MPRO_CALC_STRUC" "(METHOD)". |
| This exception was not handled locally or declared in the RAISING |
| clause in the procedure's signature however. |
| The procedure is in program "CL_RSDRC_TREX_QUERY_LAYER=====CP ". The |
| source code begins in line 1 of |
| (include) program "CL_RSDRC_TREX_QUERY_LAYER=====CM007 ". |
----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------
|Source Code Extract |
----------------------------------------------------------------------------------------------------
|Line |SourceCde |
----------------------------------------------------------------------------------------------------
| 37| |
| 38| CLEAR: l_s_mpro_calc_partprov, |
| 39| l_s_provrq. |
| 40| l_s_mpro_calc_partprov-partprov = <l_sx_selection>-sx_selection-aggregate. |
| 41| l_s_mpro_calc_partprov-name_mapper = <l_sx_selection>-r_name_mapper. |
| 42| |
| 43| cl_rsd_dta=>build_infoprov_from_adjprov( |
| 44| EXPORTING i_adjprov = <l_sx_selection>-sx_selection-aggregate |
| 45| IMPORTING e_infoprov = l_infoprov |
| 46| EXCEPTIONS name_error = 1 |
| 47| OTHERS = 99 ). |
| 48| IF sy-subrc = 0. |
| 49| l_s_mpro_calc_partprov-partprov_type = n_cs_partprov_type-trex. |
| 50| ELSE. |
| 51| l_infoprov = <l_sx_selection>-sx_selection-aggregate. |
| 52| IF <l_sx_selection>-trex_info = if_rsdrv_vprov_int_query=>n_c_trex_info-all. |
| 53| l_s_mpro_calc_partprov-partprov_type = n_cs_partprov_type-trex. |
| 54| ELSE. |
| 55| l_s_mpro_calc_partprov-partprov_type = n_cs_partprov_type-olap_index. |
| 56| ENDIF. |
| 57| ENDIF. |
| 58| |
| 59| l_s_mpro_calc_partprov-partprov_orig = l_infoprov. |
| 60| |
| 61|* provrq |
| 62| IF cl_rsd_infoprov_cache=>get_header( l_infoprov )->n_s_dta-cubetype = rsd_c_cubetype-hc|
| 63| |
| 64| TRY. |
| 65| DATA: l_r_hcpr_name_mapper TYPE REF TO cl_rsdrv_trex_hcpr_name_mapper. |
| 66| l_r_hcpr_name_mapper ?= <l_sx_selection>-r_name_mapper. |
|>>>>>| l_r_hcpr_name_mapper->set_provrq( i_ts_provrq = l_ts_provrq |
| 68| i_ts_provrq_hidden = i_ts_provrq_hidden ). |
| 69| CATCH cx_sy_move_cast_error. |
| 70| DATA: l_r_nav_name_mapper TYPE REF TO cl_rsdrv_trex_srvs_nav. |
| 71| l_r_nav_name_mapper ?= <l_sx_selection>-r_name_mapper. |
| 72| l_r_nav_name_mapper->set_provrq( i_ts_provrq = l_ts_provrq |
| 73| i_ts_provrq_hidden = i_ts_provrq_hidden ). |
| 74| ENDTRY. |
| 75| LOOP AT <l_sx_selection>-sx_selection-ts_rqtsret INTO DATA(l_s_rqtsret). |
| 76| READ TABLE l_ts_provrq WITH TABLE KEY partprov = l_s_rqtsret-partprov |
| 77| TRANSPORTING NO FIELDS. |
| 78| IF sy-subrc = 0. |
| 79| DATA(l_provid) = cl_rsr=>get_provid( l_s_rqtsret-partprov ). |
| 80| INSERT l_provid INTO TABLE l_ts_techprov_sid. |
| 81| INSERT l_provid INTO TABLE l_s_mpro_calc_partprov-ts_provid. |
| 82| ENDIF. |
| 83| ENDLOOP. |
| 84| l_s_mpro_calc_partprov-has_multiple_parts = rs_c_true. |
| 85| READ TABLE l_s_mpro_calc-ts_olap_index_mapping WITH TABLE KEY iobj = rsd_c_metaiobj-te|
| 86| representation = cl_rsdd|
----------------------------------------------------------------------------------------------------

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Wouter Vanhoutte Jun 21, 2017 at 09:00 AM
0

Thanks for the suggestions,

we found the solution in note :

https://launchpad.support.sap.com/#/notes/2213427/E

thanks!

Share
10 |10000 characters needed characters left characters exceeded
Lucas Gabriel Jun 19, 2017 at 09:42 PM
0

Hi,

There are a few of SAP notes referring to "CL_RSDRC_TREX_QUERY_LAYER", most of them pretty recent and also referring to AL/Composite Provider. Have you gone through any of those?

2316503 - Query with exception aggregation fails with virtual cubes during layer creation

2346743 - Error "Inconsistent input parameter" while planning on Composite Prov...

Lucas

Share
10 |10000 characters needed characters left characters exceeded