FunktionsdokumentationGenerator-Version 2

 

Im Zuge der Weiterentwicklung der PMD wurde eine neue Generator-Version geschaffen. Diese generiert nun eine objektorientierte Anwendung. Im folgenden Abschnitt nennen wir die mit dieser Generator-Version genierten Dokumente Gen-2-Dokumente.

Vorteile

Stabilität beim Transport von Dokumenttypen:

  • User-Exits bleiben gültig

  • PMD-Fremddatenbausteine bleiben nach dem Transport gültig

Die Objektorientierung ist Voraussetzung dafür, dass die PMD um neue Features erweitert werden kann wie z.B. unbegrenzte Langtexte (s. Erweiterter Text).

Die explizite PMD-PMD-Kommunikation (DDC) ersetzt die PMD-PMD-Fremddatenbausteine aus Generator-Version 1.

Später sollen auch PMDs in andere Anwendungen integriert werden können wie z. B. den Dokumentationsarbeitsplatz oder den Klinischen Auftrag.

Auswirkungen

Fremddatenversorgung

Gen-2-Dokumente können nicht als FDBS dienen. In Gen-2-Dokumenten können andere Gen-2-Dokumente explizit als Datenquelle eingebunden werden. Daraus ergeben sich folgende Möglichkeiten hinsichtlich PMDs als Fremddatenquelle:

Datenquelle / ziel

Versorgung

Gen-1 als Datenquelle in Gen-1

wie bisher (FDBS)

Gen-1 als Datenquelle in Gen-2

wie bisher (FDBS)

Gen-2 als Datenquelle in Gen-1

nicht möglich

Gen-2 als Datenquelle in Gen-2

explizite Datenversorgung aus Dokumenttyp

Zur Versorgung eines Elements aus einem Dokumenttyp gehen Sie folgendermaßen vor:

Versorgung eines atomaren Feldes

  1. Wählen Sie Anfang des Navigationspfads Datenversorgung Navigationsschritt aus Dokumenttyp (explizit) Ende des Navigationspfads.

  2. Spezifizieren Sie Einrichtung und ID des Quell-Dokumenttyps.

  3. Benennen Sie das Quellfeld.

Versorgung einer einfachen Struktur

  1. Wählen Sie bei der Struktur Anfang des Navigationspfads Datenversorgung Navigationsschritt aus Dokumenttyp Ende des Navigationspfads.

  2. Spezifizieren Sie Einrichtung und ID des Quell-Dokumenttyps.

  3. Wählen Sie bei den zu versorgenden Sub-Elementen der Struktur Datenversorgung aus übergeordnetem Dokumenttyp (implizit) und spezifizieren Sie den Namen des Quellfelds.

Versorgung einer multiplen Struktur

  1. Wählen Sie bei der Struktur Anfang des Navigationspfads Datenversorgung Navigationsschritt aus Dokumenttyp Ende des Navigationspfads.

  2. Spezifizieren Sie Einrichtung und ID des Quell-Dokumenttyps und die multiple Struktur, die als Quelle dienen soll.

  3. Wählen Sie bei den zu versorgenden Sub-Elementen (Spalten) der Struktur Anfang des Navigationspfads Datenversorgung Navigationsschritt aus übergeordnetem Dokumenttyp (implizit) Ende des Navigationspfads und spezifizieren Sie den Namen der Quellspalte.

    Hinweis Hinweis

    Mit Quellfeld-Name ist immer der entsprechende Alias-Name gemeint.

    Zur Auswahl der Quellfelder und ggf. der multiplen Quell-Struktur wird keine Eingabehilfe angeboten. Wir empfehlen Ihnen daher, in einem Parallelmodus die Definition des Quell-Dokumenttyps zu öffnen.

    Ende des Hinweises

Dokumentendruck

Der Dokumentendruck wird durch einen Funktionsbaustein (statt durch einen Report) gesteuert. Alle Funktionsbausteine liegen in einer Funktionsgruppe.

User-Exits

User-Exits dürfen nur noch APIs und freigegebene Variablen nutzen.

APIs: Alle Methoden der Klasse cl_ishmed_pmd_services (s. dortige Dokumentation). Die in dieser Klasse existierenden Methoden stellen den gültigen Stand für das betreffende Release dar. Wenn Sie für Ihre User-Exits weitere APIs benötigen, sollten Sie einen entsprechenden Entwicklungsantrag formulieren.

