SAP OPEN CURSOR ABAP Statements
Warning: Undefined variable $saptab in /customers/b/9/9/trailsap.com/httpd.www/abap-statements/index.php on line 46
Get Example source ABAP code based on a different SAP table
ABAP Statement
Warning: Undefined variable $prev in /customers/b/9/9/trailsap.com/httpd.www/abap-statements/index.php on line 62
Standard SAP Help for OPEN_CURSOR
OPEN CURSOR Short Reference > • OPEN CURSOR
ABAP Statement • FOR SELECT OPEN CURSOR
ABAP_BASIC_FORM_2 OPEN CURSOR [WITH HOLD] dbcur FOR > SELECT result>> FROM source>> [[FOR ALL ENTRIES IN itab] WHERE sql_cond>]> [GROUP BY group>] [HAVING group_cond>]> [ORDER BY sort_key>].> ABAP Addition ... WITH HOLD> What does it do? This statement opens a database cursor> for the selection defined after FOR>, and associates a cursor variable dbcur> with this database cursor. The result set of the selection can be read with the statement FETCH>>. dbcur> expects a declared variable with the specific predefined data type cursor>>. A database cursor dbcur> that has already been opened cannot be opened again. A line of the result set is always assigned to an opened database cursor as a cursor position. After the OPEN CURSOR> statement, the database cursor is positioned in front of the first line of the result set. After FOR>, the syntax of a SELECT>> statement can be entered which contains all the additions of the normal SELECT> statement, except for INTO> and APPENDING>. In the addition result>>, the addition SINGLE>> also cannot be used after SELECT>. Only a limited number of database cursors can be open at the same time. An open database cursor can be closed using the statement CLOSE CURSOR>>. In addition, an open database cursor is closed for a database commit> or a database rollback>. If a cursor variable dbcur> of an open database cursor is assigned to another cursor variable or passed as a parameter, the latter is associated with the same database cursor at the same position. A cursor variable of an open database cursor can also be passed to procedures> that have been called externally, to enable the database cursor to be accessed from there. Latest notes: We do not recommend that you assign cursor variables to each other, but rather set them exclusively using the statements OPEN CURSOR> and CLOSE CURSOR>. If write accesses> are made on a database table for which a database cursor is open, the results set is database-specific and undefined. Avoid this kind of parallel access if possible. • WITH HOLD OPEN CURSOR ABAP Addition What does it do? If the addition WITH HOLD> is specified, the database cursor is not closed by a database commit executed using Native SQL>>. Latest notes: The addition WITH HOLD> is ignored by implicit database commits>, by commits produced by the statement COMMIT WORK>>, or by any rollbacks that always close the database cursor. A Native SQL> database commit can be performed using the DB_COMMIT>> function module, for example. Wenn der Zusatz WITH HOLD> angegeben ist, dürfen in der INTO >-Klausel der Anweisung FETCH> keine LOB-Handle>s> erzeugt werden. INTHINT Restriction for LOB Handles not yet relevant. Return to menu