How to Create ALV Interactive Report Using OOABAP Tutorial, welcome to SAP ABAP Interview Questions.
Creating ALV Interactive Report Using OOABAP
Let's find the tutorial on creating ALV interactive report by using object oriented advanced business applications programming source code.
OOABAP Tutorial How to Create ALV Interactive Report
Here in this post sapabapiq.com, presenting a ALV report program on how to create ALV Interactive Report using Object Oriented ABAP programming language. Just copy this below code and paste it in ABAP Editor, and debug the source code to understand functionality of this ABAP report clearly.
OOABAP ALV Interactive Report Source Code:
TYPES:
BEGIN OF TW_XRESULT, TEXT TYPE ZSDTYPE, VBELN TYPE VBELN, ERNAM TYPE ERNAM, PERSRB TYPE ZPERS_RESP, ERDAT TYPE ERDAT, VKORG TYPE VKORG, VTWEG TYPE VTWEG, SPART TYPE SPART, VKBUR TYPE VKBUR, VKGRP TYPE VKGRP, VBTYP TYPE VBTYP, FEHLER TYPE ZNUMBER, NETWR TYPE NETWR_AK, UVALL TYPE UVALL, UVVLK TYPE UVVLK, UVFAK TYPE UVFAK, UVPRS TYPE UVPRS, T_COLOR TYPE LVC_T_SCOL, "For row color END OF TW_XRESULT .
TYPES:
TT_RESULT TYPE STANDARD TABLE OF TW_XRESULT .
2. REGISTER THE EVENTS FOR WHICH YOU NEED TO ACT UPON.
METHOD ALV_SET_EVENTS.
DATA: LR_EVENTS TYPE REF TO CL_SALV_EVENTS_TABLE. LR_EVENTS = MCN_ALV-> GET_EVENT().
*- Register the event Double click SET HANDLER ME->MT_ON_DOUBLE_CLICK FOR LR_EVENTS.
*- Register the event User command SET HANDLER ME->MT_ON_USER_COMMAND FOR LR_EVENTS.ENDMETHOD. "ALV_SET_EVENTS
*3. ONCE THE REQUIRED DATA IS FETCHED INTO THE INTERNAL TABLE (SAY, INTO INTERNAL TABLE MT_RESULT), WE USE THE FOLLOWING CODE, TO DISPLAY THE RECORDS WITH PROVISION TO SELECT MULTIPLE RECORDS (THROUGH THE SELECTION PUSHBUTTON ON THE LEFT FOR EACH RECORD)METHOD ALV_SHOW . DATA : LR_SELECTIONS TYPE REF TO CL_SALV_SELECTIONS. FIELD-SYMBOLS: <FS_DATA> TYPE STANDARD TABLE.
*- Show ALV on the screen ASSIGN ME->MN_DATA->* TO <FS_DATA>. CHECK <FS_DATA> IS ASSIGNED. TRY. CL_SALV_TABLE=>FACTORY( EXPORTING LIST_DISPLAY = ABAP_FALSE IMPORTING R_SALV_TABLE = MCN_ALV CHANGING T_TABLE = <FS_DATA> ). CATCH CX_SALV_MSG INTO MCN_ALV_EXCEPTION. MESSAGE MCN_ALV_EXCEPTION TYPE 'E'. EXIT. ENDTRY.
ME->ALV_SET_FUNCTIONS( ). ME->ALV_SET_COLUMNS( ). ME->ALV_SET_LAYOUT( MF_VARIANTNAME ). ME->ALV_SET_EVENTS( ). ME->ALV_SET_HEADERS( ).
CALL METHOD ALV_MODIFY_SETTINGS( ). LR_SELECTIONS = MCN_ALV->GET_SELECTIONS( ). LT_ROWS = LR_SELECTIONS->GET_SELECTED_ROWS(). " This will get the selected record numbers, in lt_rows.
*- Set selection mode
LR_SELECTIONS->SET_SELECTION_MODE( IF_SALV_C_SELECTION_MODE=>ROW_COLUMN ). MCN_ALV->SET_SCREEN_STATUS( PFSTATUS = 'ZREPINCOMP' REPORT = MF_REPID SET_FUNCTIONS = MCN_ALV->C_FUNCTIONS_ALL ). MCN_ALV->DISPLAY( ).ENDMETHOD. "ALV_SET_EVENTS
*4. WITH THE ABOVE CODE, YOU WILL BE ABLE TO SELECT MULTIPLE RECORDS, AND THEN THE FOLLOWING CODE WILL PROCESS THE SELECTED RECORDS, AND SET A COLOR FOR THE PROCESSED RECORDS.DATA: LW_ROW TYPE I, LT_COLOR TYPE LVC_T_SCOL , LS_COLOR TYPE LVC_S_SCOL .FIELD-SYMBOLS: <FS_RESULT> TYPE TW_XRESULT. "#EC NEEDEDLOOP AT LT_ROWS INTO LW_ROW. READ TABLE MT_RESULT ASSIGNING <FS_RESULT> INDEX LW_ROW. IF SY_SUBRC EQ 0.
* <CODE FOR PROCESSING YOUR SELECTED RECORD>
*- For setting the color to the record
CLEAR LT_COLOR. CLEAR LS_COLOR. LS_COLOR-COLOR-COL = CO_COLOR. LS_COLOR-COLOR-INT = 0. LS_COLOR-COLOR-INV = 0. APPEND LS_COLOR TO LT_COLOR. <FS_RESULT>-T_COLOR = LT_COLOR. ENDIF.ENDLOOP.
"You found the information helpful and want to say thanks? Your donation is enough to inspire us to do more. Thanks a bunch!"
Posted in:
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.