Вы находитесь на странице: 1из 45

*ALV Reports*

BY ----Arjun

Review
ALV Reports are mainly used to display the data in the form of either Grid or List Format with good Look and Feel. The main advantages of ALV Reports are:

1. Good Look and Feel


2.Predefined options given by SAP like Asc, Desc, Filtering, Downloading, Changing Layout, sending Mail..etc

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 2

ALV Reports By ARJUN


Function modules for developing ALV Reports REUSE_ALV_GRID_DISPLAY Display ALV data in GRID format REUSE_ALV_LIST_DISPLAY Display ALV data in LIST format REUSE_ALV_COMMENTARY_WRITE Display TOP-OF-PAGE, LOGO,END-OF-LIST. REUSE_ALV_FIELDCATELOG_MERGE Generate field catalog automatically REUSE_ALV_EVENTS_GET Display ALV Events REUSE_ALV_HIERSEQ_LIST_DISPLAY Display hierarchical ALV

REUSE_ALV_BLOCKED_LIST_DISPLAY Display blocked ALV

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 3

List of ALVs ALV with structure ALV with field catalog ALV with layout options ALV with field catalog merge ALV with totals and sub totals ALV with LOGO/ TOP OF PAGE / END OF LIST

Interactive ALV
Interactive ALV by calling a transaction hierarchical ALV

Blocked ALV
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 4

ALV WITH STRUCTURES

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 5

ALV with Structures


Business Requirement Develop a material master Report which displays all the fields STEPS Declare an internal table and work area for MARA table

Write an select statement to fetch the data


Call the function module REUSE_ALV_GRID_DISPLAY and specify the Below parameters Structure Name Program Name Itab Name
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 6

ALV WITH FIELDCATELOG

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 7

FieldCatelog: It is an int.Table which contains the list o the fields along with field properties to be displayed in ALV Report

The properties/options are:


1. COL_POS = 1.

2. FIELD NAME Specifies the name of the field 3. TABLE NAME Specifies the name of the internal table 4. SELTEXT_S SELTEXT_L SELTEXT_M Specifies short Specifies Long Specifies medium

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 8

5. DO_SUM 6. SUBTOT 7. EDIT = X

= X = X

For grand totals Sub totals to be calculated

Field can be editable

8. EMPHASIZE = CXYZ Specifies the Color to the fields C Indicates color X Color Numbers Y Backgroundcolor 1 On BG color 0 off BG color

Z Font color 1 OnFont color


0 Off font color
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 9

9. REFERENCE TABLENAME REFERENCE FIELDNAME To copy all the properties from data dictionary to a field catalog field. 10. KEY Specify the key field

11. HOTSPOT For selection

12. NO_OUT

Field will not be displayed in output

Generation of Fieldcatelog : It is generated using 2 ways.

1)Manually
2)Automatically by using FM
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 10

ALV with Manual field catalog

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 11

Steps for Example Program on field catalog Declare the internal table and work area for the field catalog DATA : i_fcat TYPE slis_t_fieldcat_alv. *DATA : wa_fcat TYPE slis_fieldcat_alv. DATA : wa_fcat like LINE OF i_fcat. Fill the fieldcatelog Itab with all fields and their corresponding properties. wa_fcat-col_pos = 1. "v_pos. wa_fcat-fieldname = 'KUNNR'. *wa_fcat-tabname = 'I_KNA1'. WA_FCAT-SELTEXT_L = 'CUST_NUM'. *WA_FCAT-EDIT = 'X'. WA_FCAT-EMPHASIZE = 'C610'. WA_FCAT-REF_TABNAME = 'KNA1'.
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 12

WA_FCAT-REF_FIELDNAME = 'KUNNR'. *WA_FCAT-KEY = 'X'. APPEND WA_FCAT TO I_FCAT. CLEAR WA_FCAT. Call the function module and Export the field catalog in internal table as exporting parameters to IT_FCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = 'SY-REPID' IT_FIELDCAT = I_FCAT TABLES T_OUTTAB = I_KNA1.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 13

ALV with field catalog merge

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 14

