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 )






