字帖字段起始位置

时间:2013-03-21 20:08:52

标签: cobol copybook

有没有人有快速的方法来查找字段的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脚本来注释这样的字帖,但在我这样做之前,我想知道是否有人有更平滑的方法来获得相同的值?

5 个答案:

答案 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

我希望这能解决您的问题。