alv 运用

来源:互联网 发布:西湖网络文学奖 编辑:程序博客网 时间:2024/04/30 11:20

窗体顶端

An

Easy Reference

for

ALV GRID CONTROL

Table of Contents

 

Purpose..............................................................................1

Prerequisites.....................................................................1

A. Introduction.................................................................1

B. Building Blocks............................................................1

B.1. General Scheme.....................................................2

B.2. Building Field Catalog.............................................7

B.2.1. Structure of a Field Catalog.............................7

B.2.2. Building Field Catalog Manually.......................9

B.2.3. Building Field Catalog Semi-Automatically.....10

B.3. Layout Adjustments..................................................12

B.4. Printing Adjustments................................................14

B.5. Excluding Unwanted Standard Function Buttons.....15

C. Non-Event Based Additional Functionalities.............16

C.1. Changing Field Catalog or Layout after First Display..16

C.2. Setting Sort Conditions..............................................16

C.3. Filtering...........................................................................17

C.4. Making Selections............................................................18

C.5. Retrieving and Setting Scroll Status Info..........................19

C.6. Coloring............................................................................19

C.6.1. Coloring an Entire Column.......................................20

C.6.2. Coloring an Entire Row............................................20

C.6.3. Coloring Individual Cells...........................................21

C.7. Inserting Hyperlinks.........................................................22

C.8. Making Fields as Dropdown Menus.............................23

C.9. Managing variants............................................................24

D. Event Based Additional Functionalities...........................25

D.1. General Scheme for the Event Handler Class...............26

D.2. Hotspot Clicking.............................................................28

D.3. Double Clicking....................................................................29

D.4. Pushbuttons On The List...........................................29

D.5. Adding Your Own Functions...................................30

D.6. Overriding Standard Functions............................32

D.7. Context Menus.........................................................32

D.8. About printing..............................................................33

D.9. Making ALV Grid Editable......................................34

D.10. Controlling Data Changes....................................35

D.11. Linking F1 Help to Fields.......................................36

D.12. Linking F4 Help to Fields..........................................37

E. A Piece of Troubleshooting......................................38

TRADEMARKS.................................................


 

Purpose

The purpose of this tutorial is to provide an easy and quick reference that may be used as a guide while coding to build lists using ALV Grid Control. Actually, there is easy-to-reach information about implementing ALV Grid lists. However, it is generally required to find the information sought in a quicker way. This tutorial handles this, being a condensed source that can be used as a “guide.” It will not deal with the technical infrastructure on which ALV lays. Some of the tables are taken from the online SAP Library, which is the most trustable source about the topic. Shortly, this will be a booklet summarizing major capabilities of the ALV Grid Control.

To get deep into the ALV Grid control, you can refer to the standard SAP course “BC412 – ABAP Dialog Programming Using EnjoySAP Controls” and the book “Controls Technology”. Also you had better inspect demo programs.

Prerequisites

To use ALV Grid Control in a simple manner, it will be sufficient just having experience on dialog programming. However, to make use of more capabilities, it is required some knowledge on object-oriented perspective of ABAP programming. A general knowledge on control framework is supposed to exist.

         A. Introduction

 

Here is the definition for ALV from SAP Help:

“The ALV Grid control is a flexible tool for displaying lists. The tool provides common list operations as generic functions and can be enhanced by self-defined options.”

The ALV Grid control is used to build non-hierarchical, interactive, and modern-design lists. As a control, it is a component that is installed on the local PC.

The ALV Grid control provides typical list functions as sorting, filtering, summing, etc.,while also gives the opportunity to develop user functions where needed. It presents numerous interfaces like Excel Inplace and Crystal Reports.

The wrapper class implemented to encapsulate ALV Grid functionality is “CL_GUI_ALV_GRID”. There is another way to display lists with ALV utilizing “REUSE_ALV...” functions. However, that way is not comprised in this tutorial.

         B. Building Blocks

 

While preparing a list to be displayed via an ALV grid control, we have some basic components to prepare. These are;

 i. List data: Obviously, this is the data in an internal table to be listed. Standard ALV functions except sorting makes just read access to the list data. However, sorting changes state of the internal table. The internal table holding list data may be of any flat type. Deep types are only allowed when set for some functionalities of ALV Grid.

 ii. Field Catalog: We use another internal table to define specifications on how the fields of our list will be displayed. This internal table is called the


 

 “field catalog”. The field catalog must comprise some technical and additional information about display options for each column to be displayed. There are three procedures to generate the field catalog as “Automatic generation”, “Semi-automatic generation”, and “Manual generation”. The internal table for the field catalog must be referenced to the dictionary type “LVC_T_FCAT”.

 iii. Layout Structure: We fill a structure to specify general layout options for the grid. With this structure we can set general display options, grid customizing, totals options, color adjustments etc... The layout structure must be of type “LVC_S_LAYO”.

 iv. Event Handler: We should define and implement an event handler class if we want to handle events triggered by the ALV Grid instance. After creating ALV Grid instance, we must register an instance of this event handler class to handle ALV Grid events.

 v. Additional Data: To trigger some additional features of ALV Grid we can have some additional data to pass as parameters. For example, initial sorting criteria, buttons to be deactivated, etc...

 

B.1. General Scheme

Now, we can figure out a primitive scheme to prepare our ALV Grid. As a control object, ALV Grid instance requires a container to be linked to the screen. Generally, an instance of the class “cl_gui_custom_container” is used for this purpose. Instances of some other container classes such as “cl_gui_docking_container”, “cl_gui_dialogbox_container” may also be used. In our example we take a custom container. To create a custom container instance, we need a custom control area on the screen.

Step 1

原创粉丝点击