1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Appendix A: ABAP List Viewer (ALV) ppt

16 773 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề ABAP List Viewer (ALV)
Trường học Standard University
Chuyên ngành Computer Science
Thể loại Tài liệu
Năm xuất bản 2023
Thành phố Hanoi
Định dạng
Số trang 16
Dung lượng 252,06 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

A–15 A In this chapter you will learn: ƒ Why the ABAP List Viewer ALV is useful ƒ Some of the time-saving features of ALV, as well as its ability to enhance information display ƒ The

Trang 1

Appendix A: ABAP List Viewer (ALV)

Contents

Overview A–2

What Is The ABAP List Viewer? A–2

ABAP List Viewer: Cost Versus Benefit Analysis A–3

Report Lists Without ABAP List Viewer A–4

Report Lists With ABAP List Viewer A–5

Technical Notes A–9

Sample Code Using ALV (Release 4.0B) A–10

Review A–15

Where to Learn More A–15

A

In this chapter you will learn:

ƒ Why the ABAP List Viewer (ALV) is useful

ƒ Some of the time-saving features of ALV, as well as its ability to enhance information display

ƒ The differences between reports written with and without the ALV

ƒ Technical information (sample code) to help you build reports with ALV

“functionality”

Trang 2

Overview

If it becomes necessary to write ABAP code to create your reports, then consider using the ABAP List Viewer (ALV) to simplify your development Available in the R/3 System since Release 3.1, the ABAP List Viewer supports many of the standard R/3 reports The ALV provides additional program code you can quickly add to any custom report for any SAP module

Many reports developed for Release 4.0 (and later) utilize the ABAP List Viewer

Additionally, many older standard R/3 reports (and reporting tools) have been modified to include the ABAP List Viewer

The ABAP List Viewer can be used with any application component or module in the R/3

System We recommend that developers should adopt ABAP List Viewer as a design

principle in all report development activities that occur in your organization

Note: At the time of press, limited technical support is available for the ABAP List Viewer However, we believe that support limitations should not prevent you from taking advantage of the functionality offered by ALV

What Is The ABAP List Viewer?

The ALV is a set of function modules that are added to program code Programs created before Release 3.1 can be enhanced with the ALV by adding links to the function modules Developers can use the functionality of the ALV when creating new reports, thus saving time which might otherwise have been spent on report enhancement Using the ALV also provides a uniform user-interface and list format for ABAP reports This standardization helps eliminate redundant functions

The ABAP List Viewer enables both simple and sequential (hierarchical) report lists Simple lists contain a number of non-hierarchical, user-defined columns Sequential lists contain columns that consist of column headings and their subordinate rows

Goals of ALV The primary goals of the ABAP List Viewer are to provide:

< Users with a consistent, user-friendly, and functional method of manipulating the data which appears on report lists

< ABAP developers with an efficient and consistent method of programming functions that are commonly needed or requested in reports

Trang 3

Appendix A: ABAP List Viewer (ALV) ABAP List Viewer: Cost Versus Benefit Analysis

ABAP List Viewer: Cost Versus Benefit Analysis

Before taking advantage of the features of ALV, developers may want to consider the benefits gained versus the “extra time” taken to include ALV in report development The following table shows estimates of time expenditures in report development Note that an estimated 50% of report developers’ time is consumed by building “fancy” features and enhancing the look-and-feel of custom reports

ABAP Report Development Activity Without ALV Percentage of Time Taken to Complete

Finding the right tables and table relationships that need to be included in order for the program to be written

50%

Providing “fancy” features, such as sorting, subtotals, and interactivity

30%

Enhancing the look of the report with column headings, vertical lines, and color 20%

Total 100%

SAP developed the ABAP List Viewer to help reduce the time and effort spent on some of the report development activities By using the ALV in the programming of custom reports, you could reduce the development time by an estimated 40% (see table below)

ABAP Report Development Activity With ALV Percentage of Time Taken to Complete

Finding the right tables and table relationships that need to be included in order for the program to be written

50%

Preparing field catalog and sort sequence for ALV 1%

