CL_DEMO_OUTPUT_STREAM - Demo für XML-Ausgabestrom für ABAP-Daten
General Data in Customer Master PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.

Funktionalität
Die Klasse demonstriert einen XML-Ausgabestrom, der in ABAP-Programmen verwendet werden kann, um Ausgaben an eine Präsentationsschicht zu senden.
- Die Factory-Methode OPEN erzeugt ein leeres Stromobjekt.
- Folgende Methoden fügen dem Strom Inhalt hinzu:
- WRITE_DATA schreibt elementare Datenobjekte (keine Referenzvariablen), Strukturen mit elementaren Komponenten und interne Tabellen mit solchen Zeilentypen in den Strom. Optional können die Werte nicht-proportional ausgegeben werden.
- WRITE_TEXT schreibt zeichenartige Daten und erlaubt Formatangaben (normaler Text, nicht-proportionaler Text, Überschriften in vier verschiedenen Ebenen).
- WRITE_HTML schreibt Text, in dem HTML-Tags erhalten bleiben
- WRITE_XML schreibt Text, in dem XML-Tags erhalten bleiben, mit Einrückungen und Zeilenumbrüchen
- WRITE_JSON schreibt Text im JSON-Format mit Einrückungen und Zeilenumbrüchen
- Die Methode CLOSE schließt den Strom ab und löst das Ereignis COMPLETED aus, das den Strom im XML-Format als Parameter zurück gibt. Ein geschlossener Strom kann nicht weiter verwendet werden.
Ein abgeschlossener Strom wird durch ein vollständiges XML-Dokument in folgender Form repräsentiert:
-
<?xml version="1.0" encoding="utf-8" ?>
<ab:abapOutput xmlns:ab="http://www.sap.com/abapdemos">
<ab:output>
<ab:text format="..." level="...">...</ab:text>
<ab:object>
<ab:name>...</ab:name>
<ab:components>
<ab:compName>...</ab:compName>
<ab:compName>...</ab:compName>
...
</ab:components>
<ab:data format="...">
<ab:row>
<ab:compValue>...</ab:compValue>
<ab:compValue>...</ab:compValue>
...
</ab:row>
...
<ab:/data>
</ab:object>
<ab:html>...</ab:html>
<ab:xml>...</ab:xml>
<ab:json>...</ab:json>
</ab:output>
</ab:abapOutput>
Jedes Datenobjekt wird unabhängig von seinem tatsächlichen Typ in einem Element ab:object wie eine strukturierte Tabelle ausgegeben. Im Element ab:components werden die Namen der Komponenten ausgegeben. Das Element ist bei elementaren Datentypen leer. Im Element ab:data werden die Werte Zeile für Zeile ausgegeben. Bei nicht-proportionaler Ausgabe des Werts enthält ab:data das Attribut format = "nonprop".Ein nicht-tabellarisches Datenobjekt erzeugt genau eine Zeile. Ein elementarer Zeilentyp hat genau eine Komponente.
Die Klasse erzeugt keine Ausnahmen. Falsche Eingaben von Daten (Referenztypen, Strukturen mit nicht-elementaren Komponenten), nicht vorgesehene Formate oder falsches XML werden ignoriert. Falsches HTML wird unverändert übernommen.
Beziehungen
Die Klasse CL_DEMO_OUTPUT_HTML demonstriert eine Ereignisbehandlung für das Ereignis COMPLETED, wobei der XML-Ausgabestrom nach HTML konvertiert wird. Die Klasse CL_DEMO_OUTPUT_TEXT macht das Gleiche für Textausgaben.Die Klasse CL_DEMO_OUTPUT demonstriert eine Verwendung beider Klassen als Ersatz von klassischen Listen für Konsolenausgaben in ABAP.
Beispiel
Einfache Ausgabe:
-
DATA(output) = cl_demo_output_stream=>open( ).
DATA(text) = `Hello World!`.
output->write_data( text ).
output->close( ).
Für eine Demonstration aller Möglichkeiten, siehe das Programm DEMO_USAGE_OUTPUT_STREAM.
Hinweise
Diese Klasse ist nur für Demonstrationszwecke bestimmt. Sie darf nicht in produktiven Anwendungsprogrammen verwendet werden.
Weiterführende Informationen
TXBHW - Original Tax Base Amount in Local Currency CPI1466 during Backup
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 5813 Date: 20250524 Time: 012253 sap01-206 ( 72 ms )