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 a expression that determines the data type and value for the column. One or more columns in the record can be defined to be a key column. Each record also has a operation code with the default operation code being an insert. The compiler implicitly determines the type for each of the columns based upon the type of the column expression. A record that is created can be stored in a Stream or it can be 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 August 29, 2013. Send feedback on this help topic to Technical Publications:
pubs@sap.com