Ansicht
Dokumentation

ABENASXML_ANONYMOUS_DATA_OBJECT - ASXML ANONYMOUS DATA OBJECT

ABENASXML_ANONYMOUS_DATA_OBJECT - ASXML ANONYMOUS DATA OBJECT

BAL Application Log Documentation   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Anonyme Datenobjekte

Die Darstellung eines anonymen Datenobjekts, d.h. eines Datenobjekts, das mit CREATE DATA oder mit dem Instanziierungsoperator NEW erzeugt wurde, als Unterelement von heap erfolgt in der Form:

asx:heap xmlns:nspace ...>
  type id = "key" attr="...">.../type>
/asx:heap>

Der Wert eines solchen Unterelements wird in der asXML-Darstellung für benannte Datenobjekte bzw. für Referenzvariablen dargestellt. Falls das anonyme Datenobjekt selbst eine nicht-initiale Referenzvariable ist, verweist sie nach obigen Regeln auf ein weiteres Element von heap. Der Elementname type ist der als XML-Schematyp-Name aus dem Namensraum nspace (siehe Tabelle unten) angegebene Datentyp des Datenobjekts (bzw. der dynamische Typ der Referenzvariablen), wobei gegebenenfalls Attribute attr technische Eigenschaften des Typs angeben. Das obligatorische Attribut id enthält den eindeutigen Schlüssel key des Elements, über den es von der Darstellung der zugehörigen Referenzvariablen in values oder heap referenziert wird.

Der XML-Schematyp-Name wird nach folgender Hierarchie konstruiert:

  1. Falls der Datentyp des Datenobjekts im ABAP Dictionary definiert ist, ist der XML-Schematyp-Name der Name des Datentyps aus dem ABAP Dictionary im zugehörigen Namensraum (siehe Tabelle unten).
  2. Falls der Datentyp ein elementarer ABAP-Typ ist, ist der XML-Schematyp-Name in untenstehender Tabelle angegeben.
  3. Falls der Datentyp als Komponente einer globalen oder lokalen Klasse bzw. eines Interfaces definiert ist, setzt sich der XML-Schematyp-Name aus dem Namen der Klasse bzw. des Interfaces und dem Namen des Datentyps zusammen, die durch einen Punkt (.) getrennt sind. Der zugehörige Namensraum (siehe Tabelle unten) zeigt an, ob es sich um eine globale oder lokale Klasse bzw. ein Interface handelt.
  4. Falls der Datentyp ein mit REF TO data bzw. REF TO object definierter generischer Referenztyp ist, ist der XML-Schematyp-Name refData bzw. refObject. Beide haben den Namensraum http://www.sap.com/abapxml/types/built-in.
  5. Ansonsten ist der XML-Schematyp-Name der Name eines mit TYPES definierten Datentyps, wobei der zugehörige Namensraum (siehe Tabelle unten) anzeigt, wo der Datentyp definiert ist.

Voraussetzung für die Konstruktion eines XML-Schematyp-Namens ist, dass der Datentyp des Datenobjekts einen statisch verwendbaren Namen hat. Falls der Datentyp nur als Eigenschaft eines Datenobjekts existiert und damit nur einen technischen Namen hat, kommt es bei der Serialisierung zu einer behandelbaren Ausnahme, die für XSLT-Programme über Angabe der Transformationsoption technical_types bei CALL TRANSFORMATION auch umgangen werden kann.

Die folgende Tabelle zeigt die Namensräume für die XML-Schematyp-Namen, wobei types in der ersten Spalte für http://www.sap.com/abapxml/types steht. Die Namensräume zeigen an, wo ein Datentyp definiert ist. In den großbuchstabigen Bezeichnern PRG, CPOOL, FPOOL, TPOOL, METH, FUNC,FORM und CLASS werden Zeichen ungleich "a" bis "z", "A" bis "Z", "0" bis "9", "_" oder "-" als "!hex(c)" dargestellt, wobei hex(c) die zweistellige Hexadezimaldarstellung des ASCII-Codes des Zeichens "c" ist.

Namespace Stelle der Definition
types/dictionary ABAP Dictionary
types/program/PRG ABAP-Programm prg
types/class-pool/CPOOL Class-Pool cpool
types/type-pool/TPOOL Type-Pool tpool
types/function-pool/FPOOL Funktionsgruppe fpool
types/function/FUNC Funktionsbaustein func
types/program.form/prg/FRM Unterprogramm frm in Programm prg
types/function-pool.form/FPOOL/FRM Unterprogramm frm im Function-Pool fpool
types/method/CLASS/METH Methode meth einer globalen Klasse class
types/program.method/PRG/CLASS/METH Methode meth einer lokalen Klasse class in Programm prg
types/class-pool.method/CPOOL/CLASS/METH Methode meth einer lokalen Klasse class in Class-Pool cpool
types/function-pool.method/FPOOL/CLASS/METH Methode meth einer lokalen Klasse class in Funktionsgruppe fpool

Folgende Tabelle zeigt die XML-Schematyp-Namen für elementare ABAP-Typen. Diese unterscheiden sich teilweise von den kanonischen XML-Schema-Datentypen, da der Datentyp von anonymen Datenobjekten vollständig spezifiziert sein muss. Die Namensräume nspace für die elementaren ABAP-Typen anonymer Datenobjekte sind entweder xsd="http://www.w3.org/2001/XMLSchema" für allgemeine Schematypen oder abap="http://www.sap.com/abapxml/types/built-in" für spezielle ABAP-Schematypen, bei denen teilweise technische Attribute angegeben werden müssen.

ABAP-Typ XML-Schematypname Attribute
b xsd:unsignedByte -
c abap:string maxLength
d abap:date -
decfloat16 abap:precisionDecimal -
decfloat34 abap:precisionDecimal -
f xsd:double -
i xsd:int -
int8 xsd:long -
n abap:digits maxLength
p abap:decimal totalDigits, fractionDigits
s xsd:short -
string xsd:string -
t abap:time -
utclong abap:dateTimeDec -
x abap:base64Binary maxLength
xstring xsd:base64Binary -

Das Attribut maxLength gibt die Länge für die ABAP-Typen generischer Länge an. Der XML-Schematyp abap:digits beschränkt den Wertebereich eines Elements auf Ziffern. Beim XML-Schematyp abap:decimal werden die Länge und die Nachkommastellen über die Attribute totalDigits und fractionDigits angegeben. Die Längenangabe totalDigits gibt die Anzahl der Stellen zwischen 1 und 31 an. In ABAP-Programmen wird die Länge für Datenobjekte vom Typ p in Bytes angegeben und die Anzahl der Stellen berechnet sich aus 2×len-1. Bei der Serialisierung ist der Wert von totalDigits daher immer ungerade. Bei der Deserialisierung wird ein gerader Wert von totalDigits implizit um eins erhöht.

Für den Unterschied zwischen der Serialisierung nach heap und eingebetteten Elementen siehe Serialisierung nach Heap oder Embedded.






TXBHW - Original Tax Base Amount in Local Currency   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 15774 Date: 20240523 Time: 160812     sap01-206 ( 162 ms )