Ansicht
Dokumentation

CL_ISHMED_PMD_SERVICES - API Parametrierbare Medizinische Dokumentation (PMD)

CL_ISHMED_PMD_SERVICES - API Parametrierbare Medizinische Dokumentation (PMD)

RFUMSV00 - Advance Return for Tax on Sales/Purchases   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Diese Klasse ist die offizielle Schnittstelle zu parametrierten Dokumenten (PMD), die unter Generator-Version 2 (GEN-2) generiert wurden. Die Zugriffsmethoden (APIs) werden in folgenden Zusammenhängen eingesetzt:

  • in User-Exits eines PMD
  • in der Dokument-Dokument-Kommunikation (DDC); diese löst bei GEN-2-Dokumenten die PMD-Fremddatenbausteine ab
  • zukünftig in der externen Kommunikation (z.B. Dokumentationsarbeitsplatz)

Der wesentliche Vorteil der Generator-Version 2 ist ihr objektorientiertes Design, nur dadurch kann das System die Daten und Zustände gleichzeitig aktiver Dokumente sauber trennen.

Zum Zugriff auf GEN-2-Dokumente müssen Sie diese APIs verwenden. Andere Zugriffe sind nicht zulässig, da sie (z. B. in Bezug auf Berechtigungen) nicht gesichert sind und unzuverlässige oder undefinierte Ergebnisse liefern können.

Für Zugriffe auf nicht-GEN-2-Dokumente können Sie diese APIs nichtverwenden, da das System in der 'alten' Generator-Version die benötigten internen Methoden nicht generiert.

In der Dokumentation zu den einzelnen Methoden finden Sie Informationen zu deren Funktionen und die Einsatzbedingungen, vor allem zur ihrer Verwendung in User-Exits.

Zur Unterscheidung zwischen Zugriffen auf das aktuelle Dokument und auf fremde Dokumente lesen Sie die Dokumentation der Methode API__OPEN.

Beziehungen

Beispiel

Hinweise

Bedingungen
Der Dokumenttyp (genauer die Dokumenttyp-Version), auf den zugegriffen werden soll, muss mit Generator-Version 2 generiert worden sein.
Eine generierte Funktionsgruppe kann nur PMD-1 oder PMD-2-Coding enthalten; d.h. sobald mehrere Versionen eines Dokumenttyps in der selben Funktionsgruppe liegen müssen sie auch mit der gleichen Generator-Version generiert worden sein.
Dialogfrei
Alle APIs sind dialogfrei, d.h. Sie müssen z. B. Sicherungsabfragen ggf. selber programmieren.
Anmerkung
Die Liste der APIs ist sicher nicht vollständig in dem Sinne, dass sie alle in User-Exits benötigte oder denkbare Funktionalität abdeckt. Benötigte - aber nicht vorhandene - APIs sind kein Fehler. Den Bedarf an weiteren APIs melden Sie bitte über den üblichen Weg.
Fehlertoleranz
Die API-Aufrufe sind bewusst fehlerintolerant. Andernfalls würde beispielsweise der API__GET_VALUE-Aufruf mit ungültigem Aliasnamen einfach keinen Wert liefern, der User-Exit-Programmierer würde den fehlerhaften Aufruf aber nur schwer finden können. Die Ausnahmen sind klassenbasiert und von der Errorklasse CX_DYNAMIC_CHECK abgeleitet.
Um den Fehlertext sehen zu können, müssen Sie in der FORM-Routinen-Definition den Zusatz
,,RAISING cx_dynamic_check
verwenden.
Allgemeiner Fehler
Alle Methoden erzeugen eine Ausnahme, falls sie für ein Dokument aufgerufen werden, welches nicht mit Generator-Version 2 erzeugt wurde. Diese Ausnahme wird bei den einzelnen Methoden nicht mehr erwähnt. Mit dem Release 4.72 fällt dieser Fehlversuch bereits beim API__OPEN auf; falls in folgenden Releases weitere APIs ausgeliefert werden, kann allerdings das Öffnen funktionieren, der API-Zugriff dann aber scheitern. Dies bedeutet, dass Sie den Dokumenttyp erneut (unter neuem Release) generieren müssen, da nur so die benötigten internen APIs erzeugt werden.
Begriffe:
Gültiger Arbeitsmodus: Für fast alle APIs ist es nötig, dass das Dokument in einem gültigen Arbeits-Modus ist. Das aktuelle Dokument, dass Sie gerade bearbeiten oder drucken, befindet sich natürlich im entsprechenden gültigen Arbeitsmodus (Anlegen, Ändern, Drucken...). Wenn Sie ein fremdes Dokument öffnen, befindet sich dieses zunächst in einem undefiniertem Modus. Dieses Dokument müssen Sie mit der Methode API__SET_PROCMODE_DISPLAY in den Anzeige-Modus setzen, bevor Sie z. B. mit API__GET_VALUE darauf zugreifen können. Die möglichen Arbeitsmodi sind im Type-Pool N2F definiert:
  • Ändern (n2f_meth_update)

  • Anlegen (n2f_meth_insert)

  • Kopieren (n2f_meth_copy) = Dokumentversion anlegen

  • Anzeigen (n2f_meth_display)

  • Drucken (n2f_meth_print)

Aktuelles Dokument: das Dokument, in dem der User-Exit läuft. Für diese Zugriffe ist in der generierten Anwendung die Service-Instanz vorhanden. Diese Instanz wird automatisch erzeugt und geschlossen.
Fremdes Dokument: dieses Dokument müssen Sie mit der Methode API__OPEN öffnen, bevor Sie mit anderen Methoden darauf zugreifen können. Am Ende der Verarbeitung muss das fremde Dokument mit API__CLOSE geschlossen werden. Auf fremde Dokumente können Sie nur lesend zugreifen.
Externerund interner Service: siehe Dokumentation der Methode API__OPEN; im Allgemeinen entspricht externer Service einem fremden Dokument und interner Service dem Dokument, das Sie gerade im Editor oder in der Druckfunktion haben.
Entsprechendes Element: bei element-bezogenen APIs (z.B. API__GET_VALUE) wird das gewünschte Element über seinen Alias-Namen (und in multiplen Strukturen die Occurrence) angesprochen.
Atomares Element: Bei datenbezogenen APIs (z.B. API__GET_VALUE) sind damit einfache Felder, Ja-Nein-Felder, Auswahlfelder, Comboboxen, Langtexte, SAPscript-Texte und erweiterte Texte gemeint.
Exception vs. Fehler: Exceptionswerden ausgelöst, wenn das API unter falschen Voraussetzungen aufgerufen wird (wie z. B. API__CHECK in nicht zulässigem User-Exit oder in undefiniertem Arbeitsmodus); in diesem Fall liegt meistens ein Programmierfehler des User-Exit-Schreibers vor.
Fehlerkann der Benutzer beheben (Bsp. API__CHECK stellt fest, dass ein Pflichtfeld nicht gefüllt wurde); in diesem Fall werden der schwerste Meldungstyp und eine Meldungstabelle zurückgeliefert.

Weiterführende Informationen






CL_GUI_FRONTEND_SERVICES - Frontend Services   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7639 Date: 20240424 Time: 105655     sap01-206 ( 117 ms )