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*

