-
Datei in QTEMP läßt sich nicht löschen
Hallo,
habe per CREATE SCHEMA eine Bibliothek erstellt und darin per CREATE Table einige Tabellen erstellt.
Drei dieser Tabellen benötige ich in der weiteren Verarbeitung in der QTEMP als leere Tabellen. Diese werden per CRTDUPOBJ kopiert.
LG0100
LG0110
LG0140
Programm läuft an und bereitet Daten auf (per Embedded SQL).
Nach Beendigung des Jobs sollen diese drei Tabellen wieder gelöscht werden (DLTF).
Bei LG0100 und bei LG0140 klappt dies wunderbar, nur die Datei LG0110 wird nicht gelöscht, es kommt folgende Meldung:
Nachrichten-ID . . . . : CPF3220 Bewertung . . . . . . : 40
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 12.11.10 Sendezeit . . . . . . : 10:25:44
Nachricht . . . : Operation für Datei LG0110 in QTEMP kann nicht ausgeführt
werden.
Ursache . . . . : Die Operation 1 wurde für die Datei LG0110 in Bibliothek
QTEMP wurde nicht ausgeführt, da die Teildatei LG0110 gerade offen ist oder
mit Sätzen geschlossen wurde, die für COMMIT-Definition *N nicht
festgeschrieben wurden. Die Operationsarten haben folgende Bedeutung:
1 - Befehl DLTF (Datei löschen).
2 - Befehl RMVM (Teildatei entfernen).
3 - Befehl RNMOBJ (Objekt umbenennen).
4 - Befehl MOVOBJ (Objekt übertragen).
5 - Befehl RNMM (Teildatei umbenennen).
6 - Befehl ADDPFCST (Integritätsbedingung für physische Datei hinzufügen).
Nach Prüfung habe ich festgstellt, dass in LG0110 und in LG0140 keine Daten sind, warum kann LG0140 gelöscht werden und LG0110 nicht?
Auch manuell kann LG0110 nicht gelöscht werden.
Was kann ich tun?
Vielen Dank,
Gruss
Michal
-
Mal blöd gefragt: Warum willst Du die löschen? Ist der Job weg, sind die Daten auch weg.
GG
Ich weiß klärt das Problem nicht, aber bevor man sich festbeißt....
-
Hier geht es um Daten die immer wieder neu aufbereitet werden müssen. Job ist UserJob, die Files sind erst weg wenn der User sich abmeldet - ich muss die Files vorher löschen.
-
welches Release
Hallo Michal,
welches Release ist denn auf der ISeries installiert ?
-
V5R4
in meinem getesteten Ablauf werden LG0110 und LG0140 nicht befüllt, LG0140 wird gelöscht, LG0110 nicht. Ich verstehe das nicht, da ausser dem CRTDUPOBJ mit den beiden Dateien nichts gemacht wird. In LG0100 werden Daten geschrieben, die lässt sich löschen.
-
-
Aus Performancegründen würde ich da eher einen "DELETE FROM QTEMP.MYTABLE" empfehlen als ständig einen DLTF/CRTDUPOBJ.
-
... wenn wir schon bei Empfehlungen sind: aus Design Gründen würde ich den ganzen Wackelhaufen mit CRTDUPOBJ hin und zurück - und was weiß ich was noch alles, bleiben lassen. Sollte mich nicht wundern, wenn man das durch ein SQL Statement ersetzen kann.
D*B
-
 Zitat von BenderD
... wenn wir schon bei Empfehlungen sind: aus Design Gründen würde ich den ganzen Wackelhaufen mit CRTDUPOBJ hin und zurück - und was weiß ich was noch alles, bleiben lassen. Sollte mich nicht wundern, wenn man das durch ein SQL Statement ersetzen kann.
D*B
Hallo BenderD, das geht leider nicht, da eine Logik Daten aufbereitet, im SQL keine Chance.
Es geht um Bestandsbuchungen vorwärts - rückwärts. Errechne Bestand zu einem bestimmten Zeitraum (von - bis). Dazu möchte ich natürlich bereits vorhandene Buchungsprogramme nutzen.
Übrigens: Mit CPYF wird besagte Datei kopiert aber später ebenfalls nicht gelöscht - m E. ein Bug in der iSeries.
-
... ich mache da mal ein Fragezeichen dran, SQL kann immens viel.
Zum Problem selber: sind da OVRDBF im Spiel? sind da verschiedene Activation Groups im Spiel?
D*B
 Zitat von hoerl
Hallo BenderD, das geht leider nicht, da eine Logik Daten aufbereitet, im SQL keine Chance.
Es geht um Bestandsbuchungen vorwärts - rückwärts. Errechne Bestand zu einem bestimmten Zeitraum (von - bis). Dazu möchte ich natürlich bereits vorhandene Buchungsprogramme nutzen.
Übrigens: Mit CPYF wird besagte Datei kopiert aber später ebenfalls nicht gelöscht - m E. ein Bug in der iSeries.
-
Wäre ja schlimm, wenn QTEMP's wiederverwendet würden.
Mir ist da nichts bekannt.
Jeder Job bekommt seine eigene neue QTEMP.
Die QTEMP wird bei Jobende bereinigt und wenn der Job verschwindet (keine Spools mehr) entfernt.
-
Wer weiß da näheres dazu: Wenn ein Job beendet wird, löscht das System alle Objekte aus der Bibliothek QTEMP. Was passiert eigentlich wenn ein Objekt nicht gelöscht werden kann? Hat dann ein anderer, neuer Job dieses Objekt in seiner QTEMP stehen?
Similar Threads
-
By Kaufmann in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 10-10-07, 06:35
-
By Karo in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 29-07-05, 14:00
-
By JonnyRico in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 31-03-05, 09:16
-
By BeRe in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 28-02-05, 08:26
-
By PGMR in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 24-06-04, 14:30
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks