|
SAP BI Java SDK | |||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
IBIAxisCursor | A cursor to allow navigation of a multidimensional result set
(IBIDataSet ) as well as access
to metadata describing the current
cell of the multidimensional result set. |
IBICellCursor | Enumerations showing the optional and mandatory columns of the
CellCursor . |
IBICellStatus | Specifies the state of a cell. |
IBICursorColumn | Predefined mandatory columns for the different types of cursors. |
IBICursorColumnType | An enumeration for the data types of a cell column. |
IBIDataSet | Provides access to and navigation of the results of a multidimensional query. |
IBIDimensionAttributeCursor | A cursor to allow navigation of the set of attributes of a dimension
(IBIDimensionCursor ) as well as access
to metadata describing the cursor.
|
IBIDimensionCursor | A cursor to allow navigation of a dimension of a multidimensional result set
(IBIDataSet ) as well as access
to metadata describing the cursor.
|
IBIResultSet | Provides access to and navigation of the results of a relational query. |
Provides applications created with the SDK with a complete set of interfaces to access the results of a query, delivering a relational result set from a relational data source, and an OLAP result set from an OLAP data source. This package documentation contains the following sections:
The SDK needs to be able to represent result sets for the diverse queries that
can be defined using the SDK's Query APIs. These result sets can have any geometry
(for example, crosstabs with nested dimensions) and can contain any data type
(for example, Time
, Date
, Timestamp
, Double
, String
, and Integer
), and can be
relational or OLAP result sets.
It's the job of the SDK's Resultset API to provide applications with a complete set of interfaces to access these result sets, delivering a relational result set from a relational data source, and an OLAP result set from an OLAP data source.
The ResultSet API is based on Sun's established java.sql.ResultSet
interface,
which is part of the JDBC API. Only a few lightweight interfaces have been added
to facilitate a multidimensional representation.
Key features of the ResultSet API include:
java.sql.ResultSet
is not the native format for retrieving results from data sources that are
not JDBC-compliant, support in the non-JDBC connectors for JDBC's features
depends on the data source. For example, JDBC-specific data types such as
"Blob" are not supported. A data set is a multidimensional result set returned by an OLAP server. It
is a complex data object that can be conceptually represented by two components:
cell data and axis data. The IBIDataset
interface provides the methods to access
the information contained in a data set, supporting the concept of cursors (instances
of java.sql.ResultSet
) for each axis and dimension.
The data set representation conforms closely to conventions in Microsoft's OLE DB for OLAP (ODBO) Programmer's Reference. We've made adjustments in structures and naming to comply with Java naming conventions as well as for simplification.
IBIDataset
extends java.sql.ResultSet
to provide direct access to the cell
data (cell cursor) as well as to provide methods to retrieve the list of axes
(axis cursors). IBIAxisCursor
extends IBIResultSet
, hence providing access to
and navigation on the contents of each axis. The AxisCursors
in turn contain
DimensionCursors
(one for each dimension) which in turn can contain DimensionAttributeCursors
(for attributes of a dimension). For example, the dimension Product might have
attributes Color and Size.
This relationship between axis, dimension, and cell cursors is schematically depicted below:
The relational result set (IBIResultSet
) is based on java.sql.ResultSet
, from
Sun's established standard. It supports all common data types and blockwise
fetching of tabular data within a Java API.
Part of the set JDBC APIs, java.sql.ResultSet's
implementation is the responsibility
of the JDBC driver implementers. We provide our own implementation for such
cases where no JDBC driver is available, for example in the case of the BI OLAP
and SAP Query connectors.
The ResultSet API's IBIResultSet
extends java.sql.ResultSet
, adding the capability
to synchronize the navigation of multiple result sets for use in OLAP result
sets. We also support the need to provide additional features, such as conditional
zero suppression or summation and calculated keyfigures (additional columns
based on data contained in the result set itself). To achieve this, IBIResultSet
supports pluggable filters which follow the "decorator" design pattern, forwarding
IBIResultSet
calls to another IBIResultSet
and adding the required functionality.
By reusing the ResultSet
interface and all data types of the java.sql
package, our design required adding only a few lightweight interfaces. In this
way, we gain interoperability with the existing ecosystem for java.sql.ResultSet
.
The OLAP Table Model is a sub-package of the ResultSet API, and provides classes that facilitate the rendering of a multidimensional data set into a two-dimensional matrix.
|
SAP BI Java SDK | |||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |