-
MCH3402
Hallo zusammen,
erst mal ein gutes neues Jahr.
Mein Programm was seit Jahren läuft stürzt ab wenn zuvor ein anderes Programm aufgerufen wurde. Dieses andere Programm schließt allerdings auch nicht alle Dateien sauber.
Der Fehler den er bringt ist MC3402 - Es wurde versucht, auf ein nicht mehr vorhandenes Objekt oder Teile des Objekts Bezug zu nehmen.
Der Fehler tritt auf wenn mein Programm eine eigene Funktion aufruft und dort auf eine Datei zugreift, die wie bereits gesagt, im vorher gelaufenen Programm nicht sauber geschlossen wird. Ich wollte aber jetzt nicht unbedingt im anderen Programm rummwühlen und suchen wo die Dateien nicht geschlossen werden. Wenn es überhaupt an der offenen Datei liegt.
Hat jemand eine Idee ?
Viele Grüße Harkne
-
Prüfe mal auf Dateiüberschreibungen oder geänderte Lib.
Dateiüberschreibungen auf Jobebene löschen sich nicht automatisch.
Wenn z.B. ein OPNQRYF mit OVRDBF kombiniert wird und nicht sauber gelöscht wird, ein OVRDBF auf eine Datei in QTEMP. Da gibt es viele Möglichkeiten.
Im Joblog sollten vor dem MCH ggf. noch weitere Fehler (CPFxxxx) aufgetaucht sein.
-
Du hast jetzt nicht gesagt, was Du zwischen dem Programm mit den nicht sauber geschlossenen Dateien und dem eigentlichen Programm machst.
Zufällig ein zur Sicherheit ein RCLRSC ausführen?
Das wäre tötlich, wenn ILE Programme in der Default-Aktivierungsgruppe laufen!
In diesem Fall ist ein Zugriff auf die durch RCLRSC geschlossenen Dateien NICHT möglich!
Birgitta
Birgitta
-
Ein RCLRSC in der DFTACTGRP ist (bei mir zumindest) immer unkritisch gewesen.
Auch ILE-Programme wurden dann rausgeschmissen und verhalten sich beim nächsten Aufruf wie bei Neustart (also 1. Aufruf).
Der RCLRSC berücksichtigt nur die angegebene Aufrufebene.
Kritisch ist natürlich ein RCLRSC *CALLER, wenn ich dieses aus dem RPG/ILERPG mittels QCMDEXC mache. QCMDEXC wird nicht als Aufrufebene gewertet so das der RCLRSC das eigene Programm ist. Somit werden dann auch meine Dateien geschlossen und der Zugriff führt zu MCH-Fehlern.
Ein RCLRSC in einer benannten Aktivierungsgruppe ist wirkungslos.
Aber das ist eh Spekulation so lange man die Meldungen vor dem MCH nicht kennt.
-
Ich mach auf Befehlsebene:
CALL anderes Programm
anschließend
CALL mein Programm
Absturz von meinem Programm
Wenn ich mich abmelde und anmelde und nur
CALL mein Programm
mache ist alles in Ordnung.
Keine anderen CPF Messages. Das Programm geht noch nicht mal in die PSSR und macht keinen DUMP. Wir prüfen momentan aber auch noch an anderer Stelle weil bei uns am Wochende PTFs eingespielt wurden.
Was alles im "anderen Programm" im CL passiert kann ich nicht sagen, das prüfe ich jetzt mal.
Danke für die Antworten
-
Also um die Datei um die es geht ist sowohl in dem anderen Programm als auch in meinem Programm nur als IF eröffnet.
Im anderen Programm wird nur ein STRCMTCTL und ENDCMTCTL ausgeführt, was die Datei ja aber nicht betrifft. Allerdings wird dort wieder ein RPG aufgerufen was unglaublich viele andere Programme aufruft. Was da passiert schaue ich mir nur an wenn es keine anderen Möglichkeiten mehr gibt
-
... wenn dein Programm ILE ist, dann könnte eine eigene benamte ACTGRP helfen.
D*B
-
Möglicherweise kann es am CMTCTL liegen.
Wenn ENDCMTCTL aufgerufen wird, kann der ggf. mit Fehler abgewiesen werden da eine Transaktion nicht abgeschlossen ist.
Wenn du die Dateien ohne Commit bearbeitest führt dies ggf. genau zu diesen Fehlern.
Mach mal vor deinem 2. Call ein DSPJOB, Auswahl 16.
Falls eine Definition offen ist mache einen
ROLLBACK
ENDCMTCTL
und betrachte ggf. die Nachrichten.
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