Abstract

:
What if you could reformat a standard ABAP list as easily as a Microsoft Excel spreadsheet? Many R/3 users are not aware that the report development using ABAP List Viewer(ALV), which comes standard with R/3(since version 4.5X), lets you come very close to doing just that. Unlike a standard ABAP list, ALV provides the end-user the flexibility to individually customize the data output. Many traditional developers are under the impression that ALV is a complicated and difficult tool to understand and use until they started using. It really saves lot of time and system resources. This document is intended for the users who want to quickly convert ABAP lists to ALV format. A template was provided as a part of this paper which can be used to considerably reduce the amount of time to less than 30 minutes to convert each ABAP list to ALV format. However there are some restrictions that are outlined in this paper. Using this template, you can also run ALV reports in the background unlike the standard examples provided by SAP with the only exception that you will not have all ALV features like sorting are available from spool.

About the author
Kasi Murthy is a senior ABAP consultant working with Tata Consultancy Services (TCS), India. Kasi has over 8 years of SAP R/3 experience specializing in ABAP development. Kasi has spent last 5 years managing SAP R/3 offshore onsite development projects successfully. He can be reached at kasi.murthy@tcs.com for any clarifications about this white paper.

What does ALV do for you?
ALV Grid Control is SAP’s graphical list-viewing tool and is similar in look and feel to Microsoft Excel. ALV’s broad functionality lets you emphasize, hide, and reformat list items; add graphic elements; and generally make any ABAP list display a more powerful communications tool. ALV functionality lets users: Apply typical list functions like summing, sorting and filtering without extra programming effort. Add response to user action by clicking on display line Define and save custom output settings both at user level and global level. Export list to other applications like excel. Create totals and sub-totals without additional programming effort. Create and share output templates. SAP provides a set of ALV function modules that can be used to output a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options. The standard system provides functions that allow the user to sort, filter, and sum data in tables. Depending on the application, the ALV Grid Control includes additional application-specific functions and hides functions available in the standard system. The SAP List Viewer (ALV) standardizes the use of lists in the SAP System.

The commonly used ALV functions used for this purpose are; 1. REUSE_ALV_VARIANT_DEFAULT_GET 2. REUSE_ALV_VARIANT_F4 3. REUSE_ALV_VARIANT_EXISTENCE 4. REUSE_ALV_EVENTS_GET 5. REUSE_ALV_COMMENTARY_WRITE 6. REUSE_ALV_FIELDCATALOG_MERGE 7. REUSE_ALV_LIST_DISPLAY 8. REUSE_ALV_GRID_DISPLAY 9. REUSE_ALV_POPUP_TO_SELECT

How you call this function in your report?
After completion of all the data fetching from the database and append this data into an Internal Table. Say I_ITAB. Then use following function module.

one for each group. see development class SLIS. look at transaction LIBS and reuse library transaction SE83. TIPS: For a description of some examples about ALV components. Below you can find guidelines for implementing hierarchical-sequential lists. ENDFORM. For practical examples of the ALV Grid Control. . WRITE: 'SY-SUBRC: '. Only Single-line and multiple-line lists should be replaced by ALV. " GET_FINAL_DATA Restrictions of using ALV: Not all existing lists can be replaced by ALV components. keep in mind the above constraints and check whether you list type can be built by ALV. But keep in mind that there is an alternative solution to this presentation problem: You may also split the list into several simple lists. Note: Matrices could not be replaced by ALV. Hierarchical-sequential lists could be replaced by ALV lists but recommended to check if it can be presented in multiple linear lists which will follow one below the other or are distributed onto several screens. Hierarchical-sequential lists could be replaced by ALV lists. which will follow one below the other or are distributed onto several screens (a tab strip come in handy). The SAP program BALVBT01 provides an example of displaying multiple ALV LIST reports on one page Single-line and multiple-line lists can be replaced by ALV. So.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = 'PROGRAM NAME' I_STRUCTURE_NAME = 'I_ITAB' I_DEFAULT = 'X' I_SAVE = 'A' TABLES T_OUTTAB = I_ITAB. ENDIF. IF SY-SUBRC <> 0. SY-SUBRC . But check first whether you can present your data by a linear list type.

