You are on page 1of 8

*&---------------------------------------------------------------------*

*& Report ZDJTEST


*&
*&---------------------------------------------------------------------*
*& Development Log
*&---------------------------------------------------------------------*
*& Func. Spec.
*& Tech Spec.
*& Module
*& Functional
*& Developer
*& Start Date
*& End Date
*& Request Number
*&---------------------------------------------------------------------*
*& Modification Log
*&---------------------------------------------------------------------*
*& 1)
*& Functional
*& Developer
*& Start Date
*& End Date
*& Request TEDK920806
*& Modification
*&---------------------------------------------------------------------*
REPORT ZDJTEST.
*&---------------------------------------------------------------------*
TABLES : TADIR.
TYPE-POOLS: SLIS.
DATA: IT_FIELDCAT
IT_LISTHEADER
IT_LISTFOOTER
IT_EVENTS
IT_EXCLUDING

TYPE
TYPE
TYPE
TYPE
TYPE

SLIS_T_FIELDCAT_ALV,
SLIS_T_LISTHEADER,
SLIS_T_LISTHEADER,
SLIS_T_EVENT,
SLIS_T_EXTAB.

DATA: WA_FIELDCAT
WA_LISTHEADER
WA_EVENTS
WA_EXCLUDING
CS_LAYOUT
CS_VARIANT
G_SAVE.

TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

SLIS_FIELDCAT_ALV,
SLIS_LISTHEADER,
SLIS_ALV_EVENT,
SLIS_EXTAB,
SLIS_LAYOUT_ALV,
DISVARIANT,

DATA ERROR.
DATA : BEGIN OF IT_ALV OCCURS 0,
PGMID
LIKE TADIR-PGMID,

OBJECT
LIKE
OBJ_NAME
LIKE
KORRNUM
LIKE
SRCSYSTEM LIKE
linecol TYPE c,
END OF IT_ALV.

TADIR-OBJECT,
TADIR-OBJ_NAME,
TADIR-KORRNUM,
TADIR-SRCSYSTEM,

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.


PARAMETERS VARIANT LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B1.
INITIALIZATION.
PERFORM INITIALIZATION.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR VARIANT.
PERFORM F4_FOR_VARIANT.
AT SELECTION-SCREEN.
PERFORM SELECTION_VALIDATION.
START-OF-SELECTION.
PERFORM GET_DATA.
END-OF-SELECTION.
IF IT_ALV[] IS NOT INITIAL.
PERFORM DISPLAY_DATA.
ELSE.
MESSAGE S002(SY) WITH 'No data found for given selection'.
ENDIF.
*&---------------------------------------------------------------------*
*&
Form INITIALIZATION
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM INITIALIZATION .
G_SAVE = 'A'.
CS_VARIANT-REPORT = SY-REPID.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE
= G_SAVE
CHANGING
CS_VARIANT = CS_VARIANT
EXCEPTIONS
OTHERS
= 4.

IF SY-SUBRC EQ 0.
VARIANT = CS_VARIANT-VARIANT.
ENDIF.
ENDFORM.
" INITIALIZATION
*&---------------------------------------------------------------------*
*&
Form SELECTION_VALIDATION
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM SELECTION_VALIDATION .
CS_VARIANT-VARIANT = VARIANT.
ENDFORM.
" SELECTION_VALIDATION
*&---------------------------------------------------------------------*
*&
Form GET_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_DATA .
SELECT * FROM TADIR
INTO CORRESPONDING FIELDS OF TABLE IT_ALV
UP TO 10 ROWS.
ENDFORM.
" GET_DATA
*&---------------------------------------------------------------------*
*&
Form DISPLAY_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .
PERFORM GET_VARIANT.
CHECK ERROR IS INITIAL.
PERFORM SET_LAYOUT.
PERFORM BUILD_FIELDCAT.
CHECK ERROR IS INITIAL.
PERFORM GET_EVENTS.
CHECK ERROR IS INITIAL.
PERFORM DISPLAY_ALV.
ENDFORM.
" DISPLAY_DATA
*&---------------------------------------------------------------------*
*&
Form BUILD_FIELDCAT

