COBOL und Java denken unterschiedlich
COBOL ist prozedural mit implizitem Zustand, PERFORM-Bereichen und Kontrollfluss auf Absatzebene. Naive Übersetzer erzeugen Java-Klassen, vollgestopft mit statischen Methoden und globalen Variablen, die schwerer zu warten sind als das ursprüngliche COBOL.
Dezimalpräzision ist entscheidend
COBOLs PIC-9-Klauseln definieren die exakte Dezimalpräzision für Finanzberechnungen. Eine COBOL-zu-Java-Migration, die COMP-3-Felder in double oder float umwandelt, führt in der Produktion zu Rundungsfehlern. Eine korrekte Konvertierung erfordert BigDecimal mit passender Skala und Präzision.
Der Datenzugriff braucht eine neue Schicht
COBOL-Programme nutzen typischerweise EXEC SQL für DB2, VSAM für indizierte Dateien und Flat-File-I/O. Java braucht JDBC, JPA oder Dienstprogramme zum Parsen von Dateien. Die Datenzugriffsschicht ist oft der komplexeste Teil einer COBOL-zu-Java-Migration.