vstel LIKE vbrp-vstel.Template Program: Below given template program can be used to convert existing lists to ALV format. meins LIKE vbrp-meins. fkimg LIKE vbrp-fkimg. *-------------------------------* Global Internal Tables *-------------------------------DATA: i_fieldcat_alv TYPE slis_t_fieldcat_alv. * Display data * This is the internal table which will be passed on to ALV function module to display data. i_list_comments TYPE slis_t_listheader. REPORT ZSROP200 NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 65 MESSAGE-ID zi. i_events TYPE slis_t_event. i_event_exit TYPE slis_t_event_exit. ONLY PORTIONS OF THE CODE HIGHLIGHTED IN BLUE need to be replaced with your requirements. i_excluding TYPE slis_t_extab. DATA: BEGIN OF i_data OCCURS 0. matnr LIKE vbrp-matnr. . Copy the program into ABAP editor and change as per your requirement. *-------------------------------* Global Types *-------------------------------TYPE-POOLS: slis. Replace this with your internal table. *----------------------------------------------------------------------* *----------------------------------------------------------------------* TABLES: vbrp. Please see my comments in BLUE in the logic. matkl LIKE vbrp-matkl. "Billing document posnr LIKE vbrp-posnr. werks LIKE vbrp-werks. arktx LIKE vbrp-arktx. This program is a sample program which will display invoice line item details when you provide billing document numbers. vbeln LIKE vbrp-vbeln.

kvgr3 LIKE vbrp-kvgr3. vkbur LIKE vbrp-vkbur. prsdt LIKE vbrp-prsdt. w_events LIKE LINE OF i_events. w_print TYPE slis_print_alv. oic_truckn LIKE vbrp-oic_truckn. kvgr4 LIKE vbrp-kvgr4. vgbel LIKE vbrp-vgbel. fbuda LIKE vbrp-fbuda. aubel LIKE vbrp-aubel. *-------------------------------* Global Variables *-------------------------------DATA: w_variant LIKE disvariant. w_layout TYPE slis_layout_alv. DATA: END OF ivbrp. w_html_top_of_page TYPE slis_formname. vbelv LIKE vbrp-vbelv. mvgr2 LIKE vbrp-mvgr2. oid_extbol LIKE vbrp-oid_extbol. w_callback_ucomm TYPE slis_formname. w_repid LIKE sy-repid. kzwi1 LIKE vbrp-kzwi1. . INCLUDE STRUCTURE vbrp. w_variant_save(1) TYPE c. ktgrm LIKE vbrp-ktgrm. w_exit(1) TYPE c. w_fieldcat_alv LIKE LINE OF i_fieldcat_alv. kvgr2 LIKE vbrp-kvgr2. oic_mot LIKE vbrp-oic_mot. wx_variant LIKE disvariant. w_user_specific(1) TYPE c. w_excluding LIKE LINE OF i_excluding. *Internal table for data selection specific to this program. END OF i_data. txjcd LIKE vbrp-txjcd. oic_ptrip LIKE vbrp-oic_ptrip. DATA: BEGIN OF ivbrp OCCURS 0. vkgrp LIKE vbrp-vkgrp.lgort LIKE vbrp-lgort. oignrule LIKE vbrp-oignrule. kondm LIKE vbrp-kondm.

SELECTION-SCREEN COMMENT (17) text-pe2 . SELECT-OPTIONS: s_vbeln FOR vbrp-vbeln. w_list_comments LIKE LINE OF i_list_comments. PARAMETERS p_grid RADIOBUTTON GROUP rb01 DEFAULT 'X'. SELECTION-SCREEN SKIP.w_event_exit LIKE LINE OF i_event_exit. DATA: time(8) TYPE c. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN END OF BLOCK selection1. SELECTION-SCREEN COMMENT (31) text-pe1 FOR FIELD p_grid . SELECTION-SCREEN BEGIN OF BLOCK blk_params WITH FRAME TITLE textf03. DATA: erdat(10) TYPE c. *-------------------------------* Global Constants *-------------------------------*constants: *-------------------------------* Selection Screen – replace selection screen in BLUE per your requirement *-------------------------------SELECTION-SCREEN BEGIN OF BLOCK selection WITH FRAME TITLE text-f01. SELECTION-SCREEN POSITION 40. PARAMETERS: p_vari LIKE disvariant-variant. DATA: counter TYPE i. SELECTION-SCREEN SKIP 1. SELECTION-SCREEN BEGIN OF BLOCK selection1 WITH FRAME TITLE text-f02. SELECTION-SCREEN END OF BLOCK selection.

PERFORM variant_f4 USING p_vari. SELECTION-SCREEN END OF BLOCK blk_params. PERFORM variant_default USING p_vari. *-------------------------------* Initialization *-------------------------------INITIALIZATION. *---------------------------------* At Selection Screen Value Request *---------------------------------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari. PERFORM event_exit_build. PERFORM get_data. PERFORM event_build. END-OF-SELECTION. PERFORM variant_fill.FOR FIELD p_html . PARAMETERS: p_list RADIOBUTTON GROUP rb01. SELECTION-SCREEN SKIP 1. SELECTION-SCREEN END OF LINE. PERFORM fieldcat_build. *-------------------------------* At Selection Screen PBO *-------------------------------AT SELECTION-SCREEN OUTPUT. PARAMETERS p_html AS CHECKBOX DEFAULT 'X'. *-------------------------------* Start of Selection *-------------------------------START-OF-SELECTION. . PERFORM init_variant. *-------------------------------* At Selection Screen *-------------------------------AT SELECTION-SCREEN.

*-------------------------------* Top of Page During Line Sel *-------------------------------TOP-OF-PAGE DURING LINE-SELECTION. *-------------------------------* At User Command *-------------------------------*AT USER-COMMAND. END-OF-DEFINITION. *-------------------------------* Macros *-------------------------------DEFINE skip_1.PERFORM exclude_build. PERFORM layout_build. PERFORM display_data. at sy-linsz sy-vline. CALL FUNCTION 'LVC_VARIANT_F4' EXPORTING is_variant = w_variant i_save = w_variant_save IMPORTING e_exit = w_exit . write: /001 sy-vline. *-------------------------------* Top of Page *-------------------------------TOP-OF-PAGE. *-------------------------------* At Line Selection *-------------------------------*AT LINE-SELECTION. PERFORM print_build. *---------------------------------------------------------------------* Forms *---------------------------------------------------------------------*&---------------------------------------------------------------------* *& Form variant_f4 *&---------------------------------------------------------------------* FORM variant_f4 USING p_variant.

CLEAR: w_variant. w_variant-variant = wx_variant-variant. CALL FUNCTION 'LVC_VARIANT_DEFAULT_GET' EXPORTING i_save = w_variant_save CHANGING cs_variant = wx_variant EXCEPTIONS wrong_input = 1 . wx_variant-variant = p_variant. *&---------------------------------------------------------------------* *& Form variant_default *&---------------------------------------------------------------------* FORM variant_default USING p_variant. ENDIF. wx_variant = w_variant. ENDIF. "All types ENDFORM. *&---------------------------------------------------------------------* *& Form init_variant *&---------------------------------------------------------------------* FORM init_variant. IF w_exit IS INITIAL. ENDIF. w_repid = sy-repid. w_variant-report = w_repid. IF sy-subrc <> 0.es_variant = wx_variant EXCEPTIONS not_found = 1 program_error = 2 OTHERS = 3. p_variant = wx_variant-variant. w_variant_save = 'A'. MESSAGE i000(zz) WITH text-g01. ENDFORM. w_variant-username = sy-uname. IF NOT p_variant IS INITIAL.

not_found = 2 program_error = 3 OTHERS = 4. IF sy-subrc NE 0. *&---------------------------------------------------------------------* *& Form fieldcat_build *&---------------------------------------------------------------------* FORM fieldcat_build. ELSE. w_variant-variant = 'STANDARD'. WHEN 0. ENDFORM. ENDFORM. ENDIF. CLEAR: w_variant. *&---------------------------------------------------------------------* *& Form variant_fill *&---------------------------------------------------------------------* FORM variant_fill. WHEN 2. w_variant-report = w_repid. w_variant-report = w_repid. CALL FUNCTION 'LVC_VARIANT_EXISTENCE_CHECK' EXPORTING i_save = w_variant_save CHANGING cs_variant = w_variant EXCEPTIONS OTHERS = 01. CASE sy-subrc. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' . p_variant = wx_variant-variant. w_variant-variant = p_vari. CLEAR: p_variant. MESSAGE e124(zi) WITH text-g02. ENDIF. ENDCASE. IF p_vari IS INITIAL.

