cancel
Showing results for 
Search instead for 
Did you mean: 

Asset Condition Failed error in EPM 10 read transaction BADI

Former Member
0 Kudos

Hi Experts,

We were using BPC 7.5 earlier and now we have upgraded to EPM 10.1.  As a process we are replacing the obsolete READ and Write methods in the BADI's.

When I am using this method run_rsdri_query of interface IF_UJO_QUERY, I am setting I_PACKAGESIZE parameter for the method.

If I set package size parameter I am getting a dump saying ASSERT CONDITION failed(see the dump on the line 16 below).  But if I do not set the I_PACKAGESIZE parameter there is no dump.  did anyone face this issue? can you please help me?

dump:

Source Code Extract

Line  SourceCde

    1 method RUN_RSDRI_QUERY.

    2                                     "begin frp290513 hana native model

    3   data:

    4         lf_first_call type uj_flg,

    5         ls_opt type if_ujo2_request=>s_query_option.

    6

    7   lf_first_call = io_request->is_first_call( ).

    8   ls_opt = io_request->get_options( ).

    9   if ls_opt-package_size <= 0.

   10     lf_first_call = abap_true.

   11   endif.

   12   if lf_first_call = abap_false.

   13     data: lo_query_engine type ref to if_ujo2_rsdri_query_engine.

   14     lo_query_engine = io_request->get_query_engine( ).

   15     "call set_query_engine inside the run_rsdri_query method of the engin

>>>>>     assert lo_query_engine is not initial.

   17     ro_resultset = lo_query_engine->run_rsdri_query( io_request ).

   18   else.

   19     data: lo_request_distributor type ref to if_ujo2_request_distributor.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Biswajit,

I resolved this issue by passing C_FIRST_CALL changing parameter to the RSRDI_RUN_QUERY method.  initially C_FIRST_CALL parameter was not passed hence when we pass package size parameter it throwing dump.

Thanks,

Vijay

Former Member
0 Kudos

Vijay- I am trying to overcome the same performance issue. I am reading the data from a cube and being a huge volume cube, it is throwing a 'STRING_SIZE_TOO_LARGE'dump. Trying to see what other parameters I have to pass to RUN_RSDRI_QUERY to make it efficient. This is the code I have

CALL METHOD lo_query->run_rsdri_query

           EXPORTING

             it_dim_name       = lt_dim_list   " BPC: Dimension List

             if_check_security = abap_false    " BPC: Generic indicator

           IMPORTING

             et_data           = <lt_result>

             et_message        = lt_message.   " BPC: Messages

       CATCH cx_ujo_read.                      " Exception of common read

     ENDTRY.


If I pass the package size as 10,100 or 1000 or 10000 it throws a dump that Assertion failed.

Answers (1)

Answers (1)

bishwajit_das
Active Contributor
0 Kudos

Hi Vijay,

May I know why do you need to populate I_PACKAGESIZE ?

Regards,

Bishwajit

Former Member
0 Kudos

Hi Bishwajit,

The data volume to read within the BADI is more than 3 millions records.  Hence, I am specifying 50000 as my package size to read and process 50k records at a time to avoid performance issues.

Thanks,

Vijay

former_member185511
Active Participant
0 Kudos

hi

i dont think you will have huge performance results if you change this parameter.

also reading 3 million records in one read statement is not very logical, i suggest you to use parallel processing by tightening the scope.

After reading 3 million rows from DB server (which is the %10 of overall performance problem )

your CPU will cry during processing of this rows, and DB will run away during writeback.

bishwajit_das
Active Contributor
0 Kudos

Hi Vijay,

You dont need to specify any package size while reading transaction data.

Anyways you have mentioned that you are getting a dump if you set i_packagesize parameter in the method RUN_RSDRI_QUERY . This is a program error.


Kindly go through the below SAP note:-

1690865 - Incorrect package size when reading data via SAP HANA DB


Regards,

Bishwajit

Former Member
0 Kudos

Hi Bishwajit,

The note you have mentioned is for BW 7.3x release but we are already on BW 7.4.  Is there any other note we can refer?

Thanks for your help btw.

Former Member
0 Kudos

Hi Cekic,

We have already tried multiple options to reduce the scope including RUNLOGIC_PH key word.  My issue is to resolve this ASSERT condition error.

Thanks,

Vijay

bishwajit_das
Active Contributor
0 Kudos

Hi Vijay,

As, BW 7.4 is also HANA DB. So, the note applies to it as well.

Regards,

Bishwajit

Former Member
0 Kudos

Hi Bishwajit,

It is not necessary that BW 7.4 should be on HANA DB.  We are using BW 7.4 SP 08 on Oracle DB.

Moreover the note you have given clearly mentions the BW support pack versions on which we can apply the note.  Its BW 7.30 and BW 7.31. 

Thanks,

vijay

bishwajit_das
Active Contributor
0 Kudos

Yes, you are right the note applies to BW 7.30 and BW 7.31.


I am not sure whether BW 7.4 has taken care of this issue.


Regards,

Bishwajit