-
Fehler bei Prozedur in Serviceprogramm
Hallo zusammen,
ich habe ein Problem mit einem Serviceprogramm. Das Programm enthält mehrere Prozeduren. Wenn in einer Prozedur ein Fehler auftritt (in diesem Fall war es ein doppelter Schlüssel), wird dieser Fehler im aufrufenden Progarmm angezeigt: The call to MOVEARTICL ended in error (C G D F).
Nachdem ich das Programm neu gestartet habe, erhalte ich beim Aufruf einer Prozedur aus diesem Serviceprogram die Fehler:
The call to CLOSEOB02 ended in error (C G D F).
Tried to refer to all or part of an object that no longer exists.
Ich habe schon ein ein RCLRSC versucht, hat aber nichts gebracht. Erst nachdem ich mich neu angemeldet habe, läuft es wieder. Hat jemand eine Idee, wie ich das Problem beheben kann?
Danke
Hubert
-
Ggf. ist ein RCLACTGRP erforderlich !
-
Leider hat auch RCLACTGRP nicht geholfen.
Das Programm nutzt mehrere Serviceprogramme. Jedes Programm hat seine eigene Activation Group. Die Activation Group des Serviceprogramms, in dem der Fehler aufgetreten ist, existiert danach nicht mehr.
Da kann ich nur hoffen, dass ich jetzt alle möglichen Fehler sauber abgefangen hab.
Danke für die Unterstützung.
Hubert
-
Zitat von Hubert
Hallo zusammen,
ich habe ein Problem mit einem Serviceprogramm. Das Programm enthält mehrere Prozeduren. Wenn in einer Prozedur ein Fehler auftritt (in diesem Fall war es ein doppelter Schlüssel), wird dieser Fehler im aufrufenden Progarmm angezeigt: The call to MOVEARTICL ended in error (C G D F).
Nachdem ich das Programm neu gestartet habe, erhalte ich beim Aufruf einer Prozedur aus diesem Serviceprogram die Fehler:
The call to CLOSEOB02 ended in error (C G D F).
Tried to refer to all or part of an object that no longer exists.
Ich habe schon ein ein RCLRSC versucht, hat aber nichts gebracht. Erst nachdem ich mich neu angemeldet habe, läuft es wieder. Hat jemand eine Idee, wie ich das Problem beheben kann?
Danke
Hubert
Gib beim nächsten mal D ein, meines wissens nach müßte ein detailierter fehlerbericht die folge sein
Gruß AS400.lehrling
-
Leider steht die Maschine in Toronto und wird von dort administriert. Die Fehlermeldung wird vom System sofort mit 'C' beantwortet, da hab ich keine Chance zwischen zu kommen. Nach mehreren vergeblichen Versuchen, ein 'D' zu bekommen hab ich es aufgegeben.
-
Bleibt nur eine Info an den Admin vor Ort übrig, falls der den Lust hat ein D zu ermöglichen.
AS400.lehrling
-
Dann ist bei solch schwerwiegenden Fehlern eher ein ENDJOB (SIGNOFF) erforderlich.
-
Zitat von Fuerchau
Dann ist bei solch schwerwiegenden Fehlern eher ein ENDJOB (SIGNOFF) erforderlich.
Das beendet aber nur die jobs des Nutzers, die fehlerursache wird dadurch nicht offendsichtlich.
Die Frage nachbdem warum läßt sich doch nur mit einer detailierten problenanalyse beantworten.
Gruß AS400.lehrling
-
Das ist natürlich klar, deshalb kannst du ggf. "SIGNOFF *LIST" verwenden.
Ein Programmdump ist hierzu natürlich auch hilfreich.
-
Hallo,
der im ersten Posting genannte Fehler wird wohl gerade durch den Reclaim hervorgebracht.
Szenario: SRVPGMA läuft in ACTGRP A
SRVPGMB läuft in ACTGRP B
RCLACTGRP B macht alle ProcedurePointer in A auf
Prozeduren in B ungültig
der nächste Aufruf einer Porcedure aus SRVPGMB aus
SRVPGMB bringt den Fehler.
Konsequenz: Activationgroups von Serviceprogramme mit eigenen Activationgroups kann man nicht per Reclaim killen.
Lösungswege:
a) verlassen des steuernden Programmes und RCLACTGRP *eligible,
schwache Lösung, es darf auch kein weiteres Programm im Call Stack drunter liegen, das eines der SRVPGMs gebunden hat.
b) SRVPGMs mit *CALLER erstellen und den Programmen eigene ACTGRP (= Programmname) geben - einfache Lösung, die meist (ich weiß, nicht immer) ausreicht.
c) Den maroden Aktivierungsprozess der Runtime nicht benutzen und die Sache selber in die Hand nehmen: sprich zur Laufzeit binden per API (gibts OpenSource auf meiner WebSeite PROCP4NAME) - felxibel und stabil.
Grundsätzlich gilt natürlich, dass die Instabilität in der Prozedur selber geheilt werdne muss, um diesen Wackelhaufen zu sanieren. Anfangen würde ich da beim Programm Design und dem Aufräumen der Aktivierungsgruppen. Danach würde ich entweder einen ILE Condition Handler für das "Restfehlerhandling" dranhängen, oder die exportierten Procedures in Monitorblöcke einpacken.
mfg
Dieter Bender
Zitat von Hubert
Leider hat auch RCLACTGRP nicht geholfen.
Das Programm nutzt mehrere Serviceprogramme. Jedes Programm hat seine eigene Activation Group. Die Activation Group des Serviceprogramms, in dem der Fehler aufgetreten ist, existiert danach nicht mehr.
Da kann ich nur hoffen, dass ich jetzt alle möglichen Fehler sauber abgefangen hab.
Danke für die Unterstützung.
Hubert
Similar Threads
-
By jo400 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 17-11-06, 13:21
-
By GraueEminenz in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 10-07-06, 11:58
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By Hubert in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 10-05-06, 09:41
-
By Sven Schneider in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 21-11-05, 21:05
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