查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
陀螺仪
活跃的成员
.jpg)
已加入:2009年7月31日 帖子:565 地点:班加罗尔
|
|
|
|
你好
我正在尝试使用COBDFSYM生成SYMNAMES。但是,我无法为whens子句生成SYMNAMES。
示例:抄写本
码: |
01 XXX-RECORD.
03 XXX-BEGIN.
05 FILE-SIZE PICTURE S9(4) COMP.
05 FILE-NAME PICTURE X(2).
03 XXX-KEY.
05 KEY-G2-VARI PICTURE X(50).
05 FILLER 重新定义KEY-G2-VARI。
10 KEY-G2Y.
15 KEY-XXX-ACCT PICTURE S9(15) COMP-3.
15 KEY-XXX-DATE PICTURE S9(8) COMP.
15 FILLER PICTURE X(38).
03 XXX-DATA.
05 XXX-LST-CHG-DATE PICTURE S9(8) COMPUTATIONAL.
05 XXX-LEVEL-EACH OCCURS 02 TIMES
由XXX-LEVL-INDEX表示。
10 XXX-LEVEL-IND PICTURE 9.
10 XXX-REPT-EACH OCCURS 03 TIMES
由XXX-REPT-INDEX表示。
15 XXX-REPT-PERCENT
PICTURE S9(03)V9(06) COMP-3.
|
生成的输出SYMNAMES:
码: |
XXX记录1,90,CH
XXX-BEGIN,1,4,CH
FILE-SIZE,1,2,FI
文件名,3,2,CH
XXX键,5,50,CH
KEY-G2-VARI,5,50,CH
KEY-G2Y,5,50,CH
KEY-XXX-ACCT,5,8,PD
KEY-XXX-DATE,13,4,FI
XXX-DATA,55,36,CH
XXX-LST-CHG-DATE,55,4,FI
XXX-EACH,59,16,CH
_1,1,Index-Nam,CH
XXX-LEVEL-IND,59,1,ZD
XXX-REPT-EACH,60,5,CH
_2,1,Index-Nam,CH
XXX-REPT-PERCENT,60,5,PD
|
我们可以看到,SYMNAMES的出现子句具有 _1,1,Index-Nam,CH .
有人可以让我知道当抄写本中有出现子句时如何正确生成SYMNAMES吗?
提前致谢。 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
很高兴看到有人使用SYMNAMES :-)
OCCURS无法直接反映,在Sort产品中没有下标。您需要付出一些额外的手动或程序性工作才能为每个事件指定一个唯一的名称。
对于数据定义,请尝试:
码: |
场1,30,7,PD
FIELD-2 *,=,=
FIELD-3 *,=,= |
*将使用下一个可用的起始位置(FIELD-2的起始位置为37),而=将“复制”前一个字段在该位置的信息,因此所有长度和类型都将相同,而无需显式编码。
可以在SYMNOUT中检查所有内容,并将其扩展到实际位置,长度和类型。 |
|
回到顶部 |
|
 |
陀螺仪
活跃的成员
.jpg)
已加入:2009年7月31日 帖子:565 地点:班加罗尔
|
|
|
|
谢谢比尔 |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
您正在Rexx中进行此操作吗? |
|
回到顶部 |
|
 |
陀螺仪
活跃的成员
.jpg)
已加入:2009年7月31日 帖子:565 地点:班加罗尔
|
|
|
|
嗨尼克
COBDFSYM是IBM提供的Rexx例程,用于从cobol抄写本生成SYMNAMES。但是此例程无法正确处理Occurs子句... |
|
回到顶部 |
|
 |
唐·雷西
活跃的成员
已加入:2010年7月6日 帖子:696 地点:加拿大安大略省惠特比
|
|
|
|
我也注意到COBDFSYM中的小故障。 IBM按“原样”提供它,并且您可以随意更改它。
例如,我解决了一个影响可变大小组的问题。 (不幸的是,我不记得问题出在哪里)。我还添加了两个输入参数,一个用于指示起始偏移量(对于VB文件方便),另一个用于控制在符号名称中使用连字符(-)还是下划线(_)。
我还添加了一个生成MAPDEF结构的功能(REXX IMS可以使用它来解析IMS段)。
无论如何,我的观点是,如果COBDFSYM无法按照您想要的方式工作,请进行更改。这是Rexx,而不是火箭科学。  |
|
回到顶部 |
|
 |
蒙蒙的
新的用户
加入:2020年5月6日 帖子:7 所在地:美国
|
|
|
|
我注册只是为了可以与COBDFSYM共享此修复程序。
我已经使用了几年了,很喜欢它,当我们从cobol编译器V4升级到V6对该程序造成阻碍时,我感到非常难过。幸运的是,这是一个相当简单的更新程序。
这是您需要使其与V6(我假设是V5)编译器兼容的修复程序。
我将其发布在一些论坛上,以便其他人也可以找到同样的问题。
改变这条线
解析var行 92 asmdef datatyp .
至
解析var行 87 asmdef datatyp .
并添加此行
直到左(line,1)='1'
call Put_line
parse pull line
if pos('数据分区图的结尾',行)<> 0 then leave
end |
|
回到顶部 |
|
 |
|