Freigegebene Variablen sind in der generierten Funktionsgruppe enthalten.

Feldsymbole beginnend mit <pub__...>

Variablen beginnend mit pub__..

Andere Objekte der generierten Funktionsgruppe (Funktionsbausteine, Methoden, Module, Form-Routinen, Variablen) dürfen keinesfalls verwendet werden; Änderung oder Wegfall sind jederzeit möglich.

Bestimmte ABAP-Anweisungen sind nicht zulässig: COMMIT WORK, ROLLBACK WORK, MESSAGE (in allen Varianten).

Alle User-Exits eines Dokumenttyps (für Dialog und Druck) müssen in einem einzigen neuen INCLUDE programmiert werden ( Anfang des Navigationspfads Kopfdaten Navigationsschritt User-Exits Ende des Navigationspfads).

Alle Gen-2-User-Exits eines Dokumenttyps stehen in einem neuen INCLUDE.

Druck-User-Exits

Druck-User-Exits und das eigene Formular können einzeln deaktiviert werden.

Element nicht drucken

In der Systemverwaltung können Sie bei einem Element explizit angeben, dass es nicht gedruckt werden soll.

Funktion Daten holen

Die zweistufige Baumstruktur wurde durch den HTML-Dokumenten-Viewer ersetzt. Per Cut&Paste können Sie Daten in das aktuelle Dokument kopieren.

Der Viewer wird amodal aufgerufen.

SAPscript-Texte

SAPscript-Texte mit mehr als 4 Zeilen werden als SAPscript-Editor-Control dargestellt.

Beachten Sie, dass der Doppelklick hier nicht in den Fullscreen-Editor verzweigt, da diese Funktion vom Control als Markierungs-Kommando verstanden wird. In den Editor gelangen Sie über die Editor-Drucktaste.

Langtexte

Bei Langtexten kann die Formatierung annähernd erhalten bleiben.

Erweiterter Text

Sie können jetzt den neuen Dokumentationselementtyp Erweiterter Text einsetzen.

Prüfungen

Prüf-User-Exits laufen auch beim Sichern (vorher nur beim Freigeben und Prüfen).

Mit einem API können Sie feststellen, in welchem Prüfmodus der User-Exit gerade läuft; somit können Sie (analog zur automatischen Pflichtfeld-Prüfung) funktionsspezifische (Sichern oder Freigeben) Prüfungen formulieren.

Wenn Sie in Prüf-User-Exits Fehler feststellen, müssen Sie die zugehörige Meldung mit entsprechenden APIs in die Meldungsliste einstellen.

Fehlermeldungen

Die Fehler werden gesammelt und in einem ALV-Grid angezeigt. Falls der Fehler einem Dokumentationselement zugeordnet ist, können Sie per Doppelklick auf die Meldung zum fehlerhaften Element navigieren.

Klassenbasierte User-Exits

Sie können bei der Erstellung von Dokumenttypen der Generatorversion 2 auch klassenbasierte User-Exits verwenden. Die Verwendung von klassenbasierten User-Exits erlaubt einen flexiblen Umgang mit User-Exits und vereinfacht das Anlegen von Dokumenttypversionen. Sie müssen die User-Exit-Klasse nur überschreiben, wenn Sie Änderungen an den User-Exits durchführen möchten. Wählen Sie im Register Generierung im Feld Userexit-Implementierung den Wert METHODEN, um klassenbasierte User-Exits zu verwenden. Geben Sie danach im Register UserExit die User-Exit-Klasse ein, die Sie verwenden.

Wenn Sie zu einem Dokumentationselement Funktionen implementieren möchten, aktivieren Sie im Detailbild des Elements im Register UserExit die User-Exit-Methode. Implementieren Sie diese Methode in der User-Exit-Klasse.

Hinweis Hinweis

Beachten Sie die folgenden Voraussetzungen:

  • Sie können pro Dokumenttyp entweder nur klassen- oder nur formbasierte User-Exits verwenden.

  • Die einzugebende User-Exit-Klasse muss von der Klasse CL_ISHMED_PMD_UEX_ROOT abgeleitet sein

  • Die einzugebende User-Exit-Klasse muss die gewünschten User-Exit-Methoden implementieren, die auf der Registerkarte angegeben sind

Ende des Hinweises