Anweisungen 'import' und 'use'

Mit den EGL-Anweisungen import und use können Sie die Sichtbarkeit von Codeelementen erweitern.

EGL-Anweisungen import und use werden allgemein in den folgenden Situationen verwendet:

Weitere Informationen finden Sie unter import und use.

Implizite Anweisungen 'import' und 'use'

Sie können direkt auf die von EGL definierten Abschnitte verweisen, ohne sie mit import zu importieren. Desgleichen können Sie direkt auf Funktionen in Systembibliotheken oder EGL-definierten Aufzählungen verweisen, ohne die Anweisung use für sie anzugeben. Diese Abschnitte werden daher als implizit importiert und verwendet bezeichnet.

Beispielsweise können Sie die Systemfunktion sysLib.writeStdOut() aufgrund dieser impliziten Anweisung use ohne einen Verweis auf die Bibliothek aufrufen:
writeStdOut("Progam complete.");

Beispiel

Sie wollen auf Kundeninformationen in Ihrem Paket für Außenstände (arpackage) unter Verwendung der Datendefinitionen und Funktionen aus Ihrem Paket für das Customer-Relationship-Management (crmpackage) zugreifen. Um die Funktion getCustomer() aus der Bibliothek CustomerLib im Paket com.companyb.crmpackage aufzurufen, können Sie den folgenden Code verwenden:
package com.companyb.arpackage;

import com.companyb.crmpackage.*;  // home of CustomerLib library

program CustomerTest type BasicProgram
use CustomerLib;             // add these functions to my scope

  function main()
    getCustomer();  
  end

end
Die folgende Aspekte des Beispiels sind wichtig:
  • Die Zeile import com.companyb.crmpackage.*; weist EGL an, das gesamte Paket CRMPackage in den Geltungsbereich des aktuelle Logikabschnitts aufzunehmen. Nur Abschnitte, auf die Sie verweisen, werden zum Code hinzugefügt.
  • Falls Sie die Anweisung use auf Kommentar setzen, können Sie das Programm erst dann generieren, wenn Sie den Bibliotheksnamen zum Funktionsnamen hinzufügen (wie in CustomerLib.getCustomer()).
  • Falls Sie später im Programm CustomerTest eine lokale Funktion getCustomer() definieren, ruft EGL diese Funktion anstelle der Funktion desselben Namens in com.companyb.crmpackage.CustomerLib auf. Falls Bibliotheken namens CustomerLib sowohl in ARPackage als auch in CRMPackage vorhanden sind, verwendet EGL analog die lokale Version (ARPackage).

Feedback