有没有人有快速的方法来查找字段的COBOL字帖起始位置?例如:
000100 01 BGG-FILE-REC.
000200 03 BGG-RCD-KEY.
000300 05 BGG-DUDENAME PIC XXXX.
000400 05 BGG-DUDEADDR PIC XX.
000500 05 BGG-HAIRCOLOR PIC X(71).
000600 05 BGG-EYECOLOR PIC X(8).
BGG-HAIRCOLOR列从第7列开始。但是,我正在处理的实际文件有大约250个变量,共计3400个字节。使用手动计算器加入和添加PIC值是可怕的,并且在我的生命中不会发生。当我检查系统的输出时,在vi中的数字会很好;那么,BGG-EYECOLOR值是否落在正确的列中?
我可以编写一个perl脚本来注释这样的字帖,但在我这样做之前,我想知道是否有人有更平滑的方法来获得相同的值?
答案 0 :(得分:2)
如果是大型机,您可以使用cb2xml将副本转换为xml (带字段开始)。
或者您可以使用RecordEditor。将Cobol Copybook导入 RecordEditor(见RecordEditor-Cobol Notes)。 RecordEditor将计算 野外阵地。您可以将RecordEditor-Layout中的字段复制并粘贴到Excell或文本编辑器中。或者,您可以将记录布局导出为Xml
RecordEdityor会为几个Cobol Dialects(Mainframe,OpenCobol)工作。
如果您正在阅读java中的文件,则应该查看JRecord。 JRecord将允许您使用Cobol Copybook读取Java中的Cobol Data文件。
同样Legstar可能值得一看。 Legstar最初的开始是使用在线数据传输的合作,但他们已经开始分支。
答案 1 :(得分:0)
如果您在大型机上,请使用FileAid选项8。
答案 2 :(得分:0)
您是否担心在同一列中排列PIC条款有多难?
在众多Eclipse变体和control-shift-F之一中打开它。
你知道它无论列数如何都可以很好地编译,并且已有近30年的历史,它们实际上并不重要。
低租金方式是编辑它,并将您的交叉参考列表剪切并粘贴到您的字帖上。
答案 3 :(得分:0)
如果您使用的是大型机,可以使用“文件辅助 - 查看”。 从ISPF主要选项菜单转到
G ==> General Utility
F ==> File-Aid Products
1 ==> File-AID
8 ==> VIEW
在屏幕中,将显示以下选项:
Specify Record Layout Dataset to View:
Dataset name ===> 'XXXXXX.XXX.XXXX'
Member name ===> COPYZXY (Blank or pattern for member list)
提供“数据集名称”和“会员名称”(数据集名称:您的PDS和会员名称:您的副本名称)
按Enter键后,您将看到一个描述的VIEW LAYOUT屏幕 变量名,条款,编号,开头,结尾和该副本中存在的每个变量的长度。
答案 4 :(得分:0)
免责声明:我维持https://www.cobolcopybook.co.in
您好,请检查站点https://www.cobolcopybook.co.in,该站点专门用于分析COBOL抄写本。
例如 您输入的字帖为(如所提到的):
000100 01 BGG-FILE-REC.
000200 03 BGG-RCD-KEY.
000300 05 BGG-DUDENAME PIC XXXX.
000400 05 BGG-DUDEADDR PIC XX.
000500 05 BGG-HAIRCOLOR PIC X(71).
000600 05 BGG-EYECOLOR PIC X(8).
然后输出将是:
SR# LEVEL FIELD NAME PICTURE TYPE START END LENGTH
0 1 BGG-FILE-REC. @ AN 1 85 85
1 3 BGG-RCD-KEY. @ AN 1 85 85
2 5 BGG-DUDENAME XXXX. AN 1 4 4
3 5 BGG-DUDEADDR XX. AN 5 6 2
4 5 BGG-HAIRCOLOR X(71). AN 7 77 71
5 5 BGG-EYECOLOR X(8). AN 78 85 8
我希望这能解决您的问题。