REPORT ZALV_USING_OOPS.
TABLES : VBAK.
INCLUDE ZALV_TOP.
INCLUDE ZALV_SEL.
INCLUDE ZALV_IMP.
START-OF-SELECTION.
PERFORM FETCH_DATA USING S_VBELN[] CHANGING IT_VBAK.
PERFORM FILE_FCODE.
CALL SCREEN 9000.
*&---------------------------------------------------------------------*
*& Include ZALV_TOP
*&---------------------------------------------------------------------*
TYPES : BEGIN OF TY_VBAK,
VBELN TYPE VBELN_VA, "Sales Document
ERDAT TYPE ERDAT, "Date on Which Record Was Created
ERZET TYPE ERZET, "Entry time
END OF TY_VBAK.
DATA : IT_VBAK TYPE TABLE OF TY_VBAK,
WA_VBAK TYPE TY_VBAK.
DATA : IT_FCAT TYPE LVC_T_FCAT,
WA_FCAT TYPE LVC_S_FCAT,
IT_EXCLUDE TYPE UI_FUNCTIONS,
WA_EXCLUDE TYPE UI_FUNC,
WA_LAYOUT TYPE LVC_S_LAYO.
DATA : RS1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
RG1 TYPE REF TO CL_GUI_ALV_GRID.
DATA : LVPOS TYPE I.
*& Include ZALV_TOP
*&---------------------------------------------------------------------*
TYPES : BEGIN OF TY_VBAK,
VBELN TYPE VBELN_VA, "Sales Document
ERDAT TYPE ERDAT, "Date on Which Record Was Created
ERZET TYPE ERZET, "Entry time
END OF TY_VBAK.
DATA : IT_VBAK TYPE TABLE OF TY_VBAK,
WA_VBAK TYPE TY_VBAK.
DATA : IT_FCAT TYPE LVC_T_FCAT,
WA_FCAT TYPE LVC_S_FCAT,
IT_EXCLUDE TYPE UI_FUNCTIONS,
WA_EXCLUDE TYPE UI_FUNC,
WA_LAYOUT TYPE LVC_S_LAYO.
DATA : RS1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
RG1 TYPE REF TO CL_GUI_ALV_GRID.
DATA : LVPOS TYPE I.
*&---------------------------------------------------------------------*
*& Include ZALV_SEL
*&---------------------------------------------------------------------*
SELECT-OPTIONS : S_VBELN FOR VBAK-VBELN.
*& Include ZALV_SEL
*&---------------------------------------------------------------------*
SELECT-OPTIONS : S_VBELN FOR VBAK-VBELN.
*&---------------------------------------------------------------------*
*& Include ZALV_IMP
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FETCH_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_S_VBELN[] text
* <--P_IT_VBAK text
*----------------------------------------------------------------------*
FORM FETCH_DATA USING P_S_VBELN LIKE S_VBELN[]
CHANGING P_IT_VBAK LIKE IT_VBAK.
SELECT
VBELN
ERDAT
ERZET
FROM VBAK INTO TABLE IT_VBAK
WHERE VBELN IN S_VBELN.
LVPOS = LVPOS + 1.
WA_FCAT-COL_POS = LVPOS.
WA_FCAT-FIELDNAME = 'VBELN'.
WA_FCAT-COLTEXT = 'Sales Document'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
LVPOS = LVPOS + 1.
WA_FCAT-COL_POS = LVPOS.
WA_FCAT-FIELDNAME = 'ERDAT'.
WA_FCAT-COLTEXT = 'Date on Created'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
LVPOS = LVPOS + 1.
WA_FCAT-COL_POS = LVPOS.
WA_FCAT-FIELDNAME = 'ERZET'.
WA_FCAT-COLTEXT = 'Entry time'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILE_FCODE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FILE_FCODE .
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SUM.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = cl_gui_alv_grid=>MC_FC_LOC_INSERT_ROW.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_ASC.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_GRAPH.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEWS.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_DSC.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DETAIL.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_INFO.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
***FUNCTION CODE FOR FILTER ICON
**WA_EXCLUDING-FCODE = '@ILT'.
**APPEND WA_EXCLUDING TO IT_EXCLUDING.
**CLEAR WA_EXCLUDE.
ENDFORM.
*&---------------------------------------------------------------------*
*& Module STATUS_9000 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS 'PFSTATUS9000'.
SET TITLEBAR 'TITLE9000'.
* CREATION OF 1ST OBJ
CREATE OBJECT RS1
EXPORTING
* PARENT =
CONTAINER_NAME = 'CONT' "IT IS GIVEN IN SCREEN FOR CONTAINER
* STYLE =
* LIFETIME = lifetime_default
* REPID =
* DYNNR =
* NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*CREATE 2ND OBJECT
CREATE OBJECT RG1
EXPORTING
* I_SHELLSTYLE = 0
* I_LIFETIME =
I_PARENT = RS1
* I_APPL_EVENTS = space
* I_PARENTDBG =
* I_APPLOGPARENT =
* I_GRAPHICSPARENT =
* I_NAME =
* I_FCAT_COMPLETE = SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WA_LAYOUT-GRID_TITLE = 'CONTROLLING DATA'.
WA_LAYOUT-ZEBRA = 'X'.
* WA_LAYOUT-NO_TOOLBAR = 'X'.
WA_LAYOUT-CWIDTH_OPT = 'X'.
CALL METHOD RG1->SET_TABLE_FOR_FIRST_DISPLAY "call standard method for output
EXPORTING
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
* I_CONSISTENCY_CHECK =
* I_STRUCTURE_NAME =
* IS_VARIANT =
* I_SAVE =
* I_DEFAULT = 'X'
IS_LAYOUT = WA_LAYOUT
* IS_PRINT =
* IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING = IT_EXCLUDE
* IT_HYPERLINK =
* IT_ALV_GRAPHICS =
* IT_EXCEPT_QINFO =
* IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = IT_VBAK
IT_FIELDCATALOG = IT_FCAT
* IT_SORT =
* IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9000 INPUT.
* IF SY-UCOMM = 'BACK'.
* LEAVE PROGRAM.
* ENDIF.
CASE SY-UCOMM .
WHEN 'EXIT' .
LEAVE PROGRAM.
WHEN 'BACK' OR 'CANCEL'.
LEAVE PROGRAM.
WHEN 'SAVE'.
MESSAGE 'PROGRAM WAS SAVED' TYPE 'I'.
ENDCASE.
ENDMODULE.
*& Include ZALV_IMP
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FETCH_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_S_VBELN[] text
* <--P_IT_VBAK text
*----------------------------------------------------------------------*
FORM FETCH_DATA USING P_S_VBELN LIKE S_VBELN[]
CHANGING P_IT_VBAK LIKE IT_VBAK.
SELECT
VBELN
ERDAT
ERZET
FROM VBAK INTO TABLE IT_VBAK
WHERE VBELN IN S_VBELN.
LVPOS = LVPOS + 1.
WA_FCAT-COL_POS = LVPOS.
WA_FCAT-FIELDNAME = 'VBELN'.
WA_FCAT-COLTEXT = 'Sales Document'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
LVPOS = LVPOS + 1.
WA_FCAT-COL_POS = LVPOS.
WA_FCAT-FIELDNAME = 'ERDAT'.
WA_FCAT-COLTEXT = 'Date on Created'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
LVPOS = LVPOS + 1.
WA_FCAT-COL_POS = LVPOS.
WA_FCAT-FIELDNAME = 'ERZET'.
WA_FCAT-COLTEXT = 'Entry time'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FILE_FCODE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FILE_FCODE .
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SUM.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = cl_gui_alv_grid=>MC_FC_LOC_INSERT_ROW.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_ASC.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_GRAPH.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_VIEWS.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_SORT_DSC.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_DETAIL.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
WA_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_INFO.
APPEND WA_EXCLUDE TO IT_EXCLUDE.
CLEAR WA_EXCLUDE.
***FUNCTION CODE FOR FILTER ICON
**WA_EXCLUDING-FCODE = '@ILT'.
**APPEND WA_EXCLUDING TO IT_EXCLUDING.
**CLEAR WA_EXCLUDE.
ENDFORM.
*&---------------------------------------------------------------------*
*& Module STATUS_9000 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS 'PFSTATUS9000'.
SET TITLEBAR 'TITLE9000'.
* CREATION OF 1ST OBJ
CREATE OBJECT RS1
EXPORTING
* PARENT =
CONTAINER_NAME = 'CONT' "IT IS GIVEN IN SCREEN FOR CONTAINER
* STYLE =
* LIFETIME = lifetime_default
* REPID =
* DYNNR =
* NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*CREATE 2ND OBJECT
CREATE OBJECT RG1
EXPORTING
* I_SHELLSTYLE = 0
* I_LIFETIME =
I_PARENT = RS1
* I_APPL_EVENTS = space
* I_PARENTDBG =
* I_APPLOGPARENT =
* I_GRAPHICSPARENT =
* I_NAME =
* I_FCAT_COMPLETE = SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WA_LAYOUT-GRID_TITLE = 'CONTROLLING DATA'.
WA_LAYOUT-ZEBRA = 'X'.
* WA_LAYOUT-NO_TOOLBAR = 'X'.
WA_LAYOUT-CWIDTH_OPT = 'X'.
CALL METHOD RG1->SET_TABLE_FOR_FIRST_DISPLAY "call standard method for output
EXPORTING
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
* I_CONSISTENCY_CHECK =
* I_STRUCTURE_NAME =
* IS_VARIANT =
* I_SAVE =
* I_DEFAULT = 'X'
IS_LAYOUT = WA_LAYOUT
* IS_PRINT =
* IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING = IT_EXCLUDE
* IT_HYPERLINK =
* IT_ALV_GRAPHICS =
* IT_EXCEPT_QINFO =
* IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = IT_VBAK
IT_FIELDCATALOG = IT_FCAT
* IT_SORT =
* IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9000 INPUT.
* IF SY-UCOMM = 'BACK'.
* LEAVE PROGRAM.
* ENDIF.
CASE SY-UCOMM .
WHEN 'EXIT' .
LEAVE PROGRAM.
WHEN 'BACK' OR 'CANCEL'.
LEAVE PROGRAM.
WHEN 'SAVE'.
MESSAGE 'PROGRAM WAS SAVED' TYPE 'I'.
ENDCASE.
ENDMODULE.
INPUT SCREEN:
OUTPUT:
No comments:
Post a Comment