CL_ISHMED_DOC_CONTENT - IS-H*MED: Inhalt eines med. Dokuments (=>KLASSENDOKU)
General Data in Customer Master rdisp/max_wprun_time - Maximum work process run timeDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Diese Klasse bildet den Inhalt eines beliebigen medizinischen Dokuments ab. Es ist möglich, dassein einziges Dokument seinen Inhalt in mehreren Inhaltsformaten zur Verfügung stellen kann. In diesem Fall stellt es pro Inhaltsformat eine jeweils eigene Instanz von CL_ISHMED_DOC_CONTENT bereit.
Diese Klasse dient als eine Art "beschreibender Umschlag" für den eigentlichen Dokumentinhalt und soll Anwendungen den Umgang mit Dokumentinhalten erleichtern.
Die Klasse enthält:
- alle strukturierten Informationen, die notwendig sind, um den Datentyp des Dokumentinhalts identifizieren und korrekt behandeln zu können. Diese Informationen sind über Methoden erreichbar.
- den eigentlichen Inhaltsteil des Dokuments. Der eigentliche Inhalt kann ein komplexer ABAP-Datentyp aber auch eine Objektreferenz sein.
- Der Inhaltsteil wird gefüllt, indem dem Konstruktor der Klasse eine beliebige Datenstruktur, Tabelle oder ein ABAP-Objects-Objekt mitgegeben wird.
- Durch Aufruf der Methode get_content kann der Inhalt wieder entgegengenommen werden.
- Der Datentyp und die Daten des Dokumentinhalts sind jeweils abhängig vom Inhaltstyp. Generellmuss eine Anwendung ein Inhaltsformat kennen und wissen, welche ABAP-Datentypen ein Dokument verwendet, um seine Inhalte bereitzustellen.
Für die meisten Fälle ist jedoch eine vereinfachte Handhabung möglich, da zwei Fälle gezielt unterstützt werden:
- Für Dokumentinhalte, die aus einem einzigen Binärdatenblock bestehen, gibt es einefestgelegte Form, in der sie verwaltet werden. Mit der Methode IS_BINARY_CONTENT kann geprüft werden, ob es sich um einen derartigen Binärdatenblock handelt.
Für Binärdatenblöcke werden zwei verschiedene Datentypen unterstützt: XSTRINGund ISHMED_N2BINARY. Bei der Erzeugung einer CL_ISHMED_DOC_CONTENT - Instanz oder beim Abholen des Inhaltsmit GET_CONTENT können beide Typen verwendet werden. Die Daten werden bei Bedarf innerhalb derKlasse zwischen dem Tabellenorientierten Format von ISHMED_N2BINARY und XSTRING hin und her konvertiert, ohne dass der Aufrufer sich darum kümmern muss.
- XML-Daten werden ebenfalls spezifisch unterstützt. Die Methode IS_XML_CONTENT gibt Auskunft darüber, ob es sich beim Inhalt um einen XML-Baum handelt.
XML-Daten werden in grundlegend zwei Formen unterstützt: als XML-Baum und in serialisierter Form als Binärdatenstrom:
XML-Baum (DOM)
Ein DOM-Fragment, das wohlgeformt sein muss. Es wird eine Referenz auf die Klasse IF_IXML_NODE unterstützt. Dies ist der Wurzelknoten des XML-Baums.
Serialisierte XML-Daten
Ein serialisiertes XML-Dokument wird in der Form eines UTF-8-codierten Binärstromsunterstützt. Hierfür werden die beiden Typen XSTRING sowie ISHMED_N2BINARY unterstützt, die auch bei Binärinhalten verwendet werden können.
In diesem Fall muss der Binärstrom aber ein gültiges XML-Dokument enthalten.
- XML-Fragmente und beide Formen von serialisiertem XML sind beliebig gegeneinander austauschbar und werdenbei Bedarf innerhalb der Klasse konvertiert. Innerhalb der Klasse selbst werden XML-Daten als DOM-Baum gehalten, egal, in welcher Form sie dem Konstruktor bereitgestellt oder über GET_CONTENT angefordert werden.
Warum keine Strings/Characterdaten?
Character-artige Typen werden für die XML-Verarbeitungnicht unterstützt. XML-Verarbeitung und vor allem der Transfer von XML-Datenkann nur ordnungsgemäß funktionieren, falls die XML-Daten nach einem definierten Character-encodingcodiert sind. Dieses Encoding wird bei der Erzeugung der XML-Daten im Kopf des XML-Dokuments vermerkt.
Character-artige Daten liegen aber im ABAP immer im encoding des Anwendungsservers vor, so dass sichhier ein Konflikt zwischen der Ecoding-Angabe im Kopf des XML-Dokuments und dem tatsächlichen encoding der Daten ergeben kann. Daher werden character-artige Typen nicht unterstützt.
Über eine erweiterte Ableitung dieser Klasse kann eine Dokumentanwendung bei Bedarf zusätzlichestrukturierte Daten und Hilfsfunktionen bereitstellen mit dem Dokumentinhalt verbinden, z.B. um Verweiseauf einen spezifischen Speicherort zu verwalten. Dazu muss jedoch eine neue Dokumentanwendung (Ableitung von CL_ISHMED_DOC_DATA) implementiert und im System eingebunden werden werden.
Beziehungen
Beispiel
Hinweise
Weiterführende Informationen
Siehe besonders auch die Dokumentation des Construktors und der Methode GET_CONTENT.
CL_GUI_FRONTEND_SERVICES - Frontend Services BAL Application Log Documentation
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 5061 Date: 20120527 Time: 144304 triton ( 187 ms )






