Beruflich Dokumente
Kultur Dokumente
TYPE-POOLS: slis.
DATA: gt_sbook
START-OF-SELECTION.
PERFORM select_data.
PERFORM variant_check.
PERFORM display_alv.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
Form f4_for_variant
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM f4_for_variant .
* CLEAR gs_variant.
gs_variant-report = sy-repid.
*-- Get variant
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant
= gs_variant
i_save
= gv_save
IMPORTING
e_exit
= gv_exit
es_variant
= gsx_variant
EXCEPTIONS
not_found
= 1
program_error = 2
OTHERS
= 3.
IF sy-subrc EQ 2.
MESSAGE ID sy-msgid TYPE 'S'
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF gv_exit = space.
p_varnt = gsx_variant-variant.
ENDIF.
ENDIF.
ENDFORM.
" F4_FOR_VARIANT
*&---------------------------------------------------------------------*
*&
Form SELECT_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM select_data .
SELECT *
FROM sbook
INTO CORRESPONDING FIELDS OF TABLE gt_sbook
WHERE carrid IN s_carrid
AND connid IN s_connid
AND fldate IN s_fldate.
ENDFORM.
" SELECT_DATA
*&---------------------------------------------------------------------*
*&
Form DISPLAY_ALV
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM display_alv .
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
IT_SORT
=
IT_FILTER
=
IS_SEL_HIDE
=
i_default
= 'X'
i_save
= 'A'
IS_VARIANT
= gs_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
t_outtab
= gt_sbook
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.
" DISPLAY_ALV
*&---------------------------------------------------------------------*
*&
Form VARIANT_INITIALIZE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM variant_initialize .
* gv_save = 'A'.
CLEAR gs_variant.
gs_variant-report = sy-repid.
gs_variant-variant = p_varnt.
gsx_variant = gs_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save
= gv_save
CHANGING
cs_variant
= gsx_variant
EXCEPTIONS
* WRONG_INPUT
= 1
not_found
= 2
* PROGRAM_ERROR
= 3
OTHERS
= 4
.
IF sy-subrc EQ 0.
p_varnt = gsx_variant-variant.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
" VARIANT_INITIALIZE
*&---------------------------------------------------------------------*
*&
Form INITIALIZE_FIELDCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
*FORM initialize_fieldcat .
* CLEAR gs_fieldcat.
* gs_fieldcat-fieldname = 'CARRID'.
* gs_fieldcat-seltext_m = 'Carrid'.
* gs_fieldcat-key
= 'X'.
* APPEND gs_fieldcat TO gt_fieldcat.
* CLEAR gs_fieldcat.
*ENDFORM.
" INITIALIZE_FIELDCAT
*&---------------------------------------------------------------------*
*&
Form VARIANT_CHECK
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM variant_check .
* IF not p_varnt IS INITIAL. " if variant is not blank . checj for existenc
e
gv_save = 'A'.
CLEAR gs_variant.
gs_variant-variant = p_varnt.
gs_variant-report = sy-repid.
CALL FUNCTION 'LVC_VARIANT_EXISTENCE_CHECK' "Check for display variant
EXPORTING
i_save
= space
"Variants Can be Saved
CHANGING
cs_variant
= gs_variant
"Variant information
EXCEPTIONS
wrong_input
= 1
"Inconsistent input parameters
not_found
= 2
"Variant not found
program_error
= 3
"Program Errors
.
" LVC_VARIANT_EXISTENCE_CHECK
IF sy-subrc = 2.
MESSAGE 'Display Variant Not Found, Displaying Default Variant'
TYPE 'S'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save
= gv_save
CHANGING
cs_variant = gsx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_varnt = gsx_variant-variant.
ENDIF.
ENDFORM.