Java-Klassen werden mit Hilfe eines Ant-Skripts generiert. Die Parameter sind in der Datei cobol2java.properties
wie folgt enthalten:
xml.file=<xml_file> cobol.struct=<list_of_structure_names> package.name=<package_name> doc.dir=<doc_directory> jar.dest=<jarfile_name> code.convention={java|cobol} undef.pic9=<undef_value>
Erläuterung der Parameter:
xml.file=<xml_file>
Der Parameter xml.file
gibt den Namen der Datei an, die die XML-Beschreibung der zu verarbeitenden Cobol-Struktur enthält.
! | Stellen Sie sicher, dass die DTD |
cobol.struct=<list_of_structure_names>
Geben Sie im Parameter cobol.struct
eine Liste von COBOL-Strukturen an, die durch Leerzeichen voneinander getrennt werden. Cobol2Java durchsucht alle Elemente (Datensätze wie Felder) in der Input-Datei nach den in <list_of_structure_names>
enthaltenen Namen. Für jedes gefundene Element wird eine Java-Klasse generiert. Geben Sie mindestens einen Strukturnamen an.
Für den Parameter cobol.struct
sind nicht alle Angaben sinnvoll. Daher sollten Sie folgende Einschränkungen beachten:
Geben Sie in einem Aufruf keine zwei ineinander geschachtelte Strukturen an. Grund: Die Klasse der tieferliegenden Struktur wird zweimal erzeugt (als root level und als sub level class). Die später erzeugte Klasse überschreibt die erste und es gibt Fehler bei der Übersetzung bzw. bei der Verwendung der Klassen.
Geben Sie keine Struktur- oder Feldnamen an, die mehrfach vorhanden sind (occurs, Array). Grund: Über die erzeugte Klasse kann nur auf das erste Element des Arrays zugegriffen werden. Statt dessen sollten übergeordnete Strukturen angegeben werden.
Die Angabe von Struktur- oder Feldnamen, die mehrfach vorhanden sind, ist nicht gestattet. Es wird eine Meldung ausgegeben und keine Java-Klassen erzeugt.
package.name=<package_name>
Der Parameter package.name
enthält den Namen des Pakets, unter denen die generierten Java-Klassen zusammengefasst werden sollen.
doc.dir=<doc_directory>
doc.dir
enthält den Verzeichnisnamen für JavaDoc.
jar.dest=<jarfile_name>
jar.dest
enthält den Namen der JAR-Datei, die generiert werden soll.
code.convention={java|cobol}
code.convention
gibt die für Java-Klassen verwendete Namenskonvention an. Bei Angabe der Bezeichnung cobol
werden, wann immer möglich, alle Namen aus dem COBOL-Programm übernommen. Andernfalls werden alle Namen den Konventionen angepasst, die in Java für die Benennung von Klassen, Variablen, Methoden und Objekten festgelegt sind (siehe auch Namenskonventionen ).
undef.pic9=<undef-value>
undef.pic9
gibt an, welcher ausgezeichnete Wert für Pic9-Felder "undefiniert" bedeuten soll. Dabei kann <undef-value>
folgende Form haben:
| wobei |
| wobei |
Wird undef.pic9
nicht angegeben, ist '0' der vordefinierte Wert für undefinierte Pic9-Felder.
Achtung! Bei Angabe des Bytewertes und aktiviertem Encoding ist ggf. die Codeumsetzung zu beachten. Siehe dazu auch Datenfeld lesen .
i | Wenn Sie generierte Java-Klassen kompilieren, ist es wichtig, dass die Klassen- und Dateinamen einander hinsichtlich der Groß- und Kleinschreibung entsprechen. Da das Windows-Dateisystem nicht zwischen Groß- und Kleinschreibung unterscheidet, meldet der Java-Compiler während der Kompilierung eventuell folgenden Fehler, wenn er z.B. eine Klasse Dieser Fehler tritt auf, wenn Sie dieselbe COBOL-Struktur zunächst mit |
Starten Sie das Programm mit dem Skript runAnt.sh
(Unix-/Linux-System) oder runAnt.bat (Windows-System). Dies startet die Generierung unter Verwendung des AntProgramms, das mit Cobol2Java ausgeliefert wird. Als Ergebnis dieses Generierungsprozesses werden die Java-Sourcen im Verzeichnis src
angelegt, kompiliert und in der in jar.dest
angegebenen JAR-Datei gespeichert. Wenn Sie das mitgelieferte Ant-Skript nicht verwenden möchten, rufen Sie Ant aus dem Verzeichnis auf, das die Datei build.xml
enthält.
i | Einige der hier verwendeten Tools benötigen sehr viel Arbeitsspeicher. Nehmen Sie daher mit Hilfe der Optionen |
! | Damit Sie müssen bei der Angabe der Pfadnamen für die Dateien |
Beispiel 27 Beispiel für eine cobol2java.properties-Datei
# Properties to set for Cobol2Java Program # used by Ant # Name of Source XML generated by the BS2000 COBOL Compiler # Make sure the DTD File is available!! xml.file=cobkb.xml # Name of the COBOL Records # Space separated list: # cobol.struct=RECORD1 RECORD3 will create Java classes for # RECORD1 and RECORD3 cobol.struct=MPUT-MSG # Name of the package to be generated package.name=de.siemens.cob2java.cobkb # # Directory for JavaDoc doc.dir=doc/cobkb # Jar file name jar.dest=cobkb.jar # Determines what code convention the generated code will use # # code.convention=java # code.convention=cobol code.convention=java # defines a non numeric value which marks a PIC9 field as undefined # undef.pic9=0x20