Zitat Zitat von Robi Beitrag anzeigen
Hi *all

habe hier in einem SQLRPGLE Pgm folgende Befehle
Code:
C/EXEC SQL     DROP TABLE QTEMP/KPI_ZV                 
C/END-EXEC                                             
C/EXEC SQL     DROP   VARIABLE LFNR2                   
C/END-EXEC                                             
C/EXEC SQL     DROP   VARIABLE RRTT2                   
C/END-EXEC                                             
C/EXEC SQL     DROP   VARIABLE RRMM2                   
C/END-EXEC                                             
C/EXEC SQL     DROP   VARIABLE RRJJ2                   
C/END-EXEC                                             
C/EXEC SQL     DROP   VARIABLE SQ_DATUM                
C/END-EXEC                                             
C/EXEC SQL     CREATE VARIABLE LFNR2 DECIMAL (2, 0)    
...
Wenn das Pgm läuft habe ich im Joblog eine Meldung, das die Datei KPI_ZV nicht gelöscht werden konnte, da Sie nicht existiert. --> OK
Die nächste Meldung im Joblog ist, das LFNR2 der Art *SRVPGM in QGPL bereits vorhanden ist.

Ich habe keine Erfolg/Mißerfolg Meldung für die DROP Variable ...

kann das jemand erklähren.

Danke Robi
Wenn Du irgendwelche SQL Objekte ohne Bibliothek anlegst, werden diese bei Verwendung von System Naming in der Bibliothek QGPL erstellt.

Wenn Du unter System Naming mit DROP ein Objekt löschst, wird die Bibliotheksliste nach dem Objekt durchsucht.

In Deinem Fall könnte ich mir vorstellen, dass die globale Variable in der Bibliothek x, die vor der QGPL steht gelöscht wird, während in der QGPL die Variable existiert.

Warum willst Du überhaupt globale Variablen löschen. Die funktionieren wie Datenbereiche in der QTEMP, d.h. Du musst den Inhalt lediglich in jedem Job (über ein SET-Statement) initialisieren.

Birgitta