sapdev logo background
sapdev logo sapdev logo
Comments

SAP ASXML ANONYMOUS DATA OBJECT documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

asXML - Anonymous Data Objects
An anonymous data object, that is a data object created using CREATE DATA or the instance operator NEW , is displayed as a subelement of heap in the form:
<(><<)>asx:heap xmlns:nspace ...>
<(><<)>type id = "key" attr="...">...<(><<)>/type>
/asx:heap
The value of such a subelement is displayed in the asXML display for named data objects or for reference variables. If the anonymous data object itself is a non-initial reference variable, according to the rules above, it references another element of heap . Element name type is the data type of the data object (or the dynamic type of the reference variables) that is specified as the XML schema type name from namespace nspace (see table below), whereby attributes attr specify technical properties of the type if necessary. The mandatory attribute id contains the unique key key of the element by which it is referenced by the display of the corresponding reference variables in values or heap .
The XML schema type name is constructed according to the following hierarchy:
If the data type of the data object is defined in ABAP Dictionary, the XML schema type name is the name of the data type from the ABAP Dictionary in the corresponding namespace (see table below).
If the data type is an elementary ABAP type, the XML schema type name is specified in the table below.
If the data type is defined as a component of a global or local class or of an interface, the XML schema type name is composed of the name of the class or the interface and the name of the data type. These two parts of the name are separated by a period (.). The corresponding namespace (see table below) indicates whether the data type is defined as a component of a global class, a local class, or an interface.
If the data type is a generic reference type that is defined with
REF TO data or REF TO object , the XML schema type name is refData or refObject . Both have the namespace
http://www.sap.com/abapxml/types/built-in .
Otherwise, the XML schema type name is the name of a data type that has been defined with TYPES , whereby the corresponding namespace (see table below) indicates where the data type is defined.
The precondition for the construction of an XML schema type name is that the data type of the data object has a statically usable name. If the data type only exists as a property of a data object and therefore only has one technical name , an exception occurs during serialization that can be solved for XSLT
programs by entering transformation option technical_types for
CALL TRANSFORMATION .
The following table shows the namespaces for the XML schema type names, where types in the first column stands for
http://www.sap.com/abapxml/types . The namespaces indicate where a data type is defined. In the uppercase identifiers PRG , CPOOL
, FPOOL , TPOOL , METH , FUNC , FORM , and CLASS , characters not in ranges "a" to "z", "A" to "Z", "0" to "9", "_", or "-" are displayed as "!hex(c)", where hex(c) is the two-character hexadecimal display of the ASCII-Codes for character "c".

Namespace Where Defined
types/dictionary ABAP Dictionary
types/program/PRG ABAP program prg
types/class-pool/CPOOL Class pool cpool
types/type-pool/TPOOL Type group
tpool
types/function-pool/FPOOL Function group fpool
types/function/FUNC Function module func
types/program.form/prg/FRM Subroutine frm in program
prg
types/function-pool.form/FPOOL/FRM Subroutine frm in function group fpool
types/method/CLASS/METH Method meth of a global class class
types/program.method/PRG/CLASS/METH Method meth of a local class class in program prg
types/class-pool.method/CPOOL/CLASS/METH Method meth of a local class class in class pool cpool
types/function-pool.method/FPOOL/CLASS/METH Method meth of a local class class in function group fpool
The following table shows the XML schema type names for elementary ABAP types. These names differ in part from the canonical XML schema data types , since the data type of anonymous data objects must be specified completely. The namespaces nspace
for the elementary ABAP types of anonymous data objects are either xsd="http://www.w3.org/2001/XMLSchema" for general schema types or abap="http://www.sap.com/abapxml/types/built-in" for special ABAP schema types for which technical attributes must sometimes be specified.

ABAP Type XML Schema Type Name Attributes
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 -
x abap:base64Binary maxLength
xstring xsd:base64Binary -
The attribute maxLength specifies the length for ABAP types of generic length. The XML schema type abap:digits restricts the value range of an element to numbers only. For XML schema type abap:decimal , the length and the number of decimal places are specified using attributes totalDigits and fractionDigits . The length totalDigits specifies the number of places between 1 and 31. In ABAP programs, the length for data objects of type p is specified in bytes and the number of
decimal places is calculated from 2�len-1. In serializations, therefore, the value of totalDigits is always uneven. In deserializations, an even value of totalDigits is increased by one implicitly.

Example
For information about the differences between serializing to heap
and embedded elements, see
Serializations to Heap or Embedded .
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




ASXML_ABEXAS
ASXML_CLASS_INSTANCES




comments powered by Disqus