Vous êtes sur la page 1sur 3

Declerations

DATA: gt_variant TYPE disvariant.


DATA: gx_variant TYPE disvariant.
DATA: gt_exit TYPE char1.

Selection-screen begin of block bb1.

PARAMETERS: p_vari LIKE disvariant-variant.

*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.
*&---------------------------------------------------------------------*

* F4 help setting for layouts


PERFORM get_alv_layout.

*&---------------------------------------------------------------------*
*& Form GET_ALV_LAYOUT
*&---------------------------------------------------------------------*
* Fetch the ALV layouts
*----------------------------------------------------------------------*
FORM get_alv_layout .

IF NOT p_vari IS INITIAL.


*MOVE GT_VARIANT TO GX_VARIANT.
MOVE: p_vari TO gx_variant-variant,
sy-repid TO gx_variant-report.

CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'


EXPORTING
i_save = 'A'
CHANGING
cs_variant = gx_variant
EXCEPTIONS
wrong_input = 1
not_found = 2
program_error = 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.

gt_variant = gx_variant.
ELSE.
CLEAR gt_variant.
gt_variant-report = sy-repid.
gt_variant-username = sy-uname.
ENDIF.

ENDFORM. " GET_ALV_LAYOUT

*&---------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
*&---------------------------------------------------------------------*

PERFORM f4_alv_help.

*&---------------------------------------------------------------------*
*& Form F4_ALV_HELP
*&---------------------------------------------------------------------*
* Set the F4 help for ALV Layouts
*----------------------------------------------------------------------*
FORM f4_alv_help .

gt_variant-report = sy-repid.
gt_variant-username = sy-uname.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'


EXPORTING
is_variant = gt_variant
* I_TABNAME_HEADER =
* I_TABNAME_ITEM =
* IT_DEFAULT_FIELDCAT =
i_save = 'A'
* I_DISPLAY_VIA_GRID =''
IMPORTING
e_exit = gt_exit
es_variant = gx_variant
EXCEPTIONS
not_found =1
program_error =2
OTHERS = 3.

IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ELSE.
IF gt_exit = space.
p_vari = gx_variant-variant.
ENDIF.
ENDIF.

ENDFORM. " F4_ALV_HELP

*&---------------------------------------------------------------------*
*& Form SUB_ALV_DISPLAY
*&---------------------------------------------------------------------*
* Set ALV display
*----------------------------------------------------------------------*
FORM sub_alv_display .
DATA : l_repid TYPE sy-repid.

wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
l_repid = sy-repid.

IF p_param EQ 1.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
i_callback_program = l_repid
* I_CALLBACK_PF_STATUS_SET =''
** i_callback_user_command = 'M_USER_COMMAND'

i_callback_html_top_of_page = 'END_OF_LIST_HTML'
is_layout = wa_layout
it_fieldcat = it_fieldcat
it_sort = it_sort
** i_default = 'X'
i_save = 'A'
is_variant = gt_variant

i_html_height_top =8
TABLES
t_outtab = it_plate
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.

Vous aimerez peut-être aussi