-
hinzufügen Prozedur in bestehendes Serviceprogramm
Hallo zusammen,
ich muss ein vorhandenes Serviceprogramm ändern indem ich 2 neue Prozeduren hinzufüge. Das Serviceprogramm beinhaltet bereits 10 Prozeduren. Diese neuen Prozeduren will ich nicht am Ende anhängen sondern mittendrin. Geschrieben - getan.
Ich habe auch die Binderdefinition wie folgt geändert (blaue Einträge):
STRPGMEXP PGMLVL(*CURRENT)
EXPORT SYMBOL(Proz1)
EXPORT SYMBOL(Proz2)
EXPORT SYMBOL(Proz3)
EXPORT SYMBOL(NEUE_PROZEDUR1)
EXPORT SYMBOL(Proz4)
EXPORT SYMBOL(Proz5)
....
EXPORT SYMBOL(NEUE_PROZEDUR2)
ENDPGMEXP
STRPGMEXP PGMLVL(*PRV)
SIGNATURE(X'4A5AE6D8F472C409BC1E294E76E16998')
ENDPGMEXP
Die Programme, die heute bereits Prozeduren dieses Serviceprogramm aufrufen
sollen natürlich problemlos weiterlaufen, ohne das eine erneute Umwandlung nötig ist.
Deshalb der *PRV Eintrag mit der vorherigen Signatur.
Ist das alles so korrekt? Oder müssen neue Prozeduren an den Schluss - und wenn ja brauche ich noch den *PRV Eintrag in der Binderdefinition? Viele Dank im Voraus
Gruß
Tonazzo
-
In der Bindersprache müssen neue Prozeduren IMMER ans Ende der Current Export Liste angefügt werden. Dies ist erforderlich, da die Prozeduren nach der eingetragenen Reihenfolge zugeordent werden. Wenn Du also die NEUE_PROZEDUR1 nach Proz3 einfügst, wird versucht diese anstelle von Proz4 in den vorhandenen (Service-)Programmen auszuführen.
Der Previous Block muss neben der vorherigen Signatur auch alle (vorherigen) EXPORT-Einträge in der richtigen Reihenfolge beinhalten.
Da Du die Signatur automatisch generieren lässt und nicht fix vorgibst ist der Previous-Eintrag erforderlich, wenn alles wie gehabt laufen soll und keine erneutes Binden/Erstellen der rufenden (Service)-Programme erfolgen soll. Die Signatur ist in den rufenden (Service-)Programmen gespeichert.
Birgitta
-
... in einer geschlossenen Umgebung (:= das Serviceprogramm wird nur in meiner eigenene Applikation benutzt) ist es zumeist einfacher (und sicherer) einfach immer mit export (*ALL) zu wandeln und die abhängigen Komponenten neu zu binden. Damit wird auch Binder Language völlig überflüssig und die automatisch generierten Signaturen verhindern die meisten Probleme schon im Ansatz (vergleichbar mit Level check bei Dateien)
D*B
-
Wie immer unterscheiden sich die Meinungen.
Mit Binderlanguage gehören die neuen Exporte immer ans Ende!
Eine neue Signatur ist nicht erforderlich, wenn diese nicht automatisch sondern manuell vergeben wird.
Bei automatischer Signatur errechnet sich diese aus der Reihenfolge der Exporte, da ist hier der *PRV-Eintrag schädlich!
In bestehenden Programmen erfolgt der Aufruf über die relative Position des Eportes.
Durch den *PRV-Eintrag gaukelst du den alten Programmen vor, dass sich an dieser Folge nichts geändert hat so dass falsche Aufruf durchgeführt werden.
Durch die automatische Signatur auch bei Beibehaltung der Reihenfolge ist ein Neubinden erforderlich.
-
Hallo,
danke für die Antworten.
Also folgend meine neue Bindedefinition:
STRPGMEXP PGMLVL(*CURRENT)
EXPORT SYMBOL(Proz1)
EXPORT SYMBOL(Proz2)
EXPORT SYMBOL(Proz3)
EXPORT SYMBOL(Proz4)
EXPORT SYMBOL(Proz5)
....
EXPORT SYMBOL(Proz10)
EXPORT SYMBOL(NEUE_PROZEDUR1)
EXPORT SYMBOL(NEUE_PROZEDUR2)
ENDPGMEXP
STRPGMEXP PGMLVL(*PRV)
EXPORT SYMBOL(Proz1)
EXPORT SYMBOL(Proz2)
EXPORT SYMBOL(Proz3)
EXPORT SYMBOL(Proz4)
EXPORT SYMBOL(Proz5)
....
EXPORT SYMBOL(Proz10)
ENDPGMEXP
Muss eigentlich im Serviceprogramm selbst die Reihenfolge ebenfalls eingehalten werden.
D.H. Müssen die Reihenfolge der Prozeduren im Serviceprogrammes und Binderdefinition identisch sein
oder kann ich im Serviceprogramm einfach neue Prozeduren mittendrin implementieren - solange sie
in der Bindedefinition am Ende angelegt werden.
Vielen Dank.
Gruß
Tonazzo
-
Innerhalb des Serviceprogrammes ist die Reihenfolge egal.
Similar Threads
-
By loisl in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 08-11-13, 16:37
-
By moeller400 in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 28-06-01, 06:41
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