ajanzen.com Aufruf eines Pop-Up-Containers

Ähnliche Dokumente
ajanzen.com Schnell programmierte ALV-GRID-Anzeige mit geänderten Spaltenüberschriften

ajanzen.com ALV-Grid-Anzeige mit eingabebereiten Zellen

ajanzen.com ALV-Grid-Anzeige mit eingabebereiten Spalten

ajanzen.com ALV-Anzeige mit einem Inline-Button

ajanzen.com ALV-Anzeige mit eigenen Spaltenüberschriften und aktiven Standardfunktionen

ajanzen.com Vorgehen zum Erstellen eines Dynpro- Splitters

ajanzen.com Um eigene Toolbar-Funktionen erweiterte ALV-Anzeige

ajanzen.com ALV-Anzeige im Selection-Mode mit angepassten Zellenfarben

ajanzen.com Aktualisieren der ALV-Anzeige nach Daten- bzw. Eigenschaftsänderung

ajanzen.com CSV-Upload

ajanzen.com Einfache ALV-Anzeige mit Doppelklick- Funktion

11 Klassenbasierte Eigenentwicklungen im Workflow

ajanzen.com Excel-Upload

Includes/ Programme generieren

SAP Container HELP.BCCIDOCK. Release 4.6C

Demo zu Desktop Office Integration

9. Programmieren Sie das PAI-Modul AT_USER_COMMAND_130 wie folgt:

10.6 Programmier-Exits für Workitems

A.4 Beispiel zum -Versand über Smart Forms

Datenbankablage für ArchiveLink einrichten

Erzeugung eines Dokuments

Generischer Excel-Upload

Standardtext ins PDF-Format konvertieren

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell

2 Wegweiser Projektbeschreibung...69

Schnelleinstieg in SAP ABAP Objects

1. Schritt: Anlegen des Musters

Kurzbeschreibung. Quelltext

Die in diesem Fall als Template verwendete Excel-Datei muss mithilfe der Transaktion OAER in das Business Objects Repository geladen werden!

Praxisworkshop SAP-Controls und SAP List Viewer

ajanzen.com Beispiele für den Umgang mit Feldsymbolen

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL

SAP Toolbar Control (BC-CI)

SAP Control Framework

Skriptum Bauinformatik SS 2013 (Vorlesung IV)

TIPPS & TRICKS SAP CM Teil 3

SAP Picture (BC-CI) HELP.BCCIIMAGE. Release 4.6C

6. Zeiger Allgemeines Definition eines Zeigers

Datenbankadministration

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example

Algorithmen und Datenstrukturen

Ereignisse Auf Benutzereingaben reagieren

Crashkurs C++ Wiederholung

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Trigger Based Mass Reversal

Entwicklung eines flexiblen IDoc-Monitors

Datenmigration. Tipps und Tricks

Übersicht der wichtigsten MySQL-Befehle

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

FIVE1 GmbH & Co. KG SAP Partner Port Altrottstraße Walldorf T: FIVE1 GmbH & Co. KG Essence of quality

SAP HTML Viewer (BC-CI)

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Massengenehmigung mit der UWL(Universal- Worklist) 18 December B. Sc. Alexander Graf

Datenmanagement I SoSe 2006 Aufgabenblatt 4

7. Übung Informatik II - Objektorientierte Programmierung

5 Die neue Welt: ABAP Objects im Workflow

CATIA V5 R16 Konstruktionstabelle Catrin Eger CATIS GmbH 1

Aufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms

Abbildung : Aufruf des Wikis (Server: Interner Web-Server HTTPD auf Port 8080)

Handbuch organice SQL-Reportgenerator

Checkliste: Konfiguration eines Datenraums nach einem Upgrade von Brainloop Secure Dataroom von Version 8.10 auf 8.20

Objektorientierung (OO)

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

GUI Programmierung mit GTK

KURZANLEITUNG CLOUD OBJECT STORAGE

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

BC400. ABAP Workbench Grundlagen GLIEDERUNG DES KURSES. Version der Schulung: 16 Dauer der Schulung: 5 Tage

... Fenster und Content Canvases erstellen

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

