CL_ISHMED_PMD_SERVICES - PMD: public APIs

TXBHW - Original Tax Base Amount in Local Currency   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Funktionalität

Diese Klasse ist die offizielle Schnittstelle zu parametrierten Dokumenten (PMD), dieunter 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.
Alle Versionen eines Dokumenttyps müssen mit der gleichen Generator-Version erzeugt 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ötigteoder 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-Aufrufmit ungültigem Aliasnamen einfach keinen Wert liefern, der User-Exit-Programmierer würdeden 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 nichtmit 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 folgendenReleases weitere APIs ausgeliefert werden, kann allerdings das Öffnen funktionieren, der API-Zugriffdann 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 dasDokument in einem gültigen Arbeits-Modus ist. Das aktuelle Dokument, dass Sie gerade bearbeitenoder drucken, befindet sich natürlich im entsprechenden gültigen Arbeitsmodus (Anlegen,Ändern, Drucken...). Wenn Sie ein fremdes Dokument öffnen, befindet sich dieses zunächstin einem undefiniertem Modus. Dieses Dokument müssen Sie mit der Methode API__SET_PROCMODE_DISPLAYin 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 dieseZugriffe 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 falschenVoraussetzungen 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



BAL Application Log Documentation   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 7136 Date: 20120527 Time: 164500     triton ( 214 ms )