hi fatima,
i am not understand the requirement completely.
are u trying to use dynamic fieldcatlog in alv?
if yes observe this code once.
TYPE-POOLS : SLIS.
*&---------------------------------------------------------------------*
*& ALV Function Declarations
*&---------------------------------------------------------------------*
* Field Catalog Declarations
T_FCAT TYPE SLIS_T_FIELDCAT_ALV,
W_FCAT TYPE SLIS_FIELDCAT_ALV,
* Layout Declarations
W_LAYO TYPE SLIS_LAYOUT_ALV.
*&---------------------------------------------------------------------*
*& Global Variable Declarations
*&---------------------------------------------------------------------*
DATA : G_DATE TYPE SPMON,
G_VAR(2) TYPE N ,
G_MTEXT TYPE STRING,
G_MONTH TYPE CHAR2,
G_YEAR TYPE CHAR4,
G_MONTH1 TYPE CHAR2,
G_YEAR1 TYPE CHAR4,
G_YEARD TYPE CHAR2,
G_MOND TYPE CHAR2.
*&---------------------------------------------------------------------*
*& Selection-Screen Declarations
*&---------------------------------------------------------------------*
SELECT-OPTIONS : S_DATE FOR G_DATE.
*&---------------------------------------------------------------------*
*& Initialization Declarations
*&---------------------------------------------------------------------*
INITIALIZATION.
* Clearing Work areas
CLEAR : W_LAYO,
W_FCAT.
* Refreshing Internal Tables
REFRESH : T_FCAT.
*&---------------------------------------------------------------------*
*& Start-of-Selection Declarations
*&---------------------------------------------------------------------*
START-OF-SELECTION.
G_MONTH = S_DATE-LOW+4(2).
G_YEAR = S_DATE-LOW+0(6).
G_MONTH1 = S_DATE-HIGH+4(2).
G_YEAR1 = S_DATE-HIGH+0(6).
G_YEARD = G_YEAR1 - G_YEAR.
G_VAR = G_MONTH.
IF G_YEARD >= 1.
G_MOND = ( G_MONTH1 + ( 12 * G_YEARD ) ) - G_MONTH.
ADD 1 TO G_MOND.
ELSE.
G_MOND = G_MONTH1 - G_MONTH.
ADD 1 TO G_MOND.
ENDIF.
DO G_MOND TIMES.
CASE G_VAR.
WHEN '1'.
G_MTEXT = 'January'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '2'.
G_MTEXT = 'february'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '3'.
G_MTEXT = 'March'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '4'.
G_MTEXT = 'April'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '5'.
G_MTEXT = 'May'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '6'.
G_MTEXT = 'June'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '7'.
G_MTEXT = 'July'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '8'.
G_MTEXT = 'August'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '9'.
G_MTEXT = 'September'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '10'.
G_MTEXT = 'October'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '11'.
G_MTEXT = 'November'.
ADD 1 TO G_VAR.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
WHEN '12'.
G_MTEXT = 'December'.
G_VAR = 1.
CONCATENATE G_MTEXT G_YEAR INTO W_FCAT-SELTEXT_M SEPARATED BY SPACE.
APPEND W_FCAT TO T_FCAT.
CLEAR W_FCAT.
ADD 1 TO G_YEAR.
ENDCASE.
ENDDO.
* Populating the Layout Fields
W_LAYO-ZEBRA = 'X'.
W_LAYO-COLWIDTH_OPTIMIZE = 'X'.
* Calling the Function Module for Displaying the Report in ALV Format
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
IS_LAYOUT = W_LAYO
IT_FIELDCAT = T_FCAT
TABLES
T_OUTTAB = T_KNA1.
is code is used to design fieldcatlogs dynamically,
if u give 02-2013 to 05-2013 in sel screen
the o/p fieldcat is like feb13, mar13, apr13, may13.
and changes for different values of input
Thanks and regards,
Prasanth.