WPF Steuerelemente. Dr. Beatrice Amrhein

19. STL Container Programmieren / Algorithmen und Datenstrukturen 2

Kapitel Was ist ein Header? Was ist ein Body? Header: public Account(String newowner, int newpin)

Anleitung zur grafischen Darstellung von Beurteilungsergebnissen in Excel-Dokumenten

Installation MySQL Replikationsserver

Erstellung von abhängigen Kombinationsfeldern mit dazugehörigen Unterformular...1

Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0

Kennen, können, beherrschen lernen was gebraucht wird

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

REPORT Z_NEBP_RAHMEN.

Funktionale und Objekt-Orientierte Programmierkonzepte

Lokalisierungsformate. Florian Sachse Pass Engineering GmbH

Datenbank und Tabelle mit SQL erstellen

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Balloons in VBA nutzen HARALD NAHRSTEDT. Erstellt am

Leseprobe. Kapitel 3:»Erzeugungsmuster« Inhaltsverzeichnis. Index. Die Autoren. Leseprobe weiterempfehlen.

desk.modul : WaWi- Export

Prozedurale Datenbank- Anwendungsprogrammierung

Kapitel 9 Schnittstellen

Probeklausur: Programmierung WS04/05

Installation und Benutzung AD.NAV.ZipTools

Informationsverarbeitung im Bauwesen


Transkript:

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 Neuanlage eines Dynpros vom Typ Modales Dialogfenster für den Container. Allerdings ist ein Trägerdynpro notwendig, sodass sich das Vorgehen nicht zur Pop-Up-Anzeige mitten während der Verarbeitung eignet! Allerdings lässt sich damit eine Datenanzeige in einem bereits aufgerufenen Dynpro (z.b. aus einem ALV, oder Tree) problemfrei realisieren. Das komplette Beispielcoding ist in Kapitel 3 enthalten. Nähere Informationen zum Ablauf können Kapitel 2 entnommen werden. 1

ajanzen.com 2 Informationen zur Programmlogik Im vorliegenden Beispiel werden vorbereitend die Informationen aus Tabelle SFLIGHT in eine interne Tabelle zur Anzeige im ALV selektiert. Anschließend wird auf den Aufruf des Pop-Ups eingegangen. Das Ergebnis ist in Abbildung 1 dargestellt. Aus Gründen der Übersichtlichkeit sind Hauptprogramm und das INCLUDE zur Ereignisbehandlung in eigenständigen Kapiteln enthalten. 2.1 Hauptprogramm Im ersten Schritt des Pop-Up-Aufrufes wird eine Instanz der Klasse CL_GUI_ DIALOGBOX_CONTAINER erstellt. Beim Instanziieren werden neben der Fenstergröße und dem Abstand von der linken oberen Ecke, ein Titel und der Parameter NO_AUTODEF_PROGID_DYNNR mitgegeben. Das Setzen von Parameter NO_AUTODEF_PROGID_DYNNR auf X bewirkt, dass das Pop-Up bei jedem Dynpro angezeigt wird. Abbildung 1: Aufruf des Pop-Up-Containers mit ALV-Anzeige Da es sich um ein klassenbasiertes Vorgehen handelt, wird beim Schließen des Pop- Ups (Klick auf das X in der rechten oberen Ecke) das Ereignis aus Abbildung 2 2

