REPORT ZSACHIN2.
TYPE-POOLS: slis.
*---internal tables
DATA: BEGIN OF it_flight OCCURS 0,
SEL, " add a single character field in the final output table
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
END OF it_flight,
*--internal tables for alv
it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fcat LIKE LINE OF it_fieldcat,
layout TYPE slis_layout_alv,
it_sort type slis_t_sortinfo_alv,
wa_sort like line of it_sort.
DATA: BEGIN OF it_flight_sel OCCURS 0,
SEL,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
seatsmax LIKE sflight-seatsmax,
seatsocc LIKE sflight-seatsocc,
END OF it_flight_sel.
data: wa_flight like it_flight.
* In the layout set give the name of the field
* whose checkbox will be created ( SEL as it has 1 char only )
layout-box_fieldname = 'SEL'.
*---start-of-selection .
START-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'IT_FLIGHT'
i_inclname = sy-repid
CHANGING
ct_fieldcat = it_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2.
*----get data
SELECT carrid
connid
fldate
seatsmax
seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE it_flight
UP TO 20 ROWS.
wa_fcat-do_sum = 'X'.
MODIFY it_fieldcat FROM wa_fcat TRANSPORTING do_sum
WHERE fieldname = 'SEATSOCC' .
wa_sort-fieldname = 'CARRID'.
wa_sort-group = 'UL'.
wa_sort-up = 'X'.
APPEND wa_sort TO it_sort.
clear wa_sort.
wa_sort-fieldname = 'CONNID'.
wa_sort-subtot = 'X'.
wa_sort-up = 'X'.
APPEND wa_sort TO it_sort.
clear wa_sort.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
is_layout = layout
it_fieldcat = it_fieldcat
it_sort = it_sort
TABLES
t_outtab = it_flight
EXCEPTIONS
program_error = 1.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
* Check function code
CASE r_ucomm.
* WHEN '&IC1'.
** Check field clicked on within ALVgrid report
* IF rs_selfield-fieldname = 'EBELN'.
** Read data table, using index of row user clicked on
* READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
** Set parameter ID for transaction screen field
* SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
** Sxecute transaction ME23N, and skip initial data entry screen
* CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
* ENDIF.
WHEN '&IC1'. "'&DATA_SAVE'. "user presses SAVE
loop at it_flight into wa_flight.
if wa_flight-Sel EQ 'X'.
* collecting records in table it_flight_sel to process further
append wa_flight to it_flight_sel.
clear wa_flight.
endif.
endloop.
ENDCASE.
ENDFORM.
Click Here to Read More !!!!
ABAP,ABAP report,Interactive Report,ALV grid,ALV list,IDOC,User Exit,RFC,Smartform,sapscript,ABAP Performance,Remote Function Module( RFC ),Function Module,Modularization techniques,ABAP tools,ALV report Generator,ABAP Interview Questions,BDC,BAPI,ALE,BADI, EDI,InternalTable,DataStructure,LSMW,Domain,DataElement,Basis and Administration ,ABAP HR development,ABAP Debugger,BW,ExceptionHandling,Download FI, CO, MM, PP, SD, PM, PS, QM, SM, HR, BW, APO,ABAP Tutorial
Search on this Website
Tuesday, September 30, 2008
Abap code to add a check box for each record when a list is displayed
Example ABAP Code to colour Selected row in ALV
*&---------------------------------------------------------------------*
*& Report ZSACHIN_ALV_DEEP32
REPORT ZSACHIN_ALV_DEEP32.
TABLES: MARA.
TYPE-POOLS: SLIS.
DATA: BEGIN OF ITAB OCCURS 0,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
* create a field of 4 char to fill the color
WA_COLOR(4) TYPE C,
END OF ITAB.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
* create a field symbol to add color for the selected row
FIELD-SYMBOLS:
DATA: gd_layout type slis_layout_alv.
START-OF-SELECTION.
SELECT MATNR ERSDA ERNAM FROM MARA INTO TABLE ITAB UP TO 100 ROWS.
WA_FIELDCAT-SELTEXT_L = 'MATERIAL NUMBER'.
WA_FIELDCAT-COL_POS = '1'.
WA_FIELDCAT-TABNAME = 'MARA'.
WA_FIELDCAT-hotspot = 'X'.
WA_FIELDCAT-no_zero = 'X'.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-SELTEXT_L = 'Created On'.
WA_FIELDCAT-COL_POS = '2'.
WA_FIELDCAT-TABNAME = 'MARA'.
WA_FIELDCAT-FIELDNAME = 'ERSDA'.
WA_FIELDCAT-emphasize = 'C110'.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-SELTEXT_L = 'Name of Person'.
WA_FIELDCAT-COL_POS = '3'.
WA_FIELDCAT-TABNAME = 'MARA'.
WA_FIELDCAT-FIELDNAME = 'ERNAM'.
WA_FIELDCAT-just = 'R'.
*WA_FIELDCAT-emphasize = 'C600'.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
* loop through thetable to update the color forthe selected row
LOOP AT ITAB ASSIGNING
IF SY-TABIX = '5'.
ENDIF.
ENDLOOP.
*PERFORM GET_EVENTS.
* Give the name field in which we have filled the color code
gd_layout-info_fieldname = 'WA_COLOR'.
gd_layout-zebra = 'X'.
*GD_LAYOUT-edit = 'X'. " this will make the alv editable
" and for each record make a box on left side
GD_LAYOUT-no_vline = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
* I_CALLBACK_PF_STATUS_SET = 'ZSACHIN1111'
I_CALLBACK_USER_COMMAND = 'FRM_USR_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME = MARA etc
* I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'TITLE OF THE GRID'
* I_GRID_SETTINGS =
IS_LAYOUT = GD_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = 'A'
* IS_VARIANT = i_varient1
* 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 = ITAB
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.
*FORM SAC_LAYOUT.
*ENDFORM.
FORM FRM_USR_COMMAND USING OK_CODE TYPE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD .
CASE OK_CODE.
WHEN 'PICK'.
READ TABLE ITAB INDEX RS_SELFIELD-TABINDEX.
PERFORM CALL_TRANS USING ITAB-MATNR.
ENDCASE.
ENDFORM.
FORM CALL_TRANS USING MATNR.
SET PARAMETER ID 'MAT' FIELD MATNR. "Global memory sap memory.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDFORM.
form PFSTATUS.
*SET PF-STATUS 'ZSACHIN1111'.
ENDFORM.
FORM TOP_OF_PAGE.
WRITE: 'SACHIN THE BOND'.
ENDFORM.
Example ABAP Code to colour individual box in ALV
REPORT ZSACHIN_ALV_DEEP33.
TABLES: MARA.
TYPE-POOLS: SLIS.
DATA: BEGIN OF ITAB OCCURS 0,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
* Create a field CELL of type SLIS_T_SPECIALCOL_ALV
CELL TYPE SLIS_T_SPECIALCOL_ALV,
END OF ITAB.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
* Create a work area of type SLIS_T_SPECIALCOL_ALV
DATA: FS_CELL LIKE LINE OF ITAB-CELL.
* Create a layout
DATA: gd_layout type slis_layout_alv.
*-----------------------------------------------------------------*
* START OF SELECTION *
*-----------------------------------------------------------------*
START-OF-SELECTION.
SELECT MATNR
ERSDA
ERNAM
FROM MARA
INTO CORRESPONDING FIELDS OF
TABLE ITAB UP TO 100 ROWS.
*-----------------------------------------------------------------*
* Creating field catalog *
*-----------------------------------------------------------------*
WA_FIELDCAT-SELTEXT_L = 'MATERIAL NUMBER'.
WA_FIELDCAT-COL_POS = '1'.
WA_FIELDCAT-TABNAME = 'MARA'.
WA_FIELDCAT-hotspot = 'X'.
WA_FIELDCAT-no_zero = 'X'.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-SELTEXT_L = 'Created On'.
WA_FIELDCAT-COL_POS = '2'.
WA_FIELDCAT-TABNAME = 'MARA'.
WA_FIELDCAT-FIELDNAME = 'ERSDA'.
WA_FIELDCAT-emphasize = 'C611'.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-SELTEXT_L = 'Name of Person'.
WA_FIELDCAT-COL_POS = '3'.
WA_FIELDCAT-TABNAME = 'MARA'.
WA_FIELDCAT-FIELDNAME = 'ERNAM'.
WA_FIELDCAT-just = 'R'.
*WA_FIELDCAT-emphasize = 'C600'.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
* Fill the workarea with the field to be colored,
* the color to be appeared
* and give NOKEYCOL = 'X'.
FS_CELL-FIELDNAME = 'ERSDA'.
FS_CELL-COLOR-COL = 3.
FS_CELL-NOKEYCOL = 'X'.
APPEND FS_CELL TO ITAB-CELL.
* To the specific row modify the contents of the CELL
MODIFY ITAB INDEX 8 TRANSPORTING CELL.
*PERFORM GET_EVENTS.
gd_layout-info_fieldname = 'WA_COLOR'.
gd_layout-zebra = 'X'.
* Give the name field in which we have filled the color code
gd_LAYOUT-COLTAB_FIELDNAME = 'CELL'.
*GD_LAYOUT-edit = 'X'. " this will make the alv editable
" and for each record make a box on left side
GD_LAYOUT-no_vline = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = 'X'
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
* I_CALLBACK_PF_STATUS_SET = 'ZSACHIN1111'
I_CALLBACK_USER_COMMAND = 'FRM_USR_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME = MARA etc
* I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'TITLE OF THE GRID'
* I_GRID_SETTINGS =
IS_LAYOUT = GD_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = 'A'
* IS_VARIANT = i_varient1
* 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 = ITAB
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.
*FORM SAC_LAYOUT.
*ENDFORM.
FORM FRM_USR_COMMAND USING OK_CODE TYPE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD .
CASE OK_CODE.
WHEN 'PICK'.
READ TABLE ITAB INDEX RS_SELFIELD-TABINDEX.
PERFORM CALL_TRANS USING ITAB-MATNR.
ENDCASE.
ENDFORM.
FORM CALL_TRANS USING MATNR.
SET PARAMETER ID 'MAT' FIELD MATNR. "Global memory sap memory.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDFORM.
form PFSTATUS.
*SET PF-STATUS 'ZSACHIN1111'.
ENDFORM.
FORM TOP_OF_PAGE.
WRITE: 'SACHIN THE BOND'.
ENDFORM.
Click Here to Read More !!!!
How to put Logo or photo in ALV Report
Logo should be uploaded into application server using transaction 'OAER'.
1. Go to Transaction OAER,
2. Give Class Name as PICTURES
3. Class type as OT
4. Object Key is the name you want to search or you want to upload.
5. Then select the Document from below after double click on it .Choose in screen for logos.
6. Upon execution you would be prompted to give the file path details. Just upload which ever logo u want to display
7. Now you can use the same name in your ALV FM.
In your ALV program, you need to have event for TOP_OF_PAGE, and also this works only in case of Grid not in ALV LIST.
Look at the sample code to display LOGO.
**********************
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = i_repid
it_fieldcat = header
is_layout = gt_layout
i_callback_top_of_page = 'TOP-OF-PAGE1'
i_grid_title = xyz
it_sort = gt_sort[]
i_default = 'X'
i_save = 'U'
is_variant = gt_variant
it_events = gt_events
tables
t_outtab = t_output.
*****************
*-------------------------------------------------------------------*
* Form TOP-OF-PAGE1
*-------------------------------------------------------------------*
form top-of-page1.
data: header type slis_t_listheader,
wa type slis_listheader.
* TITLE AREA
wa-typ = 'S'.
wa-info = text-h04.
append wa to header.
wa-typ = 'S'.
write sy-datum to wa-info mm/dd/yyyy.
concatenate text-h03 wa-info into wa-info separated by space.
append wa to header.
wa-typ = 'S'.
concatenate text-h02 sy-uname into wa-info separated by space.
append wa to header.
wa-typ = 'S'.
concatenate text-h01 sy-repid into wa-info separated by space.
append wa to header.
********" LOGO
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = header
i_logo = 'ENJOYSAP_LOGO'.
*********" LOGO
endform.
Here in TOP-OF-PAGE form it will show you the Prog name,Date, User Name
Click Here to Read More !!!!
Thursday, September 4, 2008
SELECTING THE VARIANTS FOR INITIAL ALV LIST DISPLAY
The variants in the list display can be both user-specific and general. The user can programmatically set the initial (default) variant for list display.
The default variant can be found using the function module 'REUSE_ALV_VARIANT_DEFAULT_GET'.
Sample code:
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = variant save condition (A=all, U = user-specific)
CHANGING
cs_variant = internal table containing the program name (and the default variant---optional)
EXCEPTIONS
not_found = 2.
The user can also choose from the list of existing variants using the function module ‘REUSE_ALV_VARIANT_F4’.
Example:
Initialization.
v_repid = sy-repid.
* Display default variant
PERFORM SUB_VARIANT_INIT.
AT SELECTION-SCREEN ON P_VAR.
* Once the user has entered variant, check about its existence
PERFORM SUB_CHECK_PVAR.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VAR.
* Display a list of various variants of the report when the User presses F4 key in the variant field
PERFORM SUB_VARIANT_F4.
*&---------------------------------------------------------------------*
*& Form SUB_VARIANT_INIT
*&---------------------------------------------------------------------*
* Display default variant
*&---------------------------------------------------------------------*
Form SUB_VARIANT_INIT.
I_VARIANT1-REPORT = SY-REPID.
* Search default variant for the report
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = 'A'
CHANGING
cs_variant = i_variant1
EXCEPTIONS
not_found = 2.
* If default variant is found, use it as default.
* Else, use the variant LAYOUT1.
IF sy-subrc = 0.
p_var = i_variant1-variant.
ELSE.
p_var = 'LAYOUT1'.
ENDIF.
endform. “SUB_VARIANT_INIT
*&---------------------------------------------------------------------------------*
*& Form SUB_CHECK_PVAR
*&---------------------------------------------------------------------------------*
* Once the user has entered variant, check about its existence
*&---------------------------------------------------------------------------------*
FORM SUB_CHECK_PVAR.
* If the name of the variable is not blank, check about its existence
if not p_var is initial.
clear i_variant.
i_variant-report = sy-repid.
i_variant-variant = p_var.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = 'A'
CHANGING
CS_VARIANT = I_VARIANT.
* If no such variant found, flash error message
If sy-subrc ne 0 .
Message e398(00) with 'No such variant exists'.
Else.
* If variant exists, use the variant name to populate structure
* I_VARIANT1 which will be used for export parameter: IS_VARIANT
* in the function module : REUSE_ALV_GRID_DISPLAY
Clear i_variant1.
Move p_var to i_variant1-variant.
Move sy-repid to i_variant1-report.
endif.
Else.
Clear i_variant.
endif.
ENDFORM. “SUB_CHECK_PVAR
*&---------------------------------------------------------------------------------*
*& Form SUB_VARIANT_F4
*&---------------------------------------------------------------------------------*
* Display a list of various variants of the report when the User presses F4 key in the variant field
*&---------------------------------------------------------------------------------*
Form SUB_VARIANT_F4.
i_variant-report = sy-repid.
* Utilizing the name of the report, this function module will search for a list of
* variants and will fetch the selected one into the parameter field for variants
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = I_VARIANT
I_SAVE = 'A'
I_DISPLAY_VIA_GRID = 'X'
IMPORTING
ES_VARIANT = I_VARIANT1
EXCEPTIONS
NOT_FOUND = 1
PROGRAM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC = 0.
P_VAR = I_VARIANT1-VARIANT.
ENDIF.
endform. “SUB_VARIANT_F4
Click Here to Read More !!!!
Thursday, May 31, 2007
Understand ALV report ( Just Copy and paste )
Copy All file in your SE38 Editor and Run Report ZSDCX_DEA_ADVANCE_NOTICE_CHK
DownLoad File http://www.savefile.com/files/767894
Click Here to Read More !!!!
Thursday, April 26, 2007
Multiple ALV list on same page
Suppose we want to make three ALV block on a Page :
Creating Block one by one --
*&---------------------------------------------------------------------*
*& Form create_first_block
*&---------------------------------------------------------------------*
* Creating First BLock
*----------------------------------------------------------------------*
form create_first_block .
*Block 1:
*INITIALIZE
REFRESH t_field. CLEAR t_field.
REFRESH t_events.
PERFORM fill_fieldcatlog.
*--build table for events.
x_events-form = 'TOP_OF_LIST1'.
x_events-name = slis_ev_top_of_list.
APPEND x_events TO t_events.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = x_layout
it_fieldcat = t_field
i_tabname = 'T_VBAP'
it_events = t_events
* it_sort = t_sort
TABLES
t_outtab = t_vbap1
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
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_first_block
*&---------------------------------------------------------------------*
*& Form create_second_block
*&---------------------------------------------------------------------*
* Creating Second Block
*----------------------------------------------------------------------*
form create_second_block .
*--BLOCK 2(SUMMARY REPORT)
*INITIALIZE
* REFRESH t_field. CLEAR t_field.
REFRESH t_events.
*--build table for events.
x_events-form = 'TOP_OF_LIST2'.
x_events-name = slis_ev_top_of_list.
APPEND x_events TO t_events.
* Append table block.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = x_layout
it_fieldcat = t_field
i_tabname = 'T_VBAP'
it_events = t_events
TABLES
t_outtab = t_vbap2
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
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_second_block
*&---------------------------------------------------------------------*
*& Form create_third_block
*&---------------------------------------------------------------------*
* creating Third Block
*----------------------------------------------------------------------*
form create_third_block .
*****Block3
*--BLOCK 3(SUMMARY REPORT)
*INITIALIZE
* REFRESH t_field. CLEAR t_field.
REFRESH t_events.
*--build table for events.
x_events-form = 'TOP_OF_LIST3'.
x_events-name = slis_ev_top_of_list.
APPEND x_events TO t_events.
* Append table block.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = x_layout
it_fieldcat = t_field
i_tabname = 'T_VBAP'
it_events = t_events
TABLES
t_outtab = t_vbap3
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
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_third_block
Click Here to Read More !!!!