[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Oct 2004
    Beiträge
    5

    Datei ist gesperrt ?

    Hallo zusammen !

    Ich habe ein VARPG-Programm, welches eine Datei auf der AS400 pflegt.
    Auf der AS400 habe 2 RPG-Programme .

    1. PGM1 Ein Programm, das einen Datensatz per Chain auf der Iseries
    liest und in einer Datenstruktur (1 Feld - 512 Alpha) bereitstellt.

    2. PGM2 Ein Programm, dass einen Datensatz in der Iseries Datei
    schreibt(Write) oder aktualiisert (Update).
    Die Daten werden jeweils per Datenstruktur geliefert.

    Jetzt das Problem :
    Bei mir (V5R3) funktioniert das auch .
    Auf unsere V4R4M0 AS400 geht es nicht.
    Dort bekomme ich die Meldung : CPF5032
    Der Satz ist schon gesperrt ...

    Der Ablauf ist eigentlich folgender :
    Es wird zuerst pgm1(AS400) aufgerufen, und die Daten in ein Fenster geladen.
    Klickt man dann auf speichern(VARPG PC), dann wird pgm2(AS400) aufgerufen.
    PGM2(AS400) bekommt dann per Paramter wieder die Daten und macht dann einen
    Update, bzw. soll einen Update machen.
    Vor dem Update wird allerdings nochmal ein Chain gemacht, damit auch
    der richtige Datensatz geladen ist.

    Das Problem ist wahrscheinlich, das erst ein Chain von pgm1 gemacht
    wird, und dann von pgm2 und das auf die gleiche Datei.
    Aber wie gesagt, auf der neuen ISeries läuft das ja.


    Jemand ne idee

    Gruss sarge

  2. #2
    Registriert seit
    Jun 2004
    Beiträge
    69
    Hallo Sarge,

    wie ist das Programm auf der iSeries denn aufgebaut? Ich würde es immer so machen, dass ich die Datei mit usropn definiere und explizit vor dem Verlassen von pgm1 die Datei schliesse. Dann kann kein lock mehr vorhanden sein. Warum es bei V5R3 klappt und bei V4R4 nicht, weiß ich allerdings auch nicht.

    Gruß
    Alexander

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hallo sarge !

    Die Datei ist in deinem ersten Programm vermutlich für "Update" geöffnet und deshalb setzt der CHAIN dort eine Sperre. Deiner Ablaufbeschreibung nach zu urteilen willst du aber nur lesen. Dann setze die Datei in der Dateidefinition im Programm auf "Input".

    Dadurch ergibt sich natürlich wieder ein anderes Problem: Wie bekommst du mit, ob ein anderer Benutzer gleichzeitig auch eine Änderung an dem Datensatz macht oder machen will? Falls du deshalb im Programm 1 eine Sperre setzen willst: Es ist nicht so gut, dass ein Datensatz gesperrt wird und dann auf eine Benutzeraktion gewartet wird, die längere Zeit auf sich warten lassen kann.

    Viele Grüße
    Jürgen

  4. #4
    Registriert seit
    Oct 2003
    Beiträge
    192
    Hi,

    Würde folgendes vorschlagen

    Datei in pgm1 nur input öffnen.

    In PGM2 bei dem entscheidenden CHAIN kann ja immer nur einer zugreifen, also die Daten schön aus der Datei laden und verwalten lassen.

    Bei dem CHAIN jedoch mit CHAIN(E) machen.
    Dann einfach %ERROR abfragen und solange warten bzw erneut probieren bis nicht mehr %ERROR
    (Alternativ: Zurück zu pgm1 mit Meldung: Satz wird schon bearbeitet.)

    Gruss

    Rince

    (Ob es die ILE Funktionen schon unter älteren Releasen als 520 gibt kann ich dir leider nicht sagen, unsere Maschinen sind alle auf 520 (noch *gg*)

Similar Threads

  1. Datei im IFS auf iSeries verschlüsseln
    By jo400 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 21-10-06, 17:57
  2. Excel Datei mit RPG und POI/HSSF in A4
    By haertl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 30-05-06, 13:36
  3. Datei aus IFS holen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 15-05-06, 13:47
  4. IFS Datei berechtigungen
    By PGMR in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-06-05, 15:37
  5. Embedded SQL in Modul - Nach Insert bleibt Datei gesperrt (*EXCL)
    By JonnyRico in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 09-12-04, 12:21

Berechtigungen

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