ajanzen.com ausgelöst. Die Ereignisbehandlung findet in einer lokalen Klasse statt und wird in Kapitel 2.2 behandelt. In dem Rahmenprogramm wird die Behandlerklasse instanziiert und mit der Dialogbox-Instanz verbunden. Abbildung 2: Ereignis CLOSE der Klasse CL_GUI_DIALOGBOX_CONTAINER Das Coding zum Aufruf des ALV-Grid dient nur der Visualisierung der Daten und wird in diesem Dokument nicht näher behandelt. Als Trägerdynpro für den Docking-Container kommt in diesem Beispiel das SAP Standard-Ausgabedypnro zum Einsatz. Der Aufruf erfolgt über die Anweisung WRITE. Stattdessen kann auch jedes beliebige Dynpro über die Anweisung CALL SCREEN verwendet werden. Der Aufruf des Pop-Ups kann natürlich auch aus einem bereits angezeigten Dynpro erfolgen. 2.2 INCLUDE zur Ereignisbehandlung Die Behandlerklasse besteht lediglich aus der Constructor-Methode und der Methode zur Ereignisbehandlung für das Ereignis CLOSE der Klasse CL_GUI_DIALOGBOX_ CONTAINER. Die ereignisbehandelnde Methode ruft Ihrerseits lediglich die FREE( )- Methode der ereignisauslösenden Klasse (SENDER) auf. In diesem Fall handelt es sich um die Instanz der Dialogbox-Klasse. 3

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 demonstriert das Vorgehen zum Erzeugen * eines Container-Pop-Ups unter Verwendung von Klasse * CL_GUI_DIALOGBOX_CONTAINER * * Date: 23.05.2015 *--------------------------------------------------------------------* * Änderungen *--------------------------------------------------------------------* REPORT zaj_gui_dialogbox_container. INCLUDE zaj_gui_dialogbox_container_cl. DATA: gt_sflight DATA: gr_dialogbox DATA: gr_alv_grid DATA: gr_event_handler TYPE STANDARD TABLE OF sflight. TYPE REF TO cl_gui_dialogbox_container. TYPE REF TO cl_gui_alv_grid. TYPE REF TO gcl_event_handler. START-OF-SELECTION. * Selektion der anzuzeigenden Daten SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight. IF sy-subrc NE 0. * In diesem Fall wird eine leere Tabelle angezeigt

* Erstellen des Pop-Up Containers CREATE OBJECT gr_dialogbox EXPORTING width = 800 "Breite height = 300 "Höhe top = 50 "Abstand von oben left = 100 "Abstand von links caption = 'Datenanzeige im Pop-Up' no_autodef_progid_dynnr = abap_true EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 lifetime_dynpro_dynpro_link = 5 event_already_registered = 6 error_regist_event = 7 OTHERS = 8. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * Schließen des Pop-Up durch Ereignisregistrierung ermöglichen * Instanz der behandelnden Klasse erstellen CREATE OBJECT gr_event_handler EXPORTING ir_dialog_box = gr_dialogbox. * Ereignisbehandlung für das schließende Ereignis registrieren SET HANDLER gr_event_handler->dialogbox_close FOR gr_dialogbox. * ALV-Anzeige anstoßen CREATE OBJECT gr_alv_grid EXPORTING

i_parent = gr_dialogbox 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. gr_alv_grid->set_table_for_first_display( EXPORTING i_structure_name = 'SFLIGHT' CHANGING it_outtab = gt_sflight 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 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * Aufruf des Trägerdynpros WRITE: space. 3.2 INCLUDE zur Ereignisbehandlung *&---------------------------------------------------------------------* *& Include ZAJ_GUI_DIALOGBOX_CONTAINER_CL *&---------------------------------------------------------------------* CLASS gcl_event_handler DEFINITION.

PUBLIC SECTION. METHODS: constructor IMPORTING ir_dialog_box TYPE REF TO cl_gui_dialogbox_container, dialogbox_close FOR EVENT close OF cl_gui_dialogbox_container IMPORTING sender. PROTECTED SECTION. DATA: gr_dialogbox_cl TYPE REF TO cl_gui_dialogbox_container. ENDCLASS. "gcl_event_handler DEFINITION *----------------------------------------------------------------------* * CLASS gcl_event_handler IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS gcl_event_handler IMPLEMENTATION. METHOD constructor. * Dialogboxinstanz global in der Klasse ablegen gr_dialogbox_cl = ir_dialog_box. ENDMETHOD. "constructor METHOD dialogbox_close. * Der sender enthält in diesem Fall eine Instanz des Dalogbox-Containers sender->free( EXCEPTIONS OTHERS = 1 ). IF sy-subrc NE 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

* Speicher der Instanz freigeben FREE: gr_dialogbox_cl. ENDMETHOD. "dialogbox_close ENDCLASS. "gcl_event_handler DEFINITION