Suchen von Modulen in Bibliotheken
Beim Suchen von Modulen in Programmbibliotheken steuert der Operand RUN-MODE die Auswahl der Module wie folgt:
bei RUN-MODE=*STD werden nur Bindemodule (OMs) gesucht. LLMs werden ignoriert.
Bei RUN-MODE=*ADVANCED werden LLMs und Bindemodule (OMs) miteinander verglichen. Dabei hat der Elementname eines LLM (Elementtyp L) oder ein Symbolname in einem LLM Vorrang vor dem Elementnamen eines Bindemoduls (OM) (Elementtyp R) oder vor einem Symbolnamen in einem OM.
Bei den Kommandos START/LOAD-EXECUTABLE-PROGRAM kann die Suchreihenfolge über den Operanden TYPE gesteuert werden, wobei die Reihenfolge L,C,R voreingestellt ist.
Diese Suchstrategie begünstigt die Migration vom Bindemodul (OM) zum Bindelademodul (LLM). Kompatibilität besteht dann, wenn kein LLM gefunden wird, das den gleichen Elementnamen wie ein OM hat.
Suchen in alternativen Bibliotheken
Standardmäßig wird bei RUN-MODE=*ADVANCED die Tasklib nicht mehr berücksichtigt. Das wahlweise Zuschalten der Tasklib ist nur bei Verwendung der Kommandos START/LOAD-EXECUTABLE-PROGRAM möglich.
Behandlung von Namenskonflikten
Die Behandlung von Namenskonflikten ist vom gewählten Betriebsmodus(RUN-MODE=*STD oder RUN-MODE=*ADVANCED) wie folgt abhängig: (siehe auch "Behandlung von Namenskonflikten")
bei RUN-MODE=*STD werden Namenskonflikte zwischen CSECTs immer entdeckt, unabhängig davon, ob die Symbole in einem Modul maskiert sind oder nicht. Namenskonflikte zwischen maskierten oder nicht maskierten ENTRYs werden immer akzeptiert. Nur der erste ENTRY wird zur Befriedigung von Externverweisen verwendet. Der Benutzer hat keine Möglichkeit, die Behandlung von Namenskonflikten zu steuern.
bei RUN-MODE=*ADVANCED werden Namenskonflikte nur entdeckt, wenn die Symbole in einem Modul nicht maskiert sind. Der Benutzer wird über jeden Namenskonflikt, bei dem Fehler auftreten können, durch eine Meldung benachrichtigt. Mit dem Operanden NAME-COLLISION im Ladeaufruf hat der Benutzer die Möglichkeit, die Behandlung von Namenskonflikten zu steuern.