Sie sind auf Seite 1von 196

ALV Grid Control (BC-SRV-ALV)

Release 4.6C

HELP.BCSRVALV

ALV Grid Control (BC-SRV-ALV)

SAP AG

Copyright
Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrckliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen knnen ohne vorherige Ankndigung gendert werden. Die von SAP AG oder deren Vertriebsfirmen angebotenen Software-Produkte knnen SoftwareKomponenten auch anderer Software-Hersteller enthalten. Microsoft , WINDOWS , NT , EXCEL , Word , PowerPoint und SQL Server sind eingetragene Marken der Microsoft Corporation. IBM , DB2 , OS/2 , DB2/6000 , Parallel Sysplex , MVS/ESA , RS/6000 , AIX , S/390 , AS/400 , OS/390 und OS/400 sind eingetragene Marken der IBM Corporation. ORACLE ist eine eingetragene Marke der ORACLE Corporation. INFORMIX -OnLine for SAP und Informix Dynamic Server Informix Software Incorporated.
TM

sind eingetragene Marken der

UNIX , X/Open , OSF/1 und Motif sind eingetragene Marken der Open Group. HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C , World Wide Web Consortium, Massachusetts Institute of Technology. JAVA ist eine eingetragene Marke der Sun Microsystems, Inc. JAVASCRIPT ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von Netscape entwickelten und implementierten Technologie. SAP, SAP Logo, R/2, RIVA, R/3, ABAP, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo und mySAP.com sind Marken oder eingetragene Marken der SAP AG in Deutschland und vielen anderen Lndern weltweit. Alle anderen Produkte sind Marken oder eingetragene Marken der jeweiligen Firmen.

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV)

Symbole
Symbol Bedeutung Achtung Beispiel Hinweis Empfehlung Syntax

April 2001

ALV Grid Control (BC-SRV-ALV)

SAP AG

Inhalt
ALV Grid Control (BC-SRV-ALV) ....................................................................... 8
Instanz fr das ALV Grid Control................................................................................................ 11 Arbeiten mit dem ALV Grid Control............................................................................................ 12 Erste Schritte ................................................................................................................................ 14 Anwendungsspezifisches Programmieren................................................................................ 16 Layouts.......................................................................................................................................... 17 Abspeichern eines Layouts ....................................................................................................... 18 Integration eigener Funktionen................................................................................................... 20 ndern von Standardfunktionen................................................................................................ 21 Definition von GUI-Elementen in der Toolbar ........................................................................... 22 Definition eines Kontext-Mens ................................................................................................ 23 Definition eines Mens in der Toolbar ...................................................................................... 24 Drag&Drop mit dem ALV Control ............................................................................................... 25 D&D-Verhalten fr alle Zeilen/Spalten ...................................................................................... 26 D&D-Verhalten fr spezielle Spalten ........................................................................................ 27 D&D-Verhalten fr spezielle Zeilen/Zellen ................................................................................ 28 Ausgabe von Exceptions............................................................................................................. 30 Einfrben von Zeilen .................................................................................................................... 32 Einfrben von Zellen .................................................................................................................... 33 Darstellung von Drucktasten ...................................................................................................... 35 Einbinden von Hyperlinks ........................................................................................................... 37 Gruppierung von Feldern zur Feldauswahl ............................................................................... 39 Verwendung des Konvertierungsexit......................................................................................... 41 Das ALV Grid Control bei WAN-Anmeldungen ......................................................................... 43 Das ALV Grid Control im Web..................................................................................................... 44 Darstellung im SAP GUI for HTML.............................................................................................. 45 Definition eines statischen Mens ............................................................................................ 47 Darstellung im Workplace ........................................................................................................... 49 Voraussetzungen ...................................................................................................................... 50 Der MiniALV .............................................................................................................................. 51 Als MiniApp .......................................................................................................................... 53 Als Erweiterung einer MiniApp............................................................................................. 54 Als interaktives Web Control................................................................................................ 55 Service-Parameter ............................................................................................................... 56 Ausgabe auf kleinen Bildschirmen....................................................................................... 58 Fehleranalyse....................................................................................................................... 60 Der MidiALV .............................................................................................................................. 61 Den MidiALV aufrufen.......................................................................................................... 62 Service-Parameter ............................................................................................................... 63 Aufruf des Internet-Service ....................................................................................................... 65 Methoden der Klasse CL_GUI_ALV_GRID................................................................................. 67 activate_reprep_interface............................................................................................................ 70 CONSTRUCTOR ........................................................................................................................... 71

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV)

get_current_cell............................................................................................................................ 72 get_filtered_entries ...................................................................................................................... 73 get_filter_criteria .......................................................................................................................... 74 get_frontend_fieldcatalog ........................................................................................................... 75 get_frontend_layout ..................................................................................................................... 76 get_scroll_info_via_id.................................................................................................................. 77 get_selected_cells........................................................................................................................ 78 get_selected_cells_id .................................................................................................................. 79 get_selected_columns................................................................................................................. 80 get_selected_rows ....................................................................................................................... 81 get_sort_criteria ........................................................................................................................... 82 get_subtotals ................................................................................................................................ 83 get_variant .................................................................................................................................... 86 offline............................................................................................................................................. 87 refresh_table_display .................................................................................................................. 88 register_delayed_event ............................................................................................................... 89 set_3d_border............................................................................................................................... 90 save_variant_dark ........................................................................................................................ 91 set_current_cell_via_id................................................................................................................ 92 set_filter_criteria .......................................................................................................................... 93 set_frontend_fieldcatalog............................................................................................................ 94 set_frontend_layout ..................................................................................................................... 95 set_scroll_info_via_id.................................................................................................................. 96 set_graphics_container ............................................................................................................... 97 set_selected_cells........................................................................................................................ 98 set_selected_cells_id................................................................................................................... 99 set_selected_columns ............................................................................................................... 100 set_selected_rows ..................................................................................................................... 101 set_sort_criteria ......................................................................................................................... 102 set_table_for_first_display........................................................................................................ 103 set_toolbar_interactive .............................................................................................................. 107 set_user_command.................................................................................................................... 108 Ereignisse der Klasse CL_GUI_ALV_GRID ............................................................................. 109 after_user_command ................................................................................................................. 111 before_user_command.............................................................................................................. 112 button_click ................................................................................................................................ 113 context_menu_request .............................................................................................................. 114 delayed_callback........................................................................................................................ 115 delayed_changed_sel_callback ................................................................................................ 116 double_click................................................................................................................................ 117 hotspot_click .............................................................................................................................. 118 menu_button............................................................................................................................... 119 onDrag ......................................................................................................................................... 120 onDrop......................................................................................................................................... 121 onDropComplete ........................................................................................................................ 122

April 2001

ALV Grid Control (BC-SRV-ALV)

SAP AG

onDropGetFlavor........................................................................................................................ 123 onf1 .............................................................................................................................................. 124 print_end_of_list ........................................................................................................................ 125 print_end_of_page ..................................................................................................................... 126 print_top_of_list ......................................................................................................................... 127 print_top_of_page ...................................................................................................................... 128 subtotal_text ............................................................................................................................... 129 toolbar ......................................................................................................................................... 131 user_command ........................................................................................................................... 132 Der Feldkatalog........................................................................................................................... 133 Aufbau des Feldkatalogs........................................................................................................... 134 Automatischer Aufbau............................................................................................................. 135 Manueller Aufbau .................................................................................................................... 137 Halbautomatischer Aufbau...................................................................................................... 139 Felder des Feldkatalogs ............................................................................................................ 140 Bezug zur Ausgabetabelle ...................................................................................................... 144 Bezug zum Data Dictionary..................................................................................................... 145 Darstellung von Werten mit Whrungs-/Mengeneinheit ......................................................... 146 Ausgabeoptionen einer Spalte ................................................................................................ 149 Formatierung von Spalteninhalten .......................................................................................... 153 Texte ....................................................................................................................................... 156 Parameter fr Felder ohne DDIC-Bezug................................................................................. 159 Sonstige Felder ....................................................................................................................... 161 Die Layout-Struktur.................................................................................................................... 163 Eigenschaften des Grid Controls ............................................................................................. 166 Exceptions .................................................................................................................................. 168 Farben.......................................................................................................................................... 169 Summenoptionen ....................................................................................................................... 170 Interaktionssteuerung................................................................................................................ 171 Die Print-Struktur ....................................................................................................................... 172 Methoden des OO Control Frameworks .................................................................................. 174 Methoden der Klasse CL_GUI_CFW......................................................................................... 175 dispatch ................................................................................................................................... 176 flush......................................................................................................................................... 177 get_living_dynpro_controls .....................................................................................................178 set_new_ok_code ................................................................................................................... 179 update_view ............................................................................................................................ 180 Methoden der Klasse CL_GUI_OBJECT .................................................................................. 181 free .......................................................................................................................................... 182 is_valid .................................................................................................................................... 183 Methoden der Klasse CL_GUI_CONTROL ............................................................................... 184 constructor............................................................................................................................... 185 finalize ..................................................................................................................................... 187 get_focus................................................................................................................................. 188 get_height................................................................................................................................ 189 get_registered_events............................................................................................................. 190 get_width ................................................................................................................................. 191 is_alive .................................................................................................................................... 192 set_alignment.......................................................................................................................... 193

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV)

set_focus ................................................................................................................................. 194 set_position ............................................................................................................................. 195 set_visible................................................................................................................................ 196

April 2001

ALV Grid Control (BC-SRV-ALV) ALV Grid Control (BC-SRV-ALV)

SAP AG

ALV Grid Control (BC-SRV-ALV)


Einsatzmglichkeiten
Das ALV Grid Control (ALV = SAP List Viewer) ist ein flexibles Werkzeug zur Listendarstellung. Es bietet typische Listenoperationen als generische Funktionen an und ist um eigene Funktionen erweiterbar. Diese Eigenschaft ermglicht den Einsatz des ALV Grid Controls in einer breiten Palette von Anwendungsprogrammen.

In SAP-eigenen Entwicklungen wird das ALV Grid Control auch als Werkzeug zum ndern und Erstellen von Tabellen genutzt. Diese Funktionalitt wird bisher allerdings nur in Pilot-Projekten eingesetzt und ist nicht fr Kunden freigegeben. Das folgende Bild zeigt die Darstellung einer Liste mit dem ALV Grid Control in einem PopupFenster:

Titel Titel

Generische Generische Funktionen Funktionen der Toolbar der Toolbar Ausgabetabelle Ausgabetabelle im Grid Control im Grid Control

Aus Benutzersicht besteht das ALV Grid Control aus einer Toolbar, einem Titel und der Ausgabetabelle, die in einem Grid Control dargestellt wird. Der Titel und die Standardfunktionen der Toolbar lassen sich ausblenden.

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) ALV Grid Control (BC-SRV-ALV)

Einfhrungshinweise
Das ALV Grid Control verwendet die Control-Technologie fr eine moderne Darstellung am Bildschirm. Es bietet - wie alle Control-Verschalungen - Methoden fr die Steuerung des Controls ber eine globale Klasse im System an.

SAP kann nicht garantieren, da Methoden, Ereignisse und Attribute dieser Klasse, die nicht ffentlich sind, unverndert bleiben oder in Zukunft noch existieren. Daher sollten Sie die Klasse nicht ableiten, um auf geschtzten Objekte der Klasse zugreifen zu knnen. Die Verwendung dieser Objekte erschwert den Upgrade auf ein Folgerelease. Die Verwendung von ABAP Objects hat zur Folge, da eine Liste ber eine ALV Instanz angezeigt wird und der Programmierer sich der Ereignisverwaltung von ABAP Objects bedient.

Integration
Controls sind Software-Komponenten, die auf dem lokalen PC installiert sind. Um mit diesen Komponenten zu kommunizieren, nutzen alle Control-Verschalungen Methoden des Control Framework. Das ALV Grid Control stellt insofern einen Sonderfall dar, als da es ein bereits verschaltes Control benutzt: Das Grid Control. Bestimmte Schritte in der Ereignisverwaltung von Controls knnen so dem Programmierer abgenommen werden. Das ALV Grid Control verwendet das SAP Kontext Men, um Standardfunktionen zu integrieren. Dieses Men lt sich auf eigene Bedrfnisse anpassen. Diese Dokumentation ist auf die Verwendung des ALV Grid Controls im SAP GUI for the Windows Enviroment beziehungsweise im SAP GUI for the Java Enviroment ausgerichtet. Auerdem gibt es die Mglichkeit das ALV Grid Control im Web [Seite 44] darzustellen.

Funktionsumfang
Zusammengefat bietet das ALV Grid Control folgende Mglichkeiten: Einheitliche Darstellung von nicht-hierarchischen Listen in modernem Design. Bereitstellung von typischen Listfunktionen - zum Beispiel Sortieren und Filtern - ohne zustzlichen Programmieraufwand. Anpassung von vorgegebenen Listfunktionen sowie deren Erweiterung. Reagieren auf Benutzeraktionen (zum Beispiel Doppelklicken auf eine Zeile) individuell programmierbar. Anbindung an die Report-Report Schnittstelle mglich.

Anwendungsbeispiele zum ALV Grid Control finden Sie in der Entwicklungsklasse SLIS.

April 2001

ALV Grid Control (BC-SRV-ALV) ALV Grid Control (BC-SRV-ALV)

SAP AG

Einschrnkungen
Es ist nicht mglich, Block- oder hierarchische Listen mit dem ALV Grid Control darzustellen. Einfache Listen kann das ALV Grid Control zur Zeit nur einzeilig darstellen. Der Benutzer kann die Liste aber ber die Druckvorschau mehrzeilig definieren und ausdrucken.

10

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Instanz fr das ALV Grid Control

Instanz fr das ALV Grid Control


Definition
Diese Instanz wird mit einer Referenz auf die Klasse cl_gui_alv_grid definiert: data <Name der Referenzvariablen> type ref to cl_gui_alv_grid.

Verwendung
Eine Instanz fr das ALV Grid Control verwaltet alle Informationen bezglich einer Liste auf Ihrem Dynpro. Auf diese Instanz knnen Sie Methoden aufrufen, mit denen Sie die Eigenschaften dieses Controls definieren und ndern knnen.

Leiten Sie diese Klasse nicht ab, um auf geschtzte Bereiche der Klasse zugreifen zu knnen. Dies ist fr die Verwendung des ALV Grid Controls nicht notwendig.

Vererbungshierarchie
CL_GUI_OBJECT

CL_GUI_CONTROL

CL_GUI_ALV_GRID_BASE

CL_GUI_ALV_GRID

Integration
Die Klasse cl_gui_alv_grid beinhaltet sowohl controlspezifische Methoden [Seite 67] als auch Methoden des OO Control Frameworks [Seite 174].

April 2001

11

ALV Grid Control (BC-SRV-ALV) Arbeiten mit dem ALV Grid Control

SAP AG

Arbeiten mit dem ALV Grid Control


Grundlagen
Die folgende Grafik zeigt die ntigen Schritte, um eine Liste mit dem ALV Grid Control darzustellen:
Feldkatalog Feldkatalog Deklaration von Deklaration von Referenzvariablen Referenzvariablen Instanziierung und Instanziierung und Dynpro-Integration Dynpro-Integration Anzeige der Daten Anzeige der Daten auf dem Control auf dem Control

Datenbeschreibung

A TypA ... C TypC ...


oder
DDIC DDIC Struktur Struktur

CALL METHOD grid->Set_table_for_first_display.

CREATE OBJECT container container_name = 'MYCONT.

DATA container TYPE REF TO cl_gui_custom_container.

B TypB ...

Angezeigte Liste: Dynpro grid


(ber Container mit dem Dynpro verlinkt)
FLUSH

A B C
Interne Interne Tabelle Tabelle

DATA grid TYPE REF TO cl_gui_alv_grid.

<name>

CREATE OBJECT grid parent = container.

A B C a1 b 1 c1 a2 b 2 c2 a3 b 3 c3

Ausgabetabelle

Daten

a1 b 1 c1 a2 b 2 c2 a3 b 3 c3

Container mit Container mit integriertem integriertem ALV Control ALV Control

Select * from <name>

Fr die Anzeige der Daten mssen Sie mindestens zweierlei Informationen bereitstellen: Eine interne Tabelle mit den darzustellenden Daten, die Ausgabetabelle. Eine Beschreibung ber die Struktur dieser Daten, die entweder ber den Feldkatalog oder ber die entsprechende Struktur des Data Dictionary dem ALV Grid Control bekannt gemacht wird.

Die Ausgabetabelle besteht im allgemeinen aus Daten, die Sie vorher aus Datenbanktabellen selektiert haben.

Die Referenz auf die Ausgabetabelle, die Sie an das ALV Grid Control bergeben, sollte so lange gltig sein wie das ALV Grid Control darauf operiert. Neben der Definition dieser Referenz als globale Tabelle ist es auch mglich, die Referenz ber ein ffentliches Attribut in einer ABAP Objects Instanz zu halten. Der Feldkatalog [Seite 133] ist eine Tabelle mit Informationen ber die darzustellenden Felder. Mit Hilfe dieser Tabelle erkennt ALV zum Beispiel den Typ eines Feldes. Sie knnen aber auch ber spezielle Felder des Katalogs die Formatierung von Zahlenausgaben und Spalteneigenschaften der auszugebenen Liste beeinflussen.

12

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Arbeiten mit dem ALV Grid Control

Arbeiten mit Controls


Mit der Verwendung von ABAP Objects zu Release 4.6A wurde die Programmierung von Controls in vielen Punkten vereinheitlicht: Erzeugen eines Controls und dessen Integration auf dem Dynpro bermittlung von Methoden vom Backend zum Frontend Behandlung von Ereignissen, die das Control am Frontend auslst Abbau des Controls (Lifetime Management)

Fr Basis Controls (wie z.B. das TextEdit Control, das HTML Viewer Control oder das Picture Control) gilt fr die oben genannten Punkte das gleiche Programmiermodell. Mit Einschrnkungen im Bereich der Ereignisbehandlung gilt dieses Programmiermodell auch fr das ALV Grid Control (siehe nchsten Abschnitt). Lesen sie Anlegen eines Controls [Extern] (inklusive Querverweise), um sich mit diesem allgemeinen Modell vertraut zu machen und beachten Sie unbedingt die im nchsten Abschnitt beschriebenen Unterschiede.

Besonderheiten des ALV Grid Control in der Ereignisbehandlung


Das ALV Grid Control benutzt das Grid Control fr die Anzeige der Ausgabetabelle. Das ALV Grid Control ist also eine Verschalung, die die Verschalung eines Basis Controls verwendet. Als 'uere Hlle' nimmt diese Verschalung dem Anwendungsprogrammierer die Registrierung der Ereignisse am Frontend ab, um die Ereignisbehandlung zu vereinfachen. Beachten Sie folgende Unterschiede zu den Basis Controls: Alle Ereignisse werden beim Instanziieren des Controls als System-Ereignisse registriert.

Wenn Sie alle Ereignisse als Anwendungs-Ereignis registrieren wollen, knnen Sie dies mit dem Parameter I_APPL_EVENTS (Siehe auch: CONSTRUCTOR [Seite 71]). Dann mssen Sie wie blich die Methode CL_GUI_CFW=>DISPATCH im PAI aufrufen. Die Ereignisse DELAYED_CALLBACK oder DELAYED_CHANGED_SEL_CALLBACK werden ber die Methode register_delayed_event [Seite 89] registriert. Fr Drag und Drop mit dem ALV Control [Seite 25] ist kein Aufruf von DISPATCH ntig.

April 2001

13

ALV Grid Control (BC-SRV-ALV) Erste Schritte

SAP AG

Erste Schritte
Dieses Kapitel beschreibt, wie Sie im einfachsten Fall eine Liste mit selektierten Daten im ALV Grid Control anzeigen. Dazu mssen Sie: 1. Eine Instanz des ALV Grid Control erzeugen und auf einem Dynpro integrieren. 2. Die anzuzeigenden Daten selektieren und diese zusammen mit einer Beschreibung der Felder der Instanz bergeben.

Siehe auch Beispielreport BCALV_GRID_DEMO in der Entwicklungsklasse SLIS.

Ein ALV Grid Control anlegen


Ein ALV Grid Control wird auf die gleiche Weise instanziiert wie andere Controls: 1. Deklarieren Sie Referenzvariablen fr das ALV Grid Control und den Container. Deklarieren Sie auerdem eine interne Tabelle, die Sie spter mit selektierten Daten fllen werden: DATA: grid TYPE REF TO cl_gui_alv_grid, g_custom_container TYPE REF TO cl_gui_custom_container gt_sflight TYPE TABLE OF sflight.

Um ein Control auf einem Dynpro zu integrieren, stehen Ihnen fnf verschiedene Container Controls [Extern] zur Verfgung (in diesem Beispiel wird das Custom Container Control verwendet). 2. Legen Sie ein normales Dynpro an und markieren Sie im grafischen Screen Painter einen Bereich fr das Custom Container Control (Icon mit Buchstaben 'C'). Vergeben Sie fr diesen Bereich den Namen CCCONTAINER.

In bung 1: Einen Bereich fr ein Control reservieren [Extern] des Controls Tutorials ist das Markieren eines Bereichs im alphanumerischen Screen Painter erklrt. 3. Im PBO-Modul des Dynpro mssen Sie nun noch das Container- und ALV Grid Control instanziieren. Dabei binden Sie das Container Control an das Dynpro ber den im Screen Painter angelegten Container. ber den Parameter parent legen sie das Container Control als Vater des ALV Control fest: IF g_custom_container IS INITIAL. CREATE OBJECT g_custom_container EXPORTING CONTAINER_NAME = 'CCCONTAINER'. CREATE OBJECT GRID1 EXPORTING I_PARENT = g_custom_container. ENDIF.

14

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Erste Schritte

Die IF-Abfrage der Referenzvariable g_custom_container stellt sicher, da die Instanzen nur beim ersten Durchlauf des PBO erzeugt werden.

In der Regel mssen Sie mit der Methode cl_gui_cfw=>flush die aufgerufenen Methoden zum Frontend bertragen. Da das Control Framework am Ende des PBO den Flush automatisch durchfhrt, ist er hier nicht ntig.

Wenn Sie das Programm starten, werden die beiden Instanzen (das Container- und das ALV Grid Control) zwar erzeugt, sind aber nicht sichtbar.

Eine Liste im ALV Control anzeigen


Nachdem Sie ein ALV Grid Control erzeugt haben und es ber ein Container Control auf einem Dynpro integriert haben, mssen Sie noch die Daten und deren Struktur an das ALV Grid Control bergeben: 1. Fllen Sie die interne Tabelle mit Daten: SELECT * FROM sflight INTO TABLE gt_sflight. 2. bergeben Sie die Ausgabetabelle und die Strukturdaten an das ALV Grid Control. Achten Sie wiederum darauf, diese Methode nur einmal nach der Erzeugung des ALV Grid Control aufzurufen: CALL METHOD grid->set_table_for_first_display EXPORTING I_STRUCTURE_NAME = 'SFLIGHT' CHANGING IT_OUTTAB = gt_sflight.

In diesem Fall werden die Strukturdaten ber das Data Dictionary bereitgestellt. Das ALV Control holt sich die Feldinformationen ber die Tabelle SFLIGHT und stellt alle Felder der Tabelle dar.

April 2001

15

ALV Grid Control (BC-SRV-ALV) Anwendungsspezifisches Programmieren

SAP AG

Anwendungsspezifisches Programmieren
Folgende Eigenschaften des ALV Grid Controls begnstigen den Einsatz dieses Werkzeuges in einer breiten Palette von Anwendungen: Layouts bieten dem Benutzer die Mglichkeit, die Listausgabe seinen Bedrfnissen anzupassen. Die Anwendungsentwicklung bestimmt, welche Speicheroptionen der Benutzer fr das Layout einer Liste hat. Eigene Funktionen der Anwendungsentwicklung lassen sich in der Toolbar integrieren. Der Anwendungsentwickler kann auerdem Standardfunktionen an die jeweilige Anwendung anpassen oder ganz ausblenden. Drag&Drop-Funktionen sind programmierbar. Das ALV Grid Control ermglicht die Verwendung des Drag&Drop-Controls, mit dem sich anwendungsspezifische Funktionen zwischen dem ALV Grid Control und anderen Custom Controls realisieren lassen. Formatierungs-, Ausgabe- und Steuerungsoptionen werden ber drei Strukturen angeboten: Der Feldkatalog [Seite 133] Die Layout-Struktur [Seite 163] Die Print-Struktur [Seite 172]

Die wichtigsten Szenarien sind in diesem Abschnitt beschrieben. Weitere Informationen entnehmen Sie bitte den Beschreibungen der Methoden, Ereignisse und Strukturen.

16

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Layouts

Layouts
Mit Hilfe von Layouts kann der Benutzer die ausgegebene Liste seinen eigenen Bedrfnissen anpassen. Der Anwendungsentwickler steuert die Berechtigungen des Benutzers bezglich eines Layout ber die Parameter I_SAVE, IS_VARIANT und I_DEFAULT der Methode set_table_for_first_display [Seite 103]. Es stehen drei Modi zur Verfgung: Modus Effekt Belegung von I_SAVE und IS_VARIANT beim Aufruf von set_table_for_first_dis play IS_VARIANT = SPACE. I_SAVE = SPACE. (Voreinstellung)

Ausschlieliches ndern des aktuellen Layout

Das ALV Grid Control zeigt in der Toolbar nur das Layout-Icon ( ), aber kein Men an. ber das Icon kann der Benutzer das aktuelle Men ndern (im Wesentlichen die Auswahl und Reihenfolge der angezeigten Spalten, Filter, Sortierkriterien). Das ALV Grid Control zeigt in der Toolbar sowohl ein Layout-Icon als auch ein zugehriges Men an. Im Men befinden sich nur die Funktionen Layout auswhlen und Layout ndern. Das ALV Grid Control zeigt in der Toolbar sowohl das Layout-Icon als auch ein zugehriges Men an. ber das Layout-Icon kann der Benutzer eine schon existierendes Layout auswhlen. Im Men befinden sich die Funktionen Layout auswhlen, Layout ndern, Layout sichern und Layout verwalten.

Ausschlieliches Laden von mitausgelieferten Layouts

IS_VARIANT = <Struktur fr ein Layout> I_SAVE = SPACE. (oder IS_VARIANT gleich SPACE und I_SAVE ungleich SPACE) IS_VARIANT = <Struktur fr ein Layout> I_SAVE = <'X', 'U' oder 'A'> Siehe auch: Abspeichern eines Layout [Seite 18]

Laden und Speichern eines Layout

Zustzlich knnen Sie ber das Setzen des Parameters I_DEFAULT dem Benutzer das Speichern von Layoutvoreinstellungen erlauben (in der Voreinstellung gesetzt).

Falls der Benutzer die Berechtigung hat, transportiert er Layouts in der LayoutVerwaltung ber den Menpunkt Layout->Transportieren....

April 2001

17

ALV Grid Control (BC-SRV-ALV) Abspeichern eines Layouts

SAP AG

Abspeichern eines Layouts


Einsatzmglichkeiten
Die Standard-Funktion Layout ndern steht dem Benutzer ber ein Icon der Toolbar zur Verfgung. Sie ermglicht ihm, das aktuelle Layout fr die Lebensdauer der Control-Instanz seinen Bedrfnissen anzupassen. Der Anwendungsprogrammierer bestimmt, ob der Benutzer Layouts speichern darf und wenn ja, mit welchen Speicheroptionen.

Siehe auch den Report BCALV_GRID_09 in der Entwicklungsklasse SLIS.

Voraussetzungen
In der Voreinstellung kann der Benutzer eine Layoutvoreinstellung abspeichern. Existiert bereits so ein Layout, so wird diese beim Aufruf der Methode set_table_for_first_display [Seite 103] geladen. Falls Sie keine Layoutvoreinstellungen zulassen wollen, setzen Sie den Parameter I_DEFAULT dieser Methode auf SPACE.

Ablauf
1. Deklarieren Sie eine Variable, um die Speichermglichkeiten des Benutzers zu bestimmen, und eine Struktur zum Identifizieren eines Layouts: DATA: X_SAVE, "for Parameter I_SAVE GS_variant TYPE DISVARIANT. "for parameter IS_VARIANT 2. Die Struktur vom Typ DISVARIANT mu mindestens die Report-ID enthalten: G_REPID = SY-REPID. GS_variant-REPORT = G_REPID. 3. Bestimmen Sie, welche Speicheroptionen der Benutzer haben soll: X_SAVE = 'U'. "layouts can only be saved as user specific ones

4. bergeben Sie die beiden Variablen mit dem Aufruf set_table_for_first_display: CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'SFLIGHT' IS_VARIANT = GS_variant I_SAVE = X_SAVE CHANGING IT_OUTTAB = GT_SFLIGHT.

Wenn Sie nur den Aktualparameter fr IS_VARIANT bergeben, ist es zwar mglich, Layouts zu laden, aber nicht, neue zu speichern. Bei Verwendung des Parameters I_SAVE ist die bergabe einer Struktur fr das Layout mit IS_VARIANT obligatorisch.

18

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Abspeichern eines Layouts

