Restricting List of Values in Variable Report Category
Restricting List of Values in Variable Report Category
Category (ZVAR_RPTCATNM)
METHOD IF_RSR_VARIABLE_F4_RESTRICT~GET_RESTRICTION_FLAT.
* DATA: l_s_range LIKE LINE OF c_t_range.
*
* IF i_vnam EQ '0D_FC_P21'.
* READ TABLE i_t_compid WITH TABLE KEY table_line = '0D_FC_AE_VAR_Q02' T
RANSPORTING NO FIELDS.
* IF sy-subrc = 0.
* l_s_range-iobjnm = i_iobjnm.
* l_s_range-sign = 'I'. "including
* l_s_range-option = 'BT'. "between
* l_s_range-low = 'FC001'. " in internal format
* l_s_range-high = 'FC005'.
* APPEND l_s_range TO c_t_range.
* l_s_range-iobjnm = i_iobjnm.
* l_s_range-sign = 'I'. "including
* l_s_range-option = 'CP'. "between
* l_s_range-low = 'FC01*'. " in internal format
* CLEAR l_s_range-high.
* APPEND l_s_range TO c_t_range.
* ENDIF.
* ENDIF.
* DATA: LT_RANGE TYPE RANGE OF /BIC/OIZCSRPTCTG,
* LS_RANGE LIKE LINE OF LT_RANGE.
DATA: L_S_RANGE LIKE LINE OF C_T_RANGE,
L_T_RANGE LIKE C_T_RANGE,
L_S_RANGE1 LIKE LINE OF C_T_RANGE,
L_T_RANGE1 LIKE C_T_RANGE,
L_S_RANGE2 LIKE LINE OF C_T_RANGE,
L_T_RANGE2 LIKE C_T_RANGE,
L_S_RANGE3 LIKE LINE OF C_T_RANGE,
L_T_RANGE3 LIKE C_T_RANGE.
********************* List of Values Ranges ******************
****** Actual, Plan, Projection ******************************
L_S_RANGE-IOBJNM = I_IOBJNM.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPTION = 'EQ'.
L_S_RANGE-LOW = 'ACTU'.
APPEND L_S_RANGE TO L_T_RANGE.
L_S_RANGE-LOW = 'PLAN'.
APPEND L_S_RANGE TO L_T_RANGE.
L_S_RANGE-LOW = 'PROJ'.
APPEND L_S_RANGE TO L_T_RANGE.
****** Actual, Plan, Projection, Year End Projection *********
L_S_RANGE1-IOBJNM = I_IOBJNM.
L_S_RANGE1-SIGN = 'I'.
L_S_RANGE1-OPTION = 'EQ'.
L_S_RANGE1-LOW = 'ACTU'.
APPEND L_S_RANGE1 TO L_T_RANGE1.
L_S_RANGE1-LOW = 'PLAN'.
APPEND L_S_RANGE1 TO L_T_RANGE1.
L_S_RANGE1-LOW = 'PROJ'.
APPEND L_S_RANGE1 TO L_T_RANGE1.
L_S_RANGE1-LOW = 'YEFC'.
APPEND L_S_RANGE1 TO L_T_RANGE1.
****** Actual Net Sales **************************************
L_S_RANGE2-IOBJNM = I_IOBJNM.
L_S_RANGE2-SIGN = 'I'.
L_S_RANGE2-OPTION = 'EQ'.
L_S_RANGE2-LOW = 'ACNS'.
APPEND L_S_RANGE2 TO L_T_RANGE2.
****** Actual Operating Income *******************************
L_S_RANGE3-IOBJNM = I_IOBJNM.
L_S_RANGE3-SIGN = 'I'.
L_S_RANGE3-OPTION = 'EQ'.
L_S_RANGE3-LOW = 'ACOI'.
APPEND L_S_RANGE3 TO L_T_RANGE3.
**************************************************************
IF I_VNAM EQ 'ZVAR_RPTCATNM'.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM01'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM02'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM03'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM08'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM09'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM10'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM11'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM12'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM13'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM14'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM17'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM18'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM19'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM20'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM21'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM22'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM23'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM24'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCFIN_QM25'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE1 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCDEPT_QM04'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE2 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCDEPT_QM05'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE3 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCDEPT_QM06'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE2 TO C_T_RANGE.
ENDIF.
READ TABLE I_T_COMPID WITH TABLE KEY TABLE_LINE = 'ZCSCDEPT_QM07'
TRANSPORTING NO FIELDS.
IF SY-SUBRC = 0.
MOVE L_T_RANGE3 TO C_T_RANGE.
ENDIF.
ENDIF.
ENDMETHOD.