ajanzen.com Um eigene Toolbar-Funktionen erweiterte ALV-Grid-Anzeige
|
|
- Hede Feld
- vor 6 Jahren
- Abrufe
Transkript
1 ajanzen.com Um eigene Toolbar-Funktionen erweiterte ALV-Grid-Anzeige
2 ajanzen.com 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf dem Vorgehen zum Einbinden einer eigenen Toolbarfunktion bei ALV-Erzeugung unter Verwendung von Klasse CL_GUI_ALV_GRID. Im Rahmen dessen wird auch auf die Behandlung des Ereignisses auslösen der eigenen Toolbarfunktion eingegangen. Zur besseren Strukturierung des Codes ist die Ereignisbehandlung in ein eigenständiges INCLUDE ausgelagert. Die im vorliegenden Beispiel ausgeprägte Funktion ist relativ einfach und visualisiert ausschließlich die ausgewählten Zeilen in einem Pop-Up. Das komplette Beispielcoding ist in Kapitel 3 enthalten. Nähere Informationen zum Ablauf können Kapitel 2 entnommen werden. 1
3 ajanzen.com 2 Informationen zur Programmlogik Im vorliegenden Beispiel werden vorbereitend die Informationen aus Tabelle SFLIGHT in eine interne Tabelle selektiert und in Form eines ALVs visualisiert. Anschließend wird gezeigt, wie die Toolbar der ALV-Anzeige um eigene Funktionen erweitert werden kann. Das Ergebnis ist in Abbildung 2 visualisiert. Aus Gründen der Übersichtlichkeit sind Hauptprogramm und das INCLUDE zur Ereignisbehandlung in eigenständigen Kapiteln enthalten. 2.1 Hauptprogramm Im ersten Schritt des ALV-Aufrufes wird ein Objekt der Klasse CL_GUI_ALV_GRID erzeugt. Bei der Objekterzeugung wird als Parent (Parameter I_PARANT) ein Standard-Container mitgegeben. Dieser dockt sich automatisch auf einem Trägerdynpro an. Im nächsten Schritt erfolgt das Ermitteln des Feldkataloges über Funktionsbaustein LVC_ FIELDCATALOG_MERGE. Hinweis: Das Ermitteln des Feldkataloges ist in diesem Beispiel nicht zwingend erforderlich. Die Bezeichnung der Struktur (in unserem Beispiel ist es SFLIGHT) kann über Parameter I_STRUCTURE_NAME direkt der ALV-Grid-Methode SET_TABLE_ FOR_FIRST_DISPLAY mitgegeben werden. Ich habe es mir jedoch angewöhnt, den Feldkatalog in einem separaten Schritt immer zu ermitteln, da dieser in vielen Fällen anzupassen ist (z.b. Spaltenüberschriften) Nach Aufruf von FuBa LVC_FIELDCATALOG_MERGE werden die ereignisbehandelnde Klasse instanziiert und die Ereignisbehandler gesetzt. Beim Instanziieren der Behandler-Klasse werden dieser die Instanz des AVL-Grids und die Tabelle mit den anzuzeigenden Daten übergeben. Nähere Informationen zur Behandler-Klasse können Kapitel 2.2 entnommen werden. Beim Setzen der Ereignisbehandler ist zu beachten, dass die Toolbar bei Verwendung von Klasse CL_GUI_ALV_GRID nur über das Ereignis TOOLBAR angepasst werden kann (zumindest ist mir kein anderer Weg bekannt). Beim Auslösen der eigenen Tollbar-Funktion durch Klicken wird Ereignis USER_COMMAND durchlauen. In Abbildung 1 sind beide Ereignisse durch einen roten Rahmen hervorgehoben. 2
4 ajanzen.com Abbildung 1: Relevante Ereignisse der Klasse CL_GUI_ALV_GRID Nach Anpassen der Anzeigeeigenschaften und Schaffung der Möglichkeit Varianten zu speichern, wird über Methode SET_TABLE_ FOR_FIRST_DISPLAY( ) der ALV- Grid-Klasse die eigentliche Anzeige angestoßen. Der Aufruf des Träger-Dynpro erfolgt über die Anweisung WRITE. Das Ergebnis der Anzeige kann Abbildung 2 entnommen werden. Abbildung 2: Um eigene Funktionen erweiterte Toolbar 2.2 INCLUDE zur Ereignisbehandlung Wie bereits im Vorfeld beschrieben, ist für die Behandlung der im vorhergehenden Kapitel benannten Ereignisse eine Behandler-Klasse notwendig. In dem vorliegenden 3
5 ajanzen.com Beispiel wurde die Klasse in ein eigenständiges INCLUDE ausgelagert. Die ausgeprägte Logik ist in Kapitel 2.2 beschrieben. Die Behandler-Klasse besteht neben der Constructor-Methode und den Methoden zur Behandlung der Ereignisse TOOLBAR und USER_COMMAND aus zwei Hilfsmethoden. Im Folgenden wird näher auf die einzelnen Methoden der Behandler-Klasse eingegangen. Beim Instanziieren der Behandler-Klasse werden der Constructor-Methode eine Instanz der ALV-Grid-Klasse und die Tabelle mit den Daten übergeben. Der Inhalt beider Parameter wird in klassenglobalen Attributen abgelegt und damit für die Weiterverarbeitung vorgehalten. Bei Ablage der Datentabelle ist zu beachten, dass diese nicht über ein = sondern über die Anweisung GET REFERENCE OF erfolgt. Siehe nachfolgende Erklärung: Bei Verwenden des = für die Datenzuweisung wird der Inhalt der Importparameter- Tabelle IT_SFLIGHT in das globale Klassenattribut kopiert. Dadurch existieren die Informationen (Tabellen) doppelt (siehe Abbildung 3). Importparameter IT_SFLIGHT Mandant Carrier Flug-Nr. Flugdatum Flugpreis 001 AA , AA , AZ , AZ , AZ ,00 Globales Attribut GT_SFLIGHT_CLASS Mandant Carrier Flug-Nr. Flugdatum Flugpreis 001 AA , AA , AZ , AZ , AZ ,00 Abbildung 3: Doppeln der Daten bei Zuweisung über = Bei Verwendung der Anweisung GET REFERENCE OF wird ein Zeiger auf die übergebenen Daten erzeugt. Dadurch sind die Informationen nur einmal vorhanden und alle Änderungen (z.b. sortieren der Tabelle im ALV) sind ohne weiteren Aufwand ersichtlich (siehe Abbildung 4). 4
6 ajanzen.com Importparameter IT_SFLIGHT Mandant Carrier Flug-Nr. Flugdatum Flugpreis 001 AA , AA , AZ , AZ , AZ ,00 Globales Attribut GT_SFLIGHT_CLASS Abbildung 4: Zeiger auf Ursprungsdaten bei der Zuweisung GET REFERENCE OF Hinweis: In der Klasse ALV-Grid werden die Informationen der Datentabelle ähnlich abgelegt. Methode ADD_TOOLBAR_FUNCTION() behandelt das TOOLBAR-Ereignis und dient somit dem Anpassen der Toolbar. Dabei werden neue Funktionen in das Tabellenattribut MT_TOOLBAR des Ereignisparameters E_OBJECT übernommen. Hinweis: Besteht der Wunsch gewisse Funktionen nicht zur Verfügung zu stellen, können diese aus dem Tabellentattribut gelöscht werden. Zur optischen Abgrenzung der neuen Funktion von den SAP-Standardfunktionen wird vor der neuen Funktion zusätzlich ein Separator ( ) eingefügt. Die Behandlung des Button-Klicks erfolgt über Methode HANDLE_USER_ COMMAND(). Die ausgeführte Funktion ist in Ereignisparameter E_UCOMM enthalten. In dem vorliegenden Beispiel werden die ausschließlich die markierten Zeilen in einem Pop-Up visualisiert. Das Ermitteln der markierten Zeilen erfolgt in Methode GET_SEL_ROWS() der Ereignisbehandler-Klasse. Dabei ist das vorliegende Beispiel so ausgeprägt, dass schon das Klicken in eine Zeile als Markieren der Zeile ausreicht (siehe Abbildung 5). Zum Bestimmen angeklickten Zeile kommt Methode GET_SELECTED_CELLS() der klassenglobal vorliegenden ALV-Grid-Instanz zum Einsatz. Abbildung 5: Markieren einer Zeile durch anklicken Im Gegensatz zum Anklicken steht das tatsächliche Markieren von Zeilen. Siehe hierzu Abbildung 6. Das Bestimmen der markierten Zeilen findet über Methode GET_SELECTED_ROWS() der klassenglobal vorliegenden ALV-Grid-Instanz statt. 5
7 ajanzen.com Abbildung 6: Tatsächliches Markieren der Zeilen Die letzte Methode der Ereignisbehandler-Klasse hat die Bezeichnung DISPLAY_POPUP( ) und dient dem Visualisieren der ausgewählten Informationen. Für das eigentliche Anzeigen des Pop-Ups kommt aus Gründen der Einfachheit Klasse CL_SALV_TABLE zum Einsatz. 6
8 3 Coding Wie aus der Überschrift ersichtlich ist, enthält Kapitel 3 das komplette Beispielcoding. Genau wie beim Aufbau von Kapitel 2 sind Hauptprogramm und das INCLUDE zur Ereignisbehandlung in eigenständigen Unterkapiteln enthalten. 3.1 Hauptprogramm * * * Das vorliegende Programm dient der Demonstration einer um eigene * Funktionen erweiterten Toolbar unter Verwendung von Klasse * CL_GUI_ALV_GRID * * Date: * * * Änderungen * * REPORT zaj_alv_grid_toolbar_funct. INCLUDE zaj_alv_grid_toolbar_funct_cl. CONSTANTS: gc_sel_mode DATA: gt_sflight DATA: gr_alv_grid DATA: gt_fieldcat DATA: gr_event_handler DATA: gs_layout DATA: gs_alv_variant TYPE char1 VALUE 'A'. TYPE flighttab. TYPE REF TO cl_gui_alv_grid. TYPE lvc_t_fcat. TYPE REF TO gcl_event_handler. TYPE lvc_s_layo. TYPE disvariant. START-OF-SELECTION. ************* * Selektion der anzuzeigenden Daten ************* SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight. IF sy-subrc NE 0.
9 * In diesem Fall wird eine leere Tabelle angezeigt ENDIF. * ALV-Objekt instanziieren... als Container wird ein * Default-Container angegeben CREATE OBJECT gr_alv_grid EXPORTING i_parent = cl_gui_custom_container=>default_screen EXCEPTIONS error_cntl_create = 1 error_cntl_init = 2 error_cntl_link = 3 error_dp_create = 4 OTHERS = 5. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. * Feldkatalog ermitteln CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING i_structure_name = 'SFLIGHT' CHANGING ct_fieldcat = gt_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. * Ereignisbehandler setzen
10 * Behandler-Objekt instanziieren CREATE OBJECT gr_event_handler EXPORTING ir_alv_grid = gr_alv_grid it_sflight = gt_sflight. * Ereignisbehandler zum verändern der Toolbar setzen SET HANDLER gr_event_handler->add_toolbar_function FOR gr_alv_grid. * Ereignisbehandler zum behandeln der eigenen Funktion setzen SET HANDLER gr_event_handler->handle_user_command FOR gr_alv_grid. * ALV-Anzeige anstoßen * Anzeigeeigenschaften setzen MOVE gc_sel_mode TO gs_layout-sel_mode. MOVE abap_true TO gs_layout-cwidth_opt. MOVE abap_true TO gs_layout-zebra. * Speichern von Varianten ermöglichen MOVE sy-repid TO gs_alv_variant-report. * anzeigen gr_alv_grid->set_table_for_first_display( EXPORTING is_variant = gs_alv_variant is_layout = gs_layout CHANGING it_outtab = gt_sflight it_fieldcatalog = gt_fieldcat EXCEPTIONS invalid_parameter_combination = 1 program_error = 2 too_many_lines = 3 OTHERS = 4 ). IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
11 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. * Träger-Dynpro per WRITE zur Anzeige bringen WRITE space. 3.2 INCLUDE zur Ereignisbehandlung *& * *& Include ZAJ_ALV_GRID_TOOLBAR_FUNCT_CL *& * CLASS gcl_event_handler DEFINITION. * Methoden und Attribute der Sichtbarkeit PUBIC PUBLIC SECTION. METHODS: constructor IMPORTING ir_alv_grid TYPE REF TO cl_gui_alv_grid it_sflight TYPE flighttab, add_toolbar_function FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING e_object e_interactive, handle_user_command FOR EVENT user_command OF cl_gui_alv_grid IMPORTING e_ucomm. * Methoden und Attribute der Sichtbarkeit PROTECTED PROTECTED SECTION. CONSTANTS: gc_new_function TYPE ui_func VALUE 'NEW'. DATA: gr_cl_alv_grid TYPE REF TO cl_gui_alv_grid. DATA: gr_cl_sflight TYPE REF TO flighttab. METHODS: get_sel_rows RETURNING value(rt_sflight_lines) TYPE flighttab, display_popup CHANGING ct_sflight_display TYPE flighttab. ENDCLASS. "gcl_event_handler DEFINITION * * * CLASS gcl_event_handler IMPLEMENTATION * *
12 * * * CLASS gcl_event_handler IMPLEMENTATION. METHOD constructor. * Importingparameter klassenglobal ablegen gr_cl_alv_grid = ir_alv_grid. GET REFERENCE OF it_sflight INTO gr_cl_sflight. ENDMETHOD. "gcl_event_handler METHOD add_toolbar_function. DATA: ls_toolbar_button TYPE stb_button. * separator einfügen MOVE 3 TO ls_toolbar_button-butn_type. APPEND ls_toolbar_button TO e_object->mt_toolbar. CLEAR: ls_toolbar_button. * Toolbar um eigene Funktion erweitern MOVE gc_new_function TO ls_toolbar_button-function. MOVE '@9P@' TO ls_toolbar_button-icon. "Siehe Tabelle ICON MOVE 'Neue Funktion' TO ls_toolbar_button-quickinfo. MOVE 'Neue Funktion' TO ls_toolbar_button-text. * Funktion übernehmen APPEND ls_toolbar_button TO e_object->mt_toolbar. ENDMETHOD. "add_toolbar_function METHOD handle_user_command. DATA: lt_sflight_lilnes TYPE flighttab. CASE e_ucomm. WHEN gc_new_function. ********************************************************* * Behandeln der neu hinzugefügten Funktion ********************************************************* * Zu Beginn die selektierten Zeilen bestimmen
13 lt_sflight_lilnes = get_sel_rows( ). * Und hier ist die eigentliche Anzeige display_popup( CHANGING ct_sflight_display = lt_sflight_lilnes ). WHEN OTHERS. * Nichts tun ENDCASE. ENDMETHOD. "handle_user_command METHOD get_sel_rows. DATA: lt_cells TYPE lvc_t_cell. DATA: ls_rows TYPE lvc_s_row. DATA: ls_cell TYPE lvc_s_cell. DATA: lt_rows TYPE lvc_t_row. DATA: ls_sflight TYPE sflight. * Zeilen wurden markiert gr_cl_alv_grid->get_selected_rows( IMPORTING et_index_rows = lt_rows ). * in eine Zeile wurde geklickt IF lt_rows[] IS INITIAL. gr_cl_alv_grid->get_selected_cells( IMPORTING et_cell = lt_cells ). LOOP AT lt_cells INTO ls_cell. MOVE ls_cell-row_id TO ls_rows-index. APPEND ls_rows TO lt_rows. ENDLOOP. CLEAR ls_rows. ENDIF. * Und jetzt die eigentlichen Zeilen ermitteln LOOP AT lt_rows INTO ls_rows.
14 READ TABLE gr_cl_sflight->* INTO ls_sflight INDEX ls_rows-index. APPEND ls_sflight TO rt_sflight_lines. ENDLOOP. ENDMETHOD. "get_sel_rows METHOD display_popup. DATA: lr_salv_popup DATA: lr_err_salv DATA: lv_string TYPE REF TO cl_salv_table. TYPE REF TO cx_salv_msg. TYPE string. TRY. * ALV-instanz erzeugen CALL METHOD cl_salv_table=>factory EXPORTING list_display = if_salv_c_bool_sap=>false IMPORTING r_salv_table = lr_salv_popup CHANGING t_table = ct_sflight_display. CATCH cx_salv_msg INTO lr_err_salv. * Fehler anzeigen lv_string = lr_err_salv->get_text( ). MESSAGE lv_string TYPE 'E'. ENDTRY. * Größe des Fensters setzen lr_salv_popup->set_screen_popup( start_column = 5 end_column = 160 start_line = 5 end_line = 15 ). * Anzeige anstoßen lr_salv_popup->display( ). ENDMETHOD. "display_popup
15 ENDCLASS. "gcl_event_handler IMPLEMENTATION
ajanzen.com ALV-Grid-Anzeige mit eingabebereiten Spalten
ajanzen.com ALV-Grid-Anzeige mit eingabebereiten Spalten ajanzen.com 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf dem Erstellen eines ALV mit eingabebereiten Spalten unter Verwendung von
Mehrajanzen.com ALV-Grid-Anzeige mit eingabebereiten Zellen
ajanzen.com ALV-Grid-Anzeige mit eingabebereiten Zellen ajanzen.com 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf der Demonstration des Vorgehens zum Erstellen eines zellenweise eingabebereiten
Mehrajanzen.com Schnell programmierte ALV-GRID-Anzeige mit geänderten Spaltenüberschriften
ajanzen.com Schnell programmierte ALV-GRID-Anzeige mit geänderten Spaltenüberschriften ajanzen.com 1 Einleitung In dem vorliegenden Dokument wird anhand eines Beispiels auf die Möglichkeit einer schnell
Mehrajanzen.com Aufruf eines Pop-Up-Containers
ajanzen.com Aufruf eines Pop-Up-Containers ajanzen.com 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf dem Aufruf eines Pop-Up- Containers. Die Funktion ist klassenbasiert und erfordert keine
Mehrajanzen.com ALV-Anzeige mit einem Inline-Button
ajanzen.com ALV-Anzeige mit einem Inline-Button ajanzen.com 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf dem Aktivieren eines Inline- Buttons bei Verwendung von Klasse CL_SALV_TABLE. Im
Mehrajanzen.com Um eigene Toolbar-Funktionen erweiterte ALV-Anzeige
Um eigene Toolbar-Funktionen erweiterte ALV-Anzeige 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf dem Vorgehen zum Einbinden einer eigenen Toolbarfunktion bei ALV-Erzeugung unter Verwendung
Mehrajanzen.com Vorgehen zur Verwendung des GUI Docking-Containers
Vorgehen zur Verwendung des GUI Docking-Containers 1 Einleitung In dem vorliegenden Dokument wird anhand eines Beispiels auf den Einsatz des GUI Docking-Containers eingegangen. Das komplette Beispielcoding
Mehrajanzen.com Verwendung des Custom Controls
Verwendung des Custom Controls 1 Einleitung In dem vorliegenden Dokument wird näher auf den Einsatz des Custom-Controls eingegangen. Dieses hat den großen Vorteil, dass es auf dem Dynpro nach Belieben
Mehrajanzen.com Beispiel zur Verwendung des GUI Splitters
ajanzen.com Beispiel zur Verwendung des GUI Splitters ajanzen.com 1 Einleitung In dem vorliegenden Dokument wird näher auf den Einsatz des Splitter-Containers (Klasse CL_GUI_SPLITTER_CONTAINER) eingegangen.
Mehrajanzen.com Beispiel zur Verwendung des EASY SPLITTERS
ajanzen.com Beispiel zur Verwendung des EASY SPLITTERS ajanzen.com 1 Einleitung In dem vorliegenden Dokument wird näher auf den Einsatz des Easy Splitter- Containers (Klasse CL_GUI_EASY_SPLITTER_CONTAINER)
MehrALV-Grid und Excel. * * * * * Erweiterung der Toolbar um einen Button Export -> Excel * * * *
ALV-Grid und Excel Dieses Coding demonstriert, wie man in die ALV-Funktionalität eingreifen kann. In diesem Fall wird der Konstruktor überschrieben, um beim Export der Tabelle den Inhalt der ALV-Tabelle
Mehrajanzen.com ALV-Anzeige mit eigenen Spaltenüberschriften und aktiven Standardfunktionen
ALV-Anzeige mit eigenen Spaltenüberschriften und aktiven Standardfunktionen 1 Einleitung In dem vorliegenden Dokument wird anhand eines Beispiels auf die Möglichkeit einer schnell programmierten Visualisierung
Mehrajanzen.com Aktualisieren der ALV-Anzeige nach Daten- bzw. Eigenschaftsänderung
Aktualisieren der ALV-Anzeige nach Daten- bzw. Eigenschaftsänderung 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf dem Vorgehen zum Einbinden einer eigenen Toolbarfunktion bei ALV-Erzeugung
Mehrajanzen.com ALV-Anzeige im Selection-Mode mit angepassten Zellenfarben
ALV-Anzeige im Selection-Mode mit angepassten Zellenfarben 1 Einleitung In dem vorliegenden Dokument wird anhand eines Beispiels auf die Möglichkeit einer schnell programmierten Visualisierung von Informationen
Mehrajanzen.com Einfache ALV-Anzeige mit Doppelklick- Funktion
ajanzen.com Einfache ALV-Anzeige mit Doppelklick- Funktion ajanzen.com 1 Einleitung Der Fokus des vorliegenden Dokumentes liegt auf dem Aktivieren der Doppelklick- Funktion bei Verwendung von Klasse CL_SALV_TABLE.
Mehrajanzen.com Umgang mit zur Laufzeit erstellen Selektions-, Sortier- und IF-Bedingungen
ajanzen.com Umgang mit zur Laufzeit erstellen Selektions-, Sortier- und IF-Bedingungen ajanzen.com 1 Einleitung In dem vorliegenden Dokument möchte ich auf die Möglichkeiten des Erstellens dynamischer
Mehrajanzen.com CSV-Upload
ajanzen.com CSV-Upload ajanzen.com 1 Einleitung Wie bereits dem Titel zu entnehmen ist, wird in dem vorliegenden Dokument auf den Upload einer CSV-Datei eingegangen. Dabei liegt der Fokus nicht auf dem
MehrIn diesem Beispiel wird ein ALV-Grid aufgerufen, das jede Sekunde einen anderen Eintrag aus einer Tabelle anzeigt.
ALV-Grid mit Timer In diesem Beispiel wird ein ALV-Grid aufgerufen, das jede Sekunde einen anderen Eintrag aus einer Tabelle anzeigt. Gelesen wird die komplette Ländertabelle. Im ALV-Grid werden dann nacheinander
Mehrajanzen.com Excel-Upload
ajanzen.com Excel-Upload ajanzen.com 1 Einleitung Wie bereits dem Titel zu entnehmen ist, wird in dem vorliegenden Dokument auf den Upload einer Excel-Datei eingegangen. Dabei liegt der Fokus neben dem
MehrAutosumme in ALV-Grid Version 1
Autosumme in ALV-Grid Version 1 In einem Projekt wurde eine Anwendung programmiert, in der viele numerische Daten berechnet und ausgegeben wurden. Die Berechnungsergebnisse wurden auf mehrere Zellen verteilt.
Mehrajanzen.com Vorgehen zum Erstellen eines Dynpro- Splitters
Vorgehen zum Erstellen eines Dynpro- Splitters 1 Einleitung Dem vorliegenden Beispiel kann das Vorgehen zum Erstellen eines Dynpro-Splitters entnommen werden. Im Gegensatz zur Verwendung von Splitter-Containern,
MehrDer ausgewählte Text wird markiert und ausgegraut, so dass er nicht erneut ausgewählt werden kann.
Statisches Menu Aufbau eines Statischen Menüs mithilfe des Toolbar-Controls. Das Beispielprogramm ist weitestgehend objektorientiert programmiert. Der Aufbau des Menüs und die Reaktion auf die Funktionen
MehrMagic Filter. Magic Filter. Code
Magic Filter Vor kurzem war ich genervt von einer Anwendung, in der Daten in mehreren ALV-Grids angezeigt wurden. Die unterschiedlichen Grids haben teilweise gleiche Felder. Vielleicht ähnlich eines Cockpits
MehrGeneric Object Services
Generic Object Services Hier demonstrieren wir Ihnen, wie Sie den Knopf Generische Objektdienste, der in einigen Standardtransaktionen verwendet wird, um Notizen oder den Workflow zu bearbeiten, in Ihre
MehrWelche Redefinitionen gibt es?
Welche Redefinitionen gibt es? In einem Projekt habe ich viel mit einer Superklasse und vielen Vererbungen gearbeitet. Die Superklasse besitzt sozusagen die Standardimplementierung für die einzelnen Funktionen
MehrExporting ALV to Memory2
Exporting ALV to Memory2 Wir greifen den Trick nach SUBMIT an die ALV-Daten im Office-Format zu gelangen noch einmal auf und zeigen, wie man aus dem XML-String eine Tabelle erhält. In diesem Beispiel rufen
MehrBankleitzahlen einlesen
Bankleitzahlen einlesen Mal wieder ein Thema aus dem FI-Bereich. Diesmal geht es um die Aktualisierung der Bankleitzahlen. Die Bundesbank bietet die aktuellen Bankleitzahlen zum Download an. Weitere Infos
MehrDoppelklick auf eine Klasse verzweigt in den Class Builder (Transaktion SE24).
Vererbungsübersicht Folgendes kleine Programm zeigt die Vererbungshierarchien von Klassen auf. Die Root- oder Super- Klasse wird auf der obersten Ebene angezeigt. Darunter werden die von ihr erbenden Klassen
MehrWählt man einen Wert aus, so wird dieser in das Selektionsbild übernommen und der Docking- Container wird wieder verkleinert.
Fly-Out-Menu Ein Fly-Out-Mechanismus auf dem Selektionsbild mithilfe von HTML und entsprechenden Events. Fährt man mit der Maus über einen der drei angebotenen Kästen, so fährt der Docker-Control aus und
MehrIncludes/ Programme generieren
Includes/ Programme generieren Es kommt nicht oft vor, aber wenn, ist es eine nervige Arbeit: Das Anlegen von mehreren Includes. Das Anlegen ist einfach: Per INSERT REPORT kann einfach ein Programm angelegt
MehrSAP und bunte Bilder geht das?
SAP und bunte Bilder geht das? SAP ERP kann viel. Kleine Tabellen, große Tabellen ALV Tabellen und im NWBC auch neue PowerListen. Sobald man Daten jedoch grafisch anzeigen möchte kommt recht schnell Ernüchterung
MehrDownload von Programmen
Download von Programmen Mit diesem Programm kannst du ABAP-Programme auf deinen PC speichern. Es werden dabei die Texte als auch die Dokumentation berücksichtigt. Jeder Report wird in einer Datei mit der
Mehr11 Klassenbasierte Eigenentwicklungen im Workflow
D3kjd3Di38lk323nnm 313 11 Klassenbasierte Eigenentwicklungen im Workflow 11.1 Utility-Klasse ZCL_DATE: Datumsberechnung auf Kalendern 11.1.1 Verwendung von Datumsberechnungen Datums- und Zeitberechnung
MehrStandardtext ins PDF-Format konvertieren
Standardtext ins PDF-Format konvertieren Mithilfe eines Standardreports ist es möglich, einen SAP-Standardtext ins PDF-Format zu konvertieren und abzuspeichern. Der Report RSTXPDFT konvertiert einen Standardtext
MehrDokumentation anzeigen (2)
Dokumentation anzeigen (2) Update für die Anzeige der Dokumentation im Docking Container. Die Routine wurde erweitert und HTML so aufbereitet, dass die Doku wie die SAP-Dokumentation aussieht. In dieser
MehrErzeugung eines Dokuments
Erzeugung eines Dokuments Hier stellen wir Ihnen ein ABAP-Programm vor, mit dem ein Word-Dokument erzeugt und mit Daten gefüttert wird. Mit diesem Programm stellen wir Ihnen eine Möglichkeit vor, wie Sie
MehrDatenbankablage für ArchiveLink einrichten
Datenbankablage für ArchiveLink einrichten Mit dem minisap wird eine komplette Basiskomponente, BC resp. SAP_BASIS, bereitgestellt. Wer im Umfeld dieser Komponente tätig ist, z.b. im Bereich des Records
MehrGenerischer Excel-Upload
Generischer Excel-Upload Mit diesem Programm können Sie relativ einfach Daten, die in Excel-Tabellen gespeichert sind, in eine Tabelle geladen werden. Es wird dafür ein Excel-Objekt erzeugt und die Exceltabelle
Mehrajanzen.com Beispiele für den Umgang mit Feldsymbolen
ajanzen.com Beispiele für den Umgang mit Feldsymbolen ajanzen.com 1 Einleitung In dem vorliegenden Dokument möchte ich auf den Umgang mit Feldsymbolen näher eingehen. Dabei geht es nicht um komplexe Erklärungen,
MehrA.4 Beispiel zum E-Mail-Versand über Smart Forms
A.4 Beispiel zum E-Mail-Versand über Smart Forms A.4.1 Quelltext In Abschnitt 10.1 haben wir zur Erläuterung des E-Mail-Versands über Smart Forms ein Übungsbeispiel genannt. Hier finden Sie den Quelltext
MehrUnterprogramme auslagern
Unterprogramme auslagern Mit diesem Report können Sie Unterprogramme in eigene Includes auslagern. Die Unterprogramme werden gesucht und in jeweils ein Include ausgelagert. Das Programm dient in erster
MehrDemo zu Desktop Office Integration
Demo zu Desktop Office Integration Demoprogramme zur Desktop Office Integration. Entwicklungsklasse: SOFFICEINTEGRATION SAPRDEMO_PIVOTINTERFACE SAPRDEMO_SPREADSHEET_INTERFACE SAPRDEMO_TABLES_IN_EXCEL SAPRDEMOEXCELINTEGRATION2
MehrB Synopsis der Programmiersprachen ABAP, VB und Java
AnhangB.fm Seite 299 Dienstag, 22. April 2003 2:33 14 B Synopsis der Programmiersprachen ABAP, VB und Java Die folgenden Tabellen sind eine vergleichende Übersicht ausgewählter Sprachelemente der drei
MehrProgrammieren für Fortgeschrittene Einführung in die Programmiersprache ABAP
Funktionsanalyse für einen programmgesteuerten Zugriff auf 3D-Modelle Robin Raetze Waldemar Gorbunov Braunschweig, 26.01.2017 GESIS, MV, Folie 1, Braunschweig, 23. Juni 2016 Programmieren für Fortgeschrittene
Mehr10.6 Programmier-Exits für Workitems
10.6 Programmier-Exits für Workitems 279 10.6 Programmier-Exits für Workitems 10.6.1 Das Interface IF_SWF_IFS_WORKITEM_EXIT Am Schritt einer Workflow-Definition im Reiter»Programmier-Exits«können verschiedene
MehrDer Beginn einer wunderbaren Freundschaft von Stefan Schnell
Der Beginn einer wunderbaren Freundschaft von Stefan Schnell Polyglottes programmieren, also programmieren in mehreren Sprachen, ist ein eher ungewöhnliches Szenario. Programmiersprachen bieten im Regelfall
MehrDie in diesem Fall als Template verwendete Excel-Datei muss mithilfe der Transaktion OAER in das Business Objects Repository geladen werden!
BOR-Integration In diesem Beispiel laden wir eine im BOR (Business Object Repository) gespeicherte Excel-Datei, verändern diese und Speichern sie als neues Dokument wieder im BOR ab. Dabei wird die Excel-
MehrSchnelleinstieg in SAP ABAP Objects
Schnelleinstieg in SAP ABAP Objects 2., erweiterte Auflage Rüdiger Deppe INHALTSVERZEICHNIS Inhaltsverzeichnis Vorwort 7 1 ABAP Objects versus prozedurales ABAP 11 1.1 Begriffsbestimmung 11 1.2 Warum ABAP
Mehr1. Schritt: Anlegen des Musters
Eigener Muster-Dialog Im folgenden erklären wir Ihnen, wie Sie Ihren eigenen Muster-Dialog erstellen können. Sie müssen hierfür zwei Namenskonventionen beachten und dann können Sie loslegen. Im folgenden
MehrKurzbeschreibung. Quelltext
Transaktionshistorie manipulieren Das folgende Programm demonstriert die Manipulation der OK-Code-Historie mittels ABAP. Hierfür werden Registry-Einträge auf dem Frontend manipuliert. Kurzbeschreibung
MehrKorrekturen und Ergänzungen zur ABAP-Referenz
Korrekturen und Ergänzungen zur ABAP-Referenz S. 41, zweiter Absatz In den Kapiteln 9 bis 41 beschreiben wir die... S. 147, 6.3.3.1 Neue Überschrift: Typen für Datenreferenzvariablen S. 148, 6.3.3.2 Neue
MehrSkriptum Bauinformatik SS 2013 (Vorlesung IV)
Skriptum Bauinformatik SS 2013 (Vorlesung IV) Stand: 23.04.2013 Dr. Johannes Lange 2 Inhalt Objektorientierte Programmierung Großes Beispiel... 2 Klasse erstellen... 2 Erzeugen eines Objekts der Klasse...
Mehr9. Programmieren Sie das PAI-Modul AT_USER_COMMAND_130 wie folgt:
9. Programmieren Sie das PAI-Modul AT_USER_COMMAND_130 wie folgt: MODULE user_command_0130 INPUT. LEAVE TO SCREEN 0100. ENDMODULE. Bemerkung: Das Modul muss ohne die Auswertung des OK_CODE-Feldes auskommen.
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
MehrPowerShell mit ABAP nutzen
PowerShell mit ABAP nutzen PowerShell ist eine sehr leistungsfähige Skriptsprache. Sie wird im Standard seit Windows 7 ausgeliefert. Aktuell ist Windows 10 mit PowerShell 5 ausgestattet. Der SAP GUI für
MehrTeil I Das R/3-System - Struktur, Komponenten und Bedienung 1
ix Teil I Das R/3-System - Struktur, Komponenten und Bedienung 1 1 Betriebswirtschaftliche Anforderungen 3 1.1 Anforderungen an Anwendungsprogramme............ 5 1.2 Anforderungen an Anwendungssysteme...............
MehrEreignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein
Ereignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein Überblick Definition eines Ereignisses Sender und Empfänger Einfache Ereignisse
MehrSAP REPORTING MIT INFOZOOM DAS STANDARDINTERFACE DER SAP AG FÜR INFOZOOM
SAP REPORTING MIT INFOZOOM DAS STANDARDINTERFACE DER SAP AG FÜR INFOZOOM INHALT Abbildungsverzeichnis... 3 1 Management Summary... 4 2 Einrichten der InfoZoom Schnittstelle in SAP ERP... 5 3 Einfach Zoomen
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrREPORT Z_NEBP_RAHMEN.
*&---------------------------------------------------------------------* *& Report Z_NEBP_RAHMEN *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------*
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrEreignisse Auf Benutzereingaben reagieren
Ereignisse Auf Benutzereingaben reagieren JavaScript ermöglicht es dem Entwickler auf Ereignisse (engl.: events) im Browser zu reagieren. Auf diese Weise kann der Benutzer mit den Anwendungen interagieren,
MehrFIVE1 GmbH & Co. KG SAP Partner Port Altrottstraße 31 69190 Walldorf T: +49 6227 73 2840 www.five1.de 1 FIVE1 GmbH & Co. KG Essence of quality
28. August 2010 FIVE1 GmbH & Co. KG SAP Partner Port Altrottstraße 31 69190 Walldorf T: +49 6227 73 2840 www.five1.de 1 FIVE1 GmbH & Co. KG Essence of quality Dieses Dokument Stammdatenplanung mit SAP
MehrProgrammier-Befehle - Woche 09
Zeiger und Iteratoren Zeiger (generell) Adresse eines Objekts im Speicher Wichtige Befehle: Definition: int* ptr = address of type int; (ohne Startwert: int* ptr = 0;) Zugriff auf Zeiger: ptr = otr ptr
MehrWPF Steuerelemente. Dr. Beatrice Amrhein
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einf führung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrPraxis der Programmierung
Liste, Ausnahmefehler, Template-Funktionen und -Klassen Institut für Informatik und Computational Science Henning Bordihn 1 Stack als einfach verkettete Liste 2 Aufgabe 1 1. Kopieren Sie aus /home/rlehre/w13
MehrSicherheits- und Gesundheitsschutzplan für Baustellen (SiGe-Bau)
suva Sicherheits- und Gesundheitsschutzplan für Baustellen (SiGe-Bau) Anleitung Wichtiger Hinweis: Beim Öffnen des Formulars wird als erstes die Speichermaske angezeigt. Es wird empfohlen, das Formular
Mehr1. Kapitel Konfiguration der Felder der Kursbeschreibung
Handbuch 1. Kapitel Konfiguration der Felder der Kursbeschreibung Mit der Datei config.xml im Verzeichnis swp/xml/_i18n/ kann die Struktur der Kursbeschreibung einfach an eigene Wünsche angepasst werden.
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
Mehr2
1 2 3 4 5 6 Die Themes wurden auf 20 Vorlagen erweitert. Das Look & Feel wurde modernisiert. Die neuen Themes halten sich an XHTML und CSS Standards. Zudem werden mehr Div-Tags anstelle der früheren Tabellen
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
Mehr7.0 Arbeiten mit Objekten und Klassen
252-0027 Einführung in die Programmierung I 7.0 Arbeiten mit Objekten und Klassen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved.
MehrObjektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
MehrSelbststudium Programmieren & Algorithmen OOP1 FS13 Hochschule Luzern Technik & Architektur
Selbststudium OOP1 Kapitel 1.2 Creating Objects 1. zu bearbeitende Aufgabe: 1.1 2. Wie kann dem Objekt ein eigener Name gegeben werden? Beim Erstellen (Instanz) von einem Objekt kann resp. muss der Name
MehrCrashkurs C++ Wiederholung
Crashkurs C++ Wiederholung #include int main(void) { int i, j; bool is_prime; for (j = 1; j < 1000; j += 2) { is_prime = true; for (i = 3; i
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
Mehr2 Wegweiser Projektbeschreibung...69
1 Projektmanagement...1 1.1 Komponenten eines SAP-R/3-Systems...1 1.2 Datenstruktur eines R/3-Systems...3 1.3 Änderungen an R/3-Datenobjekten...6 1.3.1 Änderungsebenen...6 1.3.2 Änderungsstrategien...8
MehrTipps & Tricks. Eine Standardfunktionalität ist das Erstellen von Grafischen Basisobjekten auf dem Patran Viewport.
Eine Standardfunktionalität ist das Erstellen von Grafischen Basisobjekten auf dem Viewport. Anders als bei Titeln bewegen sich die Grafikobjekte mit dem Modell mit. Ein im Elementschwerpunkt platzierter
MehrInformatik II Übung 05. Benjamin Hepp 3 April 2017
Informatik II Übung 05 Benjamin Hepp benjamin.hepp@inf.ethz.ch 3 April 2017 Java package Hierarchie import.. nur noetig um Klassen aus anderen Packeten zu importieren Es kann auch immer der vollstaendige
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
MehrDatenbank und Tabelle mit SQL erstellen
Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`
MehrAbbildung : Aufruf des Wikis (Server: Interner Web-Server HTTPD auf Port 8080)
24.7.1 Projekte Texte in MarkDown-Syntax lassen sich schnell schreiben und gut lesen, denn Gambas-MarkDown bringt alles mit, was Sie u.a. für das Generieren von (einfachen) Webseiten benötigen. 24.7.1.1
MehrAPEX Datenverwaltung Wo sind die Daten gerade?
APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst Trivadis GmbH München Schlüsselworte: APEX, Sessionverwaltung, Dynamic Actions Einleitung Eine APEX-Anwendung wird erst durch zusätzliche
MehrQuellcode zum Programm ZJN_TCURC
Quellcode zum Programm ZJN_TCURC Startpunkt Der folgende Quellcode zeigt Ihnen den Startpunkt für das Programm ZJN_TCURC. *& Program: ZJN_TCURC *& Autor: Jacqueline Naumann *& Datum: 15.11.2008 program
Mehr6 OLE2 und MS Office Integration
Alle Microsoft-Office-Programme wie Word, Excel usw. bauen intern auf der COM-Architektur von Windows auf. Sie bilden ein komplettes Framework, das sich durch eben diese standardisierte Schnittstelle von
MehrKapitel zu bearbeitende Aufgaben: 6.1 bis :
Kapitel 6.3.1 1. zu bearbeitende Aufgaben: 6.1 bis 6.5 6.1: 6.2: === Day 23 === 9: pause 10: 11: 12: 13: lunch 14: 15: 16: 17: meeting 6.3: 6.4: PRG1_OOP8_ALG3_SS.docx Seite 1 von 10 http://hslu.ximit.ch
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrProgrammiertechnik Klassenvariablen & Instantiierung
Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
Mehr2 Zum Beginn der Diagrammerstellung müssen Sie den Datenbereich mit den Spalten- und Zeilenüberschriften markiert haben.
Diagramme Excel 2007 effektiv 6 DIAGRAMME Diagramme dienen dazu, Zahlenwerte grafisch darzustellen. Dazu stehen viele verschiedene Diagrammformen zur Verfügung, jeweils mit mehreren Varianten. Die automatisch
Mehr10.11 Klassenverwendung im Workflow ohne Standardaufgaben
D3kjd3Di38lk323nnm 304 10 Klassenbasierte Techniken im Workflow Abb. 10 48 Ereignisempfänger mit Fristüberwachung Warte auf Aktivierung Verarbeitung obsolet Frist für Aktivierung überschritten Vertrag
MehrFunktionen in Python
Funktionen in Python Prof. Dr. Rüdiger Weis Beuth Hochschule für Technik Berlin 1 / 31 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente
MehrADF steht für Application Developer Framework, BC für Business Components.
ADF BC ADF steht für Application Developer Framework, BC für Business Components. Um die ADF BC zu nutzen soll ein ADF Schema angelegt werden. Business Components können über die New Galary generiert werden.
Mehr/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();
Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,
Mehr