-
Gelöschte Sätze werden verarbeitet
Hallo zusammen,
hat jemand eine Erklärung (bzw. eine Lösung) für folgendes Problem:
PGM 1 schreibt Sätze in eine Datei, die von einem anderen Programm weiter verarbeitet werden sollen. Einige Sätze werden sofort wieder gelöscht. (Ich weiss, doofer Programmierstil, aber so ist das nun mal. ) In dem nachfolgenden Programm werden auch die glöschten Sätze verarbeitet (zumindest bei einem konkreten Beispiel). Das erste Programm ist zu diesem Zeitpunkt beendet und die Datei geschlossen.
Die Programme verwenden unterschiedliche LF, alle LF haben Zugriffspfadwartung auf *IMMED stehen.
Während das zweite Programm die gelöschten Sätze verarbeitet, kann ich diese im SQL nicht sehen.
-
Bist du sicher, dass das 2. Pgm nicht parallel startet und die Datei ggf. Input eröffnet ?
Beim Input wird ein Block eingelesen, der eben Sätze enthalten kann, die von dem anderen Programm wieder gelöscht werden.
-
Zitat von Fuerchau
Bist du sicher, dass das 2. Pgm nicht parallel startet und die Datei ggf. Input eröffnet ?
Beim Input wird ein Block eingelesen, der eben Sätze enthalten kann, die von dem anderen Programm wieder gelöscht werden.
Ja, da bin ich sicher. Die Programme werden nacheinander aufgerufen. Ich habe das zweite Programm übern Debugger verfolgt (Die Datei ist USROPEN) und vor dem Öffnen der Datei im selben Job die Daten mit SQL abgefragt: die gelöschten Sätze werden nicht gelesen.
Journaleinträge anzeigen
Journal . . . . . . : XXX Bibliothek . . . . . : QGPL
Auswahl eingeben und Eingabetaste drücken.
5=Gesamten Eintrag anzeigen
Ausw. Folge Code Art Objekt Bibliothek Job Uhrzeit
476 R PT DRFPSU RWE0010001 QPADEV004V 16:15:06
477 R UB DRFPSU RWE0010001 QPADEV004V 16:15:06
478 R UP DRFPSU RWE0010001 QPADEV004V 16:15:06
479 R DL DRFPSU RWE0010001 QPADEV004V 16:15:06
480 F CL DRFPSU RWE0010001 QPADEV004V 16:15:06
481 F CL DRFPSU RWE0010001 QPADEV004V 16:15:06
482 F OP DRFPSU RWE0010001 QPADEV004V 16:15:14
483 F CL DRFPSU RWE0010001 QPADEV004V 16:15:18
484 F OP DRFPSU RWE0010001 QPADEV004V 16:15:34
485 F CL DRFPSU RWE0010001 QPADEV004V 16:15:42
687 F OP DRFPSU RWE0010001 QPADEV004V 16:52:23
688 F OP DRFPSU RWE0010001 QPADEV004V 16:52:28
Ende
F3=Verlassen F12=Abbrechen
Die Einträge bis Folgenummer 485 sind von dem schreibenden Programm, Die Einträge 687 und 688 sind von dem verarbeitenden Programm.
-
Da die Datei anscheinend journalisiert wird, bist du sicher, dass das 1. Programm auch einen Commit absetzt ?
Solange die gelöschten Sätze noch nicht committed sind, sind sie von anderen Programmen noch lesbar, insbesonders wenn diese ohne Commit arbeiten (sog. schmutziges Lesen, dirty read).
Bevor du das 2. Programm startest, schau mal per DSPJOB nach offenen Commits.
SQL arbeitet automatisch mit Commit, wenn dies möglich ist und liest keine schmutzigen Sätze, im RPG muss explizit angegeben werden, dass die Datei unter Commit steht um schmutzige Sätze zu überlesen.
-
Als ich fast verzweifeln wollte, hat sich alles in Wohlgefallen aufgelöst: die 'glöschten' Sätze waren nicht gelöscht, sondern mit einem anderen Schlüssel versehen, der aber auch verarbeitet wird. Bei der Suche habe ich nur den erwarteten Schlüssel abgefragt.
Es wurden zwar tatsächlich Sätze gelöscht, aber die wurden dann auch nicht verarbeitet. Etwas anderes hätte mich auch verwundert.
Also: kaum macht mans richtig, schon funktionierts.
Vielen Dank für die Bemühungen.
Similar Threads
-
By mk in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 30-10-06, 09:19
-
By wm2609 in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 26-01-06, 14:24
-
By User23 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 13-06-05, 09:27
-
By Robi in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-10-04, 09:18
-
By Wirnitzer in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 07-08-01, 19:59
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