Sunteți pe pagina 1din 2

*&---------------------------------------------------------------------*

*& Report ZBORRA_CUBO_ZCCOCADR0


*&---------------------------------------------------------------------*
*& Reporte para realizar Borrado Selectivo en el Cubo ZCCOCADR0 (Cubo
*& Dem.Rdos). Se toma la fecha actual (del sistema) para
*& obtener la fecha desde y fecha hasta para el borrado mes actual y
*& mes anterior al actual.
*& Luego se recargar mediante cadena de procesos los meses borrados.
*&
*& Autor: Sabrina D'Aloy - Empresa: Indra - Fecha: 05/05/2011
*&
*& Orden: TBWK900198
*&---------------------------------------------------------------------*
REPORT ZBORRA_CUBO_ZCCOCADR0.
TYPE-POOLS: rsdrd.
************************************************************************
* Declaracin de Constantes.
************************************************************************
CONSTANTS: dc_sign(1)
TYPE c VALUE 'I'.
CONSTANTS: dc_option(2) TYPE c VALUE 'BT'.
************************************************************************
* Declaracin de Variables.
************************************************************************
DATA: d_true
DATA: d_cubo
DATA: v_year
v_mes
v_fechaant
v_fechaact

TYPE rs_bool VALUE 'X'.


TYPE rsddatatarget VALUE 'ZCCOCADR0'.
TYPE /BI0/OIFISCYEAR,
TYPE /BI0/OICALMONTH2,
TYPE /BI0/OICALMONTH,
TYPE /BI0/OICALMONTH.

************************************************************************
* Declaracin de Tablas.
************************************************************************
DATA:
DATA:
DATA:
DATA:

l_sx_sel
l_thx_sel
l_s_range
l_t_msg

TYPE
TYPE
TYPE
TYPE

rsdrd_sx_sel.
rsdrd_thx_sel.
rsdrd_s_range.
rs_t_msg.

************************************************************************
v_mes = sy-datum+4(2).
v_fechaact = sy-datum(6).
* Verifico que no est cambiando de ao.
IF v_mes > 01.
v_mes = v_mes - 1.
IF v_mes < 10.
CONCATENATE sy-datum(4) v_mes INTO v_fechaant.
else.
CONCATENATE sy-datum(4) v_mes INTO v_fechaant.
ENDIF.
ELSE.
v_mes = 12.

v_year = sy-datum(4) - 1.
CONCATENATE v_year v_mes INTO v_fechaant.
ENDIF.
CLEAR: l_sx_sel.
l_sx_sel-iobjnm = '0CALMONTH'.
CLEAR: l_s_range.
l_s_range-sign
l_s_range-option
l_s_range-low
l_s_range-high
l_s_range-keyfl

=
=
=
=
=

dc_sign.
dc_option.
v_fechaant.
v_fechaact.
d_true.

APPEND l_s_range TO l_sx_sel-t_range.


INSERT l_sx_sel INTO TABLE l_thx_sel.
CALL FUNCTION 'RSDRD_SEL_DELETION'
EXPORTING
i_datatarget
= d_cubo
i_thx_sel
= l_thx_sel
i_del_activ
= d_true
CHANGING
c_t_msg
= l_t_msg
EXCEPTIONS
x_message
= 1
inherited_error = 2
invalid_type
= 3
OTHERS
= 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

S-ar putea să vă placă și