Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ABAP newbie - delete data from CUBE

Former Member
0 Likes
431

Hi

I can delete data from CUBE using this code:

START code----


LINE01.REPORT YPW_DEL_TE2_KP_S_V2 .

LINE02.

LINE03.TABLES:

LINE04.SSCRFIELDS,

LINE05./BI0/SCALMONTH.

LINE06.

LINE07.TYPE-POOLS: RSDRD, RSDQ.

LINE08.DATA:

LINE09. L_INTERACTIVE TYPE RS_BOOL,

LINE10. L_TYPE(1) TYPE C,

LINE11. L_PARALLEL TYPE I,

LINE12. L_TITEL TYPE RS_CHAR72,

LINE13. L_S_RANGE TYPE RSDRD_S_RANGE,

LINE14. L_S_SELTXT TYPE RSDQ_S_SELTEXT,

LINE15. L_SX_SEL TYPE RSDRD_SX_SEL,

LINE16. L_T_MSG TYPE RS_T_MSG,

LINE17. L_THX_SEL TYPE RSDRD_THX_SEL,

LINE18. L_T_SELTXTS TYPE RSDQ_T_SELTEXT

LINE19. WITH HEADER LINE.

LINE20.

LINE21.SELECTION-SCREEN BEGIN OF BLOCK B001 WITH FRAME TITLE T001.

LINE22.SELECT-OPTIONS C062 FOR /BI0/SCALMONTH-CALMONTH .

LINE23.SELECTION-SCREEN END OF BLOCK B001 .

LINE24.

LINE25.IF NOT C062[] IS INITIAL.

LINE26. CLEAR L_SX_SEL.

LINE27. L_SX_SEL-IOBJNM = '0CALMONTH'.

LINE28. LOOP AT C062 .

LINE29. CLEAR L_S_RANGE.

LINE30. MOVE C062-SIGN TO L_S_RANGE-SIGN.

LINE31. MOVE C062-OPTION TO L_S_RANGE-OPTION.

LINE32. MOVE C062-LOW TO L_S_RANGE-LOW.

LINE33. MOVE C062-HIGH TO L_S_RANGE-HIGH.

LINE34. MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.

LINE35. APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.

LINE36. ENDLOOP.

LINE37. INSERT L_SX_SEL INTO TABLE L_THX_SEL.

LINE38.ENDIF.

LINE39.

LINE40. CALL FUNCTION 'RSDRD_SEL_DELETION'

LINE41. EXPORTING

LINE42. I_DATATARGET = 'TE2_KP_S'

LINE43. I_THX_SEL = L_THX_SEL

LINE44. I_AUTHORITY_CHECK = RS_C_TRUE

LINE45. I_NO_LOGGING = ''

LINE46. I_PARALLEL_DEGREE = '1'

LINE47. I_SHOW_REPORT = ''

LINE48. CHANGING

LINE49. C_T_MSG = L_T_MSG.

end code----


But how change lines from 21 to 23 in order to charge values from user table

and assign them to L_S_RANGE ?

for example:

Select value into C062_low from user_table

where desc = 'calmonth_low'.

Select value into C062_high from user_table

where desc = 'calmonth_high'.

next

MOVE C062_low TO L_S_RANGE-LOW.

MOVE C062_high TO L_S_RANGE-HIGH.

I did it but it does't work.

Thanks in advance.

PWnuk

Hi

I can delete data from CUBE using this code:

START code----


LINE01.REPORT YPW_DEL_TE2_KP_S_V2 .

LINE02.

LINE03.TABLES:

LINE04.SSCRFIELDS,

LINE05./BI0/SCALMONTH.

LINE06.

LINE07.TYPE-POOLS: RSDRD, RSDQ.

LINE08.DATA:

LINE09. L_INTERACTIVE TYPE RS_BOOL,

LINE10. L_TYPE(1) TYPE C,

LINE11. L_PARALLEL TYPE I,

LINE12. L_TITEL TYPE RS_CHAR72,

LINE13. L_S_RANGE TYPE RSDRD_S_RANGE,

LINE14. L_S_SELTXT TYPE RSDQ_S_SELTEXT,

LINE15. L_SX_SEL TYPE RSDRD_SX_SEL,

LINE16. L_T_MSG TYPE RS_T_MSG,

LINE17. L_THX_SEL TYPE RSDRD_THX_SEL,

LINE18. L_T_SELTXTS TYPE RSDQ_T_SELTEXT

LINE19. WITH HEADER LINE.

LINE20.

LINE21.SELECTION-SCREEN BEGIN OF BLOCK B001 WITH FRAME TITLE T001.

LINE22.SELECT-OPTIONS C062 FOR /BI0/SCALMONTH-CALMONTH .

LINE23.SELECTION-SCREEN END OF BLOCK B001 .

LINE24.

LINE25.IF NOT C062[] IS INITIAL.

LINE26. CLEAR L_SX_SEL.

LINE27. L_SX_SEL-IOBJNM = '0CALMONTH'.

LINE28. LOOP AT C062 .

LINE29. CLEAR L_S_RANGE.

LINE30. MOVE C062-SIGN TO L_S_RANGE-SIGN.

LINE31. MOVE C062-OPTION TO L_S_RANGE-OPTION.

LINE32. MOVE C062-LOW TO L_S_RANGE-LOW.

LINE33. MOVE C062-HIGH TO L_S_RANGE-HIGH.

LINE34. MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.

LINE35. APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.

LINE36. ENDLOOP.

LINE37. INSERT L_SX_SEL INTO TABLE L_THX_SEL.

LINE38.ENDIF.

LINE39.

LINE40. CALL FUNCTION 'RSDRD_SEL_DELETION'

LINE41. EXPORTING

LINE42. I_DATATARGET = 'TE2_KP_S'

LINE43. I_THX_SEL = L_THX_SEL

LINE44. I_AUTHORITY_CHECK = RS_C_TRUE

LINE45. I_NO_LOGGING = ''

LINE46. I_PARALLEL_DEGREE = '1'

LINE47. I_SHOW_REPORT = ''

LINE48. CHANGING

LINE49. C_T_MSG = L_T_MSG.

end code----


But how change lines from 21 to 23 in order to charge values from user table

and assign them to L_S_RANGE ?

for example:

Select value into C062_low from user_table

where desc = 'calmonth_low'.

Select value into C062_high from user_table

where desc = 'calmonth_high'.

next

MOVE C062_low TO L_S_RANGE-LOW.

MOVE C062_high TO L_S_RANGE-HIGH.

I did it but it does't work.

Thanks in advance.

PWnuk

1 REPLY 1
Read only

Former Member
0 Likes
377

Hi PWNUK

Problem solved independently.

PWnuk