WHEN 'VBELN'. w_fieldcat_alv-no_out = 'X'. . w_fieldcat_alv-no_out = 'X'. WHEN 'KVGR4'. w_fieldcat_alv-no_out = 'X'. CASE w_fieldcat_alv-fieldname. WHEN 'KVGR2'. change heading description. w_fieldcat_alv-no_out = 'X'. WHEN 'KZWI1'. * Modify displayed fields * You can hide fields. LOOP AT i_fieldcat_alv INTO w_fieldcat_alv. w_fieldcat_alv-no_out = 'X'. WHEN 'OIC_PTRIP'. w_fieldcat_alv-seltext_l = 'Gross Value'. w_fieldcat_alv-no_out = 'X'. put hotspots etc in this step. WHEN 'VBELV'.* EXPORTING i_program_name = w_repid i_structure_name = 'TRDIR' i_internal_tabname = 'I_DATA' i_inclname = w_repid CHANGING ct_fieldcat = i_fieldcat_alv. w_fieldcat_alv-no_out = 'X'. WHEN 'KVGR3'. WHEN 'OIC_TRUCKN'. WHEN 'VSTEL'. w_fieldcat_alv-hotspot = 'X'. w_fieldcat_alv-no_out = 'X'. w_fieldcat_alv-no_out = 'X'. w_fieldcat_alv-no_out = 'X'. WHEN 'MVGR2'. WHEN 'OIGNRULE'.

IF p_html = 'X'.WHEN 'OID_EXTBOL'. MODIFY i_fieldcat_alv FROM w_fieldcat_alv. CASE 'X'. w_fieldcat_alv-no_out = 'X'. *&---------------------------------------------------------------------* *& Form display_data *&---------------------------------------------------------------------* FORM display_data. ENDCASE. w_html_top_of_page = 'HTML_TOP_OF_PAGE'. WHEN p_grid. ENDFORM. ENDIF. w_fieldcat_alv-seltext_l = 'Gross Value'. ENDLOOP. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_background_id = 'SIWB_WALLPAPER' i_background_id = 'SIWB_WALLPAPER' i_callback_program = w_repid i_callback_html_top_of_page = w_html_top_of_page i_structure_name = 'TRDIR' i_default = 'X' i_save = 'A' is_variant = w_variant is_layout = w_layout i_callback_user_command = w_callback_ucomm it_fieldcat = i_fieldcat_alv it_events = i_events it_event_exit = i_event_exit it_excluding = i_excluding is_print = w_print i_screen_start_column =1 i_screen_start_line =1 i_screen_end_column = 70 * * * * * . WHEN OTHERS. w_callback_ucomm = 'CALLBACK_UCOMM'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' EXPORTING i_background_id = 'ALV_BACKGROUND' i_callback_program = w_repid i_default = 'X' i_save = 'A' is_variant = w_variant is_layout = w_layout i_callback_user_command = w_callback_ucomm it_fieldcat = i_fieldcat_alv it_events = i_events it_event_exit = i_event_exit is_print = w_print TABLES t_outtab = i_data.* i_screen_end_line = 30 TABLES t_outtab = i_data. ENDFORM. WHEN OTHERS. CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN. *Interactive list. ENDFORM. CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING . *---------------------------------------------------------------------* * FORM user_command * *---------------------------------------------------------------------* FORM callback_ucomm USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. *&---------------------------------------------------------------------* *& Form get_data *&---------------------------------------------------------------------* FORM get_data. ENDCASE. WHEN '&IC1'. CASE r_ucomm. WHEN p_list. ENDCASE. Replace with your Tcode and parameter id SET PARAMETER ID 'VF' FIELD rs_selfield-value.

