Kategorien
Schulung

COBOL mit Sub C als CGI

Im letzten Workshop haben wir über Möglichkeiten der Programmierung für Terminal Consolen gesprochen. Im Moment haben wir keine Alternative zu den bekannten 3270 Terminal Programmen gefunden. Besonderheit ist, das Zeilen und Spalten aus dem Programm heraus direkt ansprechbar sind – die Bash ist ein rollierender Terminal, also ungeeignet.

Gespielt haben wir deshalb mit der Alternative Browser. Ein Apache2 Web-Server mit aktiviertem CGI Modul lässt unglaublich dynamische Programmierungen zu. Das Beispiel, das ich gezeigt habe, ist aus unseren Workshops zu den Themen „COBOL mit C Subroutinen“ und „Terminal“. Hier in Kurzform:

Da der COBOL Compiler über die Sprache C compiliert, können wir C Code einfach einbinden ( cobc -x list.cob list.c ). Wir haben getestet, dass mit dem CALL Variablen kopiert oder als Referenz übergeben werden können. In unserer einfachen Subroutine verändern wir die Variablen und sehen, das eben nur die referenzierte Variable geändert wird. Das Programm setzt aber die Bash voraus, die nicht jeder hat. Einen Browser hat jeder.

Anstatt printf(text) und DISPLAY Text können wir den Text mit HTML Steuerelementen schmücken. Mehr ist nicht nötig. Mehr Probleme bereitet die Tatsache, dass das Ereignis <button type=“submit“ >Send</button> in der Webpage, einen Stream zurück gibt. Diesem Stream müssen wir filtern und die eingebenen Werte durch UNSTRING aus dem Stream extrahieren.

Wir sehen das der BY REFERNCE übergebene Wert in der Subroutine verändert, zurück gegeben und als HTML Table ausgegeben wird. Beispiel ist hier Online.