ALV with field catalog merge We can create a field catalog either manually or by automatically REUSE_ALV_FIELDCATELOG_MERGE is the function module which is used to create field catalog automatically But this is obsolete because, the function module uses the old syntax for declaring internal tables I.e. the internal table should be created as below and all the fields in the internal table must be declared using LIKE statement not the TYPE statement. Example1 on FCAT using Internal table DATA: BEGIN OF I_MARA OCCURS 0, MATNR LIKE MARA-MATNR, MTART LIKE MARA-MTART, MEINS LIKE MARA-MEINS, SAP AG 2001, Smart Forms - the Form Printing END OFSolution, I_MARA. Claudia Binder / Jens Stumpe 15

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE EXPORTING I_PROGRAM_NAME = SY-REPID I_INTERNAL_TABNAME = 'I_MARA' I_INCLNAME = SY-REPID CHANGING CT_FIELDCAT = I_FCAT. LOOP AT I_FCAT INTO WA_FCAT. IF WA_FCAT-FIELDNAME = 'MEINS'. WA_FCAT-NO_OUT = 'X'. "For hiding the field ELSEIF WA_FCAT-FIELDNAME = 'MTART'. WA_FCAT-KEY = 'X. ENDIF. MODIFY I_FCAT FROM WA_FCAT INDEX SY-TABIX. ENDLOOP.
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 16

Example2 on FCAT using Structure:


CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE EXPORTING I_PROGRAM_NAME = SY-REPID I_STRUCTURE_NAME = 'MARA' I_INCLNAME = SY-REPID CHANGING CT_FIELDCAT = I_FCAT. LOOP AT I_FCAT INTO WA_FCAT. IF WA_FCAT-FIELDNAME = MATNR OR WA_FCAT-FIELDNAME = MTART OR WA_FCAT-FIELDNAME = MBRSH OR WA_FCAT-FIELDNAME = MEINS . WA_FCAT-NO_OUT
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 17

= '. "For Displaying the field

ELSE. WA_FCAT-NO_OUT = 'X. ENDIF.

HIDE THE FIELD

MODIFY I_FCAT ENDLOOP.

FROM

WA_FCAT

INDEX

SY-TABIX.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 18

ALV WITH LAYOUT

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 19

ALV with Layout


Layout
It is a structure or work area which is used to decorate or embellish the output of ALV Report

Layout contains the few properties to decorate the ALV output


The properties are, 1. ZEEBRA = X. Displays ALV with alternative colors

2. COLWIDTH-OPTIMIZE = X. Each column in ALV o/p displayed with maximum length, to display the entire data. 3. EDIT= X. All the columns are displayed in editable mode.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 20

4. NO_VLINE 5. NO_HLINE Steps:

= X. Vertical lines will not be displayed = X. Horizontal lines will not be displayed

Declare a work area for the Layout DATA : wa_layout TYPE slis_layout_alv. Fill the WA with various options. wa_layout-zebra = 'X'. wa_layout-colwidth_optimize = 'X'. * wa_layout-edit = 'X'. * wa_layout-no_vline = 'X'. wa_layout-no_hline = 'X'.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 21

Call the function module and send the WA as exporting parameter to IS_LAYOUT. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = SY-REPID IS_LAYOUT = WA_LAYOUT IT_FIELDCAT = I_FCAT TABLES T_OUTTAB = I_KNA1.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 22

ALV WITH GRAND TOTALS

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 23

ALV Reports with Totals The totals can be calculated in two ways By clicking on ALV output field. By programmatically setting the option DO_SUM = X, for an currency/quantity field in FCAT WA_FCAT-COL_POS = 5. WA_FCAT-FIELDNAME = 'NETWR'. WA_FCAT-SELTEXT_M = 'NETPRICE. WA_FCAT-DO_SUM = 'X'. APPEND WA_FCAT TO I_FCAT.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 24

ALV WITH SUBTOTALS

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 25

ALV Reports with and sub totals To calculate sub totals, we need to find out on what basis (field name) the sub totals need to be calculated.

We need to sort the field in ascending order.


Then we need to set the property SUBTOT = X in FCAT. WA_SORT-spos = 1. WA_SORT-FIELDNAME = 'VBELN'. WA_SORT-UP = 'X'. WA_SORT-SUBTOT = 'X'. APPEND WA_SORT TO I_SORT.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 26

Steps : Declare the internal table and work area for the sorting DATA : I_SORT TYPE SLIS_T_SORTINFO_ALV. DATA : WA_SORT TYPE SLIS_SORTINFO_ALV. Specify the field and subtot = X . WA_SORT-FIELDNAME = 'VBELN'. WA_SORT-UP = 'X'. WA_SORT-SUBTOT = 'X'. APPEND WA_SORT TO I_SORT. .

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 27

