CL_DEMO_OUTPUT_STREAM - Demo für XML-Ausgabestrom für ABAP-Daten

CL_DEMO_OUTPUT_STREAM - Demo für XML-Ausgabestrom für ABAP-Daten

General Data in Customer Master   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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 )