ivbrp-werks TO i_data-werks. ivbrp-kvgr2 TO i_data-kvgr2. ivbrp-vbelv TO i_data-vbelv. ivbrp-fkimg TO i_data-fkimg. SELECT vbeln posnr fkimg meins prsdt fbuda netwr vbelv vgbel aubel matnr arktx matkl werks lgort kondm mvgr2 vstel ktgrm vkgrp vkbur kvgr2 kvgr3 kvgr4 kzwi1 txjcd oid_extbol oic_truckn oic_ptrip oignrule FROM vbrp INTO CORRESPONDING FIELDS OF TABLE ivbrp WHERE vbeln IN s_vbeln.text = text-pg1. ivbrp-lgort TO i_data-lgort. ivbrp-fbuda TO i_data-fbuda. ivbrp-aubel TO i_data-aubel. ivbrp-txjcd TO i_data-txjcd. ivbrp-meins TO i_data-meins. REFRESH i_data. CLEAR counter. ivbrp-vstel TO i_data-vstel. ivbrp-kvgr3 TO i_data-kvgr3. ivbrp-arktx TO i_data-arktx. ivbrp-posnr TO i_data-posnr. . *Replace below logic with your report logic REFRESH ivbrp. LOOP AT ivbrp. ivbrp-vgbel TO i_data-vgbel. ivbrp-matkl TO i_data-matkl. ivbrp-vkgrp TO i_data-vkgrp. ivbrp-ktgrm TO i_data-ktgrm. ivbrp-mvgr2 TO i_data-mvgr2. ivbrp-mvgr2 TO i_data-mvgr2. ivbrp-oignrule TO i_data-oignrule. ivbrp-oid_extbol TO i_data-oid_extbol. MOVE: ivbrp-vbeln TO i_data-vbeln. ivbrp-kondm TO i_data-kondm. ivbrp-matnr TO i_data-matnr. ivbrp-kzwi1 TO i_data-kzwi1. ivbrp-prsdt TO i_data-prsdt. ivbrp-kvgr4 TO i_data-kvgr4.

A=Action w_list_comments-key = ''. APPEND w_list_comments TO i_list_comments. APPEND i_data. S = Selection. “Replace desc APPEND w_list_comments TO i_list_comments. ENDFORM. w_list_comments-info = sy-datum. w_list_comments-typ = 'H'. w_list_comments-info = 'Material Valuation'. . " H = Header. APPEND w_list_comments TO i_list_comments. IF sy-subrc = 0. ivbrp-oic_truckn TO i_data-oic_truckn. w_list_comments-info = 'Begin of list'. READ TABLE i_events WITH KEY name = slis_ev_top_of_page INTO w_events. MOVE 'ALV_TOP_OF_PAGE' TO w_events-form. *&---------------------------------------------------------------------* *& Form event_build *&---------------------------------------------------------------------* FORM event_build. "H=Header. S=Selection. ENDLOOP. CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING i_list_type = 0 IMPORTING et_events = i_events. ENDFORM. counter = sy-tabix. A = Action w_list_comments-key = ''. * CLEAR: i_list_comments[]. w_list_comments-typ = 'A'.ivbrp-oic_ptrip TO i_data-oic_ptrip. S=Selection. A=Action w_list_comments-key = ''. *---------------------------------------------------------------------* * FORM ALV_TOP_OF_PAGE *---------------------------------------------------------------------* FORM alv_top_of_page. w_list_comments-typ = 'A'. "H=Header.

S = Selection. MOVE 'ALV_END_OF_LIST' TO w_events-form. MODIFY i_events FROM w_events INDEX sy-tabix. *&---------------------------------------------------------------------* . READ TABLE i_events WITH KEY name = slis_ev_end_of_page INTO w_events. *---------------------------------------------------------------------* * FORM alv_end_of_page * *---------------------------------------------------------------------* FORM alv_end_of_page. CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = i_list_comments i_logo = 'ZMYOBJECTKEY' i_end_of_list_grid = 'X'. ENDIF. ENDIF. ENDFORM. ENDIF. "H = Header.MODIFY i_events FROM w_events INDEX sy-tabix. ENDFORM. *---------------------------------------------------------------------* * FORM alv_end_of_list * *---------------------------------------------------------------------* FORM alv_end_of_list. ENDFORM. APPEND w_list_comments TO i_list_comments. CLEAR: i_list_comments[]. READ TABLE i_events WITH KEY name = slis_ev_end_of_list INTO w_events. w_list_comments-typ = 'A'. w_list_comments-info = 'End of list'. IF sy-subrc = 0. MODIFY i_events FROM w_events INDEX sy-tabix. A = Action w_list_comments-key = ''. IF sy-subrc = 0. MOVE 'ALV_END_OF_PAGE' TO w_events-form.

