当前位置: 首页 > 知识库问答 >
问题:

如何为Cobol抄写本生成Java~JRecord代码

欧阳博超
2023-03-14

如何使用RecordEditor从Cobol Copybook生成Java~JRecord代码来读/写二进制EBCDIC大型机文件。

这是一个问题和答案,试图防止一些糟糕/误导性的问题被问到或答案可以指出。

共有1个答案

万俟小林
2023-03-14

要将二进制文件从大型机传输到Windows/*nix框,您必须进行二进制传输,原因非常简单:Ebcdic-->Ascii程序无法区分二进制字段和文本字段。

Comp-3 value   hex     hex after Ascii conversion

 400          x'400c'       x'200c'       x'40' is the ebcdic space character
                                          it gets converted to the ascii
                                          space character x'20'

您需要从大型机进行二进制传输。这将保持文件为EBCDIC,任何二进制字段都将不受影响。然后使用EBCDIC读取文件。

您需要检查大型机上的RECFM。如果RECFM是

  • FB-没有问题,只需转移
  • VB-在大型机上将文件传输中包含RDW(记录描述符Word)选项转换为FB。
  • 其他-在大型机上转换为FB/VB

RecordEditor将使用Cobol抄写本和示例文件中的详细信息来生成Java~JRecord代码。

安装0.98.4或更高版本。考虑USB版本,您只需解压缩到一个普通目录并从那里运行。不需要安装

如果安装任何一个HSQL版本,请在使用前重新启动计算机

要启动代码生成器,请选择Generate>>>Java~JRecord code for Cobol

在此屏幕上输入Cobol Copybook和示例文件(如果有的话)。RecordEditor将尝试为您填写这些字段。

不过,您可能需要修复控件字段。当一切都正确的时候

当一切都正确时,按Generate Java~JRecord按钮

在这个屏幕上你可以

  • 选择模板或模型
  • Java名称的格式
  • 包id等

有几个模板或模型可以使用,包括

  • 标准-生成基本JRecord代码。它将生成具有Cobol字段名作为常量的Java类。这允许您使用IDE代码完成,而不是键入“cobol-field-names”。
  • LineWrapper-围绕Cobol数据创建Java包装器。
  • pojo-创建读取器/写入器来将Cobol数据转换为Java POJO

按Generate Code按钮生成java代码。

换行器:

 类似资料:
  • 注: 内容来自官网资料 Java Generated Code 这个页面准确描述 protocol buffer 编译器为任何给定协议定义生成的java代码。proto2和proto3生成的代码之间的任何不同都将被高亮 - 注意在这份文档中描述的是这些生成代码的不同,而不是基本的消息类/接口,后者在两个版本中是相同的。在阅读这份文档之前你应该先阅读 proto2语言指南 和/或 proto3语言指

  • 我想用Java代码生成EMF模型。例如,我想创建一个新的Ecore建模项目,然后构建一个简单的模型,就像很多教程(比如vogella教程)中看到的那样。但我不想用GUI手工完成。我想学习如何使用EMF-Ecore-API用Java代码创建模型。 我试着找关于这个话题的教程。但令我失望的是,我找不到太多关于这个话题的资料。我能找到的唯一东西是一些代码片段,用来按代码加载和修改现有模型。但没有关于创建

  • 我正在使用Swagger codegen创建用于Spring REST服务器的Java模型,并且想知道如何让Swagger将每个模型声明为JPA实体。 我使用< code > swagger-codegen-maven-plugin 生成如下代码: 正如我现在所拥有的,这是生成的缩写 java 代码: 如何让 Swagger 添加 @Entity 和 @Id JPA 注释,如下所示? 这样,为了让

  • 我有这段代码(基于这个问题的答案),它工作正常,但是我被告知我不需要TRNREC94-OUT,我可以只写TRNREC94抄写本。当我尝试将B700-MOVE-RECORDS替换为“write REPORT-RECORD FROM trnrec94”时。我得到一个错误,说TRNREC94没有定义为数据名,并且被丢弃了。不知道从这里到哪里去..

  • JRecord 是一个Java工具包用来读取根据长度进行字段定义的文本文件,例如CSV ,同时也支持XML的读写。

  • 我的设想如下。 我有一个swagger. json,例如:http://petstore.swagger.io/v2/swagger.json我想为上面的REST API使用生成的java客户端,例如: 扩展输出:<code>cica</code>,新宠物根据REST API实现进行存储。 我已经使用以下命令成功地为petstore生成了服务器存根: 但是这个 maven 项目代码是一个服务器代码