Providing “fancy” features, such as sorting, subtotals, and interactivity

9%

Enhancing the look of the report with column headings, vertical lines, and color

0%

Total 60%

Although, the use of ALV adds one more development activity (that is, preparation of the field catalog), the development time spent on other activities is either eliminated or vastly reduced

Trang 4

Report Lists Without ABAP List Viewer

When a report is written, the report list (output) depends almost entirely on how the developer programmed the report

Shown below is a sample report list where the programmer did not to use the ABAP List Viewer For illustration purposes, consider a report that was simply written (using the WRITE command) to the screen The output of a report created with just the WRITE statement is shown below:

A key point to note is that the function bar is blank In addition, the data in the list is “dead” which means that data listed cannot be used for any further data retrieval It is essentially a

“data-dump.” Among other things, there are no headings for the columns Any additional functionality would have to be programmed In short, the interface between the data you see on the screen and the user’s eyes (the GUI) is limited and bland

Report users routinely ask for additional features in their reports Often they are looking for the ability to:

Hint: These

functions are

all available

in ALV

< Sort

< Resize rows

< Double-click on one information element to jump to another information element

< Perform basic calculations

< Download “stylized” spreadsheets

< Display several colors

< Visually separate various pieces of information on the screen

Function bar is blank

List data is “dead.” It is simply

a so-called “data dump”

No column headings

Trang 5

Appendix A: ABAP List Viewer (ALV) Report Lists With ABAP List Viewer

However, for the most part, these features need to be programmed into the list as added functionality to the output of the report While some of these added functions are relatively easy to program, the manner in which this added functionality works may vary greatly For example, one programmer may decide to enable a single-click as sufficient user input to jump to a next level of information, while another programmer requires a double-click Similarly, one programmer may set the output of a field at 10 characters long, but another programmer may program it as 20 characters

Report Lists With ABAP List Viewer

When you insert the ALV code in your ABAP report program, the report list comes “alive.” Compare the ALV-enabled list shown on page A-6 with the list shown on the previous page Although the data is the same, the program has been changed to incorporate the ALV

function modules

With the ALV, the user is presented with a standard interface which, from the outset, includes:

< Headers for the columns that appear on the list

< Colors that correspond to indented key information

< Buttons that appear on the function bar (some of whose functions will be introduced in the pages that follow)

As you review the additional functionality shown above, remember that without the ALV each function would have to be programmed into the report

Function bar is blank

A feature-rich function bar

gives the user commonly

requested functionality

List data is “alive”

Column headings make data

easier to understand

Trang 6

Note: This appendix introduces you to some of the functions that the ALV makes possible However, this appendix does not cover the full breadth of ALV functionality For more information, refer to the ALV documentation in the R/3 online documentation:

List Viewer

Guided Tour

This guided tour shows possible ways a user could interact with an ALV-enabled report list

In an ALV-enabled report list, a user can

select a particular column and execute a

subsequent function, if desired

1 Select the column for Sales doc With

ALV’s added functionality the color

of the selected column can be

changed, making it easy for the

report user to know which column

has been selected

2 Choose Filter With the filter option,

a user can call up a desired subset of

information on the output list

3 Set the filter for the sales documents

to be viewed In this instance, the

user only wants to views sales

documents that are between the

numbers 1000 and 2000

4 Choose Copy to invoke the ALV to

filter the list

1

2

3 4

Trang 7

Appendix A: ABAP List Viewer (ALV) Report Lists With ABAP List Viewer

5 The resulting filtered list is shown to

the right To return to the previous

list, a user can simply click the

arrow buttons without having to exit

and re-execute the report

6 If not all columns of the report are of

interest to the user, the unwanted

columns can be hidden This can be

accomplished by setting the current

variant to include only the desired

columns To hide (or to view

previously hidden columns), choose

Display variant

In the popup window, the columns that

currently appear in the list are shown in

the left section Hidden fields (if any)

appear on the right section In this

example, all fields appear

7 To make one column disappear,

select the row which lists the column

you want to hide In this example,