Call the function module and send the SORT internal table as exporting parameters to IT_SORT CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = SY-REPID IT_FIELDCAT = I_FCAT IT_SORT = I_SORT TABLES T_OUTTAB = I_VBAP.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 28

EVENTS IN ALV

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 29

ALV Reports with top of page/ Events There are totally 17 events available for ALV reporting The function module REUSE_ALV_EVENTS_GET will display all the list of ALV events Below are some events Top-Of-Page At User command End-Of-List Set PF status

If we want to use any event, then we should create a Subroutine for Writing our Logic. Perform will be dynamically created by SAP. FormEndform should be created by us.
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 30

Ex Prog: Call Function REUSE_ALV_EVENTS_GET Importing ET_EVENTS = I_EVENTS. Read Table I_EVENTS into WA_EVENTS with key NAME = EVENT NAME. WA_EVENTS-FORM = ANYNAME . Modify I_EVENTS from WA_EVENTS index SYTABIX. PERFORM ANYNAME.------------ Will be created by SAP FORM ANYNAME.

-------------------------------------------------------------------------------------------ENDFORM.
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 31

ALV with LOGO: For Logos in the ALV , We have two steps. 1. Upload the Logo from our system into SAP. 2. Call the FM Reuse_Alv_Commentary_Write and Export the Logo name under the event TOP-OF-PAGE. STEP1: OAER is the T-Code for upload the Logos into SAP. => Go to OAER Tcode and specify below values ClassName Pictures ClassType OT ObjectKey ARJUN(LogoName) Execute Click on the Standard Document Types Double Click on the SCREEN Option for browse the image. Click on the Save Button.
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 32

STEP2: Call Function REUSE_ALV_EVENTS_GET Importing ET_EVENTS = I_EVENTS. Read Table I_EVENTS into WA_EVENTS with key NAME = TOP-OF-PAGE. WA_EVENTS-FORM = FORM_TOP_OF_PAGE . Modify I_EVENTS into WA_EVENTS index SYTABIX. STEP3: FORM FORM_TOP. Call Function REUSE_ALV_COMMENTARY_WRITE Exporting I_LOGO = ARJUN. ENDFORM.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 33

TOP-OF-PAGE Call the function module REUSE_ALV_EVENTS_GET Provide the sub routine name for top-of-page event Create a FORMENDFORM and Write the code in sub routine Call the function module REUSE_ALV_COMMENTARY_WRITE to display top-of-page in ALV Finally export the events into internal table to the REUSE_ALV_GRID_DISPLAY

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 34

STEP1:Data Declarations for TOP-OF-PAGE. TYPE-POOLS: SLIS. Data: I_EVENTS type SLIS_T_EVENT. Data: WA_EVENTS like line of I_EVENTS. Data: I_HEADING type SLIS_T_LISTHEADER. Data: WA_HEADING like line of I_HEADING. STEP2: Call Function REUSE_ALV_EVENTS_GET Importing ET_EVENTS = I_EVENTS. Read Table I_EVENTS into WA_EVENTS with key NAME = TOP-OF-PAGE. WA_EVENTS-FORM = FORM_TOP_OF_PAGE . Modify I_EVENTS into WA_EVENTS index SYTABIX.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 35

Form FORM_TOP_OF_PAGE. WA_HEADING - TYP = H. WA_HEADING INFO = MATERIAL MASTER REPORT . Append WA_HEADING to I_HEADING. WA_HEADING - TYP = S. WA_HEADING KEY = USERNAME. WA_HEADING INFO = SY UNAME. Append WA_HEADING to I_HEADING. WA_HEADING - TYP = A. WA_HEADING KEY = DATE. WA_HEADING INFO = SY DATUM. Append WA_HEADING to I_HEADING.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 36

STEP3: Call Function REUSE_ALV_COMMENTARY_WRITE Exporting IT_LIST_COMMENTARY = I_HEADING. EndForm. STEP4: Call Function REUSE_ALV_GRID_DISPLAY Exporting I_Callback_Programme = SY REPID IT_Events = I_EVENTS Tables T_OutTab = I_MARA.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 37

