Hi...
I want the selection screen option for user so that he can select any of the saved layouts.
I have done some coding after refering to some threads in here.But I can't proceed further...plz help
<b>selection screen</b>
SELECTION-SCREEN BEGIN OF BLOCK 006 WITH FRAME TITLE text-006.
PARAMETERS: p_layout LIKE disvariant-variant. " layout
SELECTION-SCREEN END OF BLOCK 006.
<b>data declarations</b>
DATA: wa_variant TYPE disvariant.
DATA: w_variant_save TYPE c VALUE 'A'.
DATA: gs_variant TYPE disvariant.
DATA: gs_layout TYPE lvc_s_layo.
DATA: g_repid LIKE sy-repid.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_layout.
PERFORM variant_input_help.
FORM variant_input_help .
DATA: tl_dynpfields TYPE TABLE OF dynpread.
DATA: wl_exit TYPE c.
DATA: wal_variant LIKE wa_variant.
DATA: wal_dynpfields TYPE dynpread.
Get values from the selection screen to determine layout set
wal_dynpfields-fieldname = p_layout.
APPEND wal_dynpfields TO tl_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = sy-cprog
DYNUMB = '1000'
TRANSLATE_TO_UPPER = ' '
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
TABLES
DYNPFIELDS = tl_dynpfields
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT tl_dynpfields INTO wal_dynpfields.
CASE wal_dynpfields-fieldname.
WHEN 'p_layout'.
wa_variant-variant = wal_dynpfields-fieldvalue.
ENDCASE.
ENDLOOP.
wa_variant-report = sy-repid.
wa_variant-variant = p_layout.
wa_variant-username = sy-uname.
**Invoke function to provide drop down entries
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = wa_variant
I_TABNAME_HEADER =
I_TABNAME_ITEM =
IT_DEFAULT_FIELDCAT =
I_SAVE = w_variant_save
I_DISPLAY_VIA_GRID = ' '
IMPORTING
E_EXIT = wl_exit
ES_VARIANT = wal_variant
EXCEPTIONS
NOT_FOUND = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC IS INITIAL.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4
IF wl_exit IS INITIAL.
p_layout = wal_variant-variant.
ENDIF.
ELSE.
message I033 WITH TEXT-034.
ENDIF.
*gs_variant-variant = p_layout.
*gs_variant-report = sy-repid.
FREE: tl_dynpfields.
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = g_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
<b>IS_LAYOUT </b> = <b>??</b>
<b> IT_FIELDCAT = ??</b>
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = wal_variant
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
<b>T_OUTTAB = </b><b>??</b>
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " variant_input_help
wat steps shud i take