w_layout-detail_initial_lines = 'X'. a_logo TYPE REF TO cl_dd_area. w_layout-detail_titlebar = 'Detail Title Bar'. ENDFORM. *---------------------------------------------------------------------* * FORM HTML_TOP_OF_PAGE * *---------------------------------------------------------------------* FORM html_top_of_page USING r_top TYPE REF TO cl_dd_document. *&---------------------------------------------------------------------* *& Form event_exit_build *&---------------------------------------------------------------------* FORM event_exit_build. w_print-no_print_listinfos = 'X'. col_info TYPE REF TO cl_dd_area. s_table TYPE REF TO cl_dd_table_element.*& Form print_build *&---------------------------------------------------------------------* FORM print_build. w_layout-colwidth_optimize = 'X'. APPEND w_event_exit TO i_event_exit. w_event_exit-after = 'X'. *&---------------------------------------------------------------------* *& Form layout_build *&---------------------------------------------------------------------* FORM layout_build. DATA: text TYPE sdydo_text_element. CLEAR: i_event_exit[]. ENDFORM. . w_layout-no_vline = 'X'. w_event_exit-before = ' '. * Pick w_event_exit-ucomm = '&ETA'. w_layout-zebra = 'X'. w_layout-detail_popup = 'X'. ENDFORM. col_key TYPE REF TO cl_dd_area.

CALL METHOD r_top->add_table EXPORTING no_of_columns = 2 with_heading = ' ' border = '1' IMPORTING table = s_table. CALL METHOD col_info->add_gap EXPORTING width = 6. CALL METHOD col_key->add_text EXPORTING text = text sap_emphasis = 'Strong'. * Fill TOP-Document CALL METHOD r_top->add_text EXPORTING text = 'Invoice Analysis: Line Item Details' sap_style = 'HEADING'. . CALL METHOD col_info->add_gap EXPORTING width = 7. text = 'Report Executed on'. CALL METHOD r_top->new_line. CALL METHOD s_table->add_column IMPORTING column = col_key. CALL METHOD s_table->add_column IMPORTING column = col_info.* Split TOP-Document CALL METHOD r_top->vertical_split EXPORTING split_area = r_top split_width = '99%' IMPORTING right_area = a_logo. text = 'Report Executed by'. text = sy-uname. . CALL METHOD col_info->add_text EXPORTING text = text sap_style = 'Key'. CALL METHOD r_top->new_line. CALL METHOD col_key->add_text EXPORTING text = text sap_emphasis = 'Strong'. ************************************************************** CALL METHOD s_table->new_row.

of Records' . CALL METHOD col_info->add_gap EXPORTING width = 6. CONCATENATE hour':' min ':' sec INTO time. CONCATENATE month'/' date'/' year INTO erdat. . DATA: month(2) TYPE c. CALL METHOD col_info->add_text EXPORTING text = text. month = sy-datlo+4(2). text = counter. CALL METHOD col_key->add_text EXPORTING text = text sap_emphasis = 'Strong'. year = sy-datlo(4). hour = sy-timlo(2). text = 'Time' . text = time . CALL METHOD col_info->add_gap EXPORTING width = 6. DATA: sec(2) TYPE c. text = erdat.DATA: year(4) TYPE c. *************************************************************** CALL METHOD s_table->new_row. CALL METHOD col_key->add_text EXPORTING text = text sap_emphasis = 'Strong'. DATA: min(2) TYPE c. DATA: date(2) TYPE c. min = sy-timlo+2(2). date = sy-datlo+6(2). sec = sy-timlo+4(2). DATA: hour(2) TYPE c. ************************************************************* CALL METHOD s_table->new_row. text = 'No. CALL METHOD col_info->add_text EXPORTING text = text sap_style = 'Success'.

ENDFORM. on the fly. CALL METHOD r_top->add_text EXPORTING text = text sap_emphasis = 'EMPHASIS'. SAP has added a powerful and extremely useful tool that is easy to learn and use. text = 'Double-Click on the material number for material details'. CALL METHOD r_top->add_text EXPORTING text = text sap_emphasis = 'EMPHASIS'. CALL METHOD r_top->new_line. .CALL METHOD col_info->add_text EXPORTING text = text. " exclude_build Conclusion… With the inclusion of ALV in version 4. ************************************************************** CALL METHOD s_table->new_row. w_excluding = '&GRAPH'. CALL METHOD r_top->new_line. It lets you create information faster. It helps you turn data into information so you can be more effective. text = 'Local date and time are shown above'.5X and later. *&---------------------------------------------------------------------* *& Form exclude_build *&---------------------------------------------------------------------* FORM exclude_build. ************************************************************** CALL METHOD s_table->new_row. "Graphic APPEND w_excluding TO i_excluding. ENDFORM. and without tying up your organization’s IT resources.

Sign up to vote on this title
UsefulNot useful