we select Material Group

8 Then, click the single right-arrow

button to move the selected column

(Material group) to the hidden fields

section

5 6

7

8

Trang 8

The Material Group is now one of the

hidden fields

9 For this change to take effect, choose

Copy

The “new” output list appears The

original list may be revisited by simply

choosing the current variant

9

Trang 9

Appendix A: ABAP List Viewer (ALV)

Technical Notes

Technical Notes

In order for the reports to provide the consistency, flexibility, and user-friendliness of the ALV, it is necessary to include certain statements in the report’s program code This section

is intended for those who actually write the code for reports

To include the ALV in a report, the following basic steps must completed:

1 Declare data areas for List Viewer

2 Declare the internal table to store selected data

3 Select data into internal table

4 Build the field catalogs

5 Build event catalogs

6 Start ABAP List Viewer using SAP’s standard delivered function modules (see TechTalk below)

7 Process call back events

In the standard R/3 System, SAP delivers several function modules related to the ALV

Use the following function modules with Release 4.0: REUSE_ALV_LIST_DISPLAY (this

is the primary function module) or other function modules that begin with the name

REUSE_ALV*

K_KKB_LIST_DISPLAY is still available but should no longer be used!

Review the sample program on page A–10 which shows the coding related to each of steps listed above

Note: The source code that appears on page A–10 was used to create the sample ALV-enabled report list presented in this appendix You will find the source code

(ZFIGALV.txt) on the companion CD supplied with this guidebook series

Trang 10

Sample Code Using ALV (Release 4.0B)

**************************************************************

REPORT ZFIGALV

********Declare Data Areas for List Viewer (Begin)************

TYPE-POOLS: SLIS

DATA: FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

FIELDCAT_LN LIKE LINE OF FIELDCAT,

SORTCAT TYPE SLIS_T_SORTINFO_ALV,

SORTCAT_LN LIKE LINE OF SORTCAT,

EVENTCAT TYPE SLIS_T_EVENT,

EVENTCAT_LN LIKE LINE OF EVENTCAT

DATA: COL_POS TYPE I

*******Declare Data Areas for List Viewer (End)***************

*******Declare Internal Table to Store Selected Data (Begin)**

DATA: BEGIN OF IVBAP OCCURS 0,

VBELN LIKE VBAP-VBELN,

POSNR LIKE VBAP-POSNR,

MATNR LIKE VBAP-MATNR,

MATKL LIKE VBAP-MATKL,

CHARG LIKE VBAP-CHARG,

KWMENG LIKE VBAP-KWMENG,

VRKME LIKE VBAP-VRKME,

ARKTX LIKE VBAP-ARKTX,

END OF IVBAP

*******Declare Internal Table to Store Selected Data (End)****

*******Select Data into Internal Table (Begin) ***************

SELECT VBELN POSNR MATNR MATKL KWMENG VRKME

Trang 11

Appendix A: ABAP List Viewer (ALV) Sample Code Using ALV (Release 4.0B)

FROM VBAP WHERE VBELN NE 0

******* Select Data into Internal Table (End) ****************

******* Build Field Catalogs (Begin)**************************

PERFORM BUILD_FIELDCAT

PERFORM BUILD_FIELDCAT2

PERFORM BUILD_FIELDCAT3

PERFORM BUILD_SORTCAT

PERFORM BUILD_SORTCAT2

*******Build Field Catalogs (End)******************************

*******Build Event Catalog (Begin)*****************************

PERFORM BUILD_EVENTCAT

*******Build Event Catalog (End)*******************************

*******Start List Viewer (Begin)*******************************

PERFORM START_LIST_VIEWER

*******Start List Viewer (End)*********************************

***************************************************************

***************************************************************

*********FORM ROUTINES (Begin)*********************************

FORM BUILD_FIELDCAT

ADD 1 TO COL_POS

FIELDCAT_LN-REF_TABNAME = 'VBAP'

FIELDCAT_LN-FIELDNAME = 'VBELN'

FIELDCAT_LN-KEY = 'X'

