SPLASH may store and organize data in various sets of data structures designed to support specific data manipulation functions.
Records
A record is a data structure that contains one or more columns along with an expression that determines the datatype and value for the column. One or more columns in the record can be defined as key columns. Each record also has an operation code with the default operation code being insert. The compiler implicitly determines the type for each of the columns based on the type of the column expression. A record that is created can be output to a stream or stored in a record variable with a compatible record type.
XML Values
An XML value is a value composed of XML elements and attributes, where elements can contain other XML elements or text. XML values can be created directly or built by parsing string values. XML values cannot be stored in records, but can be converted to string representation and stored in that form.
Vectors
A vector is a sequence of values, all of which must have the same type, with an ability to access elements of the sequence by an integer index. A vector has a size, from a minimum of 0 to a maximum of 2 billion entries.
Dictionaries
Dictionaries are data structures that associate keys with values; like maps in C++ and Java, arrays in AWK, and association lists in LISP.
Window Iterators
Window iterators are a means of explicitly iterating over all of the records stored in a window. It is usually more convenient, and safer, to use the for loop mechanism if the goal is to iterate over the data once, but iterators provide extra flexibility.
Event Caches
Event caches are alternate windowing mechanisms and data structures. They are organized into buckets, with each bucket able to store events or records and each bucket based on values of the fields in the records. Event caches are often used when vectors or dictionaries are not quite the right data structure, such as when a window-type store is needed within a FLEX operator, or as an alternative to the CCL KEEP clause when greater control or flexibility is required.
Created December 18, 2013. Send feedback on this help topic to Technical Publications:
pubs@sap.com