Ergebnis
In der Toolbar lt sich nun neben dem Layout-Icon ein Men aufklappen, das ein Speichern und Laden eines Layouts erlaubt. Je nach Belegung des Parameters I_SAVE hat der Benutzer beim Speichern folgende Mglichkeiten: Speichermodi von Layouts I_SAVE = SPACE I_SAVE = 'U' I_SAVE = 'X' I_SAVE = 'A' Kein Speichern von Layouts mglich. Der Benutzer kann nur benutzerspezifische Layouts speichern. Der Benutzer kann nur bergreifende Layouts speichern. Der Benutzer kann sowohl benutzerspezifische als auch bergreifende Layouts speichern.

April 2001

19

ALV Grid Control (BC-SRV-ALV) Integration eigener Funktionen

SAP AG

Integration eigener Funktionen


Das ALV Control stellt Ihnen Standard-Funktionen fr die Bearbeitung von Listen zur Verfgung. Der Benutzer kann auf diese Funktionen ber die Toolbar oder das Kontext-Men zugreifen. Um eigene Funktionen zu integrieren, knnen Sie: Bestehende Funktionen mit eigenen Funktionen belegen sowie weitere Funktionen in der Toolbar und im Kontext-Men einbinden.

Auerdem ist es mglich Funktionen auszublenden oder zu deaktivieren, die in einem speziellen Kontext nicht bentigt werden.

20

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) ndern von Standardfunktionen

ndern von Standardfunktionen


Einsatzmglichkeiten
Die Standardfunktionen sind auf keinen speziellen Anwendungsfall zugeschnitten. Spezielles Wissen ber die angezeigten Daten knnen also nicht bercksichtigt werden. Im Einzelfall ist es mglich, da eine Standardfunktion - wie das Sortieren nach einer bestimmten Spalte - in einer Anwendung effizienter programmiert werden kann.

Ablauf
1. Definieren Sie eine Ereignisbehandlermethode zum Ereignis before_user_command [Seite 112]. Dieses Ereignis wird ausgelst, wenn der Benutzer eine Funktion ausgewhlt hat. Das ALV Control bergibt also die Kontrolle an die Anwendung bevor die Funktion ausgefhrt wird. ber den Parameter I_UCOMM des Ereignisses knnen Sie den Funktionscode auf die Funktion, die Sie ndern mchten, eingrenzen. 2. Implementieren Sie Ihren eigenen Algorithmus fr die Funktion innerhalb der Ereignisbehandlermethode. Sie knnen dabei Methoden des ALV Control aufrufen. 3. Setzen Sie abschlieend den Funktionscode zurck, damit die Standardfunktion nicht mehr ausgefhrt wird: CALL METHOD <Instanz des ALV Control>->set_user_command exporting I_UCOMM = SPACE.

Wenn Sie bestimmte Funktionen der Toolbar berhaupt nicht brauchen, knnen Sie diese auch fr die gesamte Lebensdauer des Control ausblenden. bergeben Sie dazu mit Hilfe des Parameters IT_TOOLBAR_EXCLUDING der Methode set_table_for_first_display [Seite 103] eine Tabelle mit den auszublendenden Funktionskodes.

April 2001

21

ALV Grid Control (BC-SRV-ALV) Definition von GUI-Elementen in der Toolbar

SAP AG

Definition von GUI-Elementen in der Toolbar


Ablauf
1. Definieren Sie eine Ereignisbehandlermethode zum Ereignis TOOLBAR. 2. Deklarieren Sie eine Struktur fr die Definition eines Elements der Toolbar: data: ls_toolbar TYPE stb_button. 3. Fr eine Drucktaste fllen Sie zum Beispiel folgende Felder: CLEAR ls_toolbar. MOVE 0 TO ls_toolbar-butn_type. MOVE 'BOOKINGS' TO ls_toolbar-function. MOVE icon_employee TO ls_toolbar-icon. MOVE 'Show Bookings'(111) TO ls_toolbar-quickinfo. MOVE SPACE TO ls_toolbar-disabled.

Mit dem Feld butn_type teilen Sie dem ALV Control den Typ des GUI-Elements mit. Mgliche Werte entnehmen Sie bitte dem Wertebereich der Domne TB_BTYPE. 4. Mit Hilfe des Ereignisparameters E_OBJECT hngen Sie die neue Definition an die Tabelle mt_toolbar: APPEND ls_toolbar TO e_object->mt_toolbar. 5. Fr die Definition weiterer Elemente gehen Sie zurck zu Schritt 3. 6. Rufen Sie die Methode set_toolbar_interactive [Seite 107] auf, wenn Sie die Toolbar neu aufbauen wollen.

Ergebnis
Den jeweiligen Funktionskode, den Sie im Feld function festgelegt haben, knnen Sie in der Ereignisbehandlermethode zum Ereignis USER_COMMAND abfragen und so die zugehrige Funktion implementieren.

Siehe auch den Report BCALV_GRID_05 in der Entwicklungsklasse SLIS.

22

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Definition eines Kontext-Mens

Definition eines Kontext-Mens


Verwendung
Das ALV Grid Control benutzt das Kontext Men [Extern] und belegt es mit Standardfunktionen. Sie knnen es kontextsensitiv um eigene Funktionen erweitern und gegebene Funktionen ausblenden oder deaktivieren.

Integration
Das Kontext-Men ist eine Instanz der Klasse CL_CTMENU. Wird das Ereignis CONTEXT_MENU_REQUEST vom Benutzer ausgelst, so enthlt der Ereignisparameter E_OBJECT eine Referenz auf das Standard-Kontextmen.

Siehe auch den Report BCALV_GRID_06 in der Entwicklungsklasse SLIS.

Funktionsumfang
Sie knnen dieses Men folgendermaen verndern: Um eine Zeile im Men hinzuzufgen, rufen Sie die Methode add_function auf: CALL METHOD E_OBJECT->ADD_FUNCTION EXPORTING FCODE = 'DELE' TEXT = TEXT-003. "Lschen Um schon vorhandene Funktionen zu deaktivieren (Anzeige in Ghost-Schrift), bergeben Sie alle entsprechenden Funktionscodes der Methode disable_functions in einer Tabelle:

DATA: LT_FCODES TYPE UI_FUNCTIONS, CLEAR LT_FCODES. APPEND CL_GUI_ALV_GRID=>MC_FC_COL_OPTIMIZE TO LT_FCODES. APPEND CL_GUI_ALV_GRID=>MC_FC_HELP TO LT_FCODES. CALL METHOD E_OBJECT->DISABLE_FUNCTIONS EXPORTING FCODES = LT_FCODES. Um schon vorhandene Funktionen auszublenden, gehen Sie genauso vor und rufen statt der Methode disable_functions die Methode hide_functions auf.

Mit den Methoden enable_functions und show_functions knnen Sie die jeweiligen Funktionen wieder aktivieren beziehungsweise anzeigen.

Die Funktionskodes zu eigenen Funktionen fragen Sie beim Ereignis user_command [Seite 132] ab.

April 2001

23

ALV Grid Control (BC-SRV-ALV) Definition eines Mens in der Toolbar

SAP AG

Definition eines Mens in der Toolbar


Einsatzmglichkeiten
Ein Men der Toolbar ist - genau wie ein Kontext-Men - eine Instanz der Klasse CL_CTMENU. Sie knnen mehrere Mens frei definieren und sie in der Toolbar aufhngen.

Ablauf
1. Definieren Sie in der Toolbar ein GUI-Element vom Typ 1 (Men mit Defaultbutton) oder Typ 2 (Men ohne Defaultbutton). Die Vorgehensweise hierzu ist in Definition von GUIElementen in der Toolbar [Seite 22] beschrieben. Siehe auch: Besonderheiten bei Mens mit Defaultbutton [Extern] 2. Fragen Sie den Funktionskode, den Sie im Schritt 1 fr das Men vergeben haben, in der Ereignisbehandlermethode zum Ereignis MENU_BUTTON ab (ber den Ereignisparameter E_UCOMM). Auf diese Weise knnen Sie die verschiedenen Mens der Toolbar unterscheiden. 3. Definieren Sie pro Funktionscode ein Men, wie in Definition eines Kontext-Mens [Seite 23] beschrieben. Fr die einzelnen Funktionen eines Mens vergeben Sie im dritten Schritt weitere Funktionskodes, die Sie beim Ereignis user_command [Seite 132] abfragen knnen.

Siehe auch den Report BCALV_GRID_07 in der Entwicklungsklasse SLIS.

24

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Drag&Drop mit dem ALV Control

Drag&Drop mit dem ALV Control


Das ALV Grid Control ermglicht die Verwendung des Drag&Drop Controls. Fr dieses Control mssen Sie zunchst ein Drag&Drop-Verhalten beschreiben und dieses Verhalten ber ein Handle fr Elemente der betroffenen Controls setzen. Das Drag&Drop Control erkennt anhand der Handles, welche Operationen der Benutzer durchfhren darf und verndert beim Klicken den Mauszeiger. Um mit dem gesetzten Drag&Drop Verhalten Aktionen zu verbinden stellt das ALV Control die Ereignisse OnDrag, OnDrop, OnDropComplete und OnDropGetFlavor zur Verfgung. Dieser Abschnitt beschreibt, wie Sie die Handles fr das Drag&Drop-Verhalten mit Elementen des ALV Grid Controls verknpfen. Die Dokumentation zum Control Framework [Extern] erklrt die Programmierung von Drag&Drop [Extern] (Ablauf einer Drag&Drop Operation [Extern], Ereignisse bei Drag&Drop [Extern]).

Beispiele
Zu Drag&Drop mit dem ALV Grid Control gibt es Demoreports in der Entwicklungsklasse SLIS: BCALV_DND_01 (Zeilen vom Grid Control in Knoten vom Tree Control ziehen) BCALV_DND_02 (Funktionsikonen vom Tree Control auf Zeilen des Grid Controls ziehen) BCALV_DND_03 (Definition eines Drag&Drop-Verhaltens auf Zellen des Grid Controls) BCALV_DND_04 (Verschieben oder Kopieren von Zeilen innerhalb eines ALV Grid Controls)

April 2001

25

ALV Grid Control (BC-SRV-ALV) D&D-Verhalten fr alle Zeilen/Spalten

SAP AG

D&D-Verhalten fr alle Zeilen/Spalten


Einsatzmglichkeiten
Dieser Proze bietet sich an, wenn Sie ein einheitliches Drag&Drop-Verhalten fr alle Zeilen oder Spalten definieren wollen. Ist im Verhalten zum Beispiel das Attribut dragsource gesetzt, lassen sich alle Zeilen bzw. Spalten mit Objekten verbinden, die das Attribut droptarget gesetzt haben und den gleichen Flavor benutzen.

Es macht keinen Unterschied, ob Sie ein Verhalten fr alle Zeilen oder alle Spalten definieren. Obwohl Sie mit dieser Methode fr alle Zeilen das gleiche Verhalten beschreiben, knnen Sie in den Ereignissen OnDrop bzw. OnDropGetFlavor entscheiden, ob Sie die Drag&DropOperation abbrechen wollen. Sie treffen diese Entscheidung anhand des bergebenen Datenobjekts und des Flavors. Im Datenobjekt haben Sie blicherweise die Daten der gezogenen Zeile gespeichert.

Ablauf
1. Definieren Sie die Layout-Struktur vom Typ LVC_S_LAYO. 2. Definieren Sie Ihr Drag&Drop-Verhalten und beschaffen Sie sich dessen Handle mit der Methode get_handle der Klasse cl_dragdrop. 3. Weisen Sie das Handle dem Feld s_dragdrop-row_ddid oder s_dragdrop-col_ddid der Layout-Struktur zu. 4. bergeben Sie die Layout-Struktur mit der Methode set_table_for_first_display [Seite 103].

Sie knnen die Layout-Struktur mit dem Drag&Drop-Verhalten auch nachtrglich mit der Methode set_frontend_layout [Seite 95] bergeben.

Ergebnis
Jede Zeile bzw. Spalte lt sich vom Benutzer ziehen bzw. erscheint als Ziel fr eine Drag&Drop-Operation.

Die Definition eines Drag&Drop-Verhaltens lt sich erst dann am Bildschirm nachvollziehen, wenn es wenigstens eine Dragsource und ein Droptarget mit gleichem Flavor gibt.

26

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) D&D-Verhalten fr spezielle Spalten

D&D-Verhalten fr spezielle Spalten


Einsatzmglichkeiten
Sie knnen mit dieser Mglichkeit fr spezielle Spalten des Grid Controls ein Drag&DropVerhalten definieren. Jede Spalte kann dabei ein anderes Drag&Drop-Verhalten haben.

Ablauf
5. Definieren Sie eine interne Tabelle vom Typ LVC_T_FCAT fr den Feldkatalog. 6. Definieren Sie ein oder verschiedene Drag&Drop-Verhalten und beschaffen Sie sich deren Handles mit der Methode get_handle der Klasse cl_dragdrop. 7. Erstellen Sie den Feldkatalog manuell [Seite 137] oder halbautomatisch [Seite 139]. Weisen Sie dem Feld dragdropid fr ausgewhlte Spalten das entsprechende Handle zu (mit dem Feld fieldname knnen sie die gewnschte Spalte referenzieren). 8. bergeben Sie den Feldkatalog mit der Methode set_table_for_first_display [Seite 103].

Sie knnen den Feldkatalog mit dem Drag&Drop-Verhalten auch nachtrglich mit der Methode set_frontend_fieldcatalog [Seite 94] bergeben.

Ergebnis
Die Spalten zeigen ein Drag&Drop-Verhalten gem dem bergebenen Handle.

Die Definition eines Drag&Drop-Verhaltens lt sich erst dann am Bildschirm nachvollziehen, wenn es wenigstens eine Dragsource und ein Droptarget mit gleichem Flavor gibt.

April 2001

27

ALV Grid Control (BC-SRV-ALV) D&D-Verhalten fr spezielle Zeilen/Zellen

SAP AG

D&D-Verhalten fr spezielle Zeilen/Zellen


Einsatzmglichkeiten
Sie knnen mit dieser Mglichkeit fr spezielle Zeilen oder Zellen des Grid Controls ein Drag&Drop-Verhalten definieren. Jede Zeile bzw. Zelle kann dabei ein anderes Drag&DropVerhalten haben.

Ablauf
1. Definieren Sie die Layout-Struktur vom Typ LVC_S_LAYO. 2. Erweitern Sie Ihre Ausgabetabelle um eine Drag&Drop-Tabelle vom Typ LVC_T_DRDR wie im folgenden Beispiel: DATA: BEGIN OF GT_OUTTAB OCCURS 0. INCLUDE STRUCTURE <DDIC-Struktur>. DATA: CT TYPE LVC_T_DRDR. "Table for d&d cell behaviour DATA: END OF GT_OUTTAB. 3. Definieren Sie Ihr Drag&Drop-Verhalten und beschaffen Sie sich dessen Handle mit der Methode get_handle der Klasse cl_dragdrop. 4. Selektieren Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle. 5. Lesen Sie in einem Loop jeweils eine Zeile der Ausgabetabelle. Eine Zeile der Drag&DropTabelle hat zwei Felder. Belegen Sie diese Felder folgendermaen (siehe auch die Grafik im nchsten Abschnitt): Wenn die ganze Zeile ein Drag&Drop-Verhalten haben soll, weisen Sie dem Feld dragdropid das entsprechende Handle zu. Das Feld fieldname bleibt in diesem Fall leer. Wenn nur bestimmte Spalten der Zeile ein Drag&Drop-Verhalten haben sollen, mssen Sie fr solche Spalten jeweils eine Zeile in der Drag&Drop-Tabelle anhngen. Dem Feld fieldname weisen Sie den Namen der gewnschten Spalte und dem Feld dragdropid das entsprechende Handle zu.

6. Weisen Sie den Namen der internen Tabelle dem Feld s_dragdrop-fieldname der Layout-Struktur zu (in unserem Fall 'CT', siehe Schritt 2). 7. bergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode set_table_for_first_display [Seite 103].

Sie knnen die Layout-Struktur mit dem Drag&Drop-Verhalten auch nachtrglich mit der Methode set_frontend_layout [Seite 95] bergeben. Das ALV Grid Control frischt sie beim Aufruf der Methode refresh_table_display [Seite 88] auf. Die Instanz des ALV Grid Control und die zugehrige Ausgabetabelle mssen die gleiche Lebensdauer haben.

28

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) D&D-Verhalten fr spezielle Zeilen/Zellen

Beispiel
Die folgende Grafik zeigt eine Ausgabetabelle, bei denen die Zellen b1 und c1 zwei verschiedene und die gesamte zweite Zeile das gleiche Drag&Drop-Verhalten wie Zelle c1 hat:
Interne Tabelle vom Typ LVC_T_DRDR

CT B 2 C 1
dragdropid fieldname

Drag&Dropsensitive Zellen im Grid Control:

a1 b1 c1 a2 b2 c2 a3 b3 c3
Ausgabetabelle 1

A B C a1 b1 c1 a2 b2 c2 a3 b3 c3

April 2001

29

ALV Grid Control (BC-SRV-ALV) Ausgabe von Exceptions

SAP AG

Ausgabe von Exceptions


Einsatzmglichkeiten
Mit Exceptions kennzeichnen Sie grafisch, da ein Schwellenwert in einer Zeile der Liste berschritten ist. Im Bezug auf das Flugmodell wrde man zum Beispiel die rote Ampel benutzen, um zu signalisieren, da ein Flug ausgebucht ist. Der Benutzer kann anhand der verwendeten Farbe die angezeigten Daten schneller interpretieren. Es lassen sich drei Zustnde anzeigen: Anzeige Interner Wert 3 2 1 Signalisiert zum Beispiel (Fast) volle Kapazitt verfgbar Mittlere bis volle Ausschpfung der Kapazitt Keine Kapazitt mehr vorhanden

Eine Exception kann auch als LED angezeigt werden (siehe Exceptions [Seite 168]). Der Anwendungs-Entwickler mu sowohl die Schwellenwerte festlegen, als auch den Wert einer Exception an diesen anpassen.

Siehe auch: Beispielreport BCALV_GRID_04 der Entwicklungsklasse SLIS.

Ablauf
6. Definieren Sie die Layout-Struktur vom Typ LVC_S_LAYO: DATA gs_layout TYPE LVC_S_LAYO. 7. Erweitern Sie Ihre Ausgabetabelle um eine Variable vom Typ C wie im folgenden Beispiel: DATA: BEGIN OF GT_OUTTAB OCCURS 0. INCLUDE STRUCTURE <DDIC-Struktur>. DATA: light TYPE C. "to display exceptions DATA: END OF GT_OUTTAB. 8. Setzen Sie das Feld EXCP_FNAME der Layout-Struktur auf den Feldnamen fr die Exception: gs_layout-excp_fname = 'LIGHT'. 9. Wenn Sie die Exception als LED darstellen mchten, setzen Sie das Feld EXCP_LED der Layout-Struktur. 10. Lesen Sie in einem Loop jeweils eine Zeile der Ausgabetabelle und fragen Sie die Felder ab, die zu der Exception in Beziehung stehen. Setzen Sie Ihre Variable fr die Exception-

30

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Ausgabe von Exceptions

Anzeige (in unserem Beispiel LIGHT) je nach dem von Ihnen gewhlten Schwellenwert auf '1', '2' oder '3' (siehe oben). 8. bergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode set_table_for_first_display [Seite 103].

Wenn Sie die Werte fr eine Exception in der Ausgabetabelle gendert haben, frischen Sie die Ausgabe mit der Methode refresh_table_display [Seite 88] auf.

Ergebnis
Das ALV Grid Control enthlt am Beginn der Liste eine Spalte mit Exceptions:

April 2001

31

ALV Grid Control (BC-SRV-ALV) Einfrben von Zeilen

SAP AG

Einfrben von Zeilen


Einsatzmglichkeiten
Sie knnen Zeilen im Grid Control anders einfrben und auf diese Weise Daten der Liste hervorheben.

Spalten lassen sich ber das Feld EMPHASIZE des Feldkatalogs einfrben (siehe: Ausgabeoptionen einer Spalte [Seite 149]).

Ablauf
11. Definieren Sie die Layout-Struktur [Seite 163] vom Typ LVC_S_LAYO. 12. Erweitern Sie Ihre Ausgabetabelle um ein vierstelliges Character-Feld wie im folgenden Beispiel: DATA: BEGIN OF GT_OUTTAB OCCURS 0. INCLUDE STRUCTURE <DDIC-Struktur>. DATA: linecolor(4) type c. "Color for corresponding line DATA: END OF GT_OUTTAB. 13. Selektieren Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle. 14. Lesen Sie in einem Loop jeweils eine Zeile der Ausgabetabelle. Um die Farbe einer Zeile zu ndern, weisen Sie dem Character-Feld eine vierstellige Farbkodierung zu.

Mehr ber die Farbkodierung finden Sie beim Feld EMPHASIZE des Feldkatalogs (siehe Ausgabeoptionen einer Spalte [Seite 149]). 9. Weisen Sie den Namen der internen Tabelle dem Feld INFO_FNAME der Layout-Struktur zu (in unserem Fall 'LINECOLOR', siehe Schritt 2). 10. bergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode set_table_for_first_display [Seite 103].

Wenn Sie Zellen nicht bei der ersten Anzeige einfrben wollen, fhren Sie Schritt 4 spter aus und frischen die Ausgabetabelle mit der Methode refresh_table_display [Seite 88] auf.

32

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Einfrben von Zellen

Einfrben von Zellen


Einsatzmglichkeiten
Sie knnen Zellen im Grid Control anders einfrben und auf diese Weise Daten der Liste hervorheben. Es ist ber diesen Proze zwar auch mglich, ganze Zeilen einzufrben, dies ist aber aufwendiger als unter Einfrben von Zeilen [Seite 32] beschrieben.

Der Proze D&D-Verhalten fr spezielle Zeilen/Zellen [Seite 28] ist analog im Bezug auf die Methode zur Auswahl der Zellen.

Ablauf
15. Definieren Sie die Layout-Struktur [Seite 163] vom Typ LVC_S_LAYO. 16. Erweitern Sie Ihre Ausgabetabelle um eine Farb-Tabelle vom Typ LVC_T_SCOL wie im folgenden Beispiel: DATA: BEGIN OF GT_OUTTAB OCCURS 0. INCLUDE STRUCTURE <DDIC-Struktur>. DATA: CT TYPE LVC_T_SCOL. "Table for colors DATA: END OF GT_OUTTAB. 17. Selektieren Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle. 18. Lesen Sie in einem Loop jeweils eine Zeile der Ausgabetabelle. Eine Zeile der Farb-Tabelle hat drei Felder. Ist das Feld NOKEYCOL gesetzt, knnen Sie die Farbe von Schlsselfeldern ndern. Belegen Sie die restlichen Felder folgendermaen: Wenn Sie die ganze Zeile einfrben wollen, weisen Sie den Feldern der Struktur COLOR die entsprechenden Werte zu. Das Feld fname bleibt in diesem Fall leer. Wenn Sie nur bestimmte Spalten der Zeile einfrben wollen, mssen Sie fr solche Spalten jeweils eine Zeile in der Farb-Tabelle anhngen. Dem Feld fname weisen Sie den Namen der gewnschten Spalte und den Feldern der Struktur COLOR die entsprechenden Werte zu.

Die Bedeutung der Farbeinstellungen finden Sie in der F1-Hilfe zum Format-Befehl. Die Klasse CL_GUI_RESOURCES enthlt Konstantenattribute fr die Felder INT und INV der Struktur COLOR. 11. Weisen Sie den Namen der internen Tabelle dem Feld CTAB_FNAME der Layout-Struktur zu (in unserem Fall 'CT', siehe Schritt 2). 12. bergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode set_table_for_first_display [Seite 103].

April 2001

33

ALV Grid Control (BC-SRV-ALV) Einfrben von Zellen

SAP AG

Wenn Sie Zellen nicht bei der ersten Anzeige einfrben wollen, fhren Sie Schritt 4 spter aus und frischen die Ausgabetabelle mit der Methode refresh_table_display [Seite 88] auf.

34

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Darstellung von Drucktasten

Darstellung von Drucktasten


Einsatzmglichkeiten
Wenn Sie Zellen, Zeilen oder Spalten den Style mc_style_button zuweisen, stellt das ALV Grid Control die zugehrigen Zellen als Drucktaste dar. Der Benutzer sieht dann unmittelbar, da er weiter Informationen zur Zelle erhlt, indem er auf sie klickt. Das ALV Grid Control lst dann das Ereignis button_click [Seite 113] aus.

Ablauf
Um alle Zellen einer Spalte als Drucktaste darzustellen, verwenden Sie das Feld STYLE des Feldkatalogs [Seite 149]. Um Zeilen oder einzelne Zellen als Drucktaste darzustellen, gehen Sie folgendermaen vor: 19. Definieren Sie die Layout-Struktur [Seite 163] vom Typ LVC_S_LAYO. 20. Erweitern Sie Ihre Ausgabetabelle um eine Zellentabelle vom Typ LVC_T_STYL wie im folgenden Beispiel: DATA: BEGIN OF GT_OUTTAB OCCURS 0. INCLUDE STRUCTURE <DDIC-Struktur>. DATA: CT TYPE LVC_T_DRDR. "Table buttons DATA: END OF GT_OUTTAB. 21. Selektieren Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle. 22. Lesen Sie in einem Loop jeweils eine Zeile der Ausgabetabelle. Eine Zeile der Zellentabelle hat die Felder FIELDNAME und STYLE. Belegen Sie diese Felder folgendermaen: Wenn alle Zellen einer Zeile als Drucktaste dargestellt werden sollen, weisen Sie dem Feld style das Attribut cl_gui_alv_grid=>mc_style_button zu. Das Feld fieldname bleibt in diesem Fall leer. Wenn nur bestimmte Spalten der Zeile wie eine Drucktaste aussehen sollen, hngen Sie pro Spalte eine Zeile an die Zellentabelle an. Dem Feld fieldname weisen Sie den Namen der gewnschten Spalte und dem Feld style das Attribut cl_gui_alv_grid=>mc_style_button zu.

13. Weisen Sie den Namen der internen Tabelle dem Feld stylefname der Layout-Struktur zu (in unserem Fall 'CT', siehe Schritt 2). 14. bergeben Sie die Layout-Struktur und die Ausgabetabelle mit der Methode set_table_for_first_display [Seite 103].

Ergebnis
Das ALV Grid Control gibt die mit dem Attribut gekennzeichneten Zellen als Drucktaste aus.

April 2001

35

ALV Grid Control (BC-SRV-ALV) Darstellung von Drucktasten

SAP AG

36

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Einbinden von Hyperlinks

Einbinden von Hyperlinks


Einsatzmglichkeiten
Mit dem Feld HREF_HNDL [Seite 149] des Feldkatalogs weisen Sie allen Zellen einer Spalte ein Handle fr eine Hyperlink-Adresse zu. In diesem Abschnitt ist beschrieben, wie Sie die Zellen einer Spalte mit unterschiedlichen Hyperlink-Adressen verknpfen.

Ablauf
23. Definieren Sie eine interne Tabelle fr den Feldkatalog vom Typ LVC_T_FCAT und eine Hyperlink-Tabelle vom Typ LVC_T_HYPE: data: gt_fieldcat type lvc_t_fcat, gt_hypetab type lvc_t_hype. 24. Um nur in einer Zelle einer Spalte einen Hyperlink darzustellen, bentigen Sie ein zustzliches Feld in der Ausgabetabelle. Erweitern Sie dazu Ihre Ausgabetabelle um ein Feld vom Typ INT4 wie im folgenden Beispiel: DATA: BEGIN OF GT_OUTTAB OCCURS 0. INCLUDE STRUCTURE <DDIC-Struktur>. DATA: HL_FNAME TYPE INT4. "hyperlink handle for field FNAME DATA: END OF GT_OUTTAB.

Pro Spalte der Ausgabetabelle, die Hyperlinks auf Zellenebene enthalten soll, mu ein zustzliches Feld fr das Handle definiert werden. In diesem Beispiel sollen nur in einer Spalte Hyperlinks dargestellt werden. 25. Bauen Sie den Feldkatalog fr Ihre Ausgabetabelle manuell [Seite 137]oder halbautomatisch [Seite 139] auf. Im Feldkatalog weisen Sie dem Feld WEB_FIELD den Namen des Feldes fr das Hyperlink-Handle zu (im Beispiel: HL_FNAME, s.o.). Das ALV Grid Control kann so das zustzliche Feld richtig interpretieren. 26. Bauen Sie Ihre Hyperlink-Tabelle mit allen gewnschten Sprungzielen auf, zum Beispiel: data: ls_hype type lvc_s_hype. ls_hype-handle = '1'. ls_hype-href = 'http://www.sap.com'. append ls_hype to gt_hypetab. ls_hype-handle = '2'. ls_hype-href = 'http://www.mysap.com'. append ls_hype to gt_hypetab. 27. Selektieren Sie Ihre Daten und kopieren Sie sie in die Ausgabetabelle. 28. Lesen Sie in einer Schleife jeweils eine Zeile der Ausgabetabelle. Weisen Sie nun dem Feld fr das Hyperlink-Handle (im Beispiel: HL_FNAME), das gewnschte Handle zu. Bleibt das Handle fr eine Zeile initial, wird kein Hyperlink dargestellt.

April 2001

37

ALV Grid Control (BC-SRV-ALV) Einbinden von Hyperlinks

SAP AG

15. bergeben Sie den Feldkatalog, die Hyperlink-Tabelle und die Ausgabetabelle mit der Methode set_table_for_first_display [Seite 103].

Ergebnis
Alle Zellen der Spalte, denen ber das zustzliche Feld ein Handle zugewiesen wurde, werden als Hyperlink dargestellt. Gibt es fr das zugewiesene Handle keinen Eintrag in der HyperlinkTabelle, so wird der Inhalt der Zelle normal ausgegeben.

38

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Gruppierung von Feldern zur Feldauswahl

Gruppierung von Feldern zur Feldauswahl


Einsatzmglichkeiten
Bei einer groen Anzahl von Ausgabefeldern wird die Feldauswahl im Auswahlfenster fr das aktuelle Layout unbersichtlich. ber eine Gruppierung der Ausgabefelder kann der Benutzer ber ein Listenfeld die angezeigten Felder in dem Auswahlfenster einschrnken.

Das Listenfeld bezieht sich nur auf die ausgeblendeten Felder.

Ablauf
1. Definieren Sie eine interne Tabelle vom Typ LVC_T_SGRP fr die Feldgruppentexte und eine interne Tabelle LVC_T_FCAT fr den Feldkatalog. 2. Bauen Sie den Feldkatalog manuell [Seite 137] oder halbautomatisch [Seite 139] auf. 3. Vergeben Sie ber das Feld sp_group des Feldkatalogs fr jedes Feld der Ausgabetabelle einen Gruppenschlssel. 4. Definieren Sie fr jede Gruppe einen Gruppentext in Ihrer Feldgruppentabelle. 5. bergeben Sie die Feldgruppentabelle und den Feldkatalog mit der Methode set_table_for_first_display [Seite 103] (ber den Parameter IT_SPECIAL_GROUPS bzw. IT_FIELDCATALOG).

Ergebnis
Im Auswahlfenster fr das aktuelle Layout wird ein Listenfeld angezeigt, ber die man die jeweilige Gruppe auswhlen kann:

April 2001

39

ALV Grid Control (BC-SRV-ALV) Gruppierung von Feldern zur Feldauswahl

SAP AG

40

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Verwendung des Konvertierungsexit

Verwendung des Konvertierungsexit


Einsatzmglichkeiten
ber einen Konvertierungsexit definieren Sie einen Absprung in eine Konvertierungsroutine fr eine Spalte Ihrer Ausgabetabelle. Als Exit geben Sie dabei den Teilstring <conv> eines Funktionsbausteins mit dem Namen CONVERSION_EXIT_<conv>_OUTPUT an. So knnen Sie zum Beispiel mit dem Konvertierungsexit ALPHA (siehe Funktionsbaustein CONVERSION_EXIT_ALPHA_OUTPUT) fhrende Nullen von Kontonummern eliminieren.

Der Konvertierungsexit wird ber den WRITE-Zusatz USING EDIT MASK realisiert.

Voraussetzungen
Damit das ALV Grid Control die Konvertierung durchfhren kann, mu die interne und die externe Lnge des Feldes bekannt sein. Dies entspricht der Lnge vor und nach der Konvertierung.

Zur Veranschaulichung dieser Lngenangaben ein Beispiel zur Aufbereitungsschablone EDIT MASK beim WRITE-Befehl: DATA TIME TYPE T VALUE '154633'. WRITE (8) TIME USING EDIT MASK '__:__:__'. "Ausgabe: 15:46:33 In diesem Fall ist die interne Lge (des Typs T) sechs Zeichen lang und die Ausgabelnge acht. Die Spaltenbreite (ber das aktuelle Layout einzustellen) ist eine von diesen Gren unabhngige Gre und braucht nicht angepat zu werden.

Ablauf
1. Machen Sie dem ALV Grid Control die interne und externe Lnge des Feldes bekannt: Bei Feldern mit DDIC-Bezug bernimmt das ALV Grid Control die interne und externe Lnge automatisch. Fr Felder ohne DDIC-Bezug mssen Sie die interne Lnge ber das Feld INTLEN und die externe Lnge ber das Feld DD_OUTLEN des Feldkatalogs angeben (siehe Parameter fr Felder ohne DDIC-Bezug [Seite 159]).

2. Geben Sie den Konvertierungsexit ber das Feld EDIT_MASK des Feldkatalogs an (siehe Formatierung von Spalteninhalten [Seite 153]). 3. bergeben Sie den Feldkatalog vor der ersten Anzeige der Liste mit der Methode set_table_for_first_display [Seite 103].

April 2001

41

ALV Grid Control (BC-SRV-ALV) Verwendung des Konvertierungsexit

SAP AG

Ergebnis
Die Werte der Spalte durchlaufen vor der Anzeige die Konvertierungsroutine.

42

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Das ALV Grid Control bei WAN-Anmeldungen

Das ALV Grid Control bei WAN-Anmeldungen


Das ALV GridControl trgt innerhalb seines Kommunikationsprotokolls zwischen Applikationsserver und Frontend selbst dafr sorge, da es im WAN eingesetzt werden kann. Dieses Protokoll regelt den Datentransport von Applikationsserver zum Frontend. Es werden zunchst nur so viele Daten zum Control transportiert, wie zum Anzeigen der aktuell sichtbaren Zeilen notwendig sind. Nachfolgende Daten werden erst dann zum Control transportiert, wenn der Benutzer dort hin scrollt. Im WAN ist die Paketgre entsprechend klein, so da jedes einzelne Paket innerhalb kurzer Zeit bertragen werden kann.

Einschrnkungen
Fr den Programmierer, der das ALV - GridControl verwendet, gibt es im WAN dennoch einen Punkt zu beachten. Die Ereignisse DELAYED_CALLBACK und DELAYED_CHANGED_SEL_CALLBACK sollten im WAN nur in begrndeten Ausnahmefllen eingesetzt werden. Der Grund hierfr ist nicht primr im Ereignis selbst zu sehen, als in dem Szenario, da oft als Reaktion auf diese Ereignisse andere Controls mit Daten gefllt werden. Da dies im WAN meist eine deutlich merkliche Verzgerung (>3 Sekunden) zur Folge hat, wird dies von den Anwender als extrem hinderlich empfunden.

April 2001

43

ALV Grid Control (BC-SRV-ALV) Das ALV Grid Control im Web

SAP AG

Das ALV Grid Control im Web


Fr die Darstellung von ALV-Listen im Web, wird Funktionalitt des ALV Grid Control [Extern] am Backend verwendet. Grundstzlich gibt es zwei Mglichkeiten der Darstellung: Im SAPGUI for HTML [Seite 45]. Dies entspricht - mit Einschrnkungen - einer 1:1 Abbildung der Transaktion im SAP-System. Im Workplace [Seite 49]. Hier werden stark vereinfachte Versionen des ALV Grid Controls verwendet (Mini-ALV, Midi-ALV), um Listen in Anwendungen des Workplace einzubauen.

Es ist allerdings mglich, eine SAP-Transaktion mit einem ALV Grid Control im Workplace anzuzeigen. In dem Fall ist der SAPGUI for HTML im Workplace integriert.

44

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Darstellung im SAP GUI for HTML

Darstellung im SAP GUI for HTML


Einsatzmglichkeiten
Der SAP GUI for HTML ermglicht es SAP-Transaktionen im Web-Browser darzustellen. Anwendungen, die die Klasse CL_GUI_ALV_GRID fr die Darstellung von Tabellendaten nutzen, sind so automatisch ber diesen SAP GUI im Web sichtbar.

Einfhrungshinweise
Die Darstellung des ALV Grid Controls im SAP GUI for HTML unterscheidet sich von der im SAP GUI for Windows. So stehen im SAP GUI for HTML zum Beispiel weniger Farben zur Verfgung. Auerdem ist die Interaktion durch den Benutzer teilweise anders gelst oder eingeschrnkt.

Funktionsumfang
In den meisten Fllen funktionieren Methoden, Ereignisse und Attribute der Klasse CL_GUI_ALV_GRID auch im SAP GUI for HTML. Tastaturkommandos sind im SAP GUI for HTML nicht verfgbar. Der Zugriff auf Funktionen erfolgt meistens per Mausklick. Darum gibt es fr die F1-Hilfe ein Fragezeichen-Icon in der Toolbar. Der Benutzer mu Zeilen, Spalten oder Zellen einzeln markieren und wieder einzeln demarkieren. (Dies ist zudem abhngig vom Selektionsmodus [Seite 166]).

Einschrnkungen
Um eine gute Performance zu gewhrleisten sind bestimmte Funktionen nur eingeschrnkt verfgbar. Im folgenden werden die wichtigsten Einschrnkungen beschrieben: Wichtigste Einschrnkungen im SAP GUI for HTML Einschrnkung Klassifizierung (S: Schnittstelle V: Visuell I: Interaktion) S/I S S/V S/I S/I

Das Kontext Men ist nicht verfgbar. In der Toolbar definieren Sie die Mens nicht mehr dynamisch, sondern statisch [Seite 47]. Die Position der Scrollbar kann nicht gesetzt werden (siehe set_scroll_info_via_id [Seite 96]) Symbole knnen auf Grund fehlender Schriften nicht dargestellt werden Es kann jeweils nur ein Tabellenelement-Typ (Zeile, Spalte, Zelle) markiert werden. Kombinationen sind nicht mglich. Die Ereignisse delayed_callback [Seite 115] und delayed_changed_sel_callback [Seite 116] knnen nicht verwendet werden (siehe auch: Das ALV Grid Control bei WAN-Anmeldungen [Seite 43]) Der Benutzer kann keine Spalten ber Drag und Drop vertauschen

S/I

April 2001

45

ALV Grid Control (BC-SRV-ALV) Darstellung im SAP GUI for HTML Es gibt keine Autoscroll-Funktion (das heit kein automatisches Scrollen bei gedrckter Maustaste) Zwischensummenzeilen lassen sich nicht komprimieren Wenn die Anzahl der Funktionen in der Toolbar nicht in eine Zeile passen, wird die Toolbar nicht umgebrochen Es werden nur 8 Hintergrundfarben verwendet. Andere Farbwerte (zum Beispiel Intensified) werden auf andere Farbwerte abgebildet. I I V/I V

SAP AG

46

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Definition eines statischen Mens

Definition eines statischen Mens


Verwendung
Im SAP GUI for Windows werden Mens in der Toolbar ber die Ereignisse toolbar [Seite 131], menu_button [Seite 119] und context_menu_request [Seite 114] dynamisch aufgebaut. Im SAP GUI for HTML ist diese Vorgehensweise aus Performance-Grnden nicht zu empfehlen. Statt dessen sollten Sie alle Mens der Toolbar (Kontext-Mens funktionieren generell nicht) wie hier beschrieben als statische Mens definieren. Diese definieren Sie beim Ereignis toolbar vor der Anzeige des ALV Grid Controls.

Ablauf
7. Definieren Sie eine Ereignisbehandlermethode zum Ereignis TOOLBAR. 8. Deklarieren Sie eine Struktur fr die Definition eines Elements der Toolbar, eine MenStruktur und eine Referenzvariable auf die Kontext-Men-Klasse: data: ls_toolbar TYPE stb_button, ls_menu TYPE stb_btnmnu, lc_menu TYPE REF TO cl_ctmenu. 9. Definieren Sie zuerst eine Drucktaste vom Typ Men in der Toolbar an: CLEAR ls_toolbar. ls_toolbar-function = 'STATIC_MENU1'. ls_toolbar-icon = icon_led_interactive. ls_toolbar-butn_type = '2'. ls_toolbar-text = 'first static menu'.

Mit dem Feld butn_type teilen Sie dem ALV Grid Control den Typ des GUIElements mit. Fr Mens mit einem Defaultbutton verwenden Sie Typ '1'. 10. Mit Hilfe des Ereignisparameters E_OBJECT hngen Sie die neue Definition an die Tabelle mt_toolbar: APPEND ls_toolbar TO e_object->mt_toolbar. 11. Erzeugen Sie eine Instanz der Kontext-Men-Klasse und fgen Sie dem Men Funktionen mit der Methode ADD_FUNCTION hinzu (hier nur eine als Beispiel): create object lc_menu. call method lc_menu->add_function exporting fcode = 'STATIC_MENU1_FUNC1' text = 'first menu entry'. 12. Um den Meneintrag mit dem Men zu verknpfen, fllen Sie die Men-Struktur entsprechend: ls_menu-ctmenu = lc_menu. ls_menu-function = 'STATIC_MENU1'. 13. bergeben Sie dem Ereignisparameter E_OBJECT die Men-Struktur: append ls_menu to e_object->mt_btnmnu.

April 2001

47

ALV Grid Control (BC-SRV-ALV) Definition eines statischen Mens 14. Rufen Sie die statische Methode set_focus fr Ihre Instanz auf: call method cl_gui_control=>set_focus exporting control = sender.

SAP AG

Ergebnis
Den jeweiligen Funktionskode, den Sie im Feld function festgelegt haben, knnen Sie in der Ereignisbehandlermethode zum Ereignis USER_COMMAND abfragen und so die zugehrige Funktion implementieren.

48

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Darstellung im Workplace

Darstellung im Workplace
ber die Technologie des Workplace ist es mglich, die Zusammenstellung von Anwendungen auf einen bestimmten Benutzertyp abzustimmen. Da diese Anwendungen im Web-Browser laufen, ist deren Bedienung einfacher gestaltet und auf andere Benutzer zugeschnitten als im SAP-System.

Weitere Informationen zum Workplace finden Sie im SAPnet mit Hilfe des Alias workplace. Fr Web-Anwendungen, die Listen im Workplace darstellen, gibt es zwei Ausprgungen des ALV Grid Controls. Je nach Komplexitt beziehungsweise Lnge einer Liste setzt man entweder den MiniALV [Seite 51] oder den MidiALV [Seite 61] ein.

Integration
Sowohl Mini- als auch MidiALV bauen auf Funktionalitt des ALV Grid Controls [Extern] am Backend auf. Um einen Report im Web darzustellen, brauchen Sie einen Report oder eine Query (die ja einen Report erzeugt) im SAP-System. Fr das Web-Reporting werden die Ausgaben dieses Reports genommen und an den Web-Browser bermittelt.

Dieser Report wird im folgenden Proxy-Report genannt. Bevor ein Report ber den Midi- oder MiniALV im Workplace angezeigt werden kann, mu er bestimmte Voraussetzungen [Seite 50] erfllen.

April 2001

49

ALV Grid Control (BC-SRV-ALV) Voraussetzungen

SAP AG

Voraussetzungen
Die hier beschriebenen Voraussetzungen gelten sowohl fr Mini- als auch fr MidiALV.

Voraussetzungen fr den Report


Im Web-Reporting werden die Listen im Web-Browser angezeigt. Daher darf der Proxy-Report keine Frontend-Objekte erzeugen. Gibt der Proxy-Report Listen ber den Fullscreen-Modus aus (Anwendungsfunktionen befinden sich in der Anwendungsfunktionsleiste), mu die Anwendung das ABAP-Programm zum ProxyReport nicht anpassen. Benutzt der Proxy-Report die Klasse CL_GUI_ALV_GRID, mu der Report unterscheiden, ob er im SAP GUI luft oder im Web. Dazu steht die statische Methode offline() [Seite 87] zur Verfgung, deren Aufruf Sie an Stelle von Abfragen des Systemfeldes SY-BATCH einsetzen. Luft der Proxy-Report dann im Batch durch und schreibt das Ergebnis in die Spool, so ist dieser Report automatisch auch fr die Ausgabe als Mini- beziehungsweise MidiALV geeignet. Falls er dennoch nicht im Web zur Anzeige kommt, prfen Sie zunchst, ob der Report und gegebenfalls die angegebene Selektionsvarianten oder Layouts im System existieren (im Fall der Query mu die Benutzergruppe vorhanden sein).

Berechtigungen
Damit der Report beziehungsweise die Query im Web dargestellt werden kann, mssen Sie auerdem zwei Einstellungen vornehmen: Der Report mu ber das Web-Repository (Transaktion SMW0) freigegeben werden (Siehe Objekte fr das Web Reporting freigeben [Extern]) Der Report mu einer Berechtigungsgruppe zugeordnet sein. Kunden verwenden den Report RSCSAUTH, um eigene Berechtigungsgruppen modifikationsfrei zu verwenden.

50

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Der MiniALV

Der MiniALV
Verwendung
Der MiniALV ist fr die Ausgabe von Listen auf einem kleinen Ausgabebereich des Bildschirms gedacht (zum Beispiel: bersicht ber Systemprozesse). Aus diesem Grund sollten in diesen Listen zum Beispiel keine Zwischensummen ausgegeben werden. Der MiniALV kann sowohl als eigenstndige MiniApp, als auch als Teil einer MiniApp verwendet werden. Mgliche Interaktionen des Benutzers sind dabei auf die wesentlichsten Funktionen beschrnkt:

Der Bildschirmabgriff zeigt den MiniALV in der Seitendarstellung (weitere Seiten sind durch Blttern erreichbar). Es wird ein Report aus dem SAP-System im Web-Browser angezeigt, der zur Flugtabelle SFLIGHT die Felder Airline, Flight no., Pl.type, Capacity, Occupied und Total ausgibt. Wenn zu diesem Report Layouts oder Selektionsvarianten gespeichert sind, stellt der MiniALV zustzlich eine Listbox ber der Liste dar, mit der der Benutzer gespeicherte Varianten der Liste ausgeben kann.

Voraussetzungen
Der Funktionsbaustein FLOW_LOGIC_ALV_CALL mu im System vorhanden sein. Zur Darstellung im Browser werden diese Bausteine ber WebRFC gerufen.

Siehe auch: Voraussetzungen [Seite 50]und Fehleranalyse [Seite 60].

Funktionsumfang
Der MiniALV wird mit Hilfe der Flow-Logik Technologie realisiert. Das Tutorial InternetAnwendungen entwickeln mit Flow-Dateien [Extern] geht speziell darauf ein, wie Sie das SAP@Web Studio dazu verwenden, whrend die Dokumentation Integration von InternetServices [Extern] behandelt, wie Sie ein MiniApp mit Hilfe des Web Application Builder implementieren.

April 2001

51

ALV Grid Control (BC-SRV-ALV) Der MiniALV Um den MiniALV in den Workplace zu integrieren, gibt es folgende Mglichkeiten: Sie starten den MiniALV Service als eigenstndige MiniApp [Seite 53] ber eine parametrisierte URL

SAP AG

Sie binden den MiniALV Service in eine eigene MiniApp ein [Seite 54] und brauchen keine Flow-Datei Sie nutzen den MiniALV als interaktives Web Control [Seite 55], brauchen also eine FlowDatei, um auf Flow-Ereignisse reagieren zu knnen

Der Benutzer kann gespeicherte Selektionsvarianten oder Layouts ber eine Listbox im MiniALV auswhlen. Auerdem sind in der Liste eingebundene Hyperlinks [Seite 37] im MiniALV aktiv. ber einen Service-Parameter [Seite 63] (ma_style=wap1) lt sich die ALV-Tabelle fr die Ausgabe auf kleinen Bildschirmen [Seite 58] serialisieren. Auf diese Weise knnen die Daten auf sehr kleinen Bildschirmen fr mobile Gerte ausgegeben werden (Pervasive Computing).

Einschrnkungen
Der ITS kann Flow-Ereignisse von inkludierten Services nicht verarbeiten. Wenn Sie eigene Flow-Ereignisse verarbeiten wollen, mssen Sie den MiniALV als interaktives Web-Control einbinden (s.o.).

52

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Als MiniApp

Als MiniApp
Verwendung
Sie wollen einen Report aus dem SAP-System im Web-Browser darstellen und einer Rolle zuordnen. Der Report soll also nicht in eine eigene MiniApp integriert, sondern direkt als MiniApp gestartet werden.

Vorgehensweise
1. Sie starten den MiniALV ber eine URL fr Ihren Report. Die URL hat die Form: <WEBSERVER> [Seite 65]/minialv/!?report=<Reportname>&<p1>=<w1>&...&<pn>=<wn> Sie geben den Proxy-Report [Seite 51] und weitere Service-Parameter [Seite 56] (<p1> bis <pn>) in dieser URL an. 2. Die URL geben Sie bei der Beschreibung der Rolle in der Transaktion PFCG an. Nheres zum Anlegen einer Rolle finden Sie in der Dokumentation Benutzer und Rollen (BC-CCMUSR) [Extern].

Fr den Pfad des Web-Servers mu ein Platzhalter in der URL angegeben werden. Beachten Sie dazu den Abschnitt Die URL im Workplace in Aufruf des InternetService [Seite 65].

Ergebnis
Der der Rolle zugeordnete Benutzer kann den Report im Workplace aufrufen.

April 2001

53

ALV Grid Control (BC-SRV-ALV) Als Erweiterung einer MiniApp

SAP AG

Als Erweiterung einer MiniApp


Verwendung
Sie zeigen einen Report ber den MiniALV in einer eigenen MiniApp an. Auf diese Weise knnen Sie in der MiniApp weitere Funktionen implementieren und das Aussehen der MiniApp, in der der MiniALV angezeigt wird, beeinflussen.

Voraussetzungen
Sie drfen keine eigene Flow-Datei verwenden.

Vorgehensweise
Sie inkludieren den MiniALV-Service in Ihr Template und setzen vorher globale variablen, um dem MiniALV den Namen des Proxy-Reports [Seite 51] und weitere Parameter [Seite 56] (<p1> bis <pn) zu bergeben: `include(~service="system",~theme="dm",~name="templateLibraryDHTML.html")` ... `report = "<Reportname>"` `<p1> = "<w1>"` ... `<pn> = "<wn>"` `include(~service="minialv", "minialv")`

Ergebnis
Wenn die MiniApp gestartet wird, zeigt der MiniALV den Proxy-Report an.

54

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Als interaktives Web Control

Als interaktives Web Control


Verwendung
Sie zeigen einen Report ber den MiniALV in einer eigenen MiniApp an. Auf diese Weise knnen Sie in der MiniApp weitere Funktionen implementieren und das Aussehen der MiniApp, in der der MiniALV angezeigt wird, beeinflussen. Bei der Verwendung des MiniALV als interaktives Web Control knnen Sie Flow-Ereignisse in der MiniApp verarbeiten.

Vorgehensweise
1. Sie inkludieren den MiniALV-Service in Ihr Template und setzen vorher globale variablen, um dem MiniALV den Namen des Proxy-Reports [Seite 51] und weitere Parameter [Seite 56] (<p1> bis <pn) zu bergeben: `include(~service="system",~theme="dm",~name="templateLibraryDHTML.html")` ... `report = "<Reportname>"` `<p1> = "<w1>"` ... `<pn> = "<wn>"` `include(~service="minialv", "webcontrol")` 2. Um auf Flow-Ereignisse zu reagieren, definieren Sie in ihrer Flow-Datei, in welcher der MiniALV verwendet wird, einen Zustand, zum Beispiel loadList. Kopieren Sie den ModulAufruf des MiniALV aus dessen Flow-Datei in diesen Zustand. Die Flow-Datei des MiniALV finden Sie im MiniALV-Service im SAP-System.

Sobald der ITS Flow-Ereignisse von Includes verarbeiten kann, ist die hier beschriebene Vorgehensweise obsolet. 3. Beenden Sie die anderen Zustnde Ihrer Rahmen-MiniApp durch folgende Anweisung: <default next_state="loadList"/> Dadurch wird der Zustand loadList zustzlich ausgefhrt, und der Tabelleninhalt neu geladen.

Ergebnis
Ihre MiniApp kann nun eigene Flow-Ereignisse definieren und mit dem MiniALV verarbeiten.

April 2001

55

ALV Grid Control (BC-SRV-ALV) Service-Parameter

SAP AG

Service-Parameter
Inhalt Parameter report query usergroup workspace Bedeutung Name des Proxy-Reports [Seite 51] Name einer Query (alternativ zum Proxy-Report) Bei Query: Benutzergruppe Bei Query: Arbeitsbereich

Personalisierung Parameter (Defaultwert) variant emptyvariant (on|off) layout selectiontype (V|P) Bedeutung Selektionsvariante, mit der der Report gestartet werden soll Erlaubt es, den MiniALV mit leerer Selektionsvariante zu starten Den MiniALV mit einem vorhandenen Layout [Seite 17] starten Bestimmt, welche Auswahl in der Listbox erscheint: V: In der Listbox werden gespeicherte Selektionsvarianten und/oder gespeicherte Layouts angezeigt (alle dem Report zugeordneten) P: Die Anwendung ordnet der Listbox eigene Werte zu (ber User-Exit, siehe userfb). Sehen Sie sich dazu den Service CCMS_ALVIEWER und den Funktionsbaustein SALWP_AL_VIEW_GET_SHUFF_INFO an.

userfb

Funktionsbaustein als User-Exit um: MiniALV Parameter zu customizen Einstellungen benutzerspezifisch zu sichern

Visuelle Eigenschaften Parameter (Defaultwert) ma_title (on|off) ma_header (short|medium|long|off) ma_shuffler (on|off) ma_style (scroller|pages|text|wap1) ma_lines (10) ma_height (150) Bedeutung Titel ein-/abschalten Beeinflut den Text der Spaltenberschriften Anzeige der Listbox ein-/abschalten Stil des graphischen Designs in Web-Browser ndern Anzahl der Zeilen, die auf einmal sichtbar sind Hhe der Scrollbartabelle

Eigenschaften fr 'ma_style=wap1' (siehe Ausgabe auf kleinen Bildschirmen [Seite 58])

56

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Service-Parameter

Parameter (Defaultwert) maw_columns

Bedeutung Mit diesem Parameter kann ausgewhlt werden, welche Spalten angezeigt werden sollen und welche Beschriftung fr den jeweiligen Zellen verwendet werden Bewirkt eine Verdichtung der Tabelle. Sich wiederholende Spaltenwerte werden nicht nochmals ausgegeben.

maw_sparse

April 2001

57

ALV Grid Control (BC-SRV-ALV) Ausgabe auf kleinen Bildschirmen

SAP AG

Ausgabe auf kleinen Bildschirmen


Eine Verwendung des MiniALV ist die Ausgabe von ALV-Listen auf sehr kleinen Bildschirmen. Dazu mssen die Spalten der Liste serialisiert werden, um sie auf der kleinen Ausgabeflche unterbringen zu knnen. Um den MiniALV zu diesem Zweck zu verwenden, mssen Sie den Service-Parameter ma_style auf wap1 setzen. In der Regel wird der Benutzer nur an der Ausgabe bestimmter Spalten der ALV-Liste interessiert sein. Der MiniALV stellt dazu weitere Service-Parameter [Seite 56] zur Verfgung, die nur fr den Ausgabestil wap1 gedacht sind. Sie beginnen mit dem Prfix maw_.

Aufbereitung der Anzeige


Mit dem Parameter maw_columns kann ausgewhlt werden, welche Spalten angezeigt werden sollen und welche Beschriftung fr den jeweiligen Zellen verwendet werden sollen. Der Parameterwert ist ein String mit einer komma-separierten Liste, in der jede Position einer Spalte entspricht. In einer Position steht die Beschriftung, die fr den Wert gestellt wird. Zustzlich stehen Steuerbefehle zur Verfgung, mit denen die Darstellung beeinflut werden kann: Steuerbefehl ^ ,, _ *0 *n Bedeutung Am Ende einer Position bewirkt dieses Zeichen, da der nchste Spaltenwert ohne Zeilenwechsel in derselben Zeile dargestellt wird Zwei Kommas hintereinander bewirken, da die entsprechende Postion nicht dargestellt wird Die entsprechende Position wird angezeigt, jedoch ohne irgendwelche Beschriftung Der normale Spalten-Header wird fr die Position verwendet Die ersten n Buchstaben des normalen Spalten-Headers werden fr die Position verwendet

Beispiel
Das folgende Beispiel zeigt eine ALV-Liste, die verwendeten Steuerparameter und darunter die dazugehrige Ausgabe:

58

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Ausgabe auf kleinen Bildschirmen

Short AA AA LH LH

Airline American American Lufthansa Lufthansa

# 17 18 907 908

Date 03.02.00 04.02.00 03.02.00 05.02.00

Capacity 660 660 660 660

Occupied 97 130 30 60

maw_columns= >^,,^,; ,Kapazitt=, Belegt= >AA 17; 03.02.00 Kapazitt= 660 Belegt= 97 >AA 18; 04.02.00 Kapazitt= 660 Belegt= 130 ...

maw_columns= >^,,^,;,*3=,*3=

maw_columns= ,>,#^,; ,*3=,*3= maw_sparse=2 >American >>#17; 03.02.00 Cap= 660; Occ= 97 >>#18, 04.02.00 Cap= 660; Occ= 130 >Lufthansa ...

>AA 17; 03.02.00 Cap= 660, Occ= 97 >AA 18; 04.02.00 Cap= 660; Occ= 130 ...

