[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    309

    Probleme mit "SQL - update"

    ich möchte in einem SQLRPG einen bestimmten Satz einer Datei mit SQL updaten

    Habe folgendes Statement in mein SQLRPG eingebaut:
    H .J
    *
    C/EXEC SQL
    C+ UPDATE xxx/ARTIKPF
    C+ SET VERPRM = 999
    C+ WHERE FIRMNR = '626' AND ARTNR = '100272500'
    C/END-EXEC
    *
    C MOVE *ON *INLR


    der entsprechende Satz wird aber leider nie upgedated ?!?!?

    was mache ich falsch, bzw. muss ich etwas spezielles berücksichtigen

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    berücksichtigen muss man da schon mehreres, zum Beispiel sollte man das Programm umwandeln und aufrufen und im Joblog nachschauen und im Programm den SQLCODE abfragen...

    Zitat Zitat von muadeep Beitrag anzeigen
    ich möchte in einem SQLRPG einen bestimmten Satz einer Datei mit SQL updaten

    Habe folgendes Statement in mein SQLRPG eingebaut:
    H .J
    *
    C/EXEC SQL
    C+ UPDATE xxx/ARTIKPF
    C+ SET VERPRM = 999
    C+ WHERE FIRMNR = '626' AND ARTNR = '100272500'
    C/END-EXEC
    *
    C MOVE *ON *INLR


    der entsprechende Satz wird aber leider nie upgedated ?!?!?

    was mache ich falsch, bzw. muss ich etwas spezielles berücksichtigen
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    309
    a) Programm wurde selbstverständlich umgewandelt!

    b) Joblog bringt nach call des Programm's folgende Fehlermeldungen:
    - Teildatei ARTIKPF nicht in Journal *N aufgezeichnet.
    - ARTIKPF in xxx für Operation ungültig.

    wenn ich mit STRSQL das SQL-Statement
    (UPDATE xxx/ARTIKPF SET VERPRM = 999 WHERE FIRMNR = '626' AND ARTNR = '100272500') funktioniert es !!!

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    das Programm wurde mit dem default COMMIT(*CHG) erstellt, während die SQL Session auf COMMIT(*NONE) eingestellt ist.
    Notbehelf: Programm mit COMMIT(*NONE) umwandeln.
    Empfehlung: Commit Steuerung in Programm durch Journalisierung der Datei ermöglichen und verwenden:

    Dieter Bender

    Zitat Zitat von muadeep Beitrag anzeigen
    a) Programm wurde selbstverständlich umgewandelt!

    b) Joblog bringt nach call des Programm's folgende Fehlermeldungen:
    - Teildatei ARTIKPF nicht in Journal *N aufgezeichnet.
    - ARTIKPF in xxx für Operation ungültig.

    wenn ich mit STRSQL das SQL-Statement
    (UPDATE xxx/ARTIKPF SET VERPRM = 999 WHERE FIRMNR = '626' AND ARTNR = '100272500') funktioniert es !!!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    309
    BINGO !!!

    das war's! -> dankeschön


    Eine Frage hätt ich noch:
    bin mit Journalisierung nicht so speziell! :-(

    Wie ermögliche ich die "Commit Steuerung in Programm durch Journalisierung der Datei?

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Journal anlegen mit: CRTJRNRCV, CRTJRN
    Dateien journalisieren (zeichnet Änderungen auf: STRJRNPF
    Programme mit COMMIT(*CHG) wandeln
    Am Ende jeder Transaktion werden dann mit Commit die Änderungen festgeschrieben und die Satzsperren freigegeben, oder mit Rollback alles rückgängig gemacht und Sperren freigegeben.

    Vorsicht: mit Commit *NONE arbeitet SQL ohne Satzsperren (Ausnahme Cursor).
    Beispiel:
    A liest Lagermenge 27 und addiert 3
    B liest Lagermenge 27 und addiert 5
    A schreibt 30
    B schreibt 32
    Fazit: A hätte sich das auch schenken können, meint aber, dass er drei zugebucht hat.

    Dieter Bender

    Zitat Zitat von muadeep Beitrag anzeigen
    BINGO !!!

    das war's! -> dankeschön


    Eine Frage hätt ich noch:
    bin mit Journalisierung nicht so speziell! :-(

    Wie ermögliche ich die "Commit Steuerung in Programm durch Journalisierung der Datei?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. probleme file ins IFS stellen
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-01-07, 07:48
  2. Probleme mit V5R3M5
    By heini in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 12-12-06, 11:42
  3. Probleme mit BS Installation
    By v4i in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 08-11-06, 10:03
  4. SQL-Performance Probleme ODBC
    By berndl in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 13-10-06, 09:28
  5. IFS als Netzlaufwerk - Probleme bekannt?
    By kuempi von stein in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 19-07-06, 13:14

Berechtigungen

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