Um ILE Objekte zu erstellen sind mehrere Schritte erforderlich. ILE-Compilierung ist immer ein zweistufiger Prozess, d.h. es muss zuerst ein Modul erstellt werden und dieses Modul muss in ein Programm oder Service-Programm gebunden werden.
Beim Erstellen von ILE-Programmen oder Service-Programmen müssen die Module oder Service-Programm aus denen Prozeduren aufgerufen werden entweder einzeln aufgelistet oder in einem Binderverzeichnis hinterlegt werden.
Ein Service-Programm erhält eine eindeutige Signatur, die in alle Programme und Service-Programme eingebunden wird, aus denen Prozeduren aus dem Service-Programm aufgerufen werden. Die Signatur bleibt unverändert, solange die Anzahl der exportierten Prozeduren unverändert bleibt.
Wird die Anzahl der Prozeduren verändert, ändert sich die Signatur und alle Programme und Service-Programme in denen die Signatur eingebunden ist, müssen neu erstellt werden, es sei den es wurde mit Bindersprache gearbeitet.
Werden die exportierten Prozeduren in einer Teildatei in Bindersprache hinterlegt und verwendet diese zur Erstellung der ILE-Service-Programme, können mehrere Signaturen in einem Service-Programm hinterlegt werden, wodurch bei Änderung der Anzahl der exportierten Prozeduren eine Neu-Generierung der Programme und Service-Programme entfällt.
Damit sind zum Erstellen von ILE-Objekten mehrere Schritte erforderlich, die nicht zwingend immer alle ausgeführt werden müssen.:
- Für jedes Service-Programm wird ein CL-Programm erstellt, das die einzelnen Schritte ausführt.
- Nachteil: Die Binder-Source muss manuell aktualisiert werden.
Für jedes neue Service-Programm muss zunächst ein CL-Programm geschreiben werden.
Bei Änderung muss das CL-Programm jedesmal angepasst werden.
- Die Compilie-Befehle werden im Quellcode hinterlegt. Bei der Compilierung werden diese Befehle ausgelesen und ausgeführt.
- Nachteil:Binder-Source muss manuell aktualisiert werden.
Die Compile-Befehle müssen für jedes Programm oder Service-Programm im Soruce-Code als Kommentar hinterlegt werden.
… und auf einen Kommentar kann man sich nie verlassen!
Ein weiterer Ansatz ist der Befehl CRTILEOBJ – Create ILE Objects
Mit diesem Befehl können ILE-Programme, ILE-Service-Programme und Module erstellt werden.
Service-Programme oder Module können automatisch in ein Binderverzeichnis eingetragen werden.
Die Binder-Source wird beim Erstellen von Service-Programmen automatisch erstellt oder aktualisiert.
Nach dem Binden in Programme oder Service-Programme werden Module automatisch gelöscht.
Mit CRTILEOBJ können CLLE, RPGLE, SQLRPGLE-Quellen in Module, Programme oder Service-Programme erstellt werden, aber auch OPM CLP und RPG Quellen können kompiliert werden.
- NachteilAchtung: Eine Quelle wird entweder in ein Modul, Programm oder Service-Programm gebunden. Das Tool erlaubt nicht, dass mehrere Module zu einem Programm oder Service-Programm gebunden werden.