cancel
Showing results for 
Search instead for 
Did you mean: 

Selective Deletion on Inventory Cube 0IC_C03 via Calendar Day

Former Member
0 Kudos

Hello Group

I am trying to do a selective delete to our inventory cube 0IC_C03 and found there is not an option to select day.

Does anyone have any thoughts on how do delete using day? Please note that my cube has been compressed and I do not have a request in the cube.

Thanks

Frank

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

try the follwing FM:


  CALL FUNCTION 'RSDRD_SEL_DELETION'
       EXPORTING
            I_DATATARGET      = 'YOUR_CUBE'
            I_THX_SEL         = L_THX_SEL
            I_AUTHORITY_CHECK = 'X'
            I_THRESHOLD       = '1.0000E-01'
            I_MODE            = 'C'
            I_NO_LOGGING      = ''
            I_PARALLEL_DEGREE = 1
            I_NO_COMMIT       = ''
       CHANGING
            C_T_MSG             = L_T_MSG.

with filling L_THX_SEL with 0CALDAY accordingly...

Please read OSS

Non-cumulatives: selective deletion with time restrictions

SAP Note Number: 510680

in this matter.

hope this will work

Olivier.

Former Member
0 Kudos

Thanks Olivier

I have never done an FM but will research and try this.

Can you get me started with the FM.

Thanks Again!!

Frank

Former Member
0 Kudos

Hi Frank,

create the following program in SE38


REPORT  ZRSDRD_SEL_DELETION                     .

 DATA:
    l_thx_sel   TYPE rsdrd_thx_sel,
    l_sx_sel    TYPE LINE OF rsdrd_thx_sel,
    l_s_range   LIKE rsdrd_s_range,
    l_t_range   TYPE rsdrd_t_range,
    l_t_msg     TYPE rs_t_msg.

l_s_range-sign   = 'I'.
l_s_range-option = 'EQ'.
l_s_range-low    = '20030308'. "replace here your day or range...
*l_s_range-high   = .
l_s_range-keyfl  = 'X'.
APPEND l_s_range TO l_t_range.

l_sx_sel-iobjnm   = '0CALDAY'. "this is the characteristic for the selective del
l_sx_sel-t_range  = l_t_range[].
INSERT l_sx_sel INTO TABLE l_thx_sel.

CALL FUNCTION 'RSDRD_SEL_DELETION'
     EXPORTING
          I_DATATARGET      = 'ZICRT_C37' "the cube name
          I_THX_SEL         = L_THX_SEL
          I_AUTHORITY_CHECK = 'X'
          I_THRESHOLD       = '1.0000E-01'
          I_MODE            = 'C'
          I_NO_LOGGING      = ''
          I_PARALLEL_DEGREE = 1
          I_NO_COMMIT       = ''
     CHANGING
          C_T_MSG             = L_T_MSG.

It's checked and works in my 3.0B but PLEASE check it and understand the consequences of doing this with a non-cumulative cube...

hope this helps...

Olivier.

Former Member
0 Kudos

Hello Olivier,

Thanks for all of your help with this. I am not fimiliar with ABAP so this has been very helpfull.

Where would I insert code to identify the plant and material.

Thanks Again for all of your help!!

Frank

Former Member
0 Kudos

Hi Frank,


REPORT  ZRSDRD_SEL_DELETION                     .

 DATA:
    l_thx_sel   TYPE rsdrd_thx_sel,
    l_sx_sel    TYPE LINE OF rsdrd_thx_sel,
    l_s_range   LIKE rsdrd_s_range,
    l_t_range   TYPE rsdrd_t_range,
    l_t_msg     TYPE rs_t_msg.

******************* 0CALDAY *****************
l_s_range-sign   = 'I'.
l_s_range-option = 'EQ'.
l_s_range-low    = '20030308'.
*l_s_range-high   = .
l_s_range-keyfl  = 'X'.
APPEND l_s_range TO l_t_range.

l_sx_sel-iobjnm   = '0CALDAY'.
l_sx_sel-t_range  = l_t_range[].
INSERT l_sx_sel INTO TABLE l_thx_sel.
CLEAR l_s_range.
REFRESH l_t_range.
***********************************************

************** 0PLANT **********************
l_s_range-sign   = 'I'.
l_s_range-option = 'EQ'.
l_s_range-low    = 'PLNT'.
*l_s_range-high   = .
l_s_range-keyfl  = 'X'.
APPEND l_s_range TO l_t_range.

l_sx_sel-iobjnm   = '0PLANT'.
l_sx_sel-t_range  = l_t_range[].
INSERT l_sx_sel INTO TABLE l_thx_sel.
CLEAR l_s_range.
REFRESH l_t_range.
**********************************************

************** 0MATERIAL ****************
l_s_range-sign   = 'I'.
l_s_range-option = 'EQ'.
l_s_range-low    = 'MATERIAL'.
*l_s_range-high   = .
l_s_range-keyfl  = 'X'.
APPEND l_s_range TO l_t_range.

l_sx_sel-iobjnm   = '0MATERIAL'.
l_sx_sel-t_range  = l_t_range[].
INSERT l_sx_sel INTO TABLE l_thx_sel.
CLEAR l_s_range.
REFRESH l_t_range.
**********************************************

CALL FUNCTION 'RSDRD_SEL_DELETION'
     EXPORTING
          I_DATATARGET      = 'ZICRT_C37'
          I_THX_SEL         = L_THX_SEL
          I_AUTHORITY_CHECK = 'X'
          I_THRESHOLD       = '1.0000E-01'
          I_MODE            = 'C'
          I_NO_LOGGING      = ''
          I_PARALLEL_DEGREE = 1
          I_NO_COMMIT       = ''
     CHANGING
          C_T_MSG             = L_T_MSG.

Former Member
0 Kudos

Olivier

Thanks for all of your help!!!!

Answers (0)