-
Proceduren / Serviceprogramm / BIND-Verzeichnis
Hi,
wenn wir aktuell in einem Programm Proceduren verwenden, sind diese auch in dem jeweiligen Programm definiert und komplett vorhanden (in den D-Bestimmungen definiert und am jeweiligen Programmende der entsprechende Code für die Procedure).
Durch diese Vorgehensweise hat man unter Umständen die gleiche Procedure dann in x-Programmen immer wieder definiert, was nicht wirklich sinnvoll ist.
Mehr Sinn macht es ja, diese regelmäßig verwendeten Proceduren an einer Stelle zusammenzufassen / zu verwalten und bei Bedarf mehr oder weniger automatisch im jeweiligen Programm zur Verfügung zu haben.
Da ich bisher nicht wirklich Ahnung von Serviceprogrammen, BIND-Verzeichnissen, ... habe, musste ich ein wenig ausprobieren und bin dann auf folgende Vorgehensweise gekommen:
In der Source MYLIB/QRPGLESRC/PR_TOOLS01 definiere ich mir z.B. die Proceduren:
*
H NOMAIN
*
************************************************** *************
*
D calc01 PR 9S 3
D in_wert01 9S 0 value
D in_wert02 9S 0 value
*
D calc02 PR 9S 3
D in_wert01 9S 0 value
D in_wert02 9S 0 value
*
************************************************** *************
*
P calc01 B export
D calc01 PI 9S 3
D in_wert01 9S 0 value
D in_wert02 9S 0 value
*
D out_wert S 9S 3
*
C eval out_wert = in_wert01 * in_wert02
C return out_wert
P E
************************************************** *************
*
P calc02 B export
D calc02 PI 9S 3
D in_wert01 9S 0 value
D in_wert02 9S 0 value
*
D out_wert S 9S 3
*
C eval out_wert = in_wert01 / in_wert02
C return out_wert
P E
************************************************** *************
Diese Source wandele ich dann mit CRTRPGMOD MODULE MYLIB/PR_TOOLS01) SRCFILE(MYLIB/QRPGLESRC) um.
In der Source MYLIB/QSRVSRC/PR_TOOLS01 führe ich dann die Sourcen auf, die
exportiert werden sollen:
STRPGMEXP
EXPORT SYMBOL(calc01)
EXPORT SYMBOL(calc02)
ENDPGMEXP
Das wird dann mit CRTSRVPGM SRVPGM(MYLIB/PR_TOOLS01) EXPORT(*SRCFILE) SRCFILE(MYLIB/QSRVSRC) umgewandelt.
Im Anschluss daran habe ich mir dann ein BIND-Verzeichnis erstellt, wo ich dann das Serviceprogramm PR_TOOLS01 hinzugefügt habe:
CRTBNDDIR MYLIB/PR_TOOLS01
ADDBNDDIRE BNDDIR(MYLIB/PR_TOOLS01) OBJ((PR_TOOLS01))
In dem jeweiligen RPG-Programm schreibe ich dann in die H-Bestimmungen BNDDIR('PR_TOOLS01'), so dass mir die Prozeduren dann im Programm zur Verfügung stehen.
Das funktioniert soweit, nur würde ich gerne wissen, ob dies ein halbwegs vernüftiger Weg ist, oder ob ich mir das Leben unnötig schwer mache?
Danke schonmal.
Similar Threads
-
By jo400 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 17-11-06, 13:21
-
By emily in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 20-04-06, 08:50
-
By Lichtblitz in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-06-05, 07:59
-
By Marco.I in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 15-03-05, 23:38
-
By Bernhard in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 20-11-01, 07:39
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