将file1的文件定义重新用于另一个,即没有打开/关闭文件1的文件2.
我有一个月度文件,我的要求是生成类似于每月文件的每日文件。两个文件的记录长度和文件定义是相同的。
我是否可以使用每月文件的FD来保存数据,并使用我的Daily文件的月度文件数据项进行一些验证,并在以后编写我的日常文件? 使用每月文件的FD变量进行了大量的验证,我不能使用每日文件的变量进行相同的验证,因为我需要在多个程序的许多地方进行更改/重写代码。
注意:我正在进行日常文件处理&每月处理结束后生成。 另外,我们使用的是UNIX环境。
如果无法提及上述方法,请建议我如何实现这一目标。
答案 0 :(得分:0)
在打开文件之前,文件的记录区域不可用。 SAME RECORD AREA
子句可用于提供别名。
identification division.
program-id. srac.
environment division.
input-output section.
file-control.
select optional monthly-file assign "monthly.dat"
file status monthly-stat.
select daily-file assign "daily.dat"
file status daily-stat.
i-o-control.
same record area monthly-file daily-file.
data division.
file section.
fd monthly-file.
1 monthly-id pic 999.
fd daily-file.
1 daily-id pic 999.
working-storage section.
1 monthly-stat pic x(2).
1 daily-stat pic x(2).
procedure division.
open input monthly-file daily-file
display "monthly-stat:" space monthly-stat
display "daily-stat: " space daily-stat
read daily-file
display "monthly-id:" space monthly-id
if monthly-id < 10
add 100 to monthly-id
end-if
display "daily-id: " space daily-id
close monthly-file daily-file
stop run
.
monthly-stat: 05
daily-stat: 00
monthly-id: 001
daily-id: 101
在此示例中,每月和每日文件具有相同的记录描述条目;但是,月度文件不存在。然而,可以使用月度文件的数据名进行验证,修改或其他任何内容。