如何使用RecordEditor从Cobol Copybook生成Java~JRecord代码 来读取/写入二进制 EBCDIC 大型机文件。
这是一个问题和答案,试图防止提出一些糟糕/误导性的问题或可以指出答案。
我正在尝试使用JRecord读取COBOL数据文件,因为我有一个Header记录和Detail记录,因此我使用SPLIT_01_LEVEL和CopyBook文件格式解析为FMT_OPEN_COBOL.我在平面文件中有几个日期字段作为COMP-3字段,我无法理解如何将它们转换为Java日期字段.
ICobolIOBuilder iob = CobolIoProvider.getInstance()
.newIOBuilder(copybookName)
.setCopybookFileFormat(Convert.FMT_OPEN_COBOL)
.setSplitCopybook(CopybookLoader.SPLIT_01_LEVEL);
//I fetched fields as below
line.getFieldValue(field).asString();
Run Code Online (Sandbox Code Playgroud)
CopyBook的字段为
MPOH-ENTRY-DATE PIC S9(7) COMP-3.
MPOH-STATUS-DATE PIC S9(7) COMP-3.
MPOH-APPROVED-DATE PIC S9(7) COMP-3.
MPOH-ORDER-DATE PIC S9(7) COMP-3.
Run Code Online (Sandbox Code Playgroud)
当我按上面解析输出时
MPOH-ENTRY-DATE : 11261a1
MPOH-STATUS-DATE : 11261a1
MPOH-APPROVED-DATE : 11261a1
MPOH-ORDER-DATE : 11266140
Run Code Online (Sandbox Code Playgroud)
请帮我将这些字段转换为Java Date字段.