Dieser Teil kann mehrmals aufgerufen werden und deshalb wollte ich den Cursor am Schluss closen .
DATA: c1 TYPE cursor.
exec sql.
open c1 for
SELECT distinct ID,
STRING_AGG( VORNAME,',')
FROM Namen
endexec.
DO.
EXEC SQL.
FETCH NEXT c1 INTO :Ms_NAMEN-ID,
:Ms_NAMEN-Vornamen
ENDEXEC.
if sy-subrc eq 0.
APPEND Ms_namen TO Mt_namen.
else.
exit.
endif.
ENDDO.
EXEC SQL.
CLOSE c1.
ENDEXEC.
Wenn ich den CLose drin lasse bekome ich einen Dump mit der Meldung 13.02.2019 -> EXSQL_DSQL_CURSOR_NOT_FOUND .. Versteh ich nicht ...
Wenn ich ihn nicht CLose läuft das PGM ...
ABER!!!!!!!!
Seitdem ich diese Zeilen in meiner Klasse habe dreht SAP durch .. Ich habe ein Programm mit mehrern Dynpros wo der User hin und her springen kann .
Wenn ich nun das Programm aufrufe kann ich ab und zu 20 mal zwischen den Dynpros wechseln und ab und zu kein einziges mal ..
Er bricht dann irgendwann ab mit ->SYSTEM_CORE_DUMPE ?????????
Die CDS (Code Data Services) sollten diese Syntax auch ohne "echtem" Native-SQL unterstützen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.