cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Query Read returns # values

anup_singh5
Explorer
0 Likes
1,789


Experts ,


Please advise on below issue ...


Comparing two systems (Dev and Quality)


In execution for below read method (for BPC infocube) same parameters are passed (lt_range & ct_data_income), but in dev system <Lt_read_out> gets junk values (As ####)for all fields except ones selected in lt_range


CALL METHOD me->read
EXPORTING
it_range      
= lt_range
it_data_income
= ct_data_income
IMPORTING
ef_end_of_data
= lf_end_of_data
et_current    
= <lt_read_out>
CHANGING
cf_first_call 
= lf_first_call.

Further drilling down, it calls the below DB_SQL function which is not possible to debug into it and again all parameters passed are the same in both systems but <outtab> gets junk (##) values


CALL 'C_DB_FUNCTION' ID 'FUNCTION' FIELD 'DB_SQL'

                       ID 'FCODE'    FIELD c_fcode_next_package

                       ID 'CONNAME'  FIELD me->con_ref->con_name

                       ID 'CONDA'    FIELD me->con_ref->con_da

                       ID 'CURSOR'   FIELD me->cursor

                       ID 'BOUND'    FIELD me->outvals_bound

                       ID 'OUTVALS'  FIELD me->parameters->param_tab

                       ID 'OUTTAB'   FIELD <outtab>

                       ID 'LINE'     FIELD <line>

                       ID 'UPTO'     FIELD upto

                       ID 'ROWCNT'   FIELD rows_ret

                       ID 'SQLCODE'  FIELD sql_code

                       ID 'SQLMSG'   FIELD sql_msg.

Checked on SQL traces in ST05, but no logs for execution of 'C_DB_FUNCTION'


Thanks & Regards,

Anup Singh



Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Likes

Hi Anup,

Which class does this read method belongs to?

Andy

anup_singh5
Explorer
0 Likes

Hi Andy ,

Class : CL_RSDRS_SQL_QUERY

Method :IF_RSDRS_SQL_QUERY~READ_DATA

When i debug , first field which get populated with # values is 0CHNGID , 0REQUID & RECORDDTP (Info objects of Data package dimension of BPC Info cube) after executing 'C_DB_FUNCTION'

Thanks & Regards,

Anup Singh

Former Member
0 Likes

Hi Anup,

If you want to read BPC cubes then please use the following

interface - if_ujo_query

method - run_rsdri_query

Have a look at this document, there is a sample code you might find helpful.

Andy

Former Member
0 Likes

Hi Anup Singh,

Class you are using is a BW Class, not BPC Class.

InfoObject 0REQUID is empty (shown as # in BW) if request is compressed. InfoObjects 0CHNGID & RECORDDTP will be empty if cube contains only cumulative key figures. In BPC there is only 1 Key Figure and it's cumulative. So, those InfoObjects could have non-empty values only if you are reading a non-BPC cube.

But the main question is: why do you need those InfoObjects in BPC?

Regards,

Gersh

anup_singh5
Explorer
0 Likes

Hi Gersh,

When trying to insert values through Input schedule , It is creating a new value in BPC infocube instead of inserting only Delta values (so that it overwrites existing values).

During debugging , I'm finding that - When it reads from info cube with "CALL METHOD me->read"

It is reading ## values for all fields expect for BPC dimensions (Characteristics of Infocube)

ie.. Dimension package of Infocube (0CHNGID , 0REQUID & RECORDDTP) has ## values

All Navigational attrbutes has ### values

Only BPC Dimension and Key figure has correct values

As shown below : Data structure read from info Cube gets ## values and Data structure to be inserted has blank space , So it doesn't calculates delta value inserts as new value in info cube

This ## values are getting populated from function "CALL 'C_DB_FUNCTION' ID 'FUNCTION' FIELD 'DB_SQL' for each of this fields , Is there a way to debug this execution step .... ?

Thanks & Regards,

Anup Singh

Former Member
0 Likes

Hi Anup Singh,

You can debug ABAP code - C_DB_FUNCTION is a function written in C. I don't think you can debug those using ABAP debugger.

That function definitely doesn't read navigation attributes - they are not part of the cube and a 'join' needed to read them.

Are you reading from a BW cube? I'm surprised to see Dimension members there because cube contains SIDs or DIMs, not Dimension IDs.

Can you please show where you see BPC writing new values in the cube rather than deltas?

Regards,

Gersh