*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCAT .
WA_EXCLUDING-FCODE = '&OUP'.
APPEND WA_EXCLUDING TO IT_EXCLUDING.
CLEAR WA_EXCLUDING.
WA_EXCLUDING-FCODE = '&ODN'.
APPEND WA_EXCLUDING TO IT_EXCLUDING.
CLEAR WA_EXCLUDING.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME
= SY-REPID
I_INTERNAL_TABNAME
= 'IT_ALV'
I_INCLNAME
= SY-REPID
CHANGING
CT_FIELDCAT
= IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR
= 2
OTHERS
= 3.
IF SY-SUBRC <> 0.
ERROR = 'X'.
MESSAGE S002(SY) WITH 'Internal Error'.
ENDIF.
ENDFORM.
" BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*&
Form GET_EVENTS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_EVENTS .
WA_EVENTS-NAME = 'USER_COMMAND'.
WA_EVENTS-FORM = 'USER_COMMAND'.
APPEND WA_EVENTS TO IT_EVENTS.
CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND WA_EVENTS TO IT_EVENTS.

CLEAR WA_EVENTS.
WA_EVENTS-NAME = 'END_OF_LIST'.
WA_EVENTS-FORM = 'END_OF_LIST'.
APPEND WA_EVENTS TO IT_EVENTS.
CLEAR WA_EVENTS.
ENDFORM.
" GET_EVENTS
*&---------------------------------------------------------------------*
*&
Form DISPLAY_ALV
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'SETPF'
IS_LAYOUT
= CS_LAYOUT
IT_FIELDCAT
= IT_FIELDCAT
IT_EXCLUDING
= IT_EXCLUDING
I_SAVE
= 'X'
IS_VARIANT
= CS_VARIANT
IT_EVENTS
= IT_EVENTS
TABLES
T_OUTTAB
= IT_ALV
EXCEPTIONS
PROGRAM_ERROR
= 1
OTHERS
= 2.
IF SY-SUBRC <> 0.
MESSAGE S002(SY) WITH 'Error while displaying ALV'.
ENDIF.
ENDFORM.
" DISPLAY_ALV
*&---------------------------------------------------------------------*
*&
Form top_of_page
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM TOP_OF_PAGE.
IF IT_LISTHEADER[] IS INITIAL.
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-KEY = 'TEST'.
WA_LISTHEADER-INFO = 'TEST'.
APPEND WA_LISTHEADER TO IT_LISTHEADER.

CLEAR WA_LISTHEADER.
ENDIF.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY
= IT_LISTHEADER
I_LOGO
= 'SUGENLOGO'
.
ENDFORM.

"top_of_page

*&---------------------------------------------------------------------*
*&
Form end_of_list
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM END_OF_LIST.
IF IT_LISTFOOTER[] IS INITIAL.
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-KEY = 'TEST'.
WA_LISTHEADER-INFO = 'TEST'.
APPEND WA_LISTHEADER TO IT_LISTFOOTER.
CLEAR WA_LISTHEADER.
ENDIF.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY
= IT_LISTHEADER
*
I_LOGO
= I_LOGO
I_END_OF_LIST_GRID
= 'X'
*
I_ALV_FORM
= I_ALV_FORM
.
ENDFORM.
"end_of_list
*&---------------------------------------------------------------------*
*&
Form GET_VARIANT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_VARIANT .
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE
= G_SAVE
CHANGING
CS_VARIANT = CS_VARIANT

EXCEPTIONS
OTHERS
= 4.
IF SY-SUBRC <> 0.
ERROR = 'X'.
MESSAGE S002(SY) WITH 'Variant not found'.
ENDIF.
ENDFORM.
" GET_VARIANT
*&---------------------------------------------------------------------*
*&
Form F4_FOR_VARIANT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM F4_FOR_VARIANT .
DATA ES_VARIANT LIKE CS_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = CS_VARIANT
IMPORTING
ES_VARIANT = ES_VARIANT
EXCEPTIONS
OTHERS
= 3.
IF ES_VARIANT IS NOT INITIAL.
CS_VARIANT = ES_VARIANT.
VARIANT = CS_VARIANT-VARIANT.
ENDIF.
ENDFORM.
" F4_FOR_VARIANT
*&---------------------------------------------------------------------*
*&
Form SET_LAYOUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM SET_LAYOUT .
CS_LAYOUT-ZEBRA = 'X'.
* CS_LAYOUT-DEF_STATUS = 'A'.
ENDFORM.

" GET_LAYOUT

*&---------------------------------------------------------------------*
*&
Form user_command
*&---------------------------------------------------------------------*

*
text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING FCODE SELFIELD.
CASE FCODE.
WHEN 'DEV'.
BREAK-POINT.
WHEN OTHERS.
ENDCASE.
ENDFORM.
"user_command
FORM SETPF USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD' .
ENDFORM.

You might also like