sapdev logo background
sapdev logo sapdev logo
Comments

SAP OPEN SQL STREAMING documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

Open SQL - Streaming
Open SQL supports streaming for LOB s in database tables.

System Classes and System Interfaces for Reader and Writer Streams
The system classes for the various types of data streams are:
  • CL_ABAP_DB_C_READER for character-like reader streams. The data source is a CLOB .

  • CL_ABAP_DB_X_READER for binary reader streams. The data source is a BLOB .

  • CL_ABAP_DB_C_WRITER for character-like writer streams. The data sink

  • is a CLOB .
  • CL_ABAP_DB_X_WRITER for binary writer streams. The data sink is a BLOB .

  • The special interfaces
  • IF_ABAP_DB_READER

  • IF_ABAP_DB_WRITER

  • are used to access the reader and writer streams independently of the stream type . For further resource-independent classes and interfaces, as well as for the hierarchy of the object types, see the figure and explanation under Streaming .

    Important Methods
    The methods for streaming in Open SQL are the same as for general streaming .

    Data Sources and Data Sinks
    Any LOB s declared in database tables can be considered as data sources or data sinks. The instances of the classes above are data streams joined to LOB s. These are LOB handle s and implement the corresponding interfaces . Usage in Open SQL involves reference variables which point to the relevant LOB handle s.

    Creating Data Streams for LOB s

    Reader Streams
    A reader stream that is bound to an LOB (that is, an instance of the class CL_ABAP_DB_C_READER or CL_ABAP_DB_X_READER ) can only be created if, in the INTO clause of the statement SELECT , a LOB from the results set is assigned to a reference variable for a reader stream.
    Refer to SELECT - LOB Handle
    s .

    Writer Streams
    A writer stream that is bound to an LOB (that is, an instance of the class CL_ABAP_DB_C_WRITER or CL_ABAP_DB_X_WRITER ) can only be created if a reference variabe for a reader stream is specified as a source in the statements INSERT , UPDATE , or MODIFY
    .
    See INSERT , UPDATE ,
    MODIFY dbtab - LOB Handle s .

    Closing Data Streams for LOB s
    Since the number of data streams open at one time is limited to 16, they should be closed as soon as possible using the CLOSE method. Regardless of this, reader streams are closed implicitly at the end of a
    SELECT loop and at the end of a database LUW . An open writer stream can be closed implicitly only by using a database rollback . Database commit s for open writer streams, on the other hand, produce the runtime error
    COMMIT_STREAM_ERROR .
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    OPEN_SQL_READING
    OPEN_SQL_WA




    comments powered by Disqus