CLP

aus AS400wiki, der freien Wissensdatenbank

Inhaltsverzeichnis

CLP - Control language programming

Unter CLP versteht man das Programmieren in der CL-Sprache. Von dieser Sprache gibt es zwei Varianten:

  • CLP/400 - die ältere Variante, noch mit Ursprüngen zur Zeit des System/36
  • ILE_CLP - die neuere Variante mit mehr Möglichkeiten

Einleitung

Ein CL-Programm besteht aus Befehlen und folgt gewissen Regeln und Einschränkungen. Oft kann man ein CL-Programm auch als Bindeglied zwischen Hochsprachen-Programmen (RPG, COBOL, C etc) und dem Betriebssystem verstehen. Beispiel: Wenn ein Benutzer aus einem Menu eine Auswahl aufruft, wird in der Regel ein CL-Programm gestartet, welches wiederum ein RPG-Programm mit einigen Parametern startet.

CL-eigene Befehle

CL hat auch einige Befehle, die nur innerhalb eines CL-Programms verwendet werden können, und nicht auf der Befehlszeile. Beispiele:

  • PGM - Programm starten
  • ENDPGM - Programm beenden
  • IF, ELSE, ENDIF - konditionale Abfrage
  • GOTO - Zu einer Marke springen
  • MONMSG - Systemnachrichten oder allgemeine Nachrichten abfangen und entsprechend handeln
  • DCL - Deklaration von Variablen oder Dateien

Möglichkeiten von CL

Ein CL-Programm wird aus einem Quellcode zu einem ausführbaren Code kompiliert. Somit wird - anders als bei einem Unix-Shellscript - nicht der Quelltext während des Ablaufs interpretiert, sondern dieser erst umgewandelt. Hintergrund ist die Tatsache, dass die AS/400 objektbasiert arbeitet. Und nur ein Programmobjekt kann ausgeführt werden. Was kann man mit CL alles machen?

  • Abläufe auf dem System automatisieren
  • Ressourcen bearbeiten
  • Datenobjekte oder eine Datei lesen
  • andere Programme aufrufen
  • einfache Berechnungen ausführen

Aufbau eines CL-Programms

Ein CL-Programm besteht aus einem oder mehreren Befehlen (auch über mehrere Zeilen) mit folgendem Aufbau:

  • Label oder Marke, die als Sprungziel dienen kann (optional)
  • Befehlsname (Pflicht)
  • Parameter für den Befehl (Optional)

Ein CL-Programm wird in der Regel begonnen mit

PGM   (evtl Parameter)

und beendet mit

ENDPGM

Dazwischen folgen Deklarationen, und erst danach die Befehle.

Beispiel

Ein einfaches Beispiel für ein CL-Programm wäre:

PGM  PARM(&NAME)
DCL  &NAME  CHAR  30
SNDMSG MSG(&NAME) TOUSR(QSYSOPR)
ENDPGM

Erst wird der Programmanfang festgelegt, und ein Pflichtparameter &NAME angegeben. Dieser wird danach deklariert als Zeichenvariable der Länge 30. Nun wird der Inhalt des übergebenen Parameters an den Benutzer QSYSOPR gesendet. Schliesslich wird das Programm beendet. Weitere Beispiele werden hier aufgezeigt.

Regeln und Hinweise

Beim Programmieren von CL-Programmen gibt es gewisse Regeln und Tips, die man beachten sollte. Dann ist das Leben einfacher. Diese Hinweise findest Du hier.

Lexikon

Auch wenn es schwierig oder gar unsinnig ist, eine Liste aller CL-Befehle hier anzulegen, dem Nachschlagen kann es nicht schaden. Siehe dazu unter Liste CL-Befehle nach. Übrigens kannst Du schnell eine Liste auf der AS/400 erhalten. Wenn Du wissen willst, welche Befehle mit WRK anfangen, gib ein:

WRK*
'Persönliche Werkzeuge