-
Das API wird natürlich auch vom System selber benutzt.
Hierzu wird im System eine Pointer-Liste auf Programmobjekte bei Systeminstallationen und PTF-Updates verwaltet, die sog. QINSEPT.
Wenn man mit C/C++ programmiert, kann man auf diese Liste zugreifen und sich somit die Zeiten zur Initialisierung des Systempointers sparen.
Über die QINSEPT wird auch z.B. von den HLL-Runtimes (RPG/LE, COBOL, usw.) auf die DB-Routinen zugegriffen.
Man kann sich also darauf verlassen, wenn man einen CALL QInsept(IndexOfQCMDEXC) durchführt, dass dieser auch klappt.
Die obige Meldung "Es wurde versucht, auf ein nicht mehr vorhandenes Objekt oder Teile des Objekts Bezug zu nehmen." deutet eben auf den fehlenden/korrupten Pointer des QSYGETPH hin womit dann eben die Berechtigung aus DDM nicht mehr geprüft werden kann und somit nicht von Erfolg gekrönt wird.
Eine Reparatur mit Bordmitteln ist mir nicht bekannt.
Man kann auch kein MI/C-Programm zur Korrektur der QINSEPT mehr schreiben, da das Objekt über die System-Domäne geschützt ist.
Der Link deutet ja genau auf das Problem des "AiUpcallProgram" hin.
-
Danke Euch!
Es sieht wirklich danach aus, dass wir eine Neu-Installation machen müssen.
-
Zitat von Fuerchau
Eine Reparatur mit Bordmitteln ist mir nicht bekannt.
... man kann da wohl schon noch mit patch drin rummalen, aber das ist dann auch die Lizenz dazu die Maschine völlig abzuschießen...
D*B
-
Das Problem der QINSEPT ist die fehlende Doku, auf welchem Eintrag denn welches Programm steckt.
Vielleicht gibt es in der QSYSINC (Bibliothek zum Installieren) noch eine Definition.
Dann könnte man (wie im Link beschrieben) wohl per SST den kaputten Pointer wieder auf das Programm setzen.
-
... die Reihenfolge ist bei passendem Release wohl immer dieselbe und man kann die Tabelle wohl dumpen, da gibt es irgendwo eine Beschreibung. Die pointer müssten dann angepasst werden auf die konkrete Adresse auf der Büchse. Das ist aber alles ohne Netz und doppelten Boden - das würde ich allenfalls auf einer Museumsbüchse von Holger oder Gregor probieren. Ich habe in einem meiner vorherigen Leben einmal mit SST in der Plattenkonfig rumgemalt - das war aber eine Testbüchse und das Stresslevel gleichwohl immens hoch...
D*B
-
Als ich noch mit V2R1 gearbeitet hatte und meine ersten MI-Progrämmchen schrieb, habe ich mir die QINSEPT auch zerhauen (da gabs noch keinen Schutz), da ich einen Pointer bewusst umgebogen hatte. Durch einen Fehler konnte ich allerdings das Original nicht mehr einstellen, so dass hier auch eine Neuinstallation nötig wurde (ca. 1992;-)).
-
Mit DMPSYSOBJ OBJ(QINSEPT) CONTEXT(QSYS) kann man den Inhalt der SEPT ansehen und mit DMPSYSOBJ OBJ(QSYGETPH) CONTEXT(QSYS) OBJTYPE(*PGM) bekommt man die Adresse des Programms QSYGETPH. Mit Hilfe von STRSST Display/Alter/Dump kann man die linken 5 Bytes (!) der Adresse des Programms an die richtige Stelle in die SEPT eintragen. Einfach mal auf dem anderen System nachsehen (im Inhalt der SEPT nach QSYGETPH suchen und die Stelle in der SEPT ermitteln) und anschließend auf dem betroffenen System machen (Vorsicht: Die Adressen der beiden Systeme nicht durcheinanderbringen!) Anschließend mit DMPSYSOBJ die SEPT prüfen...
-
Zitat von BenderD
- das würde ich allenfalls auf einer Museumsbüchse von Holger oder Gregor probieren.
D*B
Hallo!!!
Du kannst von Glück sagen das Wochende ist und ich gut gelaunt bin..
Meine armen Kisten.
Außerdem habe ich nur eine mit V6R1 als Museumstück. Ist mir zu neu......
Hoffe der Kollege hat Glück und bekommt seine Mühle wieder ans Laufen.
Muß im Sommer wenn ich meinen neuen Keller habe sehen das ich meine D10 mit V2R3 wieder ans Rennen bekomme.
GG 4338
-
Zitat von KingofKning
Hallo!!!
Du kannst von Glück sagen das Wochende ist und ich gut gelaunt bin..
Meine armen Kisten.
Außerdem habe ich nur eine mit V6R1 als Museumstück. Ist mir zu neu......
Hoffe der Kollege hat Glück und bekommt seine Mühle wieder ans Laufen.
Muß im Sommer wenn ich meinen neuen Keller habe sehen das ich meine D10 mit V2R3 wieder ans Rennen bekomme.
GG 4338
... könntest ja wenigstens mal Danke sagen, dass ich was für Deinen Blutdruck getan habe...
-
Um die System Entry Point Table (QINSEPT) neu aufzubauen, reicht normalerweise ein "Abbreviated Install". Dabei wird nicht das gesamte Betriebssystem ersetzt, sondern es werden nur fehlende Teile wiederhergestellt. Dazu macht man ein manuelles IPL zum ersten Bild und wählt dann aus: 2 = Install the operating system -> 2 = Change install options -> Option 2 = Do not restore programs or language options. Damit wird eigentlich nichts ersetzt, was nicht beschädigt ist, aber die System Entry Point Table wird neu aufgebaut (https://www.ibm.com/support/knowledg...ctinstlopt.htm). Das hilft natürlich nur dann, wenn das Programm QSYGETPH in der Bibliothek QSYS gefunden werden kann.
Mit freundlichen Grüßen,
Christian Bartels.
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