FIELDCAT_LN-DO_SUM = SPACE

FIELDCAT_LN-COL_POS = COL_POS

FIELDCAT_LN-NO_OUT = SPACE

FIELDCAT_LN-QFIELDNAME = SPACE

FIELDCAT_LN-HOTSPOT = 'X'

APPEND FIELDCAT_LN TO FIELDCAT

ENDFORM

FORM BUILD_FIELDCAT2

ADD 1 TO COL_POS

FIELDCAT_LN-REF_TABNAME = 'VBAP'

Trang 12

FIELDCAT_LN-FIELDNAME = 'MATNR'

FIELDCAT_LN-KEY = SPACE

FIELDCAT_LN-DO_SUM = SPACE

FIELDCAT_LN-COL_POS = COL_POS

FIELDCAT_LN-NO_OUT = SPACE

FIELDCAT_LN-QFIELDNAME = SPACE

FIELDCAT_LN-HOTSPOT = SPACE

APPEND FIELDCAT_LN TO FIELDCAT

ENDFORM

FORM BUILD_FIELDCAT3

ADD 1 TO COL_POS

FIELDCAT_LN-REF_TABNAME = 'VBAP'

FIELDCAT_LN-FIELDNAME = 'MATKL'

FIELDCAT_LN-KEY = SPACE

FIELDCAT_LN-DO_SUM = 'X'

FIELDCAT_LN-COL_POS = COL_POS

FIELDCAT_LN-NO_OUT = SPACE

FIELDCAT_LN-QFIELDNAME = SPACE

FIELDCAT_LN-HOTSPOT = SPACE

APPEND FIELDCAT_LN TO FIELDCAT

ENDFORM

FORM BUILD_SORTCAT

SORTCAT_LN-SPOS = '1'

SORTCAT_LN-FIELDNAME = 'MATNR'

SORTCAT_LN-UP = 'X'

SORTCAT_LN-DOWN = SPACE

SORTCAT_LN-SUBTOT = 'X'

APPEND SORTCAT_LN TO SORTCAT

ENDFORM

FORM BUILD_SORTCAT2

SORTCAT_LN-SPOS = '2'

SORTCAT_LN-FIELDNAME = 'VRKME'

SORTCAT_LN-UP = SPACE

SORTCAT_LN-DOWN = 'X'

SORTCAT_LN-SUBTOT = SPACE

APPEND SORTCAT_LN TO SORTCAT

ENDFORM

FORM BUILD_EVENTCAT

Trang 13

Appendix A: ABAP List Viewer (ALV) Sample Code Using ALV (Release 4.0B)

EVENTCAT_LN-FORM = 'PAGE_HEADER'

APPEND EVENTCAT_LN TO EVENTCAT

ENDFORM

FORM START_LIST_VIEWER

DATA: PGM LIKE SY-REPID

PGM = SY-REPID

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

* I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = PGM * i_callback_pf_status_set = ' ' I_CALLBACK_USER_COMMAND = 'USER_COMMAND' * I_STRUCTURE_NAME =

* IS_LAYOUT =

IT_FIELDCAT = FIELDCAT * IT_EXCLUDING =

* IT_SPECIAL_GROUPS =

IT_SORT = SORTCAT * IT_FILTER =

* IS_SEL_HIDE =

* I_DEFAULT = 'X' I_SAVE = 'A' * IS_VARIANT = ' '

* IT_EVENTS =

* IT_EVENT_EXIT =

* IS_PRINT =

* I_SCREEN_START_COLUMN = 0

* I_SCREEN_START_LINE = 0

* I_SCREEN_END_COLUMN = 0

* I_SCREEN_END_LINE = 0

* IMPORTING * E_EXIT_CAUSED_BY_CALLER = * es_exit_caused_by_user = TABLES T_OUTTAB = IVBAP EXCEPTIONS PROGRAM_ERROR = 1

OTHERS = 2

ENDFORM

********Process Call Back Events (Begin)***************************

Ngày đăng: 21/12/2013, 19:15

TỪ KHÓA LIÊN QUAN

w