[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Apr 2002
    Beiträge
    24

    Post Dateileseprobleme unter V5R1M0

    Hallo @ALL

    Hat von Euch auch schon mal jemand Probleme mit CHAIN in RPG gehabt.

    Ich habe das Problem, dass Ich mit einem Schlüssel eine Datei chaine, diesen Schlüssel in das Dateischlüsselfeld schiebe, die anderen Datenfelder fülle und dann einen WRITE auf die Datei mache.

    Hin und wieder kommt dann der Fehler: RPG1021 Doppelter Schlüssel gefunden.

    Es ist ausgeschlossen, dass eine andere Anwendung zu diesem Zeitpunkt einen Satz mit besagtem Schlüssel geschrieben hat.

    Das Problem tritt bei einem Kunden auf, der V5R1M0 hat. Das Programm wurde aber bei uns unter V4R4 gewandelt.

    Danke für alle Hinweise.

    Gruß Holger

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    340

    Question


    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
    Dateileseprobleme ...
    [/quote]
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
    ... WRITE auf die Datei mache
    ... Fehler: RPG1021 Doppelter Schlüssel gefunden
    [/quote]
    Lese oder Schreibproblem?
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
    Es ist ausgeschlossen, dass eine andere Anwendung zu diesem Zeitpunkt einen Satz mit besagtem Schlüssel geschrieben hat.
    [/quote]
    Ist der Satz in der Datei vorhanden oder nicht?

    Ich würde als erstes auf einen Logikfehler im Programm tippen

    Gruß
    Rolf

  3. #3
    Registriert seit
    Jul 2002
    Beiträge
    53

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von holli:
    Hin und wieder kommt dann der Fehler: RPG1021 Doppelter Schlüssel gefunden.[/quote]
    Schau noch mal genauer ins Joblog. Dort müssen noch andere Meldungen sein. Mit F1 diese sich anzeigen lassen. Da müßte eine Nachricht dann die MSG-ID CPF5009 haben, welche genauere Auskünfte geben sollte.

    Gruß

    Matthias


  4. #4
    Registriert seit
    Mar 2001
    Beiträge
    46

    Wink

    Hallo Holger,

    man kann davon ausgehen, dass tatsächlich doppelte Schlüssel geschrieben werden.

    Entweder ist die Programmlogik nicht in Ordnung oder es gibt logische Dateien, deren Key als eindeutig definiert wurde und die jetzt unter Umständen Probleme machen.

    Ich denke, dass bei einer genaueren Beschreibung des Datei-Keys und der Programm-Statements die Ursache gefunden werden sollte.

    mfg. Ludger

  5. #5
    Registriert seit
    May 2002
    Beiträge
    24

    Post

    holli holli,

    hast du mal gebaggert?
    ausserdem würde mich interessieren ob auf dem system die aktuellen datenbank und hyper-ptfs installiert sind? daran könnte es vielleicht auch liegen.
    ausserdem könntest du es auch mal mit einem setll probieren, der ist ein klein bisschen schneller.

    gruss ina

  6. #6
    Registriert seit
    Apr 2002
    Beiträge
    24

    Post

    Das Problem ist, dass der Fehler nur beim Kunden auftritt. Die canceln dann den Job und löschen auch alle Joblogs. Meine Programmlogik sieht wie folgt aus.

    *ENTRY KLIST
    KFLD #FILIALE

  7. #7
    Registriert seit
    Apr 2002
    Beiträge
    24

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von holli:
    Das Problem ist, dass der Fehler nur beim Kunden auftritt. Die canceln dann den Job und löschen auch alle Joblogs. Meine Programmlogik sieht wie folgt aus.

    *ENTRY KLIST
    KFLD #FILIALE
    [/quote]

    Ich bin auf ENTER gekommen, deswegen watr das Posting unvollständig. Also nochmal:


    KEY KLIST
    KFLD #FILIALE
    KFLD #BELEGNR
    KFLD #LFDNR // laufende NR //

    eval #Filiale = Filiale
    eval #BELEGNR = Belegnr
    eval #LFDNR = Lfdnr

    KEY CHAIN DATEI 95 (not found)

    * füllen Dateifelder
    eval Filiale = #Filiale
    eval Belegnr = #Belegnr
    eval LFDNR = #LFDNR
    eval Betrag = NeuBetrag
    usw.

    If *IN95
    WRITE DATEI
    ENDIF

    Die Datei hat keine logischen Dateien und nur die o.g. Schlüsselfelder.

    Ich habe mal gelesen, dass ab V5 alle RPG-Lese-Befehle in SQL-Befehle umgesetzt werden. Meine Befürchtung ist, dass das für V4R4 erstellte Objekt irgendwie nicht richtig läuft.

    Danke für eure Bemühungen

  8. #8
    Registriert seit
    May 2002
    Beiträge
    1.121

    Post

    hi

    kann es sein, das zwischen dem chain und der abfrage *in95 diese bezugszahl nochmal woanders benutzt wird (z.B.: ein weiter chain auf eine andere datei, ein read, oder was auch immer) ?

    gruß ronald

  9. #9
    Registriert seit
    Apr 2002
    Beiträge
    24

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von malzusrex:
    hi

    kann es sein, das zwischen dem chain und der abfrage *in95 diese bezugszahl nochmal woanders benutzt wird (z.B.: ein weiter chain auf eine andere datei, ein read, oder was auch immer) ?

    gruß ronald
    [/quote]

    Nein, das Programm läuft genau so, wie oben beschrieben. Zwischen dem CHAIN und dem WRITE werden lediglich die Dateifelder gefüllt. Das ist ja das Merkwürdige. Das Programm ist uralt und hat nie Probleme bereitet. Erst seit dem es auf einer Kundenmaschine mit V5R1M0 eingesetzt wurde.
    Ich habe auch ausdrücklich drauf geachtet, dass genau die Schlüsselfelder geschrieben werden, mit denen auch gelesen wurde. Sonst könnte es ja sein, dass irgendwie falsche Daten reinkommen, aber das ist definitiv nicht der Fall.

    Gruß Holli


  10. #10
    Registriert seit
    May 2002
    Beiträge
    1.121

    Post

    versuche es doch mal anstelle von
    if *in95

    mit

    if not %found(datei)

    ronald

  11. #11
    Registriert seit
    Apr 2002
    Beiträge
    24

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von malzusrex:
    versuche es doch mal anstelle von
    if *in95

    mit

    if not %found(datei)

    ronald
    [/quote]

    Gute Idee. Vielleicht kann V5 damit mehr anfangen. Danke für den Tipp, das werde ich gleich mal ausprobieren.


  12. #12
    Registriert seit
    Apr 2002
    Beiträge
    24

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von Ina:
    holli holli,

    hast du mal gebaggert?
    ausserdem würde mich interessieren ob auf dem system die aktuellen datenbank und hyper-ptfs installiert sind? daran könnte es vielleicht auch liegen.
    ausserdem könntest du es auch mal mit einem setll probieren, der ist ein klein bisschen schneller.

    gruss ina
    [/quote]

    Ich habe leider keine Erfahrung mit V5. Wie kann ich denn rauskriegen, ob die Hyperptfs installiert sind?
    Vielleicht geht es mit SETLL, aber eigentlich sollte der CHAIN es auch bewerkstelligen.


Similar Threads

  1. Link zu QDLS defekt (V5R1M0)
    By Pgmr4 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 27-07-05, 14:34
  2. IBM 4247 an Client Access V5R1M0
    By programmer in forum NEWSboard Drucker
    Antworten: 3
    Letzter Beitrag: 25-10-04, 21:10
  3. Erstellen virtuelles CD Laufwerk unter V5R1M0
    By rry in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 25-08-04, 06:34
  4. SiteManager mit OS/400 V5R1M0?
    By Gratz in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 25-07-02, 09:00
  5. PTF Stand V5R1M0
    By Wirnitzer in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 22-08-01, 11:30

Berechtigungen

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