[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    163

    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.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2003
    Beiträge
    163
    Zitat 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.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    163
    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

  1. Ihre iSeries bzw. i5 verarbeitet Excel und mehr
    By mk in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 30-10-06, 10:19
  2. gelöschte Sätze wieder verwenden
    By wm2609 in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 26-01-06, 15:24
  3. SQL - gelöschte Datensätze wiederherstellen
    By User23 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 13-06-05, 10:27
  4. Performanceverlust durch gelöschte Sätze
    By Robi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-10-04, 10:18
  5. gelöschte Sätze
    By Wirnitzer in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 07-08-01, 20:59

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •