Alv interactive ABAPreport
-
Upload
ravi-kanudawala -
Category
Education
-
view
583 -
download
0
description
Transcript of Alv interactive ABAPreport
![Page 1: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/1.jpg)
*&---------------------------------------------------------------------*
*& Report ZREP_015
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZREP_015.
INCLUDE ZREP_015_DATA.
INCLUDE ZREP_015_SCREEN.
INCLUDE ZREP_015_PERFORM.
START-OF-SELECTION.
PERFORM DATA_SELECTION.
PERFORM CREATE_FIELDCAT.
PERFORM CREATE_LAYOUT.
PERFORM CREATE_REPORT.
*&---------------------------------------------------------------------*
*& Include ZREP_015_DATA
*&---------------------------------------------------------------------*
TYPE-POOLS : SLIS.
TABLES: PA0001.
TYPES: BEGIN OF T_PA0006,
![Page 2: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/2.jpg)
PERNR TYPE PA0006-PERNR,
SUBTY TYPE PA0006-SUBTY,
OBJPS TYPE PA0006-OBJPS,
SPRPS TYPE PA0006-SPRPS,
ENDDA TYPE PA0006-ENDDA,
BEGDA TYPE PA0006-BEGDA,
SEQNR TYPE PA0006-SEQNR,
ANSSA TYPE PA0006-ANSSA,
NAME2 TYPE PA0006-NAME2,
STRAS TYPE PA0006-STRAS,
ORT01 TYPE PA0006-ORT01,
ORT02 TYPE PA0006-ORT02,
PSTLZ TYPE PA0006-PSTLZ,
LAND1 TYPE PA0006-LAND1,
LOCAT TYPE PA0006-LOCAT,
END OF T_PA0006.
TYPES: BEGIN OF T_PA0001,
PERNR TYPE PA0001-PERNR,
SUBTY TYPE PA0001-SUBTY,
OBJPS TYPE PA0001-OBJPS,
SPRPS TYPE PA0001-SPRPS,
ENDDA TYPE PA0001-ENDDA,
BEGDA TYPE PA0001-BEGDA,
SEQNR TYPE PA0001-SEQNR,
BUKRS TYPE PA0001-BUKRS,
![Page 3: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/3.jpg)
WERKS TYPE PA0001-WERKS,
PERSG TYPE PA0001-PERSG,
PERSK TYPE PA0001-PERSK,
BTRTL TYPE PA0001-BTRTL,
ORGEH TYPE PA0001-ORGEH,
PLANS TYPE PA0001-PLANS,
ENAME TYPE PA0001-ENAME,
END OF T_PA0001.
DATA: IT_PA0001 TYPE TABLE OF T_PA0001,
WA_PA0001 TYPE T_PA0001,
IT_PA0006 TYPE TABLE OF T_PA0006,
WA_PA0006 TYPE T_PA0006,
IT_EVENT TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT,
IT_XFC TYPE SLIS_T_FIELDCAT_ALV,
WA_XFC TYPE SLIS_FIELDCAT_ALV,
XLAYOUT TYPE SLIS_LAYOUT_ALV.
*&---------------------------------------------------------------------*
*& Include ZREP_015_SCREEN
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_PERNR FOR PA0001-PERNR.
SELECT-OPTIONS: S_PERSG FOR PA0001-PERSG.
SELECT-OPTIONS: S_PERSK FOR PA0001-PERSK.
![Page 4: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/4.jpg)
SELECT-OPTIONS: S_WERKS FOR PA0001-WERKS.
SELECT-OPTIONS: S_BTRTL FOR PA0001-BTRTL.
SELECTION-SCREEN END OF BLOCK B1.
*&---------------------------------------------------------------------*
*& Include ZREP_015_PERFORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form DATA_SELECTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DATA_SELECTION .
SELECT PERNR
SUBTY
OBJPS
SPRPS
ENDDA
BEGDA
SEQNR
BUKRS
WERKS
PERSG
![Page 5: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/5.jpg)
PERSK
BTRTL
ORGEH
PLANS
ENAME FROM PA0001 INTO TABLE IT_PA0001
WHERE PERNR IN S_PERNR
AND ENDDA EQ '99991231'
AND PERSG IN S_PERSG
AND PERSK IN S_PERSK
AND WERKS IN S_WERKS
AND BTRTL IN S_BTRTL.
ENDFORM. " DATA_SELECTION
*&---------------------------------------------------------------------*
*& Form CREATE_FIELDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CREATE_FIELDCAT .
PERFORM CREATE_XFC USING 'IT_PA0001' 'PERNR' 'Employee No.' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'ENAME' 'Employee Name' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'BEGDA' 'Begin Date' 'X'.
![Page 6: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/6.jpg)
PERFORM CREATE_XFC USING 'IT_PA0001' 'ENDDA' 'End Date' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'SEQNR' 'Seq No.' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'BUKRS' 'Company Code' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'PERSG' 'Emp Group' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'PERSK' 'Emp SubGroup' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'WERKS' 'Personnel Area' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'BTRTL' 'Personnel SubArea' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'ORGEH' 'Org. Unit' 'X'.
PERFORM CREATE_XFC USING 'IT_PA0001' 'PLANS' 'Position' 'X'.
* CLEAR: WA_XFC.
* WA_XFC-TABNAME = 'IT_PA0001'.
* WA_XFC-FIELDNAME = 'PERNR'.
* WA_XFC-SELTEXT_L = 'Employee No.'.
* APPEND WA_XFC TO IT_XFC.
ENDFORM. " CREATE_FIELDCAT
*&---------------------------------------------------------------------*
*& Form CREATE_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
![Page 7: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/7.jpg)
FORM CREATE_LAYOUT .
XLAYOUT-COLWIDTH_OPTIMIZE = 'X'.
XLAYOUT-ZEBRA = 'X'.
*
* CLEAR WA_EVENT.
* WA_EVENT-NAME = 'USER_COMMAND'.
* WA_EVENT-FORM = 'USER_COMMAND_EVENT'.
* APPEND WA_EVENT TO IT_EVENT.
ENDFORM. " CREATE_LAYOUT
*&---------------------------------------------------------------------*
*& Form CREATE_REPORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CREATE_REPORT .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
![Page 8: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/8.jpg)
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND_EVENT'
I_CALLBACK_TOP_OF_PAGE = '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 =
IS_LAYOUT = XLAYOUT
IT_FIELDCAT = IT_XFC
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
IT_EVENTS = IT_EVENT
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
![Page 9: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/9.jpg)
* 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 = IT_PA0001
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. " CREATE_REPORT
*&---------------------------------------------------------------------*
![Page 10: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/10.jpg)
*& Form CREATE_XFC
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_TABLE text
* -->P_FIELD text
* -->P_TEXT text
*----------------------------------------------------------------------*
FORM CREATE_XFC USING P_TABLE P_FIELD P_TEXT P_EDIT.
CLEAR: WA_XFC.
WA_XFC-TABNAME = P_TABLE.
WA_XFC-FIELDNAME = P_FIELD.
WA_XFC-SELTEXT_L = P_TEXT.
WA_XFC-EDIT = P_EDIT.
APPEND WA_XFC TO IT_XFC.
ENDFORM. " CREATE_XFC
*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
![Page 11: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/11.jpg)
*----------------------------------------------------------------------*
FORM TOP_OF_PAGE .
DATA: IT_LIST TYPE SLIS_T_LISTHEADER,
WA_LIST TYPE SLIS_LISTHEADER.
REFRESH IT_LIST.
CLEAR IT_LIST. CLEAR WA_LIST.
WA_LIST-TYP = 'H'.
WA_LIST-KEY = 'Employee'.
WA_LIST-INFO = 'Employee Information'.
APPEND WA_LIST TO IT_LIST.
WA_LIST-TYP = 'S'.
WA_LIST-KEY = 'Date:'.
WA_LIST-INFO = SY-DATUM.
APPEND WA_LIST TO IT_LIST.
WA_LIST-TYP = 'A'.
WA_LIST-KEY = 'Name:'.
WA_LIST-INFO = SY-UNAME.
APPEND WA_LIST TO IT_LIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LIST
![Page 12: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/12.jpg)
* I_LOGO =
* I_END_OF_LIST_GRID =
* I_ALV_FORM =
.
ENDFORM. " TOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Form USER_COMMAND_EVENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM USER_COMMAND_EVENT USING R_UCOMM TYPE SY-UCOMM R_FIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
* CLEAR WA_PA0001.
* CLEAR IT_XFC.
READ TABLE IT_PA0001 INTO WA_PA0001 INDEX R_FIELD-TABINDEX.
IF WA_PA0001 IS NOT INITIAL.
SELECT PERNR SUBTY OBJPS SPRPS ENDDA BEGDA SEQNR ANSSA
NAME2 STRAS ORT01 ORT02 PSTLZ LAND1 LOCAT
FROM PA0006 INTO TABLE IT_PA0006
![Page 13: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/13.jpg)
WHERE PERNR = WA_PA0001-PERNR.
CLEAR IT_XFC.
PERFORM CREATE_XFC USING 'IT_PA0006' 'PERNR' 'Employee No.'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'ENAME' 'Employee Name'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'NAME2' 'NAME2'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'STRAS' 'STRAS'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'ORT01' 'ORT01'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'ORT02' 'ORT02'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'PSTLZ' 'PSTLZ'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'LAND1' 'LAND1'.
PERFORM CREATE_XFC USING 'IT_PA0006' 'LOCAT' 'LOCAT'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = 'USER_COMMAND_EVENT'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
![Page 14: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/14.jpg)
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = XLAYOUT
IT_FIELDCAT = IT_XFC
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_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 =
![Page 15: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/15.jpg)
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_PA0006
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.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND_EVENT
*&---------------------------------------------------------------------*
*& Form PF_STATUS
*&---------------------------------------------------------------------*
* text
![Page 16: Alv interactive ABAPreport](https://reader036.fdocuments.net/reader036/viewer/2022082915/545c8724af7959b4098b47e8/html5/thumbnails/16.jpg)
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'PF_STATUS'.
ENDFORM. " PF_STATUS