April 2001

59

ALV Grid Control (BC-SRV-ALV) Fehleranalyse

SAP AG

Fehleranalyse
Hinweise
Benutzen Sie statt des Funktionsbausteins ITS_PING den Baustein GUI_IS_ITS oder die statische Methode CL_GUI_OBJECT=>WWW_ACTIVE. berprfen Sie beim Fehlercode E00 (siehe unten) zunchst die Voraussetzungen fr die Verwendung des MiniALV [Seite 51]. Sie knnen zustzlich Testen, ob der Funktionsbaustein FLOW_LOGIN_ALV_CALL Daten des Reports zurckgibt. Falls Sie den MiniALV zusammen mit einem SAP-System eines lteren Releasestandes verwenden, wird mglicherweise beim Reportnamen (und bei den Selektionsvarianten, etc.) noch zwischen Gro-/Kleinschreibung unterschieden.

Fehlermeldungen
Der MiniALV gibt im Fehlerfall Meldungen aus. Der Fehlerkode kann im Webcontrol [Seite 55]Modus im Flow-File behandelt werden: Fehlerkode E00 E01 E02 E03 E04 E05 E06 E08 E09 E10 E11 E12 E13 E14 E15 Meldung RFC lieferte keine Daten Variante ist nicht vorhanden Fehler beim Ermitteln der benutzerspezifischen Einstellungen Fehler beim Aufruf des ALV Fehler beim Ermitteln der Varianten Report ist nicht vorhanden Fehler im Selektionsstring; prfen Sie die Syntax Funktionsbaustein zur Ermittlung der benutzterspezifischen Varianten ist nicht vorhanden Report ist ohne Variante nicht ausfhrbar; geben Sie eine Variante an Benutzergruppe ist nicht vorhanden Query ist nicht vorhanden Query ist gesperrt Reportgenerierung fr die Query wurde abgebrochen Fehler bei der Reportgenerierung fr die Query Geben Sie einen Report oder eine Query an

60

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Der MidiALV

Der MidiALV
Verwendung
Der MidiALV ist fr lngere Listen im Web einzusetzen. Die Liste wird im kompletten Ausgabebereich des Workplace ausgegeben. Auerdem bernimmt der MidiALV Selektionsbilder aus dem SAP-System.

Voraussetzungen
Der MidiALV kann nur Reports im Web anzeigen, die als Ausgabe ein ALV Grid Control verwenden. Die Funktionsbausteine WWW_ALV_CALL beziehungsweise WWW_ALV_SELSCREEN mssen im verwendeten SAP-System vorhanden sein. Zur Darstellung im Browser werden (je nach Anwendung) diese Bausteine ber WebRFC gerufen.

Siehe auch Voraussetzungen [Seite 50].

Funktionsumfang
ber einen Parameter whlen Sie, ob Sie ein Selektionsbild (falls vorhanden) im MidiALV darstellen wollen (WWW_ALV_SELSCREEN) oder ob lediglich die Ergebnisliste zu einer Selektion angezeigt werden soll (WWW_ALV_CALL). Der Benutzer kann gespeicherte Selektionsvarianten oder Layouts ber eine Listbox im MiniALV auswhlen. Auerdem sind in der Liste eingebundene Hyperlinks [Seite 37] im MidiALV aktiv.

Besonderheiten zum MidiALV-Selektionsbild


Auf der Ergebnisliste erscheint ein Button Zurck zum Selektionsbild, mit dem der Benutzer zum Selektionsbild zurckspringt, um neue Daten zu selektieren. Das Selektionsbild des MiniALV hat folgende Einschrnkungen: Keine F4 Wertehilfe verfgbar Keine F1-Hilfe verfgbar Keine komplexen Einschrnkungen ber Select-Options mglich Keine dynamischen Bildmodifikationen innerhalb des PBOs mglich

April 2001

61

ALV Grid Control (BC-SRV-ALV) Den MidiALV aufrufen

SAP AG

Den MidiALV aufrufen


Verwendung
Sie rufen den MidiALV ber eine URL auf und zeigen ihn so im Web-Browser an. Wenn Sie diese URL einer Rolle zuordnen, kann der MidiALV im Workplace integriert werden.

Vorgehensweise
1. Sie starten den MidiALV ber eine URL fr Ihren Report. Die URL hat die Form: <WEBSERVER> [Seite 65]/webrfc/!?_function=<function>&<p1>=<w1>...&<pn>=<wn> Setzen Sie: _function=www_alv_call, wenn Sie einen Report ohne Selektionsbild anzeigen wollen _function=www_alv_selscreen, wenn der Report ein Selektionsbild hat, da nicht bersprungen werden soll Den Parameter _report, wenn Sie sich auf einen Report beziehen oder Den Parameter _query _usergroup und optional _workspace, wenn Sie sich auf eine Query beziehen

Um den Report zu identifizieren, verwenden Sie folgende Service-Parameter [Seite 63]:

2. Die URL geben Sie bei der Beschreibung der Rolle in der Transaktion PFCG an. Nheres zum Anlegen einer Rolle finden Sie in der Dokumentation Benutzer und Rollen (BC-CCMUSR) [Extern].

Fr den Pfad des Web-Servers mu ein Platzhalter in der URL angegeben werden. Beachten Sie dazu den Abschnitt Die URL im Workplace in Aufruf des InternetService [Seite 65].

Ergebnis
Der MidiALV-Aufruf zu Ihrem Report ist nun mit einer Rolle verknpft. Wird im Workplace diese Rolle verwendet, kann der der Rolle zugeordnete Benutzer diesen Report aufrufen.

62

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Service-Parameter

Service-Parameter
Die URL fr den Aufruf des MidiALv hat folgende Form: <WEBSERVER> [Seite 65]/webrfc/!?_function=<function>&<p1>=<w1>...&<pn>=<wn> ber den obligatorisch Parameter _function geben Sie den Funktionsbaustein ein, der im SAP-System gerufen werden soll: www_alv_call: kein Selektionsbild vorhanden oder erwnscht www_alv_selscreen: das Selektionsbild des Reports soll ausgegeben werden

Neben der Funktion mssen Sie entweder den Namen eines Reports oder den Namen einer Query in der URL angeben. Inhalt Parameter _report _query _usergroup _workspace=global Personalisierung Parameter _variant Bedeutung Name der Selektionsvariante, die verwendet werden soll. (Wird der ALV mit Selektionsbild gerufen (www_alv_selscreen), so wird das Selektionsbild entsprechend vorbelegt). Name des Layout [Seite 17]s, mit dem die Liste angezeigt werden soll Bedeutung Name des Proxy-Reports [Seite 61] Name einer Query (alternativ zum Parameter _report) Bei Query: Benutzergruppe Bei Query (optional): globaler Arbeitsbereich

_layout

Visuelle Eigenschaften Parameter (Defaultwert) _fontsize (1-5) Bedeutung Festlegung der Schriftart: 1 = Arial 7pt 2 = Arial 8pt 3 = Arial 9pt 4 = Arial 10pt 5 = Arial 11pt

Wenn nicht gesetzt, ist die Schriftart durch die Browsereinstellung bestimmt

April 2001

63

ALV Grid Control (BC-SRV-ALV) Service-Parameter _header (small|medium|long) Auswahl der Spaltenberschrift: _shuffler (on|off) small = Kurztext medium = Mittlerer Text long = Langtext

SAP AG

Anzeige der Listbox fr die Auswahl einer Selektionsvariante oder eines Layouts ein-/abschalten

64

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Aufruf des Internet-Service

Aufruf des Internet-Service


Um MiniApps im Workplace darzustellen, publizieren Sie Internet-Services beim ITS. Die MiniApp lt sich dann ber eine URL starten.

Siehe auch: Integration von Internet-Services [Extern]. Im Allgemeinen hat die URL die Form: <web_protcl>://<web_server>/<web_path_prefix>/<service>/!?<CGIParameter>

Der Teil <web_protcl>://<web_server>/<web_path_prefix> der URL wird im Rahmen dieser Dokumentation auch mit <WEBSERVER> abgekrzt. Der Teil bis einschlielich dem Ausrufezeichen ('!') beschreibt den Internet-Service auf dem jeweiligen ITS. Mit dem Fragezeichen ('?') werden die CGI-Parameter eingeleitet, denen man direkt in der URL einen Wert zuweist und durch ein Ampersand-Zeichen ('&) voneinander trennt. So knnen Sie zum Beispiel fr <CGI-Parameter> folgendes einsetzen: ~language=<language>&~client=<client>

Die Parameter ~language und ~client lassen sich auch ber eine Service-Datei an den ITS bergeben.

Die URL im Workplace


Wenn Sie Ihre URL ber die PFCG in den Workplace einfgen, drfen Sie den String <web_path_prefix> nicht auflsen, da er Web-Server-spezifisch ist. Der Workplace ersetzt diesen Teil der Adresse durch die korrekte Pfadangabe.

Beispiele
Testen und Aufrufen des MiniALV
Um den MiniALV-Service mit einem Report mit dem Namen enjoy auf dem ITS mit der URL http://rosebud:1080 und dem Web-Server-Prfix scripts/wgate/ zu starten (zum Beispiel zum Testen), rufen Sie die URL http://rosebud:1080/scripts/wgate/minialv/!?report=enjoy im Web-Browser auf. In diesem Fall ist der <web_path_prefix> gleich scripts. In der PFCG mssen Sie dann fr diesen Service die URL http://rosebud:1080/<web_path_prefix>/minialv/!?report=enjoy eintragen.

April 2001

65

ALV Grid Control (BC-SRV-ALV) Aufruf des Internet-Service

SAP AG

Testen und Aufrufen des MidiALV


Um den MidiALV-Service mit einem Report mit dem Namen list auf dem ITS mit der URL http://big:1080 und dem Web-Server-Prfix scripts/wgate/ zu starten (zum Beispiel zum Testen), rufen Sie die URL http://big:1080/scripts/wgate/webrfc/!?_function=www_alv_call&_report=l ist im Web-Browser auf. In diesem Fall ist der <web_path_prefix> gleich scripts. In der PFCG mssen Sie dann fr diesen Service die URL http://big:1080/<web_path_prefix>/webrfc/!?_function=www_alv_call&_repo rt=list eintragen.

66

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Methoden der Klasse CL_GUI_ALV_GRID

Methoden der Klasse CL_GUI_ALV_GRID


Diese Klasse beinhaltet sowohl controlspezifische Methoden, als auch vom Control Framework geerbte Methoden. In diesem Abschnitt werden nur die controlspezifischen Methoden beschrieben. Die vererbten Methoden des Control Frameworks werden in Methoden des OO Control Frameworks [Seite 174] beschrieben. Grundlegende Methoden Methode CONSTRUCTOR [Seite 71] set_table_for_first_display [Seite 103] refresh_table_display [Seite 88] Anwendung Erzeugen einer Instanz des ALV Grid Controls Anzeigen einer Ausgabetabelle im Control Auffrischen der angezeigten Daten im Control

Elemente des Grid Controls Methode get_current_cell [Seite 72] set_current_cell_via_id [Seite 92] get_scroll_info_via_id [Seite 77] set_scroll_info_via_id [Seite 96] get_selected_cells [Seite 78] set_selected_cells [Seite 98] get_selected_cells_id [Seite 79] set_selected_cells_id [Seite 99] get_selected_columns [Seite 80] get_selected_rows [Seite 81] set_selected_rows [Seite 101] Anwendung Holen von Indizes und Eigenschaften einer markierten Zelle Cursur auf bestimmte Zelle setzen Abfragen der aktuellen Scroll-Position Setzen der Scroll-Position Inhalt und Position markierter Zellen vom Frontend holen Markieren von Zellen im Grid Control Holen von Indizes der aktuell markierten Zellen Markieren von Zellen ber Index-Tabelle Feldnamen markierter Spalten vom Frontend holen Indizes markierter Zeilen vom Frontend holen Zeilen markieren

Layout- und Strukturinformationen Methode get_frontend_fieldcatalog [Seite 75] Anwendung Holen des aktuellen Feldkatalogs vom Frontend

April 2001

67

ALV Grid Control (BC-SRV-ALV) Methoden der Klasse CL_GUI_ALV_GRID set_frontend_fieldcatalog [Seite 94] get_frontend_layout [Seite 76] set_frontend_layout [Seite 95] set_3d_border [Seite 90] Setzen eines Feldkatalogs am Frontend Holen der Layout-Struktur am Frontend Setzen der Layout-Struktur am Frontend

SAP AG

(De-)Aktivieren des 3D-Stils am Rand des ALV Grid Controls

Generische Funktionen Methode get_filtered_entries [Seite 73] get_filter_criteria [Seite 74] get_subtotals [Seite 83] set_filter_criteria [Seite 93] get_sort_criteria [Seite 82] set_sort_criteria [Seite 102] get_variant [Seite 86] save_variant_dark [Seite 91] set_graphics_container [Seite 97] set_user_command [Seite 108] Anwendung Indizes der Zeilen beschaffen, die auf Grund eines gesetzten Filters nicht angezeigt werden Filtereigenschaften fr alle Spalten beschaffen, fr die aktuell ein Filter gesetzt ist Werte der aktuellen Zwischensummenzeilen holen Filtereigenschaften fr Spalten setzen Sortierkriterien fr sortierte Spalten holen Sortierkriterien fr Spalten setzen Aktuelles Layout holen Benutzereigene Vergabe eines Variantennamens unterbinden Anderes Container Control fr die Diagramm-Anzeige verwenden ndern des aktuell auszufhrenden Funktionskodes

Ereignisbehandlung Methode register_delayed_event [Seite 89] set_toolbar_interactive [Seite 107] Anwendung Registrierung des Ereignisses DELAYED_CALLBACK oder DELAYED_SEL_CHANGED_CALLBACK Auslsen des Ereignisses toolbar [Seite 131]

Schnittstellen Methode activate_reprep_interface [Seite 70] Anwendung Bericht-Bericht Schnittstelle aktivieren

68

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Methoden der Klasse CL_GUI_ALV_GRID

offline [Seite 87]

Prfen, ob das ALV Grid Control ohne Frontendbehandlung luft

April 2001

69

ALV Grid Control (BC-SRV-ALV) activate_reprep_interface

SAP AG

activate_reprep_interface
Verwendung
Aktivierung der Bericht/Bericht-Schnittstelle. ber den Parameter IS_REPREP spezifizieren Sie den Sender des Berichts. Existiert in der Tabelle TRSTI eine Zuordnung des Senderberichtes zu Empfngerberichten, wird der Funktionskode BEBx aktiv (x = Funktionskodeklasse).

Liegt fr den Sender RKTFGS15 eine Empfngerzuordnung zur Report-Writer Berichtsgruppe 7KOI mit Funktionscodeklasse '3' (SAP-Einstellung) vor, so wird diese Empfngerberichtsgruppe bei Funktionscode BEB3 ber die Bericht/BerichtSchnittstelle gerufen. Als Selektionen werden die Reportabgrenzungen sowie die Keyinformationen der selektierten Zeile der Bericht-Bericht-Schnittstelle bergeben. Weitere Informationen zur Bericht/Bericht-Schnittstelle finden Sie in der Dokumentation zur Funktionsgruppe RSTI.

Voraussetzungen
Der Report RKKBRSTI mu im Entwicklungssystem aktiv sein.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->activate_reprep_interface EXPORTING IS_REPREP = <Struktur vom Typ LVC_S_RPRP>. Parameter IS_REPREP Bedeutung Struktur fr die Senderidentifikation

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

70

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) CONSTRUCTOR

CONSTRUCTOR
Verwendung
Diese Methode wird automatisch aufgerufen, wenn Sie mit CREATE OBJECT ein Objekt der Klasse CL_GUI_ALV_GRID anlegen. Mit der Erzeugung wird das Control auf dem Frontend angelegt und an ein Container Control gebunden.

Funktionsumfang
CREATE OBJECT <Referenzvariable auf CL_GUI_ALV_GRID> EXPORTING i_shellstyle = <Var. vom Typ I> i_lifetime = <Var. vom Typ I> i_parent = <Referenzvar. auf CL_GUI_CONTAINER> i_appl_events = <Var. vom Typ CHAR01>. Parameter I_appl_events Bedeutung Wenn dieser Parameter gesetzt ist, registriert das ALV Grid Control alle Ereignisse als Anwendungs-Ereignisse, sonst als System-Ereignisse.

Die anderen Parameter sind haben die gleiche Bedeutung wie in der Methode constructor [Seite 185] der Klasse CL_GUI_CONTROL. Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

71

ALV Grid Control (BC-SRV-ALV) get_current_cell

SAP AG

get_current_cell
Verwendung
Mit dieser Methode beschaffen Sie sich den Wert und die Eigenschaften der Zelle im Grid Control, auf der der Cursor positioniert ist.

Wenn statt einer Zelle eine Spalte markiert ist, setzt das ALV Control den Zeilenindex auf 0 und liefert nur Informationen zur Spalte. Analoges gilt fr eine markierte Zeile. Das ALV Control liefert zwei Zeilen- und Spalten-Indizes zurck. Einmal bezogen auf die Ausgabetabelle (dies ist der Wert, den man in der Regel fr die weitere Verarbeitung braucht) und einmal bezogen auf die aktuelle Darstellung im Grid Control. Diese Werte unterscheiden sich zum Beispiel, wenn Zeilen auf Grund eines definierten Filters nicht angezeigt werden.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_current_cell IMPORTING E_ROW = <Var. vom Typ I> E_VALUE = <Var. vom Typ C> E_COL = <Var. vom Typ I> ES_ROW_ID = <Struktur vom Typ LVC_S_ROW> ES_COL_ID = <Struktur vom Typ LVC_S_COL>. Parameter E_ROW E_VALUE E_COL ES_ROW_ID ES_COL_ID Bedeutung Zeilenindex der markierten Zelle bezogen auf die Darstellung im Grid Control Wert der markierten Zelle Spaltenindex der markierten Zelle bezogen auf die Darstellung im Grid Control Struktur mit Informationen ber Typ und Index der Zeile bezogen auf die Ausgabetabelle Struktur mit Informationen ber den Feldnamen der Spalte bezogen auf die Ausgabetabelle

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

72

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_filtered_entries

get_filtered_entries
Verwendung
Liefert eine Tabelle mit allen Indizes, die im Augenblick mit der Standardfunktion "Filtern" aus der Anzeige ausgeblendet sind.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_filtered_entries IMPORTING ET_FILTERED_ENTRIES = <interne Tabelle vom Typ LVC_T_FIDX>. Parameter ET_FILTERED_ENTRIES Bedeutung Tabelle vom Typ Hashed Table mit einem Zeilenindex pro ausgefilterter Tabellenzeile

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

73

ALV Grid Control (BC-SRV-ALV) get_filter_criteria

SAP AG

get_filter_criteria
Verwendung
Mit dieser Methode knnen Sie aktuelle Filtereinstellungen holen und an andere Komponenten des Systems weiterreichen. Eine Zeile der Tabelle beschreibt die Selektionsbedingungen fr Eintrge einer Spalte, die nicht angezeigt werden. Spalten, fr die kein Filter gesetzt ist, sind nicht in der Tabelle aufgefhrt.

Die Tabelle mit den Filterkriterien sollte nie 'manuell' aufgebaut werden.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_filter_criteria IMPORTING ET_FILTER = <interne Tabelle vom Typ LVC_T_FILT>. Parameter ET_FILTER Bedeutung Tabelle mit Filtereinstellungen fr Spalten mit gesetztem Filter.

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

74

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_frontend_fieldcatalog

get_frontend_fieldcatalog
Verwendung
Holen des aktuellen Feldkatalogs vom Frontend. Sie verwenden diese Methode, wenn Sie den Feldkatalog, der beim Anzeigen verwendet wird, modifizieren mchten (z.B. zum Ausblenden von bestimmten Spalten). Siehe auch: Der Feldkatalog [Seite 133] und set_frontend_fieldcatalog [Seite 94].

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_frontend_fieldcatalog IMPORTING ET_FIELDCATALOG Parameter ET_FIELDCATALOG Bedeutung Strukturbeschreibung fr die gesamte Ausgabetabelle = <interne Tabelle vom Typ LVC_T_FCAT>.

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

75

ALV Grid Control (BC-SRV-ALV) get_frontend_layout

SAP AG

get_frontend_layout
Verwendung
Holen der aktuellen Layout-Struktur vom Frontend. In der Layout-Struktur bestimmen Sie Eigenschaften des Grid Controls (siehe auch: Die Layout-Struktur [Seite 163]).

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_frontend_layout IMPORTING ES_LAYOUT Parameter ES_LAYOUT = <Struktur vom Typ LVC_S_LAYO>.

Bedeutung Struktur mit Feldern fr Anzeigeoptionen, grafischen Eigenschaften des Grid Controls, Summenoptionen, Exceptions, Farben, Drag und Drop und anderen Interaktionselementen

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

76

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_scroll_info_via_id

get_scroll_info_via_id
Verwendung
Abfragen der aktuellen Scroll-Position im Grid-Control: Der Zeilenindex (Feld index der Struktur lvc_s_row) gibt an, welche Zeile als erste in der Anzeige zu sehen ist (vertikales Scrollen). Der Spaltenname (Feld fieldname der Struktur lvc_s_col) gibt an, welche scrollbare Spalte (die Schlsselfelder sind statisch) als erste links angezeigt wird (horizontales Scrollen).

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_scroll_info_via_id IMPORTING ES_ROW_INFO ES_COL_INFO Parameter ES_ROW_INFO ES_COL_INFO = <Struktur vom Typ LVC_S_ROW> = <Struktur vom Typ LVC_S_COL>.

Bedeutung Informationen zum vertikalen Scrollen Informationen zum horizontalen Scrollen

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

77

ALV Grid Control (BC-SRV-ALV) get_selected_cells

SAP AG

get_selected_cells
Verwendung
Holen von markierten Zellen im Zellenselektionsmodus. Das ALV Control liefert die Werte, den Spaltennamen und den Zeilenindex der jeweiligen Zelle.

Das ALV Grid Control liefert nur die Indizes von einzeln markierten Zellen zurck. Wird eine ganze Zeile oder Spalte markiert, bleibt die zurckgegebene Tabelle leer.

Voraussetzungen
Sie mssen den Selektionsmodus 'Zellenselektion' aktivieren, damit der Benutzer einzelne Zellen (und mehrere mit der CTRL-Taste) markieren kann (siehe auch: Eigenschaften des Grid Controls [Seite 166]). bergeben Sie dazu die Layout-Stuktur [Seite 163] vor der ersten Anzeige mit der Methode set_table_for_first_display [Seite 103]).

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_selected_cells IMPORTING ET_CELL Parameter ET_CELL = <interne Tabelle vom Typ LVC_T_CELL>.

Bedeutung Tabelle mit Informationen einer Zelle pro Zeile

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

78

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_selected_cells_id

get_selected_cells_id
Verwendung
Holen des Spalten- und Zeilenindex der aktuell markierten Zellen.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_selected_cells_id IMPORTING ET_CELLS Parameter ET_CELLS = <interne Tabelle vom Typ LVC_T_CENO>.

Bedeutung Tabelle mit Zeilen [Extern]- und Spaltenindizes (COL_ID).

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

Aktivitten
Die COL_ID [Seite 144] wird intern vergeben. Sie ermitteln den Feldnamen Ihrer Ausgabetabelle, indem Sie sich den Feldkatalog mit der Methode get_frontend_fieldcatalog [Seite 75] holen. Dort ist die COL_ID dem Feldnamen eindeutig zugeordnet.

April 2001

79

ALV Grid Control (BC-SRV-ALV) get_selected_columns

SAP AG

get_selected_columns
Verwendung
Holen der Feldnamen von markierten Spalten.

Wenn nur Zeilen oder Zellen markiert sind, bergibt das Control eine leere Tabelle.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_selected_columns IMPORTING ET_INDEX_COLUMNS Parameter ET_INDEX_COLUMNS = <interne Tabelle vom Typ LVC_T_COL>.

Bedeutung Tabelle mit Feldnamen der markierten Spalten

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

80

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_selected_rows

get_selected_rows
Verwendung
Holen von Indizes von markierten Zeilen.

Die Nummerierung der Zeilen des Grid Control beginnt bei 1. Wenn nur Zellen oder Spalten markiert sind, bergibt das ALV Grid Control eine leere Tabelle. Wenn der Benutzer mehrere Zeilen markiert hat sind die Indizes in der Tabelle generell aufsteigend sortiert.

Vorausetzungen
Um das Markieren von mehreren Zeilen zu erlauben, mssen Sie das Feld sel_mode der Layout-Struktur auf 'A', 'C' oder 'D' setzen (siehe auch: Eigenschaften des Grid Controls [Seite 166]).

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_selected_rows IMPORTING ET_INDEX_ROWS Parameter ET_INDEX_ROWS = <interne Tabelle vom Typ LVC_T_ROW>.

Bedeutung Tabelle mit Indizes der markierten Zeilen

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

81

ALV Grid Control (BC-SRV-ALV) get_sort_criteria

SAP AG

get_sort_criteria
Verwendung
Holen der aktuellen Sortierkriterien fr sortierte Spalten des Grid Controls.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_sort_criteria IMPORTING ET_SORT Parameter ET_SORT = <interne Tabelle vom Typ LVC_T_SORT>.

Bedeutung Jede Tabellenzeile liefert den Feldnamen und Sortierkriterien der sortierten Spalten (siehe auch: Felder der Sortierungstabelle [Extern]).

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

82

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_subtotals

get_subtotals
Verwendung
Gibt die aktuellen Zwischensummen des ALV Grid Control zurck. Der Benutzer kann maximal neun Zwischensummen bilden, nachdem er ber mindestens eine Spalte eine Summe gebildet hat. Dabei wird die Liste nach den Werten einer oder mehrerer Spalten (der Zwischensummenspalte) sortiert. Die nderung eines Wertes in der Zwischensummenspalte fhrt zur Ausgabe der Zwischensumme (dies wird auch als Gruppenstufenwechsel bezeichnet).

Integration
Bevor Sie auf die Werte der Zwischensummen zugreifen, holen Sie sich mit der Methode get_sort_criteria [Seite 82] die Sortierungstabelle [Extern]. Eine Zeile dieser Tabelle beschreibt Eigenschaften einer Spalte der Ausgabetabelle: Ist das Feld SUBTOT gesetzt, handelt es sich um eine Zwischensummenspalte Das Feld SPOS gibt dann an, auf welcher Ebene (siehe unten) die Zwischensumme gebildet wurde Das Feld FIELDNAME enthlt den Namen der Zwischensummenspalte in der Ausgabetabelle

Mit Hilfe dieser Informationen greifen Sie gezielt auf die Werte der bergebenen Tabellen zu (ber die Referenzvariablen COLLECT01 bis COLLECT09).

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_subtotals IMPORTING EP_COLLECT00 EP_COLLECT01 EP_COLLECT02 EP_COLLECT03 EP_COLLECT04 EP_COLLECT05 EP_COLLECT06 EP_COLLECT07 EP_COLLECT08 EP_COLLECT09 ET_GROUPLEVELS = = = = = = = = = = = <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <Referenzvariable vom Typ REF TO DATA> <interne Tabelle vom Typ LVC_T_GRPL>.

Um auf die Werte von EP_COLLECT00 bis EP_COLLECT09 zuzugreifen, dereferenzieren Sie die jeweilige Referenzvariable mit ASSIGN in ein Feldsymbol vom Typ Ihrer Ausgabetabelle (siehe unten). Parameter Bedeutung

April 2001

83

ALV Grid Control (BC-SRV-ALV) get_subtotals EP_COLLECT00

SAP AG

Zeigt auf die Summenzeile. Da es nur eine Summenzeile gibt, deren Summierungsbereich zudem eindeutig ist, gibt es zu dieser Tabelle keine weiteren Informationen in der Tabelle ET_GROUPLEVELS. Zeigen auf die Zwischensummenzeilen. Fr jede Zwischensummenebene gibt es eine Referenzvariable, die jeweils auf eine interne Tabelle vom Typ der Ausgabetabelle zeigt. EP_COLLECT01 zeigt auf die Zwischensumme der hchsten Ebene, EP_COLLECT02 auf die der zweithchsten, usw. Die Ebenen ergeben sich aus der Sortierprioritt (Feld SPOS in der Sortierungstabelle [Extern]). Die Spalte, nach der zuerst sortiert wurde bildet die hchste Zwischensummenebene. Verwaltung aller Indizes zu den einzelnen Gruppenstufen. Die Felder der Tabelle haben folgende Bedeutung: INDEX_FROM, INDEX_TO: Zeilen der Ausgabetabelle, ber den die Zwischensumme gebildet wurde LEVEL: Zwischensummenebene (s.o.) COUNTER: Anzahl der Zeilen, ber die die Zwischensumme gebildet wurde COMPRESS: Zu dieser Zwischensummenzeile hat der Benutzer die zugehrigen Zeilen ausgeblendet COLLECT: Gibt an, in welcher Zwischensummentabelle (01-09) die Werte abgelegt sind

EP_COLLECT01 bis EP_COLLECT09

