Scrapbook bearbeiten

LF‑ET hat einen Cobol-Source­code erzeugt mit Abschnitten für jedes einzelne Source-Element der Ent­schei­dungs­ta­belle. Die Abschnitte sind je­weils durch Kommentare eindeutig markiert, wie z.B.:

image8167 20

Diese Kommentare dürfen bei der Bearbeitung nicht verändert werden, denn sie dienen sowohl dem Ent­wick­ler als auch LF‑ET zum Erkennen, wo ein bestimmtes Source-Element beginnt und wo es endet.

Die Programmierung ist dieselbe wie mit dem in LF‑ET integrierten Edi­tor, nur dass man jetzt die volle Unterstützung der gewohnten Ent­wick­lungs­um­ge­bung nutzen kann. Im ersten Schritt passen wir den Ent­schei­dungs­ta­bellen-Prolog an, die Cobol-Datenbereiche wurden be­reits in zwei Copybooks definiert:

Als nächstes blättern wir vorwärts bis zum Ende der Datei um den Epilog anzupassen:

image8167 22

Hier wird nur das Programm-Ende-Statement eingefügt:

Mit Prolog und Epilog ist der Kontext für das Regelwerk programmiert: Ein Cobol-Unterprogramm 'COMPARE', das zwei Strings als Argumente erhält und das Ergebnis des Vergleichs in Textform als String zurückliefert.

Jetzt müssen nur noch die logischen Argumente für die beiden Bedingungen und Statements für die drei Aktionen programmiert werden.

Beginnen wir mit der ersten Bedingung B01. Die einzelnen Source-Abschnitte für jede Bedingung und Aktion sind deutlich durch horizontale Kommentar-Linien getrennt.

Der optionale Prolog für diese Bedingung ist leer, hier können, falls nötig, beliebige Statements ausgeführt werden, wie z.B. Ini­tiali­sie­rung von Variablen oder Objekten, Datenbankzugriffe, Methodenaufrufe, etc.

Wenn ein zwingend notwendiger Source­code in der Ent­schei­dungs­ta­belle leer ist, dann wird ein vordefiniertes Generat verwendet und TODO-Kommentare geben Hinweise auf die durchzuführenden Aktivitäten:

image8167 24

Wir ersetzen den TODO-Kommentar und den Ausdruck '0=0' durch das logische Argument für die erste Bedingung: 'String 1 kleiner String 2?'. Einen Prolog benötigt die Bedingung nicht, dieser Abschnitt bleibt einfach leer:

Die Anpassung der zweiten Bedingung B02 führen wir genauso durch:

image8167 26

Hinweis: Bei erweiterten Bedingungen muss für den letzten Wert (der 'Sonst-Wert') kein logisches Argument definiert werden – genau wie beim 'Nein-Wert' einer begrenzten Bedingung. Fehlt für den letzten Wert das logische Argument, dann ge­ne­riert LF‑ET auto­ma­tisch ein ELSE-Statement. Aus diesem Grunde werden für die letzten Werte von Bedingungen ohne Source­code keine Einträge im Scrapbook ge­ne­riert.

LF‑ET kann, anstelle von IF-Statements, auch EVALUATE-Statements ge­ne­rie­ren, dazu muss vor der Scrapbook Gene­rie­rung im Prolog der jewei­ligen Bedingung das EVALUATE-Statement ange­ge­ben sein.

Die Programmierung der Aktionen erfolgt auf dieselbe Weise, die gene­rier­ten TODO-Kommentare und CONTINUE-Statements werden je­weils durch passende Statements ersetzt:

image8167 28

Damit ist die Programmierung für diese Ent­schei­dungs­ta­belle abgeschlossen und der Source­code wird gespei­chert. Die geänderten Source-Elemente müssen jetzt nur noch in die Ent­schei­dungs­ta­belle übertragen werden.