Hi Krishna,
Did you see my reply above? It will solve your requirement..
REPOSTING:
There are two (2) ways to achieve your requirement:
I assume that your ZVAR1_DAT variable is the variable for your 0CALDAY and it is a SINGLE VALUE:
1. Create a "HIDDEN" selection with any keyfigure on it and CALDAY with variable ZVAR1_DAT..
2. Create a new variable in CALMONTH, let's call it ZVAR_MONTH..
3. Under the GENERAL tab, choose REPLACEMENT PATH in the PROCESSING BY..
4. In the REPLACEMENT PATH tab, choose VARIABLE in the REPLACE VARIABLE WITH section..
5. In the same tab, type ZVAR1_DAT in the VARIABLE section and choose KEY in the REPLACE WITH section..
6. In the same tab also, choose FROM VALUE in the CHOOSE INTERVAL section and type 6 in the OFFSET LENGTH (just leave OFFSET START blank)..
7. Create your three (3) SELECTIONS (the earlier month, current month, and next month)..
8. Just put the CALMONTH field on those SELECTIONS and filter them with ZVAR_MONTH having an OFFSET value of -1 for earlier month, 0 for current month, and +1 for next month..
The second method is by using the CMOD, by getting the CALMONTH of the entered date and just repeat some steps above..
1. Create a "HIDDEN" selection with any keyfigure on it and CALDAY with variable ZVAR1_DAT..
2. Create a new variable in CALMONTH, let's call it also ZVAR_MONTH..
3. Under the GENERAL tab, choose CUSTOMER EXIT in the PROCESSING BY..In the DETAILS tab,choose SINGLE in the VARIABLE REPRESENTS..
Do this in CMOD:
WHEN 'ZVAR_MONTH'. "the new variable we have created
IF i_step = 2. "After input of 0CALDAY
LOOP AT I_T_VAR_RANGE INTO FISC_VAR_RANGE WHERE VNAM = 'ZVAR1_DAT'. "sample day entered: 20140215
L_S_RANGE-LOW = FISC_VAR_RANGE-LOW(6). "final result will be the CALMONTH of entered date which is 201402
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
EXIT.
ENDLOOP.
ENDIF.
4. Create your three (3) SELECTIONS (the earlier month, current month, and next month)..
5. Just put the CALMONTH field on those SELECTIONS and filter them with ZVAR_MONTH having an OFFSET value of -1 for earlier month, 0 for current month, and +1 for next month..
***just use the 2nd method if you are comfortable with CMOD..
Just post here if you have questions..
Regards,
Loed