Ansicht
Dokumentation

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

CPI1466 during Backup   CPI1466 during Backup  
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






Fill RESBD Structure from EBP Component Structure   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5813 Date: 20240420 Time: 160148     sap01-206 ( 65 ms )