-
BNDDIR / Servicepgm und Module... allgemeine Fragen
Hallo zusammen,
wir haben bei uns 2 AS/400, eine zur Entwicklung/Test und eine Produktionsmaschine. Soweit so gut.
Nun hab ich ein Verständnisproblem, was ich denn bei Auslieferungen von geänderten Programmen alles übertragen muss. Im Moment läuft bei uns folgender Ablauf:
Modul erstellen/ändern
Servicepgm Binderquelle ändern, dabei kopieren von
STRPGMEXP PGMLVL(*CURRENT) in
STRPGMEXP PGMLVL(*PRV)
(Levelcheck immer auf *YES.)
Dann entfernen des Serviceprogramms aus dem Binderverzeichnis und wieder reinnehmen des neu erstellten (wobei es den gleichen Namen behält. Hosenträger und Gürtel Methode)
Dann werden BNDDIR, SRVPGM und alle Module auf die Produktionsmaschine übertragen.
Ich bin ziemlich sicher, dass wir die Module nicht übertragen müssen, nur das zu Testen auf einer Produktionsmaschine, die 7 Tage die Woche bereitstehen muss ist sicher nur die zweitbeste Idee...
Fragen also: Was muss ich übertragen? und muss das Servicepgm entfernt und wieder ins BNDDIR reingenommen werden wie "hart" ins BNDDIR aufgenommene Module, wenn sie sich ändern?
Und noch eine Style Frage:
Machen mehrere Serviceprogramme Sinn oder sollte man grundsätzlich alle Module in ein großes Serviceprogramm binden?
Danke für alle Antworten
Andreas
Andreas
***Wer einen Schreibfehler findet darf ihn behalten***
-
Zuerst mal der Versuch einer Begriffserklärung, direkte Antworten inline :
Service-Programme und Module expotieren und importieren Prozeduren und/oder Variablen. Um dem armen Programmierer die Schreibarbeit zu erleichtern, gibt es Binderverzeichnisse. Diese enthalten nur das, was man am Bildschirm sieht: also einen Namen, einen Typ und eine Bibliothek. Das ist vergleichbar einem Telefonverzeichnis, da wohnt ja auch keiner drin.
Beim Erstellen eines (Service-)Programmes sucht der Binder zu allen Importen die passenden Exporte. Dazu wird die Liste der im Parameter übergebenen Module, Service-Programme und Binderverzeichnisse benutzt.
Nach dem Binden sind Module und Binderverzeichnisse zum Ablauf nicht mehr nötig, nur die Programme und Service-Programme.
Zitat:
dabei kopieren von
STRPGMEXP PGMLVL(*CURRENT) in STRPGMEXP PGMLVL(*PRV)
[/quote]
das ist nur nötig, wenn sich in der Reihenfolge der Exporte etwas geändert hat, oder welche dazugekommen sind.
Zitat:
Dann entfernen des Serviceprogramms aus dem Binderverzeichnis und wieder reinnehmen des neu erstellten (wobei es den gleichen Namen behält. Hosenträger und Gürtel Methode)
[/quote]
??? das ist wie nach dem Telefonieren die Telefonnummer im Adressbuch ausradieren und wieder reinschreiben 
Zitat:
Dann werden BNDDIR, SRVPGM und alle Module auf die Produktionsmaschine übertragen.
... Fragen also: Was muss ich übertragen?
[/quote]
s.o.
Zitat:
und muss das Servicepgm entfernt und wieder ins BNDDIR reingenommen werden wie "hart" ins BNDDIR aufgenommene Module, wenn sie sich ändern?
[/quote]
weder das eine, noch das andere
Zitat:
Und noch eine Style Frage:
Machen mehrere Serviceprogramme Sinn oder sollte man grundsätzlich alle Module in ein großes Serviceprogramm binden?
[/quote]
zum einen ist das tatsächlich eine Style Frage, d.h. das kommt darauf an, aber wichtiger sind hier Fragen des Anwendungsdesigns, z.B. macht es wenig Sinn ein riesiges Service-Programm zu laden, wenn jeweils nur wenige Exporte gebraucht werden.
aber das muß man im einzelnen entscheiden
Gruß
Rolf
[Dieser Beitrag wurde von rmittag am 12. November 2002 editiert.]
-
Es wird Licht :-)
Vielen Dank
Andreas
Andreas
***Wer einen Schreibfehler findet darf ihn behalten***
-
Noch ein paar Erklärungen:
Im Gegensatz zu OPM-Programmen lassen sich ILE-Programme im laufenden Betrieb nur schwer ersetzen.
OPM-Programme wurden in die QRPLOBJ-Lib geschoben (MOVOBJ) und dann das neue Programm eingestellt, so dass laufende Jobs bis zum Neuaufruf des Programmes noch mit der alten Version weitergearbeitet haben.
Bei ILE ist dies NICHT mehr möglich. Ein laufendes ILE-(Service-)Programm kann nicht mehr verschoben und ersetzt werden. Die Programme dürfen nicht mehr aktiv sein !
Nun noch zu den Modulen:
Wenn nur einzelne Module korrigiert wurden (Fehlerbehebungen) und keine neuen Exporte hinzugekommen sind, liegt der Vorteil von ILE darin nicht mehr die kompletten Programme verschicken zu müssen sondern nur noch die modifizierten Module und diese dann per UPDPGM in die vorhandenen ILE-(Service-)Programme zu übernehmen (auch dieses geht übrigens nicht, wenn das Programm noch aktiv ist).
-
danke für die Ergänzungen. Ich hab mir darauf nen Kopf gemacht, wie man denn erkennen soll, ob das Serviceprogramm aktiv ist oder nicht. Wenn man nur OPM kennt ist das etwas schwierig zu durchschauen.
Arg vereinfacht dargestellt:
In OPM ruft Benutzer A ein Programm auf, Programmkopie wird in den Hauptspeicher gelegt, Benutzer A bekommt seinen eigenen Variablenbereich. Benutzer B ruft das gleiche Programm auf und bekommt nur noch den Variablen Bereich angelegt.
Bei Serviceprogrammen hatte ich das so verstanden, dass nur die Moduln dazugeladen werden, die auch in das "echte Programm" per Referenz gebunden sind. Das dazu erstmal das ganze Servicvepgm geladen werden muss ist einsichtig. Aber bleibt das ganze Servicepgm im Speicher, bis das letzte Programm, dass ein Modul daraus benutzt irgendwann mal beendet ist?
Zitat:
--------------------------------------------------------------------------------
Wenn nur einzelne Module korrigiert wurden (Fehlerbehebungen) und keine neuen Exporte hinzugekommen sind, liegt der Vorteil von ILE darin nicht mehr die kompletten Programme verschicken zu müssen sondern nur noch die modifizierten Module und diese dann per UPDPGM in die vorhandenen ILE-(Service-)Programme zu übernehmen (auch dieses geht übrigens nicht, wenn das Programm noch aktiv ist).
dazu steht in der Hilfe von UPDPGM folgendes:
Mit dem Befehl UPDPGM (Programm aktualisieren) können Module eines
ILE-Binderprogramms durch andere Module auf dem System ersetzt
werden, ohne daß der Benutzer das Binderprogramm ändern oder erneut
kompilieren muß. Bei den zu ersetzenden Modulen muß es sich um auf
dem System vorhandene Modulobjekte (*MODULE) handeln.
Andere Jobs, die das Binderprogramm ausführen, können fortgesetzt
werden, während das Programm mit diesem Befehl aktualisiert wird.
Das derzeit ausgeführte Binderprogramm wird in die Bibliothek
QRPLOBJ übertragen, und eine aktualisierte Version des
Binderprogramms wird in die Bibliothek des Binderprogramms gestellt.
Aktuelle Aktivierungen des Programms werden weiterhin mit der
Version in QRPLOBJ ausgeführt.
Grundsätzlich ist beides durch unsere getrennten Maschinen kein Problem. Programme werden nur nachts übertragen direkt nach der Sicherung, wenn kein Anwender aktiv ist. Nur fiel mir der teil mit der QRPLOBJ halt auf.
Andreas
EDIT Notiz: Rechtschreibkorrekturen
[Dieser Beitrag wurde von AndreasH am 13. November 2002 editiert.]
Andreas
***Wer einen Schreibfehler findet darf ihn behalten***
Similar Threads
-
By bode in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 30-10-06, 11:10
-
By Andreas.Meyer in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 03-08-06, 09:10
-
By rebe in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 24-05-06, 19:37
-
By JonnyRico in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 25-04-06, 10:16
-
By chr in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 02-09-01, 11:19
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