Anmelden

View Full Version : Replaced Programm verursacht Fehler



Seiten : 1 [2]

Fuerchau
24-10-18, 08:59
Ganz einfach:
Du erstellst ein Programm mit dem Namen XXX und erhältst ein Objekt vom Typ *PGM.
Das Objekt wird in einen eindeutigen Namen Qxxx umbenannt und die Elterneigenschaft in QRPLOBJ geändert. Da es, wiederholt, keine Kopie sondern das laufende Programm ist, behält es ja außer seinem Namen die vollkommene Identität als Programmobjekt.

Pikachu
24-10-18, 09:24
Sieh dir mal mit DSPOBJD die Objektbeschreibung des Objekts Q6E43694A5 der Art *PGM in Bibliothek QRPLOBJ an. Wann wurde es erstellt?

harkne
24-10-18, 10:10
Hab ich bereits gemacht. Das Erstellungsdatum des Objekts was nach der Umwandlung nicht mehr existiert. Bestätigt nur dass das alte Programm in QRPLOBJ verschoben wurde. Ihr hängt Euch aktuell am Begriff Kopie auf. Was aber nicht mein Problem ist. Mir ist das egal ob er das in die QRPLOBJ kopiert oder verschiebt es sollte auf jeden Fall keine Probleme machen, was es aber gemacht hat. Dann stelle ich jetzt vielleicht die Frage nochmal. Kann es sein, dass das verschobene Programm nachdem es verschoben wurde Probleme mit Variableninhalten bekommt ? Denn anscheinend ist das so, sonst wären keine Probleme aufgetreten. Vor der Umwandlung gab es keine Probleme, alle die das Programm nach der Umwandlung neu aufgerufen haben, haben auch keine Probleme gemacht nur das verschobene Objekt in QRPLOBJ hat die Daten falsch upgedated.

Fuerchau
24-10-18, 10:29
Ein Programm macht genau das, was da programmiert ist. Variablen sind festgelegt und Adressen können nicht geändert werden.
Was im Nachhinein genau passiert ist, lässt sich da eben kaum nachvollziehen.
Vielleicht ist das verschobene Programm eine Zwischenversion und nicht die tatsächliche vorherige korrekte Version gewesen.
Dazu hättet du dir die tatsächliche Quellinformation des Objekts vorher sichern sollen.
Ggf. hast du das Original ja noch auf einer Sicherung um es mit dem Objekt der QRPLOBJ vergleichen zu können. Dann kannst du ggf. feststellen, dass das Original u.U. älter als die verschobene Version ist.

Ich denke wir können hier noch endlos diskutieren bevor herauskommt, dass du vielleicht doch einen Fehler gemacht hast.

harkne
24-10-18, 10:37
Nein ist es nicht. Die Quelle hab ich auch vorher gesichert. Aber ist jetzt auch nicht weiter wichtig. Dieses Programm werde ich auf keinen Fall mehr im laufenden Betrieb umwandeln. Vielen Dank nochmals für die Hilfe. Übrigens die Änderung die ich reingemacht habe war lediglich eine Intialisierung einer Programmvariablen am Anfang des Programms mehr nicht. Vorher hat die Quelle zum Objekt gepasst und nachher, also jetzt, auch. Ich kann mich immer nur wiederholen. Vor der Kompilierung gab es keine Fehler und nach der Kompilierung auch nicht. Fehlerhafte Sätze hat nur das Qxx in QRPLOBJ verursacht, das konnte ich anhand des Journals fest stellen.

Vielen lieben Dank für die genauen Erläuterungen, denn so genau bewusst war mir das mit QRPLOBJ auch nicht, bisher gab es nie Probleme wenn ich ein Programm im laufenden Betrieb kompiliert habe (das ist jetzt auch schon seit 1987). Aber anscheinend gibt es für alles das erste mal.

Ich und Fehler ... lächerlich ;-)

Robi
24-10-18, 11:05
Es gibt Firmen, die mit dem Programmnamen Informationen aus Tabellen lesen.
Typisch hierfür: Grenzwerte , Gültig ab Datum ...
Wenn dazu der PGM Name aus der SDS genommen wird (Programm, nicht Modul!) läuft es auch falsch.

Fuerchau
24-10-18, 12:44
Mit der SDS hast du natürlich Recht, auf diese Idee bin ich nicht gekommen, da ich dies als unzuverlässig eben nicht verwende.