END -OF-LIST: Call the function module REUSE_ALV_EVENTS_GET Provide the sub routine name for End-of-List event. Create a Form.End Form and Write below down the code in sub routine Call the function module REUSE_ALV_COMMENTARY_WRITE to display End-of-List in ALV Finally export the events into internal table to the REUSE_ALV_GRID_DISPLAY

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 38

STEP1:Data Declarations for End-of-List. TYPE-POOLS: SLIS. Data: I_EVENTS type SLIS_T_EVENT. Data: WA_EVENTS like line of I_EVENTS. Data: I_HEADING type SLIS_T_LISTHEADER. Data: WA_HEADING like line of I_HEADING. STEP2: Call Function REUSE_ALV_EVENTS_GET Importing ET_EVENTS = I_EVENTS. Read Table I_EVENTS into WA_EVENTS with key NAME = END_OF_LIST. WA_EVENTS-FORM = FORM_END_OF_LIST. Modify I_EVENTS into WA_EVENTS index SYTABIX.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 39

Form FORM_END_OF_LIST. WA_HEADING - TYP = S. WA_HEADING INFO = ALL RIGHTS RESERVED TO THE COMPANY . Append WA_HEADING to I_HEADING. STEP3: Call Function REUSE_ALV_COMMENTARY_WRITE Exporting IT_LIST_COMMENTARY = I_HEADING I_END_OF_LIST_GRID = X. EndForm. STEP4: Call Function REUSE_ALV_GRID_DISPLAY Exporting I_Callback_Programme = SY REPID IT_Events = I_EVENTS Tables T_OutTab = I_MARA.
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 40

INTERACTIVE ALVs: Call the function module REUSE_ALV_EVENTS_GET Provide the sub routine name for USER_COMMAND Create a Form.EndForm with 2 Formal Parameters Write below down the code in sub routine

In the Sub routine Call the function module REUSE_ALV_GRID_DISPLAY to display Secondary ALV
Finally export the events into internal table to the REUSE_ALV_GRID_DISPLAY

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 41

STEP1:Data Declarations . Type-Pools: SLIS. Data: I_Events type SLIS_T_EVENT. Data: WA_Events like line of I_Events. Data: V_VBELN type VBAK VBELN.

STEP2: Call Function REUSE_ALV_EVENTS_GET importing ET_EVENTS = I_EVENTS. Read Table I_EVENTS into WA_EVENTS with key NAME = USER_COMMAND. WA_EVENTS-FORM = FORM_USER_COMMAND. MODIFY I_EVENTS from WA_EVENTS index SY-TABIX.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 42

STEP3: Form FORM_USER_COMMAND using UCOMM type SY-UCOMM SELFIELD type SLIS_SELFIELD. READ TABLE I_VBAK into WA_VBAK index SELFIELD-TABINDEX.

Select * from VBAP into corresponding fields of table I_VBAP where VBELN = WA_VBAP-VBELN.
CALL FUNCTION REUSE_ALV_GRID_DISPLAY Exporting I_CALLBACK_PROGRAME = SY-REPID I_STRUCTURE_NAME = VBAP Tables T_OUTTAB = I_VBAP. Endform.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 43

HIERARCHIAL ALVs: Displaying the data in the form of hierarchy i.e. Parent-to-Child Relation is called Hierarchical ALV Report Steps: Create User-Defined Types for Header Data and Item Data. Write the select statement for Header data and Item Data. Create the Fieldcatalog . Create subroutine for Hierarchy. Form Create_Hierarchy. Wa_Key Header01 = VBELN. Wa_Key Item01 = VBELN. EndForm.
SAP AG 2001, Smart Forms - the Form Printing Solution,
Claudia Binder / Jens Stumpe 44

Finally, For Displaying export the Header Data, Item Data, and Field catalog to the function module REUSE_ALV_HIERSEQ_LIST_DISPLAY. Call Function REUSE_ALV_HIERSEQ_LIST_DISPLAY Exporting I_Callback_Program = SY REPID IT_Fieldcat = I_FCAT I_Tabname_Header = I_VBAK I_Tabname_Item = I_VBAP Is_KeyInfo = wa_KEY Tables T_Outtab_Header = I_VBAK T_Outtab_Item = I_VBAP.

SAP AG 2001, Smart Forms - the Form Printing Solution,


Claudia Binder / Jens Stumpe 45