[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2002
    Beiträge
    61

    Post Simples Problem die 2. :-)

    Hallo,

    ich hab ein Programm zur erfassung von ausgeliehenen CDs geschrieben. Die DSPF Datein heißt "TESTDSPF".

    Beim Compilieren werden 0 schwerwiegende fehler angezeigt. Wenn ich das Programm starten will kommt folgende Fehlermeldung:

    Fehlernachricht CPF4131 wurde während OPEN für Datein TESTDSPF angezeigt

    Wie soll ich tun?

    mfg
    steven

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

    Post

    wandle das programm noch einmal. wenn du das dds-file änderst, musst du auch immer noch einmal das proggi dazu wandeln. (siehe auch dein erstes prob in diesem forum)
    gruß ronald

    [Dieser Beitrag wurde von malzusrex am 25. September 2002 editiert.]

  3. #3
    Registriert seit
    Sep 2002
    Beiträge
    61

    Post

    Oh, mein fehler. Ich hab vergessen, das ich das schonmal gefragt hab. Sorry.

    /edit

    Hab das gemacht, und funzt aber trotzdem nicht.

    [Dieser Beitrag wurde von Steven am 25. September 2002 editiert.]

  4. #4
    Registriert seit
    Oct 2001
    Beiträge
    84

    Post

    Hallo,

    schau doch mal nach, ob Deine DSPF mehrfach auf dem System liegt. Vielleicht startest Du ja dein PGM über ein CL-PGM, welches die Bibliotheksliste anfäßt und Dich auf eine evtl. vorhandene ältere DSPF zugreifen läßt ....

  5. #5
    Registriert seit
    Sep 2002
    Beiträge
    61

    Post

    Habs jetzt schon, war ein fehler im Code.

    trotzdem danke

  6. #6
    Registriert seit
    Sep 2002
    Beiträge
    61

    Post

    Ich hab mal wieder eins:

    Wenn ich einen Datensatz in einer PF verändern will, also per update-befehl) kommt folgende fehlermeldung:

    C
    Fortschreiben oder Löschen in Datei CDLIST (die PF) ohne vorherige Eingabeoperation

    Wie soll ich tun?

  7. #7
    Registriert seit
    Jan 2001
    Beiträge
    833

    Post

    Hallo Steven,

    wenn Du einen datenbanksatz mit Update verändern möchtest, musst Du den Satz vorher lesen.

    (READ,CHAIN etc....)

    gruss Michael

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    2.875

    Post

    Hallo Steven,

    hast Du Deine Datei auch als Update-File in den F-Bestimmungen definiert?

    FMYFILE UF E DISK

    B.Hauser
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  9. #9
    Registriert seit
    Sep 2002
    Beiträge
    61

    Post

    Ich hab den CHAIN, und oben hab ich

    FCDLIST UF A E K DISK

    wenn ich nur FCDLIST UF E DISK eingebe kommen 7 neue 30iger Fehler.

  10. #10
    Registriert seit
    Sep 2002
    Beiträge
    61

    Post

    Also das funktioniert jetzt. Ich hab jetzt nurnoch ein problem. Ich versuchs mal zu erklären:

    Ich habe eine Datenbank (CDLIST) und eine Eingabemaske (EINGABMAS). Die maske hat ein paar felder in denen, wenn ich Bild-Auf oder Bild-Ab, drücke immer der nächste oder der vorherige Datensatz erscheinen soll. Das funktioniert auch.
    Das Programm soll aber dazu da sein neue Datensätze einzutragen, oder alte zu verändern. Wenn ich nicht also mit Bild-Auf/Ab einen Datensatz suche soll er verändert werden können und dann wieder abgespeichert werden. Das funktioniert aber nicht. Er wird zwar abgespeichert, aber als neuer Datensatz und nicht als veränderung des alten. Es sind also dann 2 Datensätze vorhanden.
    Das Abspeichern von neuen Datensätzen ohne einen Datensatz zu suchen funktioniert.

    Ich mache das mit einer subroutine. Also falls Bild-Auf/Ab gestartet wird soll die Subrotine gestartet werden. Hier ein screenshot des codes. ($SF ist in der EINGABMAS)




  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.875

    Post

    Hallo Steven,

    es kann eigentlich nicht sein, dass durch einen Update ein anderer Satz erzeugt wird.

    Ist es möglich, dass Du eine geschlüsselte Datei verwendest, und die Schlüssel-Felder änderbar sind?
    Mit dem geänderten Schlüssel wird dann geprüft, ob der Satz vorhanden ist. Wenn zufällig ein Satz mit dem neuen Schlüssel vorhanden ist, wird dieser upgedated ansonsten ein neuer Satz geschrieben.

    In diesem Fall solltest Du nur zum Blättern die geschlüsselte Datei verwenden und als Input-Datei definieren.

    Bei Datenfreigabe den Satz über relative Satz-Nr. einlesen und fortschreiben.

    Noch ein paar Anmerkungen zum Programmier-Stil:
    1. GOTO und CABxx sollten vermieden werden.
    Es ist möglich eine Subroutine mit LEAVESR zu verlassen.
    2. Bezugszahlen sollten und können bis auf die im DDS benötigten vermieden werden.
    Wenn man schon mit Bezugszahlen arbeitet, sollte SETON und SETOFF vermieden werden.
    EVAL *IN23 = *On
    3. MOVE und MOVEL sollten in RPGIV vermieden werden und stattdessen EVAL und EVALR verwendet werden.

    Birgitta

    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. Problem mit Steuerzeichen in Datenbank?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 26-10-06, 10:07
  3. Authorization Problem nach ändern der Primary Group
    By ChrisX in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 11-10-06, 15:31
  4. Merkwürdiges Problem in VRPG
    By Flappes in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 06-10-06, 08:39
  5. CrtSQLRPGi - Problem bei Programmerstellung
    By sim in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 10-05-06, 14:45

Berechtigungen

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