View Full Version : Fehler CPF4328
Hallo zusammen,
In einem RPG-Pgm. wird neben anderen Dateien eine mit SQL erstellte Tabelle XXX verarbeitet.
Unter Version 5.4 war das kein Problem.
Nach der Umstellung auf Version 7.1 bekomme ich den Fehler
CPF4328 Teildatei XXX nicht im Journal aufgezeichnet.
Genügt es, wenn ich diese Tabelle in einem Journal aufzeichne. Oder ist da mehr zu beachten ?
Hat jemand damit Erfahrung ?
Danke und viele Grüße
GJV
Hallo,
habt ihr für die die Umstellung die Programme neu kompiliert?
Wenn es sich bei dem RPG-Programm um ein SQLRPG(LE) handelt, könnte es sein, dass bei der Umwandlung der Parameter COMMIT nicht auf *none gesetzt wurde.
Dann funktioniert ein Update nur, wenn die Datei im Journal aufgezeichnet ist.
Hallo GJV,
ich vermute da fehlt Dir das "SI45050" ein 1000er aus dem
IBM SE46613 - OSP-DB CPF4328 / SQL7008 RC3 FOR AN INSERT INTO A VIEW UNDER *CS - United States (http://www-01.ibm.com/support/docview.wss?uid=nas2029faafe891de1d98625781f0041f1 23)
Hallo,
habt ihr für die die Umstellung die Programme neu kompiliert?
Wenn es sich bei dem RPG-Programm um ein SQLRPG(LE) handelt, könnte es sein, dass bei der Umwandlung der Parameter COMMIT nicht auf *none gesetzt wurde.
Dann funktioniert ein Update nur, wenn die Datei im Journal aufgezeichnet ist.
Sofern der Fehler durch eine erneute Umwandlung mit den Default-Werten im CRTSQL-Befehl verursacht wurde, würde ich empfehlen in die Quellen ein SET OPTION Statement einfügen, in dem Compile-Optionen für den SQL Precompiler gesetzt werden können.
/Free
Exec SQL Set Option Commit = *NONE, DatFmt = *ISO ....;
Da das SET OPTION Statement Compilierungsoptionen enthält (ähnl. wie H-Bestimmungen) muss es physisch als 1. SQL Statement in den Source Code eingebunden werden.
... allerdings deutet CPF4328 auf einen RPG und nicht auf einen SQL-Fehler hin.
So wie es aussieht wird die Datei in RPG unter Commit verarbeitet, ist jedoch nicht aufgezeichnet. In diesem Fall sollte eine Registrierung im Journal ausreichen. Es sollte sicherheitshalber geprüft werden, ob alle Dateien, die in RPG unter COMMIT verarbeitet werden aufgezeichnet werden.
Birgitta
Vorerst Danke für die Antworten,
zur Info: es handelt sich um kein SQLRPG-Pgm.
Es ist ein normale RPGLE-Pgm.
Viele Grüße
GJV
Auch normale RPG-Programme unterstützen Commit/Control (F-Bestimmungen).
Das Programm erwartet anscheinend, dass die Datei aufgezeichnet werden soll.
Also irgendwas müsst ihr da geändert haben:
Z.B.: neue Bibliothek ohne Journal und Empfänger
Hallo Forum,
ich konnte mir nur damit helfen, indem ich alle mit SQL erstellten Tabellen Journalisiert habe. Scheinbar ist damit das Problem beseitigt.
(Auch PTF SI45050 hat nichts gebracht)
Ich finde allerdings keinen Hinweis, dass dies ab V 7.1 notwendig ist.
Wenn jemand dazu mehr Informationen hat wäre ich dankbar.
Viele Grüsse
GJV
Wenn dem so ist, dass dieser Fehler kommt, wenn Ihr SQL-Tabellen in den F-Bestimmungen ohne Angabe von COMMIT einbindet, ist dies ein Bug und sollte der IBM gemeldet werden!
Es ist insbesondere dann ein Bug, wenn dieser Fehler bei DDS beschriebenen Dateien nicht auftaucht.
Birgitta
andreaspr@aon.at
27-01-12, 10:22
Die Frage, ob nun COMMIT verwendet wird oder nicht, ist damit noch immer nicht beantwortet!
Wenn du die Tabellen mit einem Constraint verbunden hast, ist ein Journal auch pflicht. (Auch ohne COMMIT).
lg Andreas
Hallo,
COMMIT wird nicht verwendet.
Allerdings sind 2 SQL-Tabellen mit Constraint verbunden.
Das war allderding unter 5.4 auch schon so. Da war es kein Problem.
lg
GJV