-
Es wäre schon mal interessant zu wissen, welche Fehler Du bekommst.
Ansonsten sollte es wie folgt funktionieren.
1. Beide Dateien im Journal registrieren.
2. Programm mit Option COMMIT=*CHG umwandeln (oder besser ein SET OPTION-Statement mit COMMIT=*CHG vor dem 1. SQL-Statement in den QuellCode einfügen)
3. Sicherheitshalber vor dem ersten INSERT ein COMMIT-Statement ausführen (damit nicht festgeschriebene Änderungen, festgeschrieben werden)
4. Erstes Insert ausführen
5. Wenn SQLCODE < *ZEROS --> ROLLBACK (Und Ende)
6. Zweites Insert ausführen
7. Wenn SQLCODE < *ZEROS --> ROLLBACK (Und Ende)
8. COMMIT
Etwa so:
Code:
Exec SQL Set Option Commit=*CHG;
Exec SQL Commit;
Exec SQL Insert ....;
If SQLCODE < *Zeros;
Exec SQL Rollback;
Return;
EndIf;
Exec SQL Insert ....;
If SQLCODE < *Zeros;
Exec SQL Rollback;
Return;
EndIf;
Exec SQL Commit;
Anmerkung: SET TRANSACTION ISOLATION ist nicht erforderlich. SQL startet Commitment Control automatisch, bei COMMIT<>*NONE und falls noch nicht gestartet.
Wenn Du in RPG-Programmen nicht explizit COMMIT in den F-Bestimmungen angegeben hast und die sonstigen SQL-Programme mit INSERT/UPDATE/DELETE mit COMMIT=*NONE umgewandelt hast, passiert nichts, wenn die Commitment Steuerung gestartet bleibt.
Du kannst natürlich auch nach Programm-Ende explizit den CL-Befehl ENDCMTCTL ausführen.
Birgitta
-
... ob set option besser ist, weiß ich nicht; ich würde in jedem Fall ein CRTSQLRPGI OBJTYPE(*MODULE) machen, da man die Sperrstufe dann auf module Ebene machen kann. Dieses Modul erstellt man dann mit commit level <> *NONE; dann läuft in diesem Modul alles mit commit, in allen anderen Module mit der Sperrstufe des jeweiligen Moduls.
Zu Beginn macht man selbstredend kein "Angst-Commit", sondenr allenfalls ein Rollback, um unvollständige Transaktionen abzuräumen.
Warum man noch F-Karten ablochen soll, wenn man embedded SQL kann, erschließt sich mir ebenfalls nicht und ENDCMTCTL würde ich ebenfalls bleiben lassen, das kann Probleme bei Folgeaufrufen geben.
D*B
Similar Threads
-
By dibe in forum IBM i Hauptforum
Antworten: 19
Letzter Beitrag: 21-12-15, 22:48
-
By DEVJO in forum NEWSboard Programmierung
Antworten: 12
Letzter Beitrag: 29-09-15, 14:07
-
By coolie in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 10-10-14, 09:06
-
By coolie in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 07-08-14, 15:11
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks