-
Hallo,
Geschmacksache, sagte der Affe und biss in die Seife.
Ich mag mich weder auf Binderverzeichnisse (in denen jeder rumfummelt und der grösste Chaot im Team den Ausschlag gibt) noch auf irgendwelche Defaults etc verlassen. Der resultierende Wirrwarr wird umso fataler je mehr Prozeduren aus zahlreichen Serviceprogrammen aufgerufen werden!!!
Neueste Erfahrungen damit haben einige mit V5R3 bereits hinter sich, bei dem beim CRTPGM ein neuer Wert gleich als default genommen wurde. Statt in Actgrp *new läuft da jetzt einiges plötzlich in QILE - mit teilweise fatalen Auswirkungen für remote SQL Zugriffe, Commit Steuerung und Overwrites (von denen ich eh abrate). Ich sage immer genau was ich haben will (das nur einmal, weil ich CM oder Pre Compiler einsetze) und habe 100% Reproduzierbarkeit.
mfg
Dieter Bender
 Zitat von B.Hauser
Hallo,
eine andere und m.E. sogar bessere Möglichkeit ist die folgende.
1. Erstellen Modul, in dem die Prozedur enthalten ist
2. Erstellen Service Programm, aus dem Modul
3. Einfügen des Service Programms in ein Binder-Verzeichnis.
Es sollte ein zentrales Binderverzeichnis pro Anwendung vorhanden sein.
4. Erstellen Programm, in dem die Prozedur aufgerufen wird, über CRTBNDRPG. Dabei darf die Default Aktivierungs-Gruppe nicht verwendet werden. Wird diese Option geändert, kann das Binder-Verzeichnis angegeben werden.
Die Verwendung eines Binderverzeichnisses ist vor allem dann von Vorteil, wenn in dem Programm viele Prozeduren aus vielen Service Programmen aufgerufen werden müssen. Bei der Compilierung werden die Einträge im Binder-Verzeichnis verarbeitet und die entsprechenden Signaturen der Service- Programme in das Programm-Objekt eingebunden. Es ist also nicht erforderlich die Service-Programme einzeln aufzuzählen.
Das Binder-Verzeichnis kann natürlich auch beim CRTPGM angegeben werden.
Besser noch ist, sowohl die Aktivierungs-Gruppe als auch das bzw. die verwendeten Binder-Verzeichnisse in den H-Bestimmungen über folgende Schlüssel-Worte zu hinterlegen:
1. DFTACTGRP(*NO)
2. ACTGRP('NAME') oder ACTGRP(*NEW) oder ACTGRP(*CALLER)
3. BNDDIR('MYBNDDIR1': 'MYBNDDIR2' ...)
In diesem Fall müssen die Compile-Optionen beim CRTBNDRPG oder CRTPGM nicht geändert werden.
Birgitta
Similar Threads
-
By loeweadolf in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 06-11-06, 16:05
-
By Jump4738 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 06-10-06, 16:08
-
By GraueEminenz in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 18-07-06, 10:05
-
By scriptingmike in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 07-06-06, 09:29
-
By BUG in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 18-10-04, 14:55
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