Der Precompiler ESQL-COBOL (BS2000) ermöglicht die Ausführung von COBOL-Programmen, in die SQL-Anweisungen eingebettet sind. Der Anfang und das Ende einer SQL-Anweisung werden jeweils markiert. Der Precompiler kann damit die SQL-Anweisungen erkennen und erzeugt ein SQL-Bindelademodul (Link-and-Load-Module, LLM), in dem die SQL-Anweisungen zusammengefasst sind. Das COBOL-Programm, das keine SQL-Anweisungen mehr enthält, wird mit dem COBOL-Compiler übersetzt. Die folgende Abbildung zeigt den geschilderten Ablauf.
Bild 3: Einsatz des ESQL-Precompilers
Über Precompiler-Optionen kann der Anwender die Eigenschaften der Precompilierung festlegen. So ist u.a. einstellbar, dass nur standardkonforme SQL zugelassen wird, um dadurch portierbare SQL-Programme zu erzeugen.
Mit Hilfe der sogenannten dynamischen SQL ist es möglich, SQL-Anweisungen erst während des Ablaufs eines ESQL-Programms anzugeben. Damit sind z.B. Dialoganwendungen mit variabel gestalteten Abfragen und Änderungen der Datenbank realisierbar.
Ein ESQL-Programm kann auch CALL-DML-Anweisungen enthalten. SQL-Anweisungen und CALL-DML-Anweisungen können auch innerhalb einer Transaktion gemeinsam enthalten sein. Dazu werden SQL-Anweisungen in eine CALL-DML-Transaktion eingebettet.
Die genaue Beschreibung des ESQL-Precompiler entnehmen Sie bitte dem Handbuch „ ESQL-COBOL für SESAM/SQL-Server“.