ET_GROUPLEVELS

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

Aktivitten
Greifen Sie auf die Zwischensummentabellen (im Beispiel nur auf die Summe und die erste Zwischensummenebene) ber Feld-Symbole zu: data: total type ref to data, subtotal1 type ref to data. field-symbols <total> like gt_sflight. field-symbols <subtotal1> like gt_sflight. call method grid1->get_subtotals importing ep_collect00 = total ep_collect01 = subtotal1. assign total->* to <total>. assign subtotal1->* to <subtotal1>.

84

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_subtotals

April 2001

85

ALV Grid Control (BC-SRV-ALV) get_variant

SAP AG

get_variant
Verwendung
Holen des aktuellen Layouts.

Gemeint ist das Layout fr die Filter-, Sortier- und Spalteneinstellungen und nicht die Layout-Struktur [Seite 163].

Voraussetzungen
Das aktuelle Layout wurde bereits gesichert. Um dem Benutzer das Sichern eines Layout zu erlauben, mssen wenigstens die Parameter I_SAVE und IS_VARIANT beim Aufruf von set_table_for_first_display [Seite 103] belegt sein.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->get_variant IMPORTING ES_VARIANT Parameter ES_VARIANT = <Struktur vom Typ DISVARIANT>.

Bedeutung Struktur mit Informationen zum aktuell geladenen Layout

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

86

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) offline

offline
Verwendung
Mit dieser Methode stellen Sie fest, ob das ALV Grid Control ohne Frontendbehandlung luft.

Dies ist im Batch-Modus (sy-batch hat den Wert 'X'), im Druckmodus, in Kombination mit CATT und beim Web-Reporting der Fall. In diesem Fall sollten Sie keine Frontend-Objekt erzeugen (siehe unten).

Funktionsumfang
CALL METHOD CL_GUI_ALV_GRID=>offline RECEIVING E_OFFLINE = <Variable vom Typ INT4>. Parameter E_OFFLINE Bedeutung Wenn gleich 1, findet keine Frontendbehandlung statt.

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

Aktivitten
Verwenden Sie diese Methode beispielsweise, um den Control Container fr das ALV Grid Control nur im online-Fall zu erzeugen: DATA: g_dock TYPE REF TO cl_gui_docking_container, g_grid TYPE REF TO cl_gui_alv_grid. IF cl_gui_alv_grid=>offline( ) is initial. CREATE OBJECT g_dock. ENDIF. CREATE OBJECT g_grid EXPORTING I_PARENT = g_dock.

Der Konstruktor des ALV Grid Control prft selbst, ob die Instanz offline luft und erzeugt gegebenenfalls keine Frontend-Objekte. Sie arbeiten dann nur mit der Instanz auf dem Backend weiter.

April 2001

87

ALV Grid Control (BC-SRV-ALV) refresh_table_display

SAP AG

refresh_table_display
Verwendung
Mit dieser Methode frischen Sie die Ausgabetabelle im Grid Control auf. Dies ist ntig, wenn Sie mit Methoden die Anzeige der Daten verndern (z.B. mit set_frontend_layout [Seite 95]) oder wenn Sie neu selektierte Daten im gleichen ALV Grid Control anzeigen wollen.

Das Demoprogramm BCALV_GRID_03 der Entwicklungsklasse SLIS benutzt diese Methode, um nach einer neuen Selektion die Ausgabetabelle aufzufrischen.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->refresh_table_display EXPORTING IS_STABLE = <Struktur vom Typ LVC_S_STBL> I_SOFT_REFRESH = <Variable vom Typ CHAR01>. Parameter IS_STABLE I_SOFT_REFRESH Bedeutung Ist das Feld row bzw. col dieser Struktur gesetzt, bleibt die Position der Scrollbar fr die Zeilen bzw. Spalten stabil. Der Parameter wird nur in Ausnahmefllen benutzt. Ist er gesetzt, bleiben beim Auffrischen des Grid Controls vorher gebildete Summen, die Sortierung und definierte Filter der angezeigten Daten erhalten. Dies macht zum Beispiel Sinn, wenn Sie die Daten der Datentabelle zwischenzeitlich nicht gendert haben und das Grid Control lediglich bezglich nderungen im Layout oder im Feldkatalog auffrischen mchten.

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

88

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) register_delayed_event

register_delayed_event
Verwendung
Mit dieser Methode registrieren Sie eines der verzgerten Ereignisse delayed_callback beziehungsweise delayed_changed_sel_callback (es ist nicht mglich, beide Ereignisse gleichzeitig zu registrieren).

Lesen Sie unbedingt den Abschnitt Das ALV Grid Control bei WAN-Anmeldungen [Seite 43] bevor Sie eines dieser Ereignisse registrieren.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->register_delayed_event EXPORTING I_EVENT_ID Parameter I_EVENT_ID = <Var. vom Typ I>.

Bedeutung Ereignis-Id: cl_gui_alv_grid=>mc_evt_delayed_move_curr_cel fr das Ereignis delayed_callback [Seite 115] cl_gui_alv_grid=>mc_evt_delayed_change_select fr das Ereignis delayed_changed_sel_callback [Seite 116]

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

89

ALV Grid Control (BC-SRV-ALV) set_3d_border

SAP AG

set_3d_border
Verwendung
Mit dieser Methode knnen Sie den Rand des ALV Grid Controls in der Dynproflche versenkt darstellen.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_3d_border EXPORTING BORDER Parameter BORDER = <Var. vom Typ I>.

Bedeutung Rahmen im 3D-Stil darstellen (1=Ja, 0=Nein)

Zurck zu: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

90

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) save_variant_dark

save_variant_dark
Verwendung
Diese Methode legt einen Namen fr das zu speichernde Layout [Seite 17] fest. Wenn der Benutzer ein aktuelles Layout speichert, unterdrckt das ALV Grid Control das Popup zum Speichern eines Layouts und gibt statt dessen nur eine Erfolgsmeldung aus.

Voraussetzungen
Der Benutzer mu zum Speichern eines Layouts berechtigt sein. Siehe dazu: Abspeichern eines Layouts [Seite 18].

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->save_variant_dark IMPORTING IS_VARIANT Parameter IS_VARIANT = <Struktur vom Typ DISVARIANT>.

Bedeutung Struktur, um ein Layout zu identifizieren. Sie mssen mindestens die Felder REPORT (sy-repid) und VARIANT (technischer Name des Layouts) fllen.

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

91

ALV Grid Control (BC-SRV-ALV) set_current_cell_via_id

SAP AG

set_current_cell_via_id
Verwendung
Setzen des Cursors auf eine bestimmte Zelle im Grid Control. Das Grid Control scrollt an die bergebene Position, falls die Zelle nicht sichtbar ist.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_current_cell_via_id EXPORTING IS_ROW_ID = IS_COLUMN_ID = Parameter IS_ROW_ID IS_COLUMN_ID <Struktur vom Typ LVC_S_ROW> <Struktur vom Typ LVC_S_COL>.

Bedeutung Struktur mit Zeilenindex Struktur mit Feldnamen der Spalte

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

92

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_filter_criteria

set_filter_criteria
Verwendung
Setzen der aktuellen Filtereinstellungen. Eine Zeile der Tabelle beschreibt die Selektionsbedingungen fr Eintrge einer Spalte, die nicht angezeigt werden sollen.

Die interne Tabelle mit den Filtereinstellungen sollte nie manuell aufgebaut werden. Benutzen Sie diese Methode lediglich zum Setzen von vorher mit get_filter_criteria [Seite 74] oder ber ein Layout besorgten Filterkriterien.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_filter_criteria EXPORTING IT_FILTER Parameter IT_FILTER = <interne Tabelle vom Typ LVC_T_FILT>.

Bedeutung Tabelle mit Filtereinstellungen

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

93

ALV Grid Control (BC-SRV-ALV) set_frontend_fieldcatalog

SAP AG

set_frontend_fieldcatalog
Verwendung
Setzen des Feldkatalogs fr eine ALV Control Instanz.

Nach dem Setzen des Feldkatalogs frischen Sie die Listanzeige mit der Methode refresh_table_display [Seite 88] auf. Falls sich der Feldkatalog auf eine Ausgabetabelle bezieht, die Sie in einer ALV Control Instanz mit anderer Tabellenstruktur anzeigen, mssen Sie den Feldkatalog mit der Methode set_table_for_first_display [Seite 103] bergeben. Siehe auch: Der Feldkatalog [Seite 133] und get_frontend_fieldcatalog [Seite 75].

Voraussetzung
Sie haben sich den aktuellen Feldkatalog mit der Methode get_frontend_fieldcatalog [Seite 75] besorgt oder haben ihn vorher halbautomatisch aufgebaut [Seite 139].

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_frontend_fieldcatalog EXPORTING IT_FIELDCATALOG Parameter IT_FIELDCATALOG = <interne Tabelle vom Typ LVC_T_FCAT>.

Bedeutung Beschreibung der Spalteneigenschaften der Ausgabetabelle

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

Einschrnkungen
Das ALV Grid Control greift in dieser Methode nicht mehr auf das Data Dictionary zu. Es ist also nicht mglich, nachtrglich einen Dictionary-Bezug herzustellen, um zum Beispiel dort abgelegte Feldbezeichner als Spaltentexte automatisch zu bernehmen.

94

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_frontend_layout

set_frontend_layout
Verwendung
Setzen einer Layout-Struktur am Frontend, die Sie vorher ber die Methode get_frontend_layout [Seite 76] besorgt und modifiziert haben.

Nach dem Setzen der Layout-Struktur mssen Sie die Listanzeige mit der Methode refresh_table_display [Seite 88] auffrischen. In der Layout-Struktur bestimmen Sie Eigenschaften des Grid Controls (siehe auch Die LayoutStruktur [Seite 163]).

ber den Parameter IS_LAYOUT beim Aufruf der Methode set_table_for_first_display [Seite 103] setzen Sie Eigenschaften des Grid Controls initial.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_frontend_layout EXPORTING IS_LAYOUT Parameter IS_LAYOUT = <Struktur vom Typ LVC_S_LAYO>.

Bedeutung Struktur mit Feldern fr Anzeigeoptionen, grafischen Eigenschaften des Grid Controls, Summenoptionen, Exceptions, Farben, Drag und Drop und anderen Interaktionselementen

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

95

ALV Grid Control (BC-SRV-ALV) set_scroll_info_via_id

SAP AG

set_scroll_info_via_id
Verwendung
Setzen der Scroll-Position im Grid-Control: Der Zeilenindex (Feld index der Struktur lvc_s_row) gibt an, welche Zeile als erste in der Anzeige sichtbar sein soll (vertikales Scrollen). Der Spaltenname (Feld fieldname der Struktur lvc_s_col) gibt an, welche scrollbare Spalte (die Schlsselfelder sind statisch) als erste links angezeigt werden soll (horizontales Scrollen).

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_scroll_info_via_id EXPORTING IS_ROW_INFO = IS_COLUMN_INFO = Parameter IS_ROW_INFO IS_COLUMN_INFO <Struktur vom Typ LVC_S_ROW> <Struktur vom Typ LVC_S_COL>.

Bedeutung Informationen zum vertikalen Scrollen Informationen zum horizontalen Scrollen

bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

96

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_graphics_container

set_graphics_container
Verwendung
In der Toolbar des ALV Grid Control gibt es die Funktion Grafik anzeigen, mit der die Daten der Tabelle mit Hilfe das Graphical Frameworks (GFW) in einem Diagramm dargestellt werden. In der Voreinstellung ist diese Grafik in einem Dialogbox Container Control integriert. Wenn Sie einen anderes Container Control verwenden wollen, bergeben Sie die zugehrige Referenzvariable mit dieser Methode. Das ALV Grid Control stellt dann die Grafik in diesem Container dar.

Integration
Die Dokumentation SAP Container [Extern] beschreibt alle verfgbaren Container-Typen.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_graphics_container EXPORTING I_GRAPHICS_CONTAINER Parameter I_GRAPHICS_CONTAINER = <Referenzvariable auf CL_GUI_CONTAINER>.

Bedeutung Referenzvariable auf ein Container Control, in dem das Diagramm zu den Daten der Ausgabetabelle dargestellt werden soll.

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

97

ALV Grid Control (BC-SRV-ALV) set_selected_cells

SAP AG

set_selected_cells
Verwendung
Markieren von Zellen im Grid Control. Bevor das ALV Control die mit dem Aufruf bergebenen Zellen markiert, werden alle anderen Markierungen rckgngig gemacht.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_selected_cells EXPORTING IT_CELLS Parameter IT_CELLS = <Tabelle vom Typ LVC_T_CELL>.

Bedeutung Tabelle mit den Feldnamen der zu markierenden Zellen. Der Zeilentyp der Tabelle ist LVC_S_CELL; diese Struktur enthlt eine Struktur vom Typ LVC_S_COL und LVC_S_ROW, mit denen Sie die Spalte und die Zeile der Zelle festlegen (siehe set_selected_rows [Seite 101] bzw. set_selected_columns [Seite 100]).

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

98

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_selected_cells_id

set_selected_cells_id
Verwendung
Markieren von Zellen ber Zeilen- und Spaltenindizes.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_selected_cells_id IMPORTING IT_CELLS Parameter IT_CELLS = <interne Tabelle vom Typ LVC_T_CENO>.

Bedeutung Tabelle mit Zeilen [Extern]- und Spaltenindizes (COL_ID).

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

Aktivitten
Die COL_ID [Seite 144] wird intern vergeben. Sie ermitteln die richtige COL_ID fr einen Feldnamen Ihrer Ausgabetabelle, indem Sie sich den Feldkatalog mit der Methode get_frontend_fieldcatalog [Seite 75] holen. Dort ist die COL_ID dem Feldnamen eindeutig zugeordnet.

April 2001

99

ALV Grid Control (BC-SRV-ALV) set_selected_columns

SAP AG

set_selected_columns
Verwendung
Markieren von Spalten im Grid Control. Bevor das ALV Control die mit dem Aufruf bergebenen Spalten markiert, werden alle anderen Markierungen rckgngig gemacht.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_selected_columns EXPORTING IT_COL_TABLE Parameter IT_COL_TABLE = <Tabelle vom Typ LVC_T_COL>.

Bedeutung Tabelle mit den Feldnamen der zu markierenden Spalten (Zeilentyp: LVC_S_COL; zu fllendes Feld: FIELDNAME).

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

100

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_selected_rows

set_selected_rows
Verwendung
Markieren von Zeilen im Grid Control ber den Tabellenindex.

Die Nummerierung der Zeilen des Grid Control beginnt bei 1.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_selected_rows EXPORTING IT_INDEX_ROWS Parameter IT_INDEX_ROWS = <interne Tabelle vom Typ LVC_T_ROW>.

Bedeutung Tabelle mit Indizes der zu markierenden Zeilen

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

101

ALV Grid Control (BC-SRV-ALV) set_sort_criteria

SAP AG

set_sort_criteria
Verwendung
Setzen von Sortierkriterien fr Spalten des Grid Controls. Die Einstellungen werden nur wirksam, wenn Sie mit der Methode refresh_table_display [Seite 88] die Tabelle auffrischen.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_sort_criteria EXPORTING IT_SORT Parameter IT_SORT = <interne Tabelle vom Typ LVC_T_SORT>.

Bedeutung Pro Tabellenzeile werden die Sortierkriterien fr eine Spalte definiert (siehe auch: Felder der Sortierungstabelle [Extern]).

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

102

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_table_for_first_display

set_table_for_first_display
Verwendung
Anzeigen einer Ausgabetabelle in der ALV Control Instanz. Beim Aufruf mu entweder eine Referenzstruktur des Data Dictionary angegeben werden oder ein passender Feldkatalog [Seite 133]. Sie knnen mit optionalen Parametern zustzlich vor Ausfhrung ein Layout laden, die Tabelle nach Feldern sortieren, fr Spalten einen Filter setzen und Eigenschaften des Grid Controls festlegen.

Wenn Sie die angezeigten Daten der Ausgabetabelle auffrischen wollen, benutzen Sie die Methode refresh_table_display [Seite 88]. Die Methode set_table_for_first_display mu nur ein zweites mal aufgerufen werden, wenn sich die Struktur der Ausgabetabelle ndert. Der Report BCALV_GRID_DEMO der Entwicklungsklasse SLIS ist ein Beispiel fr den einfachsten Aufruf dieser Methode.

Voraussetzungen
Die Ausgabetabelle mu entweder global definiert sein oder ein ffentliches Attribut einer Klasse sein.

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_table_for_first_display EXPORTING I_BUFFER_ACTIVE = <beliebiger Typ (ANY)> I_STRUCTURE_NAME = <String vom Typ DD02L-TABNAME> IS_VARIANT = <Struktur vom Typ DISVARIANT> I_SAVE = <Var. vom Typ CHAR01> I_DEFAULT = <Var vom Typ CHAR01> IS_LAYOUT = <Struktur vom Typ LVC_S_LAYO> IS_PRINT = <Struktur vom Typ LVC_S_PRNT> IT_SPECIAL_GROUPS = <interne Tabelle vom Typ LVC_T_SGRP> IT_TOOLBAR_EXCLUDING = <interne Tabelle vom Typ UI_FUNCTIONS> IT_HYPERLINK = <interne Tabelle vom Typ LVC_T_HYPE> IT_ALV_GRAPHICS = <interne Tabelle vom Typ DTC_T_TC> CHANGING IT_OUTTAB = <interne Tabelle> IT_FIELDCATALOG = <interne Tabelle vom Typ LVC_T_FCAT> IT_SORT = <interne Tabelle vom Typ LVC_T_SORT> IT_FILTER = <interne Tabelle vom Typ LVC_T_FILT> Parameter Bedeutung

April 2001

103

ALV Grid Control (BC-SRV-ALV) set_table_for_first_display I_BUFFER_ACTIVE

SAP AG

Flag, das die Anwendung setzen sollte, wenn der Aufruf der Methode statisch ist: der Aufruf erfolgt immer mit dem gleichen Feldkatalog. In diesem Fall kann der Feldkatalog in einem speziellen Buffer gehalten werden. Dies beschleunigt besonders die Anzeige von kleinen Listen. Name der DDIC-Struktur (z.B.: 'SFLIGHT') zu den Daten in der Ausgabetabelle. Bei Angabe dieses Parameters wird der Feldkatalog vollautomatisch generiert. Bestimmt das Layout, mit der die Ausgabetabelle angezeigt werden soll. Bei Verwendung dieses Parameters mssen Sie wenigstens das Feld REPORT der Struktur vom Typ DISVARIANT fllen. Bestimmt, welche Mglichkeiten der Benutzer zum Abspeichern eines Layout hat: 'X': 'U': 'A': nur globales Speichern nur benutzerspezifisches Speichern entspricht 'X' und 'U'

I_STRUCTURE_NAME

IS_VARIANT

I_SAVE

SPACE: kein Speichern

I_DEFAULT

Dieser Parameter bestimmt, ob der Benutzer eine Layoutvoreinstellung definieren darf: 'X': Layoutvoreinstellung erlaubt (Voreinstellung)

SPACE: Layoutvoreinstellung nicht erlaubt

Ist eine Layoutvoreinstellung erlaubt, existiert eine solche und ist kein abweichendes Layout in IS_VARIANT angegeben, wird die Layoutvoreinstellung beim Aufruf dieser Methode automatisch geladen. IS_LAYOUT Bestimmt Eigenschaften des Grid Controls. Die Layout-Struktur hat nichts mit dem Layout zum Speichern der Filter-, Sortierund Spalteneigenschaften zu tun! Parameter fr das Drucken am Backend Wurden im Feldkatalog mit dem Feld SP_GROUP die Spalten in Gruppen unterteilt, mu man hier eine Tabelle mit Texten fr diese Gruppen bergeben. Im Fenster zum aktuellen Layout lt sich dann die Spaltenauswahl mit einer Listbox auf eine dieser Gruppen eingrenzen. Diese Tabelle enthlt Funktionskodes der Toolbar, die Sie fr die Lebensdauer des ALV Grid Controls ausblenden mchten. Die Funktionskodes sind als Konstanten-Attribute mit dem Prefix MC_FC_ gekennzeichnet.

IS_PRINT IT_SPECIAL_GROUPS

IT_TOOLBAR_EXCLUDING

104

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_table_for_first_display

IT_HYPERLINK

Diese Tabelle ordnet jedem Handle (Feld HANDLE von LVC_S_HYPE) eine Hyperlinkadresse (Feld HREF von LVC_S_HYPE) zu. ber das Handle kann man dann Hyperlinks im Grid einbinden [Seite 37]. Einstellungen fr die Darstellung der ALV-Liste als Diagramm (zum Beispiel Achsenbeschriftungen) Ausgabetabelle mit den anzuzeigenden Daten. Bestimmt die Struktur der Ausgabetabelle und die Formatierung der anzuzeigenden Daten Tabelle mit Sortiereigenschaften fr Spalten, die initial sortiert werden sollen Tabelle mit Filtereigenschaften fr Spalten, bei denen initial ein Filter gesetzt werden soll

IT_ALV_GRAPHICS IT_OUTTAB IT_FIELDCATALOG IT_SORT IT_FILTER

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

Aktivitten
Bei diesem Aufruf erzeugt das ALV Grid Control den Feldkatalog zur Ausgabetabelle vor der Anzeige automatisch [Seite 135] ber eine DDIC-Struktur: DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID, GT_SFLIGHT TYPE TABLE OF SFLIGHT. <Instanziierung von GRID1 und Integration auf Dynpro> CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'SFLIGHT' CHANGING IT_OUTTAB = GT_SFLIGHT.

Feldkatalog explizit bergeben: DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID, GT_SFLIGHT TYPE TABLE OF SFLIGHT, GT_FIELDCAT TYPE LVC_T_FCAT. <Manueller [Seite 137] oder halbautomatischer [Seite 139] Aufbau des Feldkatalogs> <Instanziierung von GRID1 und Integration auf Dynpro> CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY CHANGING IT_FIELDCATALOG = GT_FIELDCAT IT_OUTTAB = GT_SFLIGHT.

April 2001

105

ALV Grid Control (BC-SRV-ALV) set_table_for_first_display

SAP AG

106

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_toolbar_interactive

set_toolbar_interactive
Verwendung
Diese Methode lst das Ereignis toolbar [Seite 131] aus. Wenn Sie die Toolbar um eigene Funktionen erweitern, bauen Sie mit dieser Methode die Toolbar neu auf (siehe auch: Definition von GUI-Elementen in der Toolbar [Seite 22]).

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_toolbar_interactive. Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

April 2001

107

ALV Grid Control (BC-SRV-ALV) set_user_command

SAP AG

set_user_command
Verwendung
Mit dieser Methode haben Sie die Mglichkeit, Standardfunktionen des ALV Grid Control durch eigene Funktionen zu ersetzen. Dazu mssen die den aktuellen Funktionskode beim Ereignis before_user_command [Seite 112] abfragen und mit set_user_command ndern. Siehe auch: ndern von Standardfunktionen [Seite 21]

Funktionsumfang
CALL METHOD <Ref.var. auf CL_GUI_ALV_GRID>->set_user_command EXPORTING I_UCOMM Parameter I_UCOMM = <Var. vom Typ SY-UCOMM>.

Bedeutung Funktionskode (Die Funktionskodes sind als Konstanten-Attribute der Klasse (mit dem Prefix MC_FC_) angelegt).

Zur bersicht: Methoden der Klasse CL_GUI_ALV_GRID [Seite 67]

108

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Ereignisse der Klasse CL_GUI_ALV_GRID

Ereignisse der Klasse CL_GUI_ALV_GRID


Im Abschnitt Arbeiten mit dem ALV Grid Control [Seite 12] ist beschrieben, was Sie speziell bei der Ereignisbehandlung beim ALV Grid Control beachten mssen. Benutzerdefinierte Textausgaben Ereignis print_end_of_list [Seite 125] print_top_of_list [Seite 127] print_end_of_page [Seite 126] print_top_of_page [Seite 128] subtotal_text [Seite 129] Anwendung Ausgabetext am Ende der gesamten Liste festlegen (beim Drucken) Ausgabetext am Anfang der gesamten Liste festlegen (beim Drucken) Ausgabetext am Ende jeder Seite festlegen (beim Drucken) Ausgabetext am Anfang jeder Seite festlegen (beim Drucken) Eigene Zwischensummentexte festlegen

Aktionen mit der Maus im Grid Control Ereignis button_click [Seite 113] double_click [Seite 117] hotspot_click [Seite 118] onDrag [Seite 120] onDrop [Seite 121] onDropComplete [Seite 122] onDropGetFlavor [Seite 123] Anwendung Klick auf eine Drucktaste im Grid Control abfragen Doppelklick auf eine Zelle des Grid Controls abfragen Hotspot-klick auf vorher dafr festgelegte Spalten abfragen Informationen beim Ziehen von Elementen des ALV Grid Controls sammeln Informationen beim Fallenlassen auf Elemente des ALV Grid Controls verarbeiten Abschlieende Aktionen bei erfolgreichem Drag&Drop Vorgang durchfhren Fallunterscheidung bei mehreren Mglichkeiten im Drag&Drop Verhalten

Verarbeitung von eigenen und Standardfunktionen Ereignis before_user_command [Seite 112] Anwendung Abfragen von eigenen und Standardfunktionskodes

April 2001

109

ALV Grid Control (BC-SRV-ALV) Ereignisse der Klasse CL_GUI_ALV_GRID user_command [Seite 132] after_user_command [Seite 111] Abfragen von eigenen Funktionskodes

SAP AG

Abfragen von eigenen und Standardfunktionskodes

Definition eigener Funktionen Ereignis toolbar [Seite 131] menu_button [Seite 119] context_menu_request [Seite 114] onf1 [Seite 124] Anwendung GUI-Elemente in der Toolbar ndern, lschen oder hinzufgen Mens fr Menbuttons in der Toolbar definieren Kontextmen ndern Eigene F1-Hilfe definieren

110

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) after_user_command

after_user_command
Verwendung
Das ALV Grid Control lst dieses Ereignis nach dem Ereignis user_command [Seite 132] aus, wenn der Benutzer eine Standard- oder selbst definierte Funktion angewhlt hat. Sie knnen mit diesem Ereignis nach der jeweiligen Funktion abschlieende Aktionen durchfhren.

Standardfunktionen sind bei diesem Ereignis bereits abgeschlossen. Ereignis-Parameter E_UCOMM TYPE SY-UCOMM Bedeutung Standard- oder eigener Funktionskode (Die Standard-Funktionskodes sind als Konstanten-Attribute mit dem Prefix MC_FC_ gekennzeichnet).

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

111

ALV Grid Control (BC-SRV-ALV) before_user_command

SAP AG

before_user_command
Verwendung
Das ALV Grid Control lst dieses Ereignis vor dem Ereignis user_command [Seite 132] aus, wenn der Benutzer eine Standard- oder selbst definierte Funktion angewhlt hat. Sie knnen mit diesem Ereignis vor der jeweiligen Funktion einleitende Aktionen durchfhren. Siehe auch: ndern von Standardfunktionen [Seite 21] Ereignis-Parameter E_UCOMM Bedeutung Standard- oder eigener Funktionskode (Die Standard-Funktionskodes sind als Konstanten-Attribute mit dem Prefix MC_FC_ gekennzeichnet).

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

112

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) button_click

button_click
Verwendung
Wenn der Benutzer auf eine Drucktaste im Grid Control geklickt hat, behandeln Sie es in der Ereignisbehandlermethode zu diesem Ereignis.

Voraussetzungen
Sie haben eine oder mehrere Zellen als Drucktaste im ALV Grid Control dargestellt (siehe: Darstellung von Drucktasten [Seite 35]). Ereignis-Parameter ES_COL_ID TYPE LVC_S_COL ES_ROW_NO TYPE LVC_S_ROID Bedeutung Struktur mit Feld FIELDNAME, um die Spalte zu identifizieren. Struktur, um die Zeile zu identifizieren [Extern].

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

113

ALV Grid Control (BC-SRV-ALV) context_menu_request

SAP AG

context_menu_request
Verwendung
Bei diesem Ereignis haben Sie die Mglichkeit, das Standard-Kontextmen des ALV Grid Controls um eigene Funktionen zu erweitern und bestehende Funktionen auszublenden oder zu deaktivieren. Siehe auch: Definition eines Kontext-Mens [Seite 23] Ereignis-Parameter E_OBJECT TYPE REF TO CL_CTMENU Bedeutung Referenzvariable auf das Standard-Kontextmen des ALV Grid Controls.

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

114

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) delayed_callback

delayed_callback
Verwendung
Das Ereignis wird ausgelst, wenn der Benutzer eine andere Zelle als augenblicklich angewhlt mit der Maus anklickt. Das ALV Grid Control lst dieses Ereignis mit einer kurzen Verzgerung von 1,5 Sekunden aus.

Lesen Sie unbedingt den Abschnitt Das ALV Grid Control bei WAN-Anmeldungen [Seite 43] bevor Sie dieses Ereignis einsetzen.

