Struktur des erzeugten C#-Programmes

Pro Eingabekomponente vom Typ COBOL wird eine C#-Datei mit dem Namen der Komponente erzeugt. Die Datei wird in einem Verzeichnis, dessen Name gebildet wird aus dem Typnamen und dem Anwendungsnamen, abgelegt1). So wird zum Beispiel für die EFUN-Komponente AF-KFZ-INFO-BRD aus der Anwendung PRIVAT eine C#-Datei Efun\Privat\AfKfzInfoBrd.cs erzeugt.

Falls in den Datendeklarationen des ursprünglichen COBOL-Codes im Zusammenhang mit der tatsächlichen Nutzung dieser Daten im Code festgestellt wird, dass komplexere Strukturen unterstützt werden müssen, so werden diese in einer separaten C#-Datei erzeugt. Die Datei trägt den Suffix localdata.cs und liegt im gleichen Verzeichnis wie das zugehörige Programmcoding.

Implementierungsklasse

Die Implementierungsklasse trägt den Namen des Bausteins und ist abgeleitet von der dazu passenden Klasse aus der angegebenen Basis-Assembly. Außerdem implementiert die Klasse das Interface ILegacyCobolSupport. Dieses Interface wird unterstützt, um Features zur Verfügung zu stellen, die von der Laufzeit ausschließlich zum Zwecke einer vereinfachten Migration geboten werden. Das Ziel bei einer vollständigen Migration sollte sein, dass dieses Interface schlussendlich aus der migrierten Klasse entfernt werden kann.

Am Anfang der Klasse werden sämtliche Konstanten und lokale Variablen deklariert. Siehe Umsetzung von Datendeklarationen für eine Erläuterung über die Erkennung und Behandlung von COBOL Datendeklarationen. Komplexere Datenstrukturen werden, wie oben beschrieben, getrennt in der localdata.cs deklariert.

Falls der zugrundeliegende Baustein kein TAA-Baustein ist, wird eine statische execute-Methode erzeugt, womit der Baustein von außen aufgerufen werden kann. Für einen TAA-Baustein werden an dieser Stelle diverse Bestandteile generiert, insofern das migrierte Coding diese braucht:

1)
Das Verzeichnis kann durch ein ggf. installiertes AddIn angepasst werden