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