ABAPEXEC_CURSOR - EXEC CURSOR

TXBHW - Original Tax Base Amount in Local Currency   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

EXEC SQL - OPEN, CLOSE, FETCH

In Native SQL können ähnliche Anweisungen zum Lesen von Daten über einenDatenbank-Cursor angegeben werden wie inOpen SQL.

Syntax

EXEC SQL.
  OPEN dbcur FOR SELECT ...
ENDEXEC.

Wirkung

Öffnet einen Datenbank-Cursor dbcur. Für dbcur kann auch eineflache zeichenartigeHostvariable angegeben werden.

Syntax

EXEC SQL.
  FETCH NEXT dbcur INTO ...
ENDEXEC.

Wirkung

Liest Daten über einen geöffneten Datenbank-Cursor dbcur.

Syntax

EXEC SQL.
  CLOSE dbcur
ENDEXEC.

Wirkung

Schließt einen geöffneten Datenbank-Cursor dbcur.

Wenn über FETCH keine Zeile gelesen werden kann, wird sy-subrc von ENDEXECauf 4 gesetzt. Das Systemfeld sy-dbcnt wird nach einer FETCH-Anweisung auf die Anzahl der bis dahin über den betreffenden Cursor gelesenen Zeilen gesetzt.

Hinweis

Es hängt von dem verwendeten Datenbanksystem ab, ob der Datenbank-Cursor auf der Datenbank nachder Entnahme der letzten Zeile der Ergebnismenge implizit geschlossen wird oder nicht. Deshalb empfiehlt sich immer die explizite Verwendung der Anweisung CLOSE dbcur.

Beispiel

Auslesen mehrerer Zeilen aus der Datenbanktabelle SPFLI über Cursor-Behandlung und Hostvariablenin Native SQL. Wenn Zeilen gefunden wurden, wird sy-subrc auf 0 gesetzt und sy-dbcnt für jede gelesene Zeile um 1 erhöht.

PARAMETERS p_carrid TYPE spfli-carrid.

DATA:  connid   TYPE spfli-connid,
       cityfrom TYPE spfli-cityfrom,
       cityto   TYPE spfli-cityto.

EXEC SQL.
  OPEN dbcur FOR
    SELECT connid, cityfrom, cityto
           FROM spfli
           WHERE mandt  = :sy-mandt AND
                 carrid = :p_carrid
ENDEXEC.

DO.
  EXEC SQL.
    FETCH NEXT dbcur INTO :connid, :cityfrom, :cityto
  ENDEXEC.
  IF sy-subrc <> 0.
    EXIT.
  ELSE.
    ...
  ENDIF.
ENDDO.

EXEC SQL.
  CLOSE dbcur
ENDEXEC.




CL_GUI_FRONTEND_SERVICES - Frontend Services   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 3596 Date: 20120526 Time: 195914     triton ( 100 ms )