Das ALV Grid Control lst dieses Ereignis auch bei der Methode set_table_for_first_display und bei der Standard-Funktion Summe aus. Bei der Standard-Funktion Suchen wird das Ereignis nur dann ausgelst, wenn eine gefundene Zelle ungleich zu der vorher markierten ist. Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

115

ALV Grid Control (BC-SRV-ALV) delayed_changed_sel_callback

SAP AG

delayed_changed_sel_callback
Verwendung
Das Ereignis wird ausgelst, wenn der Benutzer eine Zeile oder Spalte markiert, die noch nicht markiert ist. Das ALV Grid Control lst dieses Ereignis mit einer kurzen Verzgerung von 1,5 Sekunden aus.

Lesen Sie unbedingt den Abschnitt Das ALV Grid Control bei WAN-Anmeldungen [Seite 43] bevor Sie dieses Ereignis einsetzen. Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

116

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) double_click

double_click
Verwendung
Das ALV Grid Control lst dieses Ereignis aus, wenn ein Benutzer auf Zellen des Grid Controls doppelklickt.

Im Demoreport BCALV_GRID_03 der Entwicklungsklasse SLIS kommt man ber einen Doppelklick auf eine Verzweigungsliste. Ereignis-Parameter E_ROW TYPE REF TO LVC_S_ROW E_COLUMN TYPE REF TO LVC_S_COL Bedeutung Struktur mit Zeilenindex

Struktur mit Spaltennamen

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

117

ALV Grid Control (BC-SRV-ALV) hotspot_click

SAP AG

hotspot_click
Verwendung
In diesem Ereignis reagieren Sie auf den Mausklick eines Benutzers auf eine Spalte, die als Hotspot gekennzeichnet ist (der Mauszeiger verndert sich entsprechend).

Voraussetzungen
Um dem Benutzer das Auswhlen einer Spalte ber einen Hotspot-Klick zu ermglichen, mssen Sie die Spalte als Hotspot-Spalte kennzeichnen: Bei einzelnen Spalten ber das Feld hotspot des Feldkatalogs (siehe auch: Ausgabeoptionen einer Spalte [Seite 149]) Fr alle Schlsselfelder einer Ausgabetabelle ber das Feld keyhot der Layout-Struktur (siehe auch: Interaktionssteuerung [Seite 171]) Bedeutung Struktur mit Zeilenindex

Ereignis-Parameter E_ROW_ID TYPE REF TO LVC_S_ROW E_COLUMN_ID TYPE REF TO LVC_S_COL

Struktur mit Spaltenname

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

118

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) menu_button

menu_button
Verwendung
In diesem Ereignis fragen Sie Funktionskodes fr Mens ab, die Sie beim Ereignis toolbar [Seite 131] definiert haben. Zu jedem Funktionskode definieren Sie auf die gleiche Weise ein Men wie beim Standard-Kontextmen des ALV Grid Controls. Siehe auch: Definition eines Mens in der Toolbar [Seite 24]

Das Ereignis wird jedesmal ausgelst, wenn ein Benutzer auf einen Menbutton in der Toolbar klickt. Ereignis-Parameter E_OBJECT TYPE REF TO CL_CTMENU E_UCOMM Type SY-UCOMM Bedeutung Referenz auf das Men der Toolbar, welches der Benutzer ausgewhlt hat. Mit Methoden dieses Objekts bauen Sie dieses Men auf. Funktionskode eines Mens, das Sie beim Ereignis Toolbar definiert haben. Mit diesem Parameter unterscheiden Sie die in der Toolbar definierten Mens.

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

119

ALV Grid Control (BC-SRV-ALV) onDrag

SAP AG

onDrag
Die Bedeutung dieses Ereignisses ist in Ereignisse bei Drag&Drop [Extern] der Control Framework Dokumentation erklrt. Zur bergabe des Handles des Drag&Drop-Verhaltens siehe: Drag und Drop mit dem ALV Control [Seite 25].

Dieses Ereignis kann bei anderen Controls anders benannt sein. Ereignis-Parameter E_ROW Type LVC_S_ROW E_COLUMN Type LVC_S_COL E_DRAGDROPOBJ Type Ref To CL_DRAGDROPOBJ ECT Bedeutung Struktur mit Index der gezogenen Zeile Struktur mit Index der gezogenen Spalte Drag&Drop-Objekt, ber das man ein anwendungsspezifisches Datenobjekt bergeben kann. Die Attribute enthalten auerdem Informationen ber die Aktion des Benutzers (copy oder move) und den mit der Aktion verknpften Flavor.

120

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) onDrop

onDrop
Die Bedeutung dieses Ereignisses ist in Ereignisse bei Drag&Drop [Extern] der Control Framework Dokumentation erklrt. Zur bergabe des Handles des Drag&Drop-Verhaltens siehe: Drag und Drop mit dem ALV Control [Seite 25].

Dieses Ereignis kann bei anderen Controls anders benannt sein. Ereignis-Parameter E_ROW Type LVC_S_ROW E_COLUMN Type LVC_S_COL E_DRAGDROPOBJ Type Ref To CL_DRAGDROPOBJ ECT Bedeutung Struktur mit Index der Zeile, auf die das Drag&Drop-Objekt fallengelassen wurde. Struktur mit Index der gezogenen Spalte, auf die das Drag&DropObjekt fallengelassen wurde. Drag&Drop-Objekt, ber das man ein anwendungsspezifisches Datenobjekt bergeben kann. Die Attribute enthalten auerdem Informationen ber die Aktion des Benutzers (copy oder move) und den mit der Aktion verknpften Flavor.

April 2001

121

ALV Grid Control (BC-SRV-ALV) onDropComplete

SAP AG

onDropComplete
Die Bedeutung dieses Ereignisses ist in Ereignisse bei Drag&Drop [Extern] der Control Framework Dokumentation erklrt. Zur bergabe des Handles des Drag&Drop-Verhaltens siehe: Drag und Drop mit dem ALV Control [Seite 25].

Dieses Ereignis kann bei anderen Controls anders benannt sein. Ereignis-Parameter E_ROW Type LVC_S_ROW E_COLUMN Type LVC_S_COL E_DRAGDROPOBJ Type Ref To CL_DRAGDROPOBJ ECT Bedeutung Struktur mit Index der gezogenen Zeile Struktur mit Index der gezogenen Spalte Drag&Drop-Objekt, ber das man ein anwendungsspezifisches Datenobjekt bergeben kann. Die Attribute enthalten auerdem Informationen ber die Aktion des Benutzers (copy oder move) und den mit der Aktion verknpften Flavor.

122

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) onDropGetFlavor

onDropGetFlavor
Die Bedeutung dieses Ereignisses ist in Ereignisse bei Drag&Drop [Extern] der Control Framework Dokumentation erklrt. Zur bergabe des Handles des Drag&Drop-Verhaltens siehe: Drag und Drop mit dem ALV Control [Seite 25].

Dieses Ereignis kann bei anderen Controls anders benannt sein. Ereignis-Parameter E_ROW Type LVC_S_ROW E_COLUMN Type LVC_S_COL E_DRAGDROPOBJ Type Ref To CL_DRAGDROPOBJ ECT E_FLAVORS Type CNDD_FLAVORS Bedeutung Struktur mit Index der gezogenen Zeile Struktur mit Index der gezogenen Spalte Drag&Drop-Objekt, ber das man ein anwendungsspezifisches Datenobjekt bergeben kann. Die Attribute enthalten auerdem Informationen ber die Aktion des Benutzers (copy oder move) und den mit der Aktion verknpften Flavor. Mgliche Flavors

April 2001

123

ALV Grid Control (BC-SRV-ALV) onf1

SAP AG

onf1
Verwendung
Wenn der Benutzer die F1-Hilfe fr eine Zelle aufruft, versucht das ALV Grid Control die Dokumentation zum zugehrigen Datenelement der Spalte aufzurufen. Gibt es eine solche Dokumentation nicht (zum Beispiel, weil das Feld keinen Bezug zum Data Dictionary hat), knnen Sie mit diesem Ereignis eine eigene F1-Hilfe anzeigen. Es ist auch mglich, die Standard F1-Hilfe zu bersteuern.

Um dem ALV Grid Control mitzuteilen, da Sie eine eigene F1-Hilfe verwendet haben, setzen Sie das Attribut er_event_data->m_event_handled am Ende Ihrer Ereignisbehandlung. Ereignis-Parameter E_FIELDNAME TYPE LVC_FNAME ES_ROW_NO TYPE LVC_S_ROID ER_EVENT_DATA TYPE REF TO CL_ALV_EVENT_DAT A Bedeutung Name des Feldes der Ausgabetabelle, fr das eine eigene F1-Hilfe implementiert werden soll. Struktur, um die Zeile zu identifizieren [Extern]. Setzen Sie das Attribut M_EVENT_HANDLED dieses Objekts, falls sie das Ereignis behandelt haben. Das ALV Grid Control unterdrckt dann die Standard F1-Hilfe.

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

124

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) print_end_of_list

print_end_of_list
Verwendung
Mit diesem Ereignis knnen Sie bei der Druckausgabe Text mit der WRITE-Anweisung ausgeben. Der Text wird am Ende der gesamten Liste eingeschoben und bei der Druckansicht angezeigt. Dabei springt das ALV Grid Control in die Listausgabe des klassischen ALV.

Das Demoprogramm BCALV_GRID_01 in der Entwicklungsklasse SLIS veranschaulicht die Verwendung von print_end_of_list. Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

125

ALV Grid Control (BC-SRV-ALV) print_end_of_page

SAP AG

print_end_of_page
Verwendung
Mit diesem Ereignis geben Sie bei der Druckausgabe Text mit der WRITE-Anweisung aus. Der Text wird am Ende der jeweiligen Seite eingeschoben. Bei der Druckausgabe springt das ALV Grid Control in die Listausgabe des klassischen ALV.

In der Druckansicht (klassischer ALV) wird der Text zu diesem Ereignis nicht angezeigt.

Das Demoprogramm BCALV_GRID_01 in der Entwicklungsklasse SLIS veranschaulicht die Verwendung von print_end_of_page.

Voraussetzungen
Um eine Ausgabe am Ende jeder Seite zu ermglichen, mssen Sie fr sie eine Anzahl von Zeilen reservieren. Benutzen Sie dafr das Feld reservelns einer Struktur vom Typ lvc_s_prnt und bergeben Sie diese Struktur mit der Methode set_table_for_first_display [Seite 103]. Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

126

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) print_top_of_list

print_top_of_list
Verwendung
Mit diesem Ereignis knnen Sie bei der Druckausgabe Text mit der WRITE-Anweisung ausgeben. Es wird einmal vor dem Ereignis print_top_of_page [Seite 128] ausgelst. Der Text wird am Anfang der gesamten Liste eingeschoben und bei der Druckansicht angezeigt. Dabei springt das ALV Grid Control in die Listausgabe des klassischen ALV.

Zu Beginn der Druckausgabe gibt das ALV Control als erstes den Titel der Liste aus, falls Sie diesen mit dem Feld grid_title der Layout-Struktur festlegen haben.

Das Demoprogramm BCALV_GRID_01 in der Entwicklungsklasse SLIS veranschaulicht die Verwendung von print_top_of_list. Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

127

ALV Grid Control (BC-SRV-ALV) print_top_of_page

SAP AG

print_top_of_page
Verwendung
Mit diesem Ereignis knnen Sie bei der Druckausgabe Text mit der WRITE-Anweisung ausgeben. Der Text wird am Anfang der jeweiligen Seite eingeschoben und bei der Druckansicht angezeigt. Dabei springt das ALV Grid Control in die Listausgabe des klassischen ALV.

Das Demoprogramm BCALV_GRID_01 in der Entwicklungsklasse SLIS veranschaulicht die Verwendung von print_top_of_page. Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

128

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) subtotal_text

subtotal_text
Verwendung
Ausgabe von Text im Grid Control bei Zwischensummen, falls das Zwischensummenkriterium (Spalte, ber die der Benutzer die Zwischensumme gebildet hat) ausgeblendet wird. In der Voreinstellung gibt das ALV Grid Control die Spaltenberschrift des Zwischensummenkriteriums aus und den jeweiligen Wert, auf den sich die gebildete Zwischensumme bezieht. Ereignis-Parameter ES_SUBTOTTXT_INFO Type LVC_S_STXT EP_SUBTOT_LINE Type Ref To DATA E_EVENT_DATA Type Ref To CL_ALV_EVENT_DATA Bedeutung Struktur mit Informationen ber das Zwischensummenkriterium Referenzvariable auf die eingefgte Zwischensummenzeile im Grid Control. Spalten, ber die keine Summe gebildet wurde, bleiben initial. Das Attribut M_DATA dieses Objekts ist eine Referenz auf den Zwischensummentext

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

Beispiel
Sie zeigen bereits eine Tabelle mit Daten den Struktur SFLIGHT in einem ALV Control an. Wir ndern nun den voreingestellten Zwischensummentext fr das Zwischensummenkriterium Flugzeugtyp der Tabelle SFLIGHT: 1. Definieren und implementieren Sie eine Ereignisbehandlermethode zum Ereignis subtotal_text. Melden Sie dieses Ereignis mit SET HANDLER an. 2. Rufen Sie innerhalb dieser Methode ein Unterprogramm auf, dem Sie die Ereignisparameter bergeben. 3. Die Ereignisparameter ep_subtot_line und e_event_data beinhalten Referenzvariablen auf den allgemeinen Datentyp DATA. In dem Unterprogramm mssen Sie daher mit Feldsymbolen arbeiten: FORM method_subtotal_text USING es_subtottxt_info TYPE lvc_s_stxt ep_subtot_line TYPE REF TO data e_event_data TYPE REF TO cl_alv_event_data. DATA ls_sflight LIKE sflight. FIELD-SYMBOLS: <fs1> STRUCTURE sflight DEFAULT ls_sflight, <fs2>. IF es_subtottxt_info-criteria = 'PLANETYPE'. ASSIGN ep_subtot_line->* TO <fs1>. ASSIGN e_event_data->m_data->* TO <fs2>.

April 2001

129

ALV Grid Control (BC-SRV-ALV) subtotal_text CONCATENATE es_subtottxt_info-keyword ': ' <fs1>-planetype INTO <fs2>. ENDIF. ENDFORM. " METHOD_SUBTOTAL_TEXT

SAP AG

Ergebnis
berprfen Sie Ihr Ergebnis folgendermaen: 1. Summieren Sie eine Spalte. 2. Bilden Sie Zwischensummen ber die Spalte Flugzeugtyp. 3. Blenden Sie die Spalte Flugzeugtyp aus. Verwenden Sie dazu entweder das StandardKontextmen oder eine neues Layout. Am Beginn einer Zwischensummenzeile erscheint der neue definierte Text.

130

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) toolbar

toolbar
Verwendung
Dieses Ereignis wird immer dann vom ALV ausgelst, wenn ein Neuaufbau der Toolbar des Controls ntig ist. Um die Toolbar um eigene Funktionen zu erweitern, lsen Sie das Ereignis ber die Methode set_toolbar_interactive [Seite 107] auf und schreiben eine Ereignisbehandlermethode (Siehe auch: Definition von GUI-Elementen in der Toolbar [Seite 22]).

Die gesamte Toolbar kann ber das Feld no_toolbar der Layout-Struktur ausgeblendet werden.

Im Demoreport BCALV_GRID_05 der Entwicklungsklasse SLIS wird eine neue Drucktaste in die Toolbar aufgenommen. Ereignis-Parameter E_OBJECT Type Ref To CL_ALV_EVENT_TOO LBAR_SET E_INTERACTIVE Type CHAR01 Bedeutung Das Objekt enthlt lediglich ein Attribut mit einer Tabelle fr die Funktionen der Toolbar.

Wenn dieses Flag gesetzt ist, haben Sie das Ereignis mit der Methode set_toolbar_interactive ausgelst. Ist es nicht gesetzt, so wurde das Ereignis vom ALV Grid Control ausgelst.

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

April 2001

131

ALV Grid Control (BC-SRV-ALV) user_command

SAP AG

user_command
Verwendung
Das ALV Grid Control lst dieses Ereignis nur bei selbst definierten Funktionen aus, die der Benutzer angewhlt hat. Fragen Sie bei diesem Ereignis Ihren Funktionskode ab und rufen Sie Ihre Funktion auf.

Die Funktionskodes Ihrer selbst definierten Funktionen lassen sich auch in den Ereignissen before_user_command [Seite 112] und after_user_command [Seite 111] abfragen. Diese Ereignisse lst das Control vor beziehungsweise nach dem Ereignis user_command aus. Ereignis-Parameter E_UCOMM TYPE SY-UCOMM Bedeutung Funktionskode zu selbst definierter Funktion

Zur bersicht: Ereignisse der Klasse CL_GUI_ALV_GRID [Seite 109]

132

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Der Feldkatalog

Der Feldkatalog
Definition
Der Feldkatalog ist eine interne Tabelle vom Typ LVC_T_FCAT mit Informationen ber die darzustellenden Felder. Mit Hilfe dieser Tabelle erkennt ALV zum Beispiel den Typ eines Feldes.

Verwendung
Sie knnen ber Felder des Katalogs die Formatierung von Zahlenausgaben und Spalteneigenschaften der auszugebenen Liste beeinflussen.

In bestimmten Ausnahmefllen ist die bergabe des Feldkatalogs unntig (Siehe auch: Automatischer Aufbau [Seite 135]).

Struktur
Der Feldkatalog enthlt mehr als 60 Felder, von denen einige nur interne Verwendung haben. Die fr Anwendungsprogrammierer relevanten Felder sind im Abschnitt Felder des Feldkatalogs [Seite 140] beschrieben.

Integration
Im Allgemeinen empfiehlt es sich, die Felder des Feldkatalogs vor der ersten Anzeige der Liste zu fllen und in der Methode set_table_for_first_display [Seite 103] zu bergeben. Um einen von ALV generierten Feldkatalog vor der Listausgabe an Ihre Bedrfnisse anzupassen, verwenden Sie den Funktionsbaustein LVC_FIELDCATALOG_MERGE. Die Methoden get_frontend_fieldcatalog [Seite 75] und set_frontend_fieldcatalog [Seite 94] erlauben es, den Feldkatalog nach der Listausgabe zu ndern.

Der Report BCALV_GRID_03 in der Entwicklungsklasse SLIS verwendet diesen Baustein, um Spalten vor der Listanzeige auszublenden.

April 2001

133

ALV Grid Control (BC-SRV-ALV) Aufbau des Feldkatalogs

SAP AG

Aufbau des Feldkatalogs


Grundstzlich wird fr jede Liste, die ber das ALV Control ausgegeben wird, ein Feldkatalog bentigt. Sie haben verschiedene Mglichkeiten, einen Feldkatalog zu erzeugen: automatisch ber eine Struktur des Data Dictionary, manuell im ABAP-Programm oder halbautomatisch durch Kombination der beiden Verfahren.

134

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Automatischer Aufbau

Automatischer Aufbau
Einsatzmglichkeiten
Wenn die Struktur ihrer Ausgabetabelle einer im Data Dictionary (DDIC) hinterlegten Struktur entspricht, kann das ALV Control diese Informationen benutzen, um den Feldkatalog automatisch aufzubauen. In diesem Fall werden alle Felder dieser DDIC-Struktur auf der Liste angezeigt.

Ablauf
Um die Struktur dem ALV Control zu bergeben, mssen Sie: 1. Die Struktur mit LIKE referenzieren oder in einer eigenen Struktur mit INCLUDE STRUCTURE inkludieren.

ber INCLUDE STRUCTURE ist es mglich, einen Teil Ihrer Ausgabetabelle automatisch von ALV erzeugen zu lassen und weitere Felder hinzuzufgen. Der Abschnitt Halbautomatischer Aufbau [Seite 139] beschreibt die allgemeine Vorgehensweise hierzu. 2. Die Struktur in der Methode set_table_for_first_display [Seite 103] mit dem Parameter I_STRUCTURE_NAME dem erzeugten Control bergeben. Wenn Sie der Struktur weder weitere Felder hinzufgen noch ausblenden wollen, ist die bergabe des Feldkatalogs also nicht ntig (siehe Grafik).
DDIC DDIC Struktur Struktur

Datenbeschreibung

Data Dictionary

<name> A B C

Set_table_for_first_display
INCLUDE STRUCTURE <name>

Angezeigte Liste: Dynpro A B C a1 b 1 c 1 a2 b 2 c 2 a3 b 3 c 3


Container mit Container mit integriertem integriertem ALV Control ALV Control

oder
DATA ... LIKE <name>

>> I_STRUCTURE_NAME <> IT_OUTTAB.


Changing

Exporting

Ausgabetabelle

Daten

a1 b 1 c 1 a2 b 2 c 2 a3 b 3 c 3
Interne Interne Tabelle Tabelle

FLUSH

Instanz eines ALV Control


(ber Container mit dem Dynpro verlinkt)

Select * from <name>

April 2001

135

ALV Grid Control (BC-SRV-ALV) Automatischer Aufbau

SAP AG

136

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Manueller Aufbau

Manueller Aufbau
Einsatzmglichkeiten
Es kann sein, da die Daten, die Sie anzeigen wollen, nicht oder nur teilweise durch eine Struktur im Data Dictionary reprsentiert sind. Dann mssen Sie ber die Felder des Feldkatalogs die Struktur der Ausgabetabelle beschreiben.

Ablauf
Der Feldkatalog ist ber den Tabellentyp LVC_T_FCAT im Data Dictionary definiert. Jede Zeile der Feldkatalog-Tabelle erklrt ein Feld in Ihrer Ausgabetabelle. Fr ein Feld mssen Sie - ja nachdem ob eine Referenzstruktur im DDIC existiert oder nicht - mindestens folgende Felder der Feldkatalogstruktur fllen:
Obligatorische Felder des Feldkatalogs Felder der Ausgabetabelle mit Bezug zum DDIC Felder der Ausgabetabelle ohne Bezug zum DDIC Bedeutung

FIELDNAME REF_TABNAME REF_FIELDNAME

FIELDNAME

Name des Feldes der internen Ausgabetabelle Name der DDICReferenzstruktur Name des DDIC Referenzfeldes (nur ntig, falls es von FIELDNAME abweicht)

INTTYPE OUTPUTLEN COLTEXT SELTEXT

ABAP-Datentyp des Feldes der internen Ausgabetabelle Spaltenbreite Spaltenberschrift Spaltenbezeichnung in der Spaltenauswahl zum Layout

Siehe auch: Texte im Feldkatalog [Extern]

Sie bergeben den Feldkatalog mit Hilfe des Parameters IT_FIELDCATALOG (siehe Grafik).

April 2001

137

ALV Grid Control (BC-SRV-ALV) Manueller Aufbau


Feldkatalog Feldkatalog

SAP AG

Datenbeschreibung

A TypA ... B TypB ... C TypC ...


Set_table_for_first_display

Angezeigte Liste: Dynpro A B C a1 b 1 c 1 a2 b 2 c 2 a3 b 3 c 3


Container mit Container mit integriertem integriertem ALV Control ALV Control

<> IT_FIELDCATALOG <> IT_OUTTAB.

Changing

Ausgabetabelle

Daten

a1 b 1 c 1 a2 b 2 c 2 a3 b 3 c 3
Interne Interne Tabelle Tabelle

FLUSH

Instanz eines ALV Control


(ber Container mit dem Dynpro verlinkt)

Select * from <name>

138

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Halbautomatischer Aufbau

Halbautomatischer Aufbau
Einsatzmglichkeiten
Beim halbautomatischen Aufbau des Feldkatalogs kombinieren Sie Struktur-Informationen des Data Dictionary mit eigenen. Dabei knnen Sie den mit Hilfe der DDIC-Struktur automatisch erzeugten Feldkatalog:

modifizieren und/oder um Strukturbeschreibungen neuer Felder erweitern.

Diese Methode ist zum Beispiel in folgenden Szenarien hilfreich:

Sie wollen eine Tabelle des Data Dictionary anzeigen, dabei aber anfangs nicht alle mglichen Spalten anzeigen (ber das Feld NO_OUT des Feldkatalogs).

Sie wollen zustzliche Spalten mit Ikonen oder anderen Informationen anzeigen. In der Tabelle des Abschnitts Manueller Aufbau [Seite 137] finden Sie die obligatorisch zu fllenden Felder. Dort wird auch erklrt, wie Sie Texte fr eine neue Spalte definieren knnen.

Ablauf
Um einen Feldkatalog halbautomatisch aufzubauen, gehen Sie folgendermaen vor: 1. Deklarieren Sie eine interne Tabelle vom Typ LVC_T_FCAT. 2. Rufen Sie den Funktionsbaustein LVC_FIELDCATALOG_MERGE auf und bergeben Sie die DDIC-Struktur der Ausgabetabelle und die interne Tabelle fr den Feldkatalog. Der Funktionsbaustein generiert den Feldkatalog und fllt die interne Tabelle entsprechend. 3. Lesen Sie die Zeilen, die Sie ndern mchten, und passen Sie die Felder entsprechend an. Enthlt Ihre Ausgabetabelle mehr Felder als im Data Dictionary hinterlegt, mssen Sie im Feldkatalog pro neues Feld eine Zeile anhngen. Um die Ausgabetabelle mit den Einstellungen des Feldkatalogs anzuzeigen, bergeben Sie den Feldkatalog in der Methode set_table_for_first_display [Seite 103].

April 2001

139

ALV Grid Control (BC-SRV-ALV) Felder des Feldkatalogs

SAP AG

Felder des Feldkatalogs


Die folgende Tabelle ordnet die Felder nach ihrer Verwendung. Informationen ber eine minimale Auswahl von ntigen Feldern im Feldkatalog erhalten Sie im Abschnitt Manueller Aufbau [Seite 137]. Mit dem Feld FIELDNAME des Feldkatalogs stellen Sie den Bezug zu einem Feld in der Ausgabetabelle her. Alle Einstellungen, die ber Felder in der gleichen Zeile des Feldkatalogs vorgenommen werden, beziehen sich auf die in FIELDNAME angegebene Ausgabespalte.

Intern arbeitet das ALV Grid Control mit dem Feld COL_ID, um Spalten am Frontend zu identifizieren.
Alphabetischer Index Feldname Kurzbeschreibung Sparte

CFIELDNAME

Feldname fr referenzierte Whrungseinheit Ausgabe als Checkbox Numerische Identifizierung der Spalte (read-only) Position der Ausgabespalte Festlegung DDIC-Textbezug Spaltenbezeichner fr Dialogfunktionen Whrungseinheit

Darstellung von Werten mit Whrungs-/Mengeneinheit [Seite 146] Ausgabeoptionen einer Spalte [Seite 149] Bezug zur Ausgabetabelle [Seite 144] Ausgabeoptionen einer Spalte [Seite 149] Texte [Seite 156] Texte [Seite 156] Darstellung von Werten mit Whrungs-/Mengeneinheit [Seite 146] Parameter fr Felder ohne DDIC-Bezug [Seite 159] Formatierung von Spalteninhalten [Seite 153] Formatierung von Spalteninhalten [Seite 153] Ausgabeoptionen einer Spalte [Seite 149] Sonstige Felder [Seite 161] Formatierung von Spalteninhalten [Seite 153]

CHECKBOX COL_ID COL_POS COLDDICTXT COLTEXT CURRENCY

DD_OUTLEN DECIMALS_O DECMLFIELD DO_SUM DRAGDROPID EDIT_MASK

Ausgabelnge in Character Anzahl Dezimalstellen fr Ausgabe Feldname mit DECIMALS-Angabe Werte der Spalte summieren Drag&Drop Handle fr DragDrop Objekt EditMask fr Ausgabe

140

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Felder des Feldkatalogs

EMPHASIZE EXPONENT FIELDNAME HOTSPOT HREF_HNDLE ICON INTLEN INTTYPE JUST KEY LOWERCASE LZERO NO_MERGING NO_OUT NO_SIGN NO_SUM NO_ZERO OUTPUTLEN QFIELDNAME

Spalte farblich hervorheben Exponent fr Float-Darstellung Feldname internes Tabellenfeld SingleClick sensitiv Hyperlink zuordnen Ausgabe als Ikone Interne Lnge in Bytes ABAP-Datentyp (C,D,N,...) Ausrichtung Schlsselspalte Kleinbuchstaben erlaubt/nicht erlaubt Fhrende Nullen ausgeben Zellen nicht mehr verschmelzen Spalte wird nicht ausgegeben Vorzeichen bei Ausgabe unterdrcken Keine Aggregation ber die Werte der Spalte Nullen bei Ausgabe unterdrcken Spaltenbreite in Character Feldname fr referenzierte Mengeneinheit

Ausgabeoptionen einer Spalte [Seite 149] Formatierung von Spalteninhalten [Seite 153] Bezug zur Ausgabetabelle [Seite 144] Ausgabeoptionen einer Spalte [Seite 149] Ausgabeoptionen einer Spalte [Seite 149] Formatierung von Spalteninhalten [Seite 153] Parameter fr Felder ohne DDIC-Bezug [Seite 159] Parameter fr Felder ohne DDIC-Bezug [Seite 159] Formatierung von Spalteninhalten [Seite 153] Ausgabeoptionen einer Spalte [Seite 149] Ausgabeoptionen einer Spalte [Seite 149] Formatierung von Spalteninhalten [Seite 153] Ausgabeoptionen einer Spalte [Seite 149] Ausgabeoptionen einer Spalte [Seite 149] Formatierung von Spalteninhalten [Seite 153] Ausgabeoptionen einer Spalte [Seite 149] Formatierung von Spalteninhalten [Seite 153] Ausgabeoptionen einer Spalte [Seite 149] Darstellung von Werten mit Whrungs-/Mengeneinheit [Seite 146]

April 2001

141

ALV Grid Control (BC-SRV-ALV) Felder des Feldkatalogs

SAP AG

QUANTITY

Mengeneinheit

Darstellung von Werten mit Whrungs-/Mengeneinheit [Seite 146] Bezug zum Data Dictionary [Seite 145] Bezug zum Data Dictionary [Seite 145] Sonstige Felder [Seite 161] Texte [Seite 156] Parameter fr Felder ohne DDIC-Bezug [Seite 159] Formatierung von Spalteninhalten [Seite 153] Formatierung von Spalteninhalten [Seite 153] Texte [Seite 156] Texte [Seite 156] Texte [Seite 156] Texte [Seite 156] Texte [Seite 156] Sonstige Felder [Seite 161] Ausgabeoptionen einer Spalte [Seite 149] Formatierung von Spalteninhalten [Seite 153] Ausgabeoptionen einer Spalte [Seite 149] Texte [Seite 156] Texte [Seite 156] Sonstige Felder [Seite 161] Ausgabeoptionen einer Spalte [Seite 149]

REF_FIELD REF_TABLE REPREP REPTEXT ROLLNAME ROUND ROUNDFIELD SCRTEXT_L SCRTEXT_M SCRTEXT_S SELDDICTXT SELTEXT SP_GROUP STYLE SYMBOL TECH TIPDDICTXT TOOLTIP TXT_FIELD WEB_FIELD

Referenzfeldname fr internes Tabellenfeld Referenztabellenname fr internes Tabellenfeld Ausprgung ist Selektionskriterium fr Bericht-/Bericht-Schnittstelle berschrift (DDIC-Text des entsprechenden Datenelements) Datenelement fr F1-Hilfe ROUND-Wert Feldname mit ROUND-Angabe Feldbezeichner lang (DDIC-Text des entsprechenden Datenelements) Feldbezeichner mittel (DDIC-Text des entsprechenden Datenelements) Feldbezeichner kurz (DDIC-Text des entsprechenden Datenelements) Festlegung DDIC-Textbezug Spaltenbezeichner fr Dialogfunktionen Gruppenschluessel Ausgabe als Drucktaste Ausgabe als Symbol Technisches Feld Festlegung DDIC-Textbezug Tooltip fr Spaltenberschrift Feldname internes Tabellenfeld Feldname internes Tabellenfeld (fr Hyperlink)

142

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Felder des Feldkatalogs

April 2001

143

ALV Grid Control (BC-SRV-ALV) Bezug zur Ausgabetabelle

SAP AG

Bezug zur Ausgabetabelle


Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

COL_ID

LVC_COLID Auf dieses Feld drfen Sie nur lesend zugreifen. Es wird seit Release 4.6C fr den Zugriff auf Spalten der Ausgabetabelle verwendet (an Stelle des Feldnamens). Sie bentigen es zum Beispiel, wenn Sie die Methode get_selected_cells_id [Seite 79] oder set_selected_cells_id [Seite 99] verwenden.

INT4( 10)

Natrliche Zahl

FIELDN AME

LVC_FNAME

Char( 30)

Feldname der Ausgabetabelle (obligatorisch)

Mit diesem Feld ordnen Sie einen Feldnamen Ihrer Ausgabetabelle einer Zeile des Feldkatalogs zu. Alle Einstellungen, die Sie in dieser Zeile vornehmen, beziehen sich auf die korrespondierende Spalte der Ausgabetabelle.

144

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Bezug zum Data Dictionary

Bezug zum Data Dictionary


Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

REF_FI ELD

LVC_RFNAME

Char( 30)

SPACE, Name eines Feldes im Data Dictionary, das zu einem Feld der Ausgabetabelle korrespondiert

Dieses Feld ist zu fllen, falls:

das durch den aktuellen Eintrag im Feldkatalog beschriebene Feld der Ausgabetabelle ein korrespondierendes Feld im Data Dictionary hat und der Feldname in der Ausgabetabelle vom Feldnamen des Feldes im Data Dictionary abweicht.

Sind die Feldnamen identisch, ist die Nennung der DDIC-Struktur oder Tabelle im Feld REF_TABLE des Feldkatalogs ausreichend. REF_T ABLE LVC_RTNAME Char( 30) SPACE, Name einer Struktur oder Tabelle aus dem Data Dictionary, das zu einem Feld der Ausgabetabelle korrespondiert.

Dieses Feld ist nur zu fllen, wenn das durch den aktuellen Eintrag im Feldkatalog beschriebene Feld der Ausgabetabelle ein korrespondierendes Feld im Data Dictionary hat. Mit Hilfe dieser Zuordnung kann das ALV Grid Control zum Beispiel den Text fr die Spaltenberschrift aus dem Dictionary bernehmen.

April 2001

145

ALV Grid Control (BC-SRV-ALV) Darstellung von Werten mit Whrungs-/Mengeneinheit

SAP AG

Darstellung von Werten mit Whrungs-/Mengeneinheit


Verwendung
Es gibt Werte von Ausgabefeldern, die sich auf Einheiten (z.B.: Kilogram) oder Whrungen (z.B.: Euro) beziehen. Damit eine einheitsgerechte Ausgabe dieser Werte (d.h. mit richtiger Anzahl von Nachkommastellen) mglich ist, mssen Sie solche Felder einer Whrung oder einer Einheit zuordnen. Dafr gibt es im Feldkatalog drei Mglichkeiten:

Zuordnung des Wertefeldes zu einem zugehrigen Whrungs- bzw. Einheitsfeld Explizite Angabe einer Whrung bzw. Einheit fr die gesamte Spalte manuelle Formatierung des Wertefeldes (siehe dazu: Formatierung von Spalteninhalten [Seite 153])

Bezug zu einem Whrungs- oder Einheitsfeld


ber die Felder CFIELDNAME bzw. QFIELDNAME (s.u.) ordnen sie Wertefelder einem Whrungsoder Einheitsfeld zu. Bei der Summenbildung ber die Spalte bewirkt diese Zuordnung, da fr jede Einheit die Summe getrennt angezeigt wird. Fr das Einheitsfeld gibt es ebenfalls einen Eintrag im Feldkatalog. Soll die Einheit nicht als Spalte in der Liste erscheinen und auch nicht als Spalte interaktiv einzublenden sein, kann der Feldkatalogeintrag fr das Einheitsfeld ber das Setzen des Feldes TECH als technisches Feld gekennzeichnet werden. Dies ist zum Beispiel sinnvoll, wenn die Einheit immer eindeutig ist und deshalb im Listenkopf durch den Aufrufer explizit ausgegeben wird Fr initiale Werte- oder Einheitsfelder ist folgendes zu beachten:
Summierung und Darstellung von Wertfeldern Wer t des Ein heit sfel des nich t initia l nich t initia l initial

Einheitsgerechte Darstellung der Nachkommastellen in der Liste und in der Summe.

We rt de s We rtf eld es

ALV fhrt fr solche Zellen die Einheit SPACE ein. In der Summenausgabe wird diese Einheit als eigene Einheit aufgefhrt.

146

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Darstellung von Werten mit Whrungs-/Mengeneinheit

initia l

Einheitsgerechte Ausgabe als '0' (sofern das Feld NO_ZERO des Feldkatalogs initial). Beim Summieren rechnet ALV mit dem Wert '0' und der angegebenen Einheit.

Ausgabe als SPACE. Beim Summieren wird das Wertfeld ignoriert.

Whrung bzw. Einheit fr die gesamte Spalte


Fr Felder, die fr alle Werte in der Spalte die gleiche Mengen- oder Whrungseinheit benutzen, gibt es die Felder CURRENCY und QUANTITY im Feldkatalog (s.u.). Mit diesen Feldern setzen Sie fr Ihr Wertfeld eine Einheit fest (z.B. DEM bzw. KG). Diese Methode ist sinnvoll, wenn es nur eine Einheit oder Whrung fr die Spalte gibt (z.B., weil diese vorher ber ein Eingabefeld vom Benutzer ausgewhlt wurde). In diesem Fall bentigt die Ausgabetabelle kein weiteres Feld.

Voraussetzungen
Fr das Wertfeld ist folgendes zu beachten:

Das Feld ist vom ABAP-Datentyp P (siehe auch INTTYPE in Parameter fr Felder ohne DDIC-Bezug [Seite 159]). Es gibt ein Feld in der internen Ausgabetabelle, das die zugehrige Einheit enthlt.

Relevante Felder im Feldkatalog


Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

CFIELD NAME

LVC_CFNAME

Char( 30)

SPACE, Name eines Feldes der Ausgabetabelle

Bezug zu Whrungseinheiten herstellen. ALV verknpft das im Feld FIELDNAME angegebene Feld mit dem in CFIELDNAME angegebenen Feld fr Whrungseinheiten. Das in CFIELDNAME genannte Feld mu einen eigenen Eintrag im Feldkatalog haben. CURRE NCY LVC_CURR Explizite Angabe einer Whrung (z.B. DEM, USD). ALV stellt die Werte fr die in FIELDNAME angegebene Spalte nach den Konventionen dieser Whrung dar. Char( 5) SPACE, Name einer Whrung

April 2001

147

ALV Grid Control (BC-SRV-ALV) Darstellung von Werten mit Whrungs-/Mengeneinheit

SAP AG

QFIEL DNAM E

LVC_QFNAME

Char( 30)

SPACE, Name eines Feldes der Ausgabetabelle

Bezug zu Mengeneinheiten herstellen. ALV verknpft das im Feld FIELDNAME angegebene Feld mit dem in QFIELDNAME angegebenen Feld fr Mengeneinheiten. Das in QFIELDNAME genannte Feld mu einen eigenen Eintrag im Feldkatalog haben. QUANT ITY LVC_QUAN Explizite Angabe einer Einheit (z.B. KG). ALV stellt die Werte fr die in FIELDNAME angegebene Spalte nach den Konventionen dieser Einheit dar. Char( 3) SPACE, Name einer Einheit

148

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Ausgabeoptionen einer Spalte

Ausgabeoptionen einer Spalte


Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

CHECK BOX

LVC_CHECKB Ausgabe eines Ankreuzfeldes. Das Ankreuzfeld kann durch den Benutzer nicht verndert werden. Der Parameter sel_mode der Layout-Struktur ermglicht es dem Benutzer mehrere Zeilen im Grid Control zu markieren (siehe auch: get_selected_rows [Seite 81]).

CHAR (1)

SPACE, 'X'

COL_P OS

LVC_COLPOS Nur relevant, wenn die relativen Spaltenpositionen bei der ersten Anzeige von der Reihenfolge der Felder im Feldkatalog abweichen sollen. Der Parameter legt die relative Spaltenposition des Feldes bei der Listenausgabe fest. Die Spaltenanordnung kann interakiv durch den Benutzer gendert werden. Ist dieser Parameter fr jeden Feldkatalogeintrag initial, so entspricht der Spaltenaufbau der Reihenfolge der Felder im Feldkatalog.

INT4( 10)

natrliche Zahl

DO_SU M

LVC_DOSUM Ist dieses Feld gesetzt, bildet ALV ber dieses Feld die Summe. (Entspricht der generischen Summenfunktion der Toolbar).

Char( 1)

SPACE, 'X'

EMPHA SIZE

LVC_EMPHSZ

Char( 4)

SPACE, 'X' oder 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on)

April 2001

149

ALV Grid Control (BC-SRV-ALV) Ausgabeoptionen einer Spalte

SAP AG

Wird das Feld mit 'X' gesetzt, benutzt ALV eine voreingestellte Farbe zum Hervorheben der Spalte. Fngt das Character-Feld mit 'C' an (Farbkodierung), haben die restlichen Zahlen die folgende Bedeutung:

x: Farbnummer y: intensivierte Darstellung an/aus z: inverse Darstellung an/aus

Weitere Informationen zur Farbkodierung finden Sie in der F1-Hilfe zur FORMATAnweisung. HOTSP OT LVC_HOTSPT Ist dieses Feld gesetzt, werden alle Zellen dieser Spalte Hotspot-sensitiv. HREF_ HNDL INT4 Handle, dem eine URL zugeordnet ist. Das ALV Grid Control stellt alle Zellen der Spalte als Hyperlink dar. Die Zieladresse des Hyperlinks mssen Sie in einer Tabelle vom Typ LVC_T_HYPE pflegen und mit der Methode set_table_for_first_display [Seite 103] bergeben. KEY LVC_KEY Ist dieses Feld gesetzt, kennzeichnet das ALV Grid Control die Spalte farblich als Schlsselfeld und fixiert diese Spalten beim horizontalen Scrollen. Die Reihenfolge der Schlsselspalten im ALV Grid Control lt sich interaktiv verndern. Im Gegensatz zum SAP List Viewer knnen Sie Schlsselspalten im ALV Grid Control direkt mit NO_OUT ausblenden (das Feld KEY_SEL entfllt). LOWE RCASE LOWERCASE Falls gesetzt, erkennt das ALV Grid Control Gro-/Kleinschreibung in der Ausgabetabelle. Dies hat zum Beispiel Auswirkungen bei der Sortierung von Feldern. NO_OU T LVC_NOOUT Char( 1) SPACE, 'X' Char( 1) SPACE, 'X' Char( 1) SPACE, 'X' INT4( 10) Natrliche Zahl Char( 1) SPACE, 'X'

150

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Ausgabeoptionen einer Spalte

ber das Setzen dieses Feldes blenden Sie die zugehrige Spalte aus der Liste aus. Das steht dem Benutzer weiterhin im Feldvorrat zur Verfgung und kann interaktiv als Anzeigefeld ausgewhlt werden. ALV zeigt Inhalte ausgeblendeter Felder im Detailfenster fr einer Zeile im Grid Control an. NO_ME RGING CHAR01 Falls gesetzt, werden beim Sortieren dieser Spalte die Zellen mit gleichem Wert nicht mehr zu einer Zelle verschmolzen. NO_SU M LVC_NOSIGN ber das Setzen dieses Feldes sperren Sie das Summieren des zugehrigen Feldes. OUTPU TLEN LVC_OUTLEN Legt die Spaltenbreite des Feldes fest:

Char( 1)

SPACE, 'X'

Char( 1)

SPACE, 'X'

Numc (6)

0 (Voreinstellung), n

Hat das Feld einen Bezug zum Data Dictionary, knnen Sie das Feld initial belassen. ALV bernimmt in diesem Fall die Ausgabelnge der zugehrigen Domne. Fr Felder ohne DDIC-Bezug mssen Sie hier die gewnschte Feldausgabelnge festlegen. RAW( 4) Attribut CL_GUI_ALV_GRID=>MC_ STYLE_BUTTON

STYLE

LVC_STYLE

Darstellung aller Zellen dieser Spalte als Drucktaste. Wenn ein Benutzer auf die Drucktaste klickt, wird das Ereignis button_click [Seite 113] ausgelst. TECH LVC_TECH Falls gesetzt, wird das zugehrige Feld nicht auf der Liste ausgegeben und ist auch nicht interaktiv einzublenden. Das Feld ist nur im Feldkatalog bekannt. (Es darf zum Beispiel nicht im Sortierkriterium angegeben werden). WEB_F IELD LVC_NAME Char( 30) Name eines Feldes der Ausgabetabelle Char( 1) SPACE, 'X'

April 2001

151

ALV Grid Control (BC-SRV-ALV) Ausgabeoptionen einer Spalte

SAP AG

ber dieses Feld knnen Sie Hyperlinks auf Zellenebene definieren [Seite 37].

152

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Formatierung von Spalteninhalten

Formatierung von Spalteninhalten


Die Felder DECIMALS_O, EDIT_MASK, EXPONENT, NO_SIGN und ROUND entsprechen den WRITE-Zustzen DECIMALS, USING EDIT MASK, EXPONENT, NO-SIGN und ROUND. Dokumentation zu Kombinationen dieser Felder mit den Feldern CURRENCY und QUANTITY (bei WRITE: UNIT) entnehmen Sie bitte der F1Dokumentation zur WRITE-Aufbereitungsoption.
Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

DECIM ALS_O

LVC_DECMLS Nur relevant, wenn dem Feld kein Whrungsfeld zugeordnet ist und CURRENCY nicht belegt ist. Der Wert in diesem Feld bestimmt die Anzahl der auszugebenden Nachkommastellen.

Char(6 )

initial, natrliche Zahl

DECMF IELD

LVC_DFNAME Zeilenweise Definition der Nachkommastellen. ber ein zustzliches Feld in der Ausgabetabelle knnen Sie festlegen, wieviel Nachkommastellen in der jeweiligen Zeile ausgegeben werden.

Char(3 0)

SPACE, Feldname der Ausgabetabelle

EDIT_M ASK

LVC_EDTMSK Durch das Setzen eines Konvertierungs-Exits (zum Beispiel conv = '==ALPHA' fr den Funktionsbaustein CONVERSION_EXIT_ALPHA_OUTPUT) wird eine Ausgabekonvertierung zum zugehrigen Ausgabefeld erzwungen. (Siehe auch Dokumentation zur WRITE-Aufbereitungsoption USING EDIT MASK).
Siehe auch: Verwendung des Konvertierungsexit [Seite 41]

Char(6 0)

SPACE, conv (Konvertierungs-Exit)

EXPON ENT

LVC_EXPONT

Char(3 )

initial, ganze Zahl

April 2001

153

ALV Grid Control (BC-SRV-ALV) Formatierung von Spalteninhalten

SAP AG

Legt einen festen Exponenten fr das Feld fest. Das Feld mu vom internen Typ F sein. (Siehe auch F1-Dokumentation zur WRITEAufbereitungsoption EXPONENT). ICON LVC_ICON Falls dieses Feld gesetzt ist, wird der Spalteninhalt der Ausgabetabelle als Ikone ausgegeben. Der Spalteninhalt mu aus gltigen Ikonen-Strings (@xx@ oder @xx\Q<Quickinfo>@) bestehen. Hierbei sollten Sie die Problematik um die Druckbarkeit von Ikonen bercksichtigen. JUST LVC_JUST Nur relevant fr Felder des Datantyps CHAR oder NUMC. Ausrichtungen:

Char(1 )

SPACE, 'X'

Char(1 )

SPACE, 'R', 'L','C'

'R': rechtsbndig 'L': linksbndig 'C': zentriert

Die Ausrichtung der Spaltenberschrift richtet sich immer nach der Ausrichtung des Spalteninhalts. Eine davon unabhngige Ausrichtung der Spaltenberschrift ist nicht mglich. LZERO LVC_LZERO Nur relevant fr Felder des Datentyps NUMC, die das ALV Control in der Voreinstellung rechtsbndig ohne fhrende Nullen ausgibt. Durch Setzen von LZERO werden fhrende Nullen ausgegeben. NO_SI GN LVC_NOSIGN Nur relevant fr Wertfelder. Das Setzen von NOSIGN bewirkt eine Wertausgabe ohne Vorzeichen (siehe auch F1-Dokumentation zu den WRITE-Aufbereitungsoptionen). NO_ZE RO LVC_NOZERO Char(1 ) SPACE, 'X' Char(1 ) SPACE, 'X' Char(1 ) SPACE, 'X'

154

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Formatierung von Spalteninhalten

Falls NO_ZERO gesetzt ist, werden fr initiale Wertefelder keine Nullen ausgegeben. Die Zelle bleibt dann leer. ROUND LVC_ROUND Um Zehnerpotenzen skalierte Ausgabe eines Wertes vom Typ P. Bei positiven Werten von ROUND verschiebt das ALV Grid Control das Komma nach links, sonst nach rechts. (Siehe auch F1-Dokumentation zu den WRITE-Aufbereitungsoptionen) ROUND FIELD LVC_RNDFN Zeilenweise Definition der skalierten Ausgabe. ber ein zustzliches Feld in der Ausgabetabelle knnen Sie festlegen, wie das zugehrige Feld in der jeweiligen Zeile skaliert wird. SYMBO L LVC_SYMBOL Falls gesetzt, wird der Spalteninhalt als Symbol ausgegeben. Der Spalteninhalt der internen Ausgabetabelle mu aus gltigen Symbolzeichen bestehen. Hierbei sollte der Aufrufer die Problematik um die Druckbarkeit von Symbolen bercksichtigen. (Symbole sind generell druckbar, werden aber in Abhngigkeit von der Druckerkonfiguration nicht in jedem Fall korrekt ausgegeben). Char(1 ) SPACE, 'X' Char(3 0) Char(1 0) initial, natrliche Zahl

April 2001

155

ALV Grid Control (BC-SRV-ALV) Texte

SAP AG

Texte
Mit diesen Feldern steuern Sie, welche Texte das ALV Control

als Spaltenberschrift, als Tooltip (Informationstext, der erscheint, wenn der Benutzer den Mauszeiger ber die Spalte positioniert) und als Spaltenauswahltext (im Popup zur Definition eines Layout, einer Sortierung oder eines Filters)

benutzt.

Der Abschnitt Texte im Feldkatalog [Extern] klrt wie die Felder zueinander in Beziehung stehen.
Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

COLDD ICTXT

LVC_DDICT Nur relevant fr Felder mit Bezug zum Data Dictionary. Mit den Werten 'L', 'M', 'S' oder 'R' bestimmen Sie, ob SCRTEXT_L, SCRTEXT_M, SCRTEXT_S oder REPTEXT als Spaltenberschrift verwendet wird.

Char( 1)

SPACE, 'L', 'M', 'S' und 'R'

COLTE XT

LVC_TXT Bestimmt die Spaltenberschrift der Spalte. Dieses Feld sollten Sie belegen, wenn kein Bezug zum Data Dictionary besteht.

Char( 40)

Frei definierbarer Text

REPTE XT

REPTEXT Nur relevant fr Felder mit Bezug zum Data Dictionary. Fr solche Felder bernimmt das ALV Control den Feldbezeichner fr die berschrift des entsprechenden Datenelements in dieses Feld.

Char( 55)

bernommener Text aus dem Data Dictionary

SCRTE XT_L

SCRTEXT_L

Char( 40)

bernommener Text aus dem Data Dictionary

156

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Texte

Nur relevant fr Felder mit Bezug zum Data Dictionary. Fr solche Felder bernimmt das ALV Control den langen Feldbezeichner des entsprechenden Datenelements in dieses Feld. SCRTE XT_M SCRTEXT_M Nur relevant fr Felder mit Bezug zum Data Dictionary. Fr solche Felder bernimmt das ALV Control den mittleren Feldbezeichner des entsprechenden Datenelements in dieses Feld. SCRTE XT_S SCRTEXT_S Nur relevant fr Felder mit Bezug zum Data Dictionary. Fr solche Felder bernimmt das ALV Control den kurzen Feldbezeichner des entsprechenden Datenelements in dieses Feld. SELDDI CTXT LVC_DDICT Nur relevant fr Felder mit Bezug zum Data Dictionary. Mit den Werten 'L', 'M', 'S' oder 'R' bestimmen Sie, ob SCRTEXT_L, SCRTEXT_M, SCRTEXT_S oder REPTEXT als Text fr die Spaltenauswahl verwendet wird. SELTE XT LVC_TXT Bestimmt den Text, der in der Spaltenauswahl fr die Spalte verwendet wird. Dieses Feld sollten Sie belegen, wenn kein Bezug zum Data Dictionary besteht. TIPDDI CTXT LVC_DDICT Nur relevant fr Felder mit Bezug zum Data Dictionary. Mit den Werten 'L', 'M', 'S' oder 'R' bestimmen Sie, ob SCRTEXT_L, SCRTEXT_M, SCRTEXT_S oder REPTEXT als Tooltip verwendet wird. TOOLTI P LVC_TIP Bestimmt den Text, der als Tooltip fr die Spalte verwendet wird. Dieses Feld sollten Sie belegen, wenn kein Bezug zum Data Dictionary besteht. Char( 40) Frei definierbarer Text Char( 1) SPACE, 'L', 'M', 'S' und 'R' Char( 40) Frei definierbarer Text Char( 1) SPACE, 'L', 'M', 'S' und 'R' Char( 10) bernommener Text aus dem Data Dictionary Char( 20) bernommener Text aus dem Data Dictionary

April 2001

157

ALV Grid Control (BC-SRV-ALV) Texte

SAP AG

158

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Parameter fr Felder ohne DDIC-Bezug

Parameter fr Felder ohne DDIC-Bezug


Siehe auch: Texte [Seite 156] Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

DD_OU TLEN

LVC_DDLEN ber dieses Feld geben Sie die Feldausgabelnge der externen Darstellung an. Dies ist nur relevant fr Felder ohne Bezug zum Data Dictionary, deren Ausgabe dennoch ber einen Konvertierungsexit modifiziert werden soll (siehe Verwendung des Konvertierungsexit [Seite 41]).Die Spaltenbreite (Feld OUTPUTLEN des Feldkatalogs) mu nicht der Ausgabelnge der externen Darstellung (DD_OUTLEN) entsprechen.

NUM C(6)

0 (initial), n

INTLEN

INTLEN ber dieses Feld geben Sie die Feldausgabelnge der internen Darstellung an. Dies ist nur relevant fr Felder ohne Bezug zum Data Dictionary, deren Ausgabe dennoch ber einen Konvertierungsexit modifiziert werden soll (siehe Verwendung des Konvertierungsexit [Seite 41]).

NUM C(6)

0 (initial), n

INTTYP E

INTTYPE

Char( 1)

ABAP-Datentyp, siehe Wertebereich der Domne INTTYPE

Nur ntig fr Felder ohne Bezug zum Data Dictionary. ROLLN AME LVC_ROLL Char( 30) SPACE, Name eines Datenelements aus dem Data Dictionary

April 2001

159

ALV Grid Control (BC-SRV-ALV) Parameter fr Felder ohne DDIC-Bezug

SAP AG

Soll auch fr ein Ausgabefeld ohne Bezug zum Data Dictionary eine F1-Hilfe ermglicht werden, bzw. fr ein Feld mit Bezug zum Data Dictionary eine vom Data Dictionary abweichende F1-Hilfe hinterlegt werden, so kann das ber dieses Feld geschehen. Bei Aufruf der F1-Hilfe auf diesem Feld, wird die Dokumentation zum zugewiesenen Datenelement angezeigt. Ist bei Feldern mit Bezug zum Data Dictionary ROLLNAME initial, so wird die Dokumentation zum Datenelement des referierten Feldes aus dem Data Dictionary ausgegeben.

160

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Sonstige Felder

Sonstige Felder
Feldna me Komp.-Typ Verwendung Dtyp(L nge) Wertebereich

DRAGD ROPID

LVC_DDID ber dieses Feld definieren Sie ein D&DVerhalten fr spezielle Spalten [Seite 27].

INT4(1 0)

Drag&Drop-Handle

REPRE P

LVC_CRPRP 'X' = wird die Bericht/Bericht-Schnittstelle gerufen, so wird die Ausprgung dieses Feldes in der selektierten Absprungzeile der Schnittstelle als Selektionskriterium mitgeteilt. Voraussetzungen:

Char(1 )

SPACE, 'X'

Die Bericht/Bericht-Schnittstelle ist im System vorhanden (Funktionsgruppe RSTI, Tabelle TRSTI) Die Bericht/Bericht-Schnittstelle wurde ber die Methode activate_reprep_interface [Seite 70] aktiviert. Char(4 ) SPACE, vierstelliger Gruppenschlssel

SP_GR OUP

LVC_SPGRP Mit dem Gruppenschlssel fassen Sie mehrere Felder zu einer Gruppe zusammen. Im Popup zur Definition eines Layout kann der Benutzer dann die Liste der ausgeblendeten Spalten auf diese Gruppe einschrnken.
Siehe auch: Einteilung von Feldern in spezielle Gruppen [Seite 39]

TXT_FI ELD

LVC_FNAME

Char(3 0)

SPACE, Feldname der Ausgabetabelle

April 2001

161

ALV Grid Control (BC-SRV-ALV) Sonstige Felder

SAP AG

ber dieses Feld knnen Sie den Bezug zu einem Feld herstellen, das als Bezeichnung fr das aktuelle Feld dient. Bei Bildung einer Zwischensumme ber das aktuelle Feld gibt das ALV Grid Control dann die Bezeichnungen in dem zugeordneten Feld aus. Beispiel: In Ihrer Ausgabetabelle gibt es eine Spalte fr Materialnummern und eine weitere Spalte fr die Bedeutung dieser Nummer (z.B: Federgabel). Wenn Sie die Zwischensummen ber die Materialnummern bilden, werden normalerweise nur diese Nummern als Zwischensummentext ausgegeben. ber die Verknpfung mit TXT_FIELD knnen Sie sich aber auf die zugehrige Spalte mit der Materialbezeichnung beziehen. Dann wird diese Bezeichnung als Zwischensummentext verwendet.

162

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Die Layout-Struktur

Die Layout-Struktur
Definition
Die Layout-Struktur ist vom Typ LVC_S_LAYO. Sie enthlt Felder zum Setzen von grafischen Eigenschaften des Grid Controls, zur Anzeige von Exceptions, zu Optionen bei der Summierung und zum Aktivieren bestimmter Interaktionsmglichkeiten.

Struktur
Alphabetischer Index Feldname Kurzbeschreibung Sparte

CTAB_FNAME CWIDTH_OPT

Feldname fr Tabelle mit Farbkodierung fr Zellen Spaltenbreite optimieren

Farben [Seite 169] Eigenschaften des Grid Controls [Seite 166] Interaktionssteuer ung [Seite 171] Interaktionssteuer ung [Seite 171] Exceptions [Seite 168] Exceptions [Seite 168] Exceptions [Seite 168] Exceptions [Seite 168] Eigenschaften des Grid Controls [Seite 166] Farben [Seite 169] Interaktionssteuer ung [Seite 171] Eigenschaften des Grid Controls [Seite 166] Eigenschaften des Grid Controls [Seite 166]

DETAILINIT DETAILTITL EXCP_CONDS EXCP_FNAME EXCP_LED EXCP_ROLLN GRID_TITLE

Initiale Werte im Detailbild anzeigen Titelzeile des Detailbildes Exceptions auf (Zwischen-) Summe vererben. Feldname mit Exceptioncodierung Exception als LED Datenelement fr Exceptiondoku Text der Titelzeile

INFO_FNAME KEYHOT NO_HEADERS

Name fr Feld mit Farbkodierung fr Zeilen Keyspalten als Hotspot Spaltenberschriften ausschalten

NO_HGRIDLN

Horizontale Gridlinien ausschalten

April 2001

163

ALV Grid Control (BC-SRV-ALV) Die Layout-Struktur

SAP AG

NO_MERGING

Verschmelzen von Zellen ausschalten

Eigenschaften des Grid Controls [Seite 166] Eigenschaften des Grid Controls [Seite 166] Eigenschaften des Grid Controls [Seite 166] Summenoptionen [Seite 170] Summenoptionen [Seite 170] Summenoptionen [Seite 170] Eigenschaften des Grid Controls [Seite 166] Summenoptionen [Seite 170] Interaktionssteuer ung [Seite 171] Eigenschaften des Grid Controls [Seite 166] Interaktionssteuer ung [Seite 171] Eigenschaften des Grid Controls [Seite 166] Interaktionssteuer ung [Seite 171] Summenoptionen [Seite 170] Farben [Seite 169]

NO_ROWMARK

Zeilenmarkierungen ausschalten

NO_TOOLBAR

Toolbar ausblenden

NO_TOTARR NO_TOTEXP NO_TOTLINE NO_VGRIDLN

Keine Summenpfeile anzeigen Keine Expand-Icons anzeigen Keine Endsummenzeile ausgeben Vertikale Gridlinien ausschalten

NUMC_TOTAL S_DRAGDROP SEL_MODE

Summieren von NUMC-Feldern zulassen Drag&Drop Controleinstellungen Selektionsmodus

SGL_CLK_HD SMALLTITLE

Einfachklick auf Spaltenberschrift Titelgre

STYLEFNAME TOTALS_BEF ZEBRA

Name der Zellentabelle fr Drucktasten. Summenausgabe vor den Einzelstzen Alternierende Zeilenfarbe bei der Druckausgabe (Zebramuster)

Integration
Im Allgemeinen empfiehlt es sich, die Felder der Struktur vor der ersten Anzeige der Liste zu fllen und in der Methode set_table_for_first_display [Seite 103] zu bergeben.

164

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Die Layout-Struktur

Die Methoden get_frontend_layout [Seite 76] und set_frontend_layout [Seite 95] erlauben es, Einstellungen in der Layout-Struktur nach der Listausgabe zu ndern.

April 2001

165

ALV Grid Control (BC-SRV-ALV) Eigenschaften des Grid Controls

SAP AG

Eigenschaften des Grid Controls


Allgemeine Anzeigeoptionen Feldname Bedeutung Wertebereich

CWIDTH_OPT

Falls gesetzt, optimiert das ALV Grid Control die Spaltenbreite. Es ist dann sowohl die Spaltenberschrift als auch der Inhalt der Zellen dieser Spalte sichtbar. Falls gesetzt, wird die Titelgre im Grid Control auf die Schriftgre der Spaltenberschrift gesetzt.

SPACE, 'X'

SMALLTITLE

SPACE, 'X'

Grid Customizing Feldname Bedeutung Wertebereich

GRID_TITLE NO_HEADER S NO_HGRIDLN NO_MERGIN G NO_ROWMA RK

Titel zwischen Grid Control und Toolbar. Falls gesetzt, werden die Spaltenberschriften ausgeblendet. Falls gesetzt, werden die Spalten ohne horizontale Trennungslinien angezeigt. Falls gesetzt, werden Zellen beim Sortieren ber eine Spalte nicht mehr miteinander verschmolzen. Falls gesetzt, wird im Selektionsmodus Zellenselektion (SEL_MODE = 'D') und Spalten/Zeilenselektion (SEL_MODE = 'A') der Button am Beginn einer Zeile ausgeblendet. Falls gesetzt, wird die Toolbar ausgeblendet. Falls gesetzt, werden die Spalten ohne vertikale Trennungslinien angezeigt. Setzen des Selektionsmodus (siehe Tabelle unten).

Zeichenkette mit hchstens 70 Zeichen SPACE, 'X' SPACE, 'X' SPACE, 'X' SPACE, 'X'

NO_TOOLBA R NO_VGRIDLN SEL_MODE

SPACE, 'X' SPACE, 'X' SPACE, 'A', 'B', 'C', 'D'

Selektionsmodi bei SEL_MODE Wert Modus Mgliche Markierungen Bemerkung

SPACE 'A'

wie 'B' Spalten- und Zeilenselektion (siehe Abbildung)

siehe 'B'

Voreinstellung Die Zeilen markiert der Benutzer ber Drucktasten am linken Rand des Grid Controls

mehrere Spalten mehrere Zeilen

166

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Eigenschaften des Grid Controls

'B'

Einfachselektion, Listbox Mehrfachselektion, Listbox Zellenselektion

mehrere Spalten einzelne Zeilen mehrere Spalten Mehrere Zeilen mehrere Spalten Mehrere Zeilen eine beliebige Zellenauswahl Die Zeilen markiert der Benutzer ber Drucktasten am linken Rand des Grid Controls

'C'

'D'

Das ALV Grid Control mit Spalten- und Zeilenselektion

April 2001

167

ALV Grid Control (BC-SRV-ALV) Exceptions

SAP AG

Exceptions
Der Abschnitt Ausgabe von Exceptions [Seite 30] beschreibt, wie man Exceptions in einer Liste darstellt.
Feldname Bedeutung Wertebereich

EXCP_COND S

Ist dieses Feld gesetzt, zeigt ALV in der (Zwischen-) Summenzeile ebenfalls eine Exception an. Als Farbe fr diese Exception bernimmt ALV den kleinsten Exception-Wert ('1': rot, '2': gelb, '3' grn) der Zeilen, auf die sich die (Zwischen-) Summe bezieht. Feldname der Ausgabetabelle fr die Anzeige einer Exception. Die Exception wird nicht als Ampel, sondern als LED angezeigt. Name eines Datenelements. Fr die ExceptionSpalte wird dann die F1-Hilfe dieses Datenelements aufgerufen. Auerdem erscheint als Tooltip der Spalte der lange Feldbezeichner des Elements.

SPACE, 'X'

EXCP_FNAM E EXCP_LED EXCP_ROLLN

Zeichenkette mit hchstens 30 Zeichen SPACE, 'X' Zeichenkette mit hchstens 30 Zeichen

168

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Farben

Farben
Spalten frben Sie ber den Feldkatalog ein (siehe auch EMPHASIZE in Ausgabeoptionen einer Spalte [Seite 149]).
Feldname Bedeutung Wertebereich

CTAB_FNAM E INFO_FNAME ZEBRA

Feldname in Ausgabetabelle fr Zellenfrbung (Siehe: Einfrben von Zellen [Seite 33]) Feldname in Ausgabetabelle fr Zeilenfrbung (Siehe: Einfrben von Zeilen [Seite 32]) Falls gesetzt wird die Liste in der Druckansicht und beim Drucken mit einem Streifenmuster versehen.

Zeichenkette mit hchstens 30 Zeichen Zeichenkette mit hchstens 30 Zeichen SPACE, 'X'

April 2001

169

ALV Grid Control (BC-SRV-ALV) Summenoptionen

SAP AG

Summenoptionen
Feldname Bedeutung Wertebereich

NO_TOTARR

In der Summenzeile und in den Zwischensummenzeilen gibt das ALV Grid Control Pfeile aus, die den Summierungsbereich zusaetzlich andeuten. Setzen Sie diesen Parameter, um diese Pfleile zu unterdrcken. Am Beginn einer (Zwischen-)Summenzeile kennzeichnet ein Icon, ob die Zeile expandiert wurde oder nicht. Setzen Sie diesen Parameter, um dieses Icon zu unterdrcken. Falls gesetzt, werden nur Zwischensummen und keine Endsummen ausgegeben. Falls gesetzt, darf der Benutzer ber Felder des Datentyps NUMC summieren (im Normalfall darf er das nicht). Falls gesetzt, zeigt ALV gebildete Summen als erste Zeilen im Grid Control an. Zwischensummen werden vor einem neuen Wert des Zwischensummenkriteriums angezeigt.

SPACE, 'X'

NO_TOTEXP

SPACE. 'X'

NO_TOTLINE NUMC_TOTAL TOTALS_BEF

SPACE, 'X' SPACE, 'X' SPACE, 'X'

170

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Interaktionssteuerung

Interaktionssteuerung
Feldname Bedeutung Wertebereich

DETAILINIT DETAILTITL S_DRAGDRO P KEYHOT

Falls gesetzt, werden im Detailfenster auch Spalten mit initialen Werten angezeigt. Titel in der Titelleiste des Detailfensters. Struktur fr Drag&Drop-Einstellungen. (Siehe: Drag&Drop mit dem ALV Control [Seite 25]). Falls gesetzt, sind alle Schlsselfelder Hotspotsensitiv. Bei einem Einfachklick auf ein Schlsselfeld wird das Ereignis hotspot_click [Seite 118] ausgelst. Aktiviert die Funktion Einfachklick auf Spaltenberschrift. Bei dieser Funktion wird die Liste nach der angeklickten Spalte erst aufsteigend und beim zweiten Klick absteigend sortiert. Mit diesem Feld bergeben Sie den Namen der Zellentabelle fr die Darstellung von Zellen als Drucktaste (siehe auch: Darstellung von Drucktasten [Seite 35]).

SPACE, 'X' Zeichenkette mit hchstens 30 Zeichen

SPACE, 'X'

SGL_CLK_HD

SPACE, 'X'

STYLEFNAM E

Zeichenkette mit hchstens 30 Zeichen

April 2001

171

ALV Grid Control (BC-SRV-ALV) Die Print-Struktur

SAP AG

Die Print-Struktur
Verwendung
Die Print-Struktur enthlt Felder fr Einstellungen beim Drucken der Liste.

Struktur
Feldname Bedeutung Wertebereich

GRPCHGEDIT

Benutzerdefinierbare GruppenwechselAufbereitung fr die Druckansicht aktivieren. Ist dieses Feld gesetzt, wird der Absprung in den SAP List Viewer entsprechend konfiguriert. Im Popup fr die Sortierung kann der Benutzer dann entscheiden, wie ein Wechsel des Wertes beim Sortierkriterium grafisch umgesetzt werden soll: als Seitenwechsel oder als Unterstreichung. Mit der Sortiertabelle [Extern] setzen Sie diese Formatierung dynamisch.

SPACE, 'X'

NO_COLWOP T

Vor dem Drucken (und der Druckvorschau) setzt das ALV Grid Control alle Spalten auf die optimalen Breite. Durch das Setzen dieses Parameters bersteuern sie diese Voreinstellung. Drucken von Listinfos. Falls gesetzt, werden Informationen ber Sortierung, Zwischensummen und definierten Filtern sowie eine Datenstatistik am Beginn der Liste ausgedruckt. Gibt den Zeitpunkt an, an dem der Grid Title gedruckt werden soll (siehe auch Parameter GRID_TITLE in Eigenschaften des Grid Controls [Seite 166])

SPACE, 'X'

PRNTLSTINF

SPACE, 'X'

PRNT_TITLE

0-3 mit folgender Bedeutung:


0: Vor dem Ereignis PRINT_TOP_OF_LIST 1: Nach dem Ereignis PRINT_TOP_OF_LIST 2: Vor dem Ereignis PRINT_TOP_OF_PAGE 3: Nach dem Ereignis PRINT_TOP_OF_PAGE

RESERVELNS

Anzahl reservierter Zeilen fr das Ereignis print_end_of_page [Seite 126]. Ohne diese Angabe wird der dort angegebene Text durch die Liste berschrieben.

Natrliche Zahl

172

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Die Print-Struktur

Integration
Listen, die Sie mit dem ALV Grid Control darstellen, werden ber den SAP List Viewer ausgedruckt. Bei der Druckansicht springt der Benutzer deshalb in den SAP List Viewer (lt sich ber das Feld PRINT abschalten). Die Einstellungen, die er hier vornimmt (z.B.: Definieren einer mehrzeiligen Liste), werden beim Drucken bernommen.

Die Druckausgaben des Ereignisses PRINT_END_OF_PAGE oder des Feldes PRNTLSTINF sind bei der Druckansicht im SAP List Viewer nicht sichtbar. Wenn der Benutzer zunchst nur einen Spool-Auftrag anlegt, kann er die endgltige Darstellung der Liste ber die Transaktion SP01 berprfen.

April 2001

173

ALV Grid Control (BC-SRV-ALV) Methoden des OO Control Frameworks

SAP AG

Methoden des OO Control Frameworks

174

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Methoden der Klasse CL_GUI_CFW

Methoden der Klasse CL_GUI_CFW


Die Klasse CL_GUI_CFW beinhaltet statische Methoden, die beim Aufruf auf alle instanzierten Custom Controls wirken.

April 2001

175

ALV Grid Control (BC-SRV-ALV) dispatch

SAP AG

dispatch
Die Methode dispatch verteilt Applikationsereignisse (siehe Ereignisbehandlung [Extern]) an die fr das Ereignis angemeldeten Ereignisbehandler. Wenn diese Methode nicht im Applikationsprogramm innerhalb von PAI aufgerufen wird, dann wird sie automatisch vom System nach dem Abarbeiten von PAI aufgerufen. Die Methode liefert einen Returncode zurck, ber den der Erfolg des Aufrufs abzulesen ist. CALL METHOD cl_gui_cfw=>dispatch IMPORTING return_code = return_code.
Parameter Bedeutung

return_code

cl_gui_cfw=>rc_found: Das Ereignis konnte erfolgreich an eine Behandlermethode bergeben werden. cl_gui_cfw=>rc_unknown: Das Ereignis wurde nicht in der Ereignisliste registriert. cl_gui_cfw=>rc_noevent: Es wurde kein Ereignis auf einem Control ausgelst. Der OK_CODE war daher ein normaler OK_CODE (z.B. von einem Meneintrag). cl_gui_cfw=>rc_nodispatch: Dem Ereignis konnte keine Behandlermethode zugeordnet werden.

Das Ereignis kann nur einmalig verteilt werden. Danach ist das Ereignis verbraucht. Daher wird ein zweiter Aufruf der Methode nicht nochmals zu einem Sprung in den Ereignisbehandler fhren.

176

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) flush

flush
Mit dieser Methode synchronisieren Sie explizit die Automation Queue [Extern]. Die gepufferten Operationen werden dann zum Frontend per GUI-RFC geschickt. Dort wird die Automation Queue in der Reihenfolge abgearbeitet, wie Sie sie gefllt haben. Im Fehlerfall wird eine Ausnahme ausgelst, die Sie auf jeden Fall abfragen und behandeln sollten. Da eine Zuordnung des Fehlers in der Regel nicht mehr mglich ist, stehen Ihnen sowohl im Debugger als auch im SAP GUI Werkzeuge zur Verfgung, um den Fehler zu lokalisieren:
Debugger: Markieren Sie in den Einstellungen das Ankreuzfeld Automation Controller: Auftrge immer synchron verarbeiten. Dies fhrt dazu, da nach jeder Methode, die den Automation Controller ruft, die Methode cl_gui_cfw=>flush automatisch aufgerufen wird. SAP GUI: In den Einstellungen zum SAP GUI knnen Sie auf der Karteikarte Trace das Ankreuzfeld Automation whlen. Dadurch wird die Kommunikation zwischen Applikationsserver und Automation Controller in einer Trace-Datei mitgeschrieben. Diese kann dann ausgewertet werden.

CALL METHOD cl_gui_cfw=>flush EXCEPTIONS CNTL_SYSTEM_ERROR = 1 CNTL_ERROR = 2.

Fhren Sie nur so viele Synchronisationspunkte in Ihr Programm ein, wie wirklich ntig sind. Bei jeder Synchronisation wird nmlich eine RFC-Verbindung zum SAP GUI geffnet.

April 2001

177

ALV Grid Control (BC-SRV-ALV) get_living_dynpro_controls

SAP AG

get_living_dynpro_controls
Mit dieser Methode knnen Sie sich eine Liste von Referenzvariablen zu allen noch aktiven Custom Controls besorgen. CALL METHOD cl_gui_cfw=>get_living_dynpro_controls IMPORTING control_list = control_list.
Parameter Bedeutung

control_list

Liste der Referenzvariablen zu aktiven Custom Controls. Liste ist vom Typ CNTO_CONTROL_LIST (in der Klasse CL_GUI_CFW definiert)

178

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_new_ok_code

set_new_ok_code
Diese Methode darf nur in Behandlermethoden zu Systemereignissen eingesetzt werden. Sie setzt einen OK_CODE, der ein Ausfhren von PAI nach sich zieht. Dadurch knnen Sie nach dem Feldtransport nochmals die Kontrolle in Ihren PAI-Modulen bekommen. CALL METHOD cl_gui_cfw=>set_new_ok_code EXPORTING new_code = new_code IMPORTING rc = rc.
Parameter Bedeutung

new_code return_code

Funktionscode, der in das OK_CODE-Feld (SY-UCOMM) gestellt werden soll. cl_gui_cfw=>rc_posted: Der OK_CODE wurde mit Erfolg gesetzt, und die Verarbeitung wird nach Abschlu der Behandlermethode mit PAI fortgesetzt (vorher wird noch die automatische Feldprfung des Dynpros durchgefhrt). cl_gui_cfw=>rc_wrong_state: Die Methode wurde nicht bei einem Systemereignis aufgerufen. cl_gui_cfw=>rc_invalid: Der gesetzte OK_CODE ist kein erlaubter OK_CODE.

April 2001

179

ALV Grid Control (BC-SRV-ALV) update_view

SAP AG

update_view
Die Automation Queue wird durch den Aufruf der Methode flush [Seite 177] nur dann synchronisiert, wenn in der Automation Queue Returnwerte enthalten sind. Fr alle Flle, in denen auch im Fall einer Returnwert-freien Queue gewnscht wird, da die Automation Queue synchron versendet wird, gibt es im Control Framework die Methode CL_GUI_CFW=>UPDATE_VIEW. Diese Methode darf nur dann verwendet werden, wenn es zwingend notwendig ist, ein Update des SAP GUI zu erreichen. Beispiele hierfr sind sehr lange laufende Anwendungen, die in regelmigen Abstnden dem Benutzer ein Feedback ber den Fortschritt der Aktion anzeigen mchten. CALL METHOD cl_gui_cfw=>update_view EXCEPTIONS CNTL_SYSTEM_ERROR = 1 CNTL_ERROR = 2.

180

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) Methoden der Klasse CL_GUI_OBJECT

Methoden der Klasse CL_GUI_OBJECT


Die Klasse CL_GUI_OBJECT beinhaltet wichtige Methoden zum Verschalen von Custom Controls. Fr Anwendungsprogramme ist einzig die Methode is_valid [Seite 183] relevant.

April 2001

181

ALV Grid Control (BC-SRV-ALV) free

SAP AG

free
Diese Methode baut ein Custom Control am Frontend ab. Nach Aufruf dieser Methode sollten Sie auch die Objektreferenz initialisieren (FREE my_control). CALL METHOD my_control->free EXCEPTIONS cntl_error = 1 cntl_system_error = 2.

182

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) is_valid

is_valid
Diese Methode liefert als Ergebnis, ob ein Custom Control zu einer Objektreferenz noch am Frontend vorhanden ist. CALL METHOD my_control->is_valid IMPORTING result = result.
Parameter Bedeutung

result

0: Custom Control ist nicht mehr am Frontend aktiv 1: Custom Control ist noch aktiv

April 2001

183

ALV Grid Control (BC-SRV-ALV) Methoden der Klasse CL_GUI_CONTROL

SAP AG

Methoden der Klasse CL_GUI_CONTROL


Die Klasse CL_GUI_CONTROL beinhaltet Methoden, die zum Setzen von Control-Eigenschaften (z.B. Visualisieren des Controls), Registrieren von Ereignissen und zum Abbau des Controls dienen.

184

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) constructor

constructor
Diese Methode wird von der Control-Verschalung des verwendeten Controls aufgerufen, um ein Control am Frontend zu instanzieren.

Um ein SAP Control zu instanzieren, rufen Sie immer den Konstruktor der dazugehrenden Klasse auf. CREATE OBJECT my_control EXPORTING clsid = clsid lifetime = lifetime shellstyle = shellstyle parent = parent autoalign = autoalign EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4.
Parameter Bedeutung

clsid lifetime

ID der Klasse Parameter fr das Lifetime Management. Folgende Werte sind mglich: my_control->lifetime_imode: Das Control lebt, solange der interne Modus nicht abgebaut wird (z.B.: leave program. leave transaction. set screen 0, leave screen.). Danach wird die Methode finalize [Seite 187] aufgerufen. my_control->lifetime_dynpro: Das Control lebt, solange die Instanz des Dynpros existiert, d.h. sich noch im Dynprostapel befindet. Danach wird die Methode free [Seite 182] aufgerufen. Die Benutzung dieses Modus regelt automatisch die Sichtbarkeit von Controls. Controls werden immer nur dann eingeblendet, wenn das Dynpro aktiv ist, auf dem sie erzeugt wurden. Ist ein anderes Dynpro aktiv, werden sie automatisch unsichtbar geschaltet. my_control->lifetime_default: Wird das Control in einen Container eingebaut, bernimmt es die Lebensdauer des Containers. Wird es nicht in einen Container eingebaut (z.B. weil es selbst ein Container ist), dann wird die Lebensdauer auf my_control->lifetime_imode gesetzt.

shellstyle

Steuerung des Erscheinungsbilds und des Verhaltens des Controls Konstanten aus dem ABAP-Include <CTLDEF>, die mit WS beginnen, knnen Sie bergeben. Kombinationen von mehreren Styles knnen Sie durch Addieren der Konstanten erreichen. Der Vorschlagswert fhrt intern zum Setzen einer ausreichenden Kombination von Style-Konstanten.

parent

Container, in dem das SAP Picture Control angezeigt werden kann (siehe SAP Container [Extern])

April 2001

185

ALV Grid Control (BC-SRV-ALV) constructor

SAP AG

autoalign

' ': kein automatisches Ausrichten des Controls 'X': automatisches Ausrichten des Controls. Dabei wird der maximal verfgbare Platz innerhalb eines Containers verwendet.

186

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) finalize

finalize
Diese Methode wird von der verwendeten Controlverschalung berdefiniert. In ihr werden control-spezifische Funktionen zum Abbau des Controls aufgerufen. Diese Methode wird automatisch von der Methode free [Seite 182] aufgerufen, bevor das Control am Frontend abgebaut wird. CALL METHOD my_control->finalize.

April 2001

187

ALV Grid Control (BC-SRV-ALV) get_focus

SAP AG

get_focus
Diese statische Methode liefert die Objektreferenz des Custom Controls zurck, welches den Fokus hat. CALL METHOD cl_gui_control=>get_focus IMPORTING control = control EXCEPTIONS cntl_error = 1 cntl_system_error = 2.
Parameter Bedeutung

control

Objektreferenz (TYPE REF TO cl_gui_control) auf das Control, das den Fokus hat

188

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_height

get_height
Diese Methode liefert die Hhe des Controls zurck. CALL METHOD control->get_height IMPORTING height EXCEPTIONS cntl_error
Parameter Bedeutung

= height = 1.

height

Aktuelle Hhe des Controls

April 2001

189

ALV Grid Control (BC-SRV-ALV) get_registered_events

SAP AG

get_registered_events
Diese Methode liefert eine Liste aller fr das Custom Control my_control registrierten Ereignisse zurck. CALL METHOD my_control->get_registered_events IMPORTING events = events EXCEPTIONS cntl_error = 1.
Parameter Bedeutung

events

Tabelle der zu registrierenden Ereignisse fr das Custom Control my_control

Die Tabelle events ist eine Liste mit Ereignissen, auf die Sie sich registriert haben. Die Tabelle wird mit Bezug auf den Tabellentyp CNTL_SIMPLE_EVENTS definiert. Dem Tabellentyp liegt die Struktur CNTL_SIMPLE_EVENT zugrunde. Dieser besteht aus folgenden Feldern:
Feld Bedeutung

EVENTID APPL_EVENT

Name des Ereignisses Unterscheidung, ob es sich um ein Systemereignis (initial) oder ein Applikationsereignis (X) handeln soll.

Die Werte, die dem Feld EVENTID zuzuordnen sind, sind control-spezifisch und werden daher bei den entsprechenden Controls beschrieben.

Allgemeine Informationen zur Ereignisbehandlung finden Sie in der Dokumentation des SAP Control Frameworks unter Ereignisbehandlung [Extern].

190

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) get_width

get_width
Diese Methode liefert die Breite des Controls zurck. CALL METHOD control->get_width IMPORTING width EXCEPTIONS cntl_error
Parameter Bedeutung

= width = 1.

width

Aktuelle Breite des Controls

April 2001

191

ALV Grid Control (BC-SRV-ALV) is_alive

SAP AG

is_alive
Diese Methode liefert als Ergebnis, ob ein Custom Control zu einer Objektreferenz noch am Frontend vorhanden ist. CALL METHOD my_control->is_alive RETURNING state = state.
Parameter Bedeutung

state

my_control->state_dead: Custom Control ist nicht mehr am Frontend aktiv my_control->state_alive: Custom Control ist auf aktuellem Dynpro aktiv my_control->state_alive_on_other_dynpro: Custom Control ist auf dem aktuellen Dynpro nicht aktiv, aber am Frontend noch aktiv (d.h. unsichtbar)

192

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_alignment

set_alignment
Diese Methode richtet das Custom Control innerhalb seines Containers aus: CALL METHOD my_control->set_alignment EXPORTING alignment = alignment EXCEPTIONS cntl_error = 1 cntl_system_error = 2.
Parameter Bedeutung

alignment

Ausrichtung des Controls

Der Parameter alignment kann aus Kombinationen folgender Ausrichtungen bestehen:


Name Bedeutung

my_control->align_at_left my_control->align_at_right my_control->align_at_top my_control->align_at_bottom

Ausrichtung am linken Rand Ausrichtung am rechten Rand Ausrichtung am oberen Rand Ausrichtung am unteren Rand

Kombinationen erhlt man durch Aufaddieren der Komponenten: alignment = my_control->alingn_at_left + my_control->alingn_at_top.

April 2001

193

ALV Grid Control (BC-SRV-ALV) set_focus

SAP AG

set_focus
Mit dieser statischen Methode knnen Sie den Fokus auf ein Custom Control setzen. CALL METHOD cl_gui_control=>set_focus EXPORTING control = control EXCEPTIONS cntl_error = 1 cntl_system_error = 2.
Parameter Bedeutung

control

Objektreferenz (TYPE REF TO cl_gui_control) auf das Control, das den Fokus bekommen soll

194

April 2001

SAP AG

ALV Grid Control (BC-SRV-ALV) set_position

set_position
Diese Methode plaziert das Control an eine bestimmte Stelle des Dynpros.

In der Regel wird die Position des Controls ber seinen Container geregelt. CALL METHOD my_control->set_position EXPORTING height = height left = left top = top width = width EXCEPTIONS cntl_error = 1 cntl_system_error = 2.
Parameter Bedeutung

height left top width

Hhe des Controls Linker Rand des Controls Oberer Rand des Controls Breite des Controls

April 2001

195

ALV Grid Control (BC-SRV-ALV) set_visible

SAP AG

set_visible
Mit dieser Methode knnen Sie die Sichtbarkeit eines Custom Controls verndern. CALL METHOD my_control->set_visible EXPORTING visible = visible EXCEPTIONS cntl_error = 1 cntl_system_error = 2.
Parameter Bedeutung

visible

X: Custom Control ist sichtbar ' ': Custom Control ist nicht sichtbar

196

April 2001

Das könnte Ihnen auch gefallen