是否可以将所有这些COBOL语句集中在一起,以使用一个write语句来创建文件?

是否可以将所有这些COBOL语句集中在一起,以使用一个write语句来创建文件?,cobol,Cobol,是否可以将所有这些声明集中在一起,以便我只需将参数写入文件 示例:从myVariable写入临时变量 01 LINE1 PIC X(80) VALUE 'String'. 01 LINE2. 02 FILLER PIC X(79) VALUE 'String'. 02 FILLER PIC X(01) VALUE '&g

是否可以将所有这些声明集中在一起,以便我只需将参数写入文件

示例:从myVariable写入临时变量

 01 LINE1       PIC X(80) VALUE 'String'.          
 01 LINE2.                                                        
    02 FILLER   PIC X(79) VALUE 'String'.   
    02 FILLER   PIC X(01) VALUE '>'.                              
 01 LINE3.                                                        
    05 R-TO     PIC X(10) VALUE 'String: <'.                     
    05 NEW-ADDR PIC X(69).                                        
    05 FILLER   PIC X(01) VALUE '>'.                              
 01 LINE4       PIC X(04) VALUE 'String'.                           
 01 LINE5       PIC X(80) VALUE 'String'.         
 01 LINE6.                                                        
    05 V-TO     PIC X(04) VALUE 'String'.                            
    05 ADDR6    PIC X(76).                                        
 01 LINE7       PIC X(80) VALUE 'String'.  
    SKIP1.                                                        
01第1行图片X(80)值“字符串”。
01第2行。
02填充图片X(79)值“字符串”。
02填料图X(01)值'>'。
01第3行。
05 R-至PIC X(10)值“字符串:”。
01第4行PIC X(04)值“字符串”。
01第5行PIC X(80)值“字符串”。
01第6行。
05 V-至PIC X(04)值“字符串”。
05增补6图X(76)。
01第7行PIC X(80)值“字符串”。
滑雪1。
01我的变量。
05第1行图片X(80)值“字符串”。
05第2行。
10填充图片X(79)值“字符串”。
10填充图片X(01)值'>'。
05第3行。
10 R-到PIC X(10)值“字符串:”。
05第4行PIC X(04)值“字符串”。
05第5行PIC X(80)值“字符串”。
05第6行。
10 V至PIC X(04)值“字符串”。
10增补6图X(76)。
05第7行PIC X(80)值“字符串”。
“String”是六个字节,因此它不能放入两个四字节字段中

这会满足你的要求,但我不确定这是你想要的


您是否希望每个元素都具有不带尾随空格的可变长度记录?

是否应该将
LINE4 PIC X(04)VALUE'String'
声明为
PIC X(80)
?这看起来像是数据格式/显示类型问题,只需向我们展示一些典型值(例如NEW-ADDR、ADDR6等)以及您希望如何显示它们。我们也许能更好地回答您的问题。每行应该有80字节长。Sring只是一个占位符,因为我不想把银行的敏感信息放上去。@DougHauf LINE4目前只有四个字节。是的,80字节多次都没有问题。27994字节可用于单个记录,如果您想扩展大小但损失磁盘空间(每个磁道只能获得一条记录,其余的磁道将为空),则会多一点。一个01级别下的所有内容都可以一次性写入。@DougHauf,发生了什么事?只打印了第1行,其余的都没有打印。@DougHauf检查FD是否只定义了80字节的记录。您的recordsize将为560字节,因此FD需要具有相同大小的01级别。这也需要反映在您的JCL中。
01  myVariable.
 05 LINE1       PIC X(80) VALUE 'String'.          
 05 LINE2.                                                        
    10 FILLER   PIC X(79) VALUE 'String'.   
    10 FILLER   PIC X(01) VALUE '>'.                              
 05 LINE3.                                                        
    10 R-TO     PIC X(10) VALUE 'String: <'.                     
    10 NEW-ADDR PIC X(69).                                        
    10 FILLER   PIC X(01) VALUE '>'.                              
 05 LINE4       PIC X(04) VALUE 'String'.                           
 05 LINE5       PIC X(80) VALUE 'String'.         
 05 LINE6.                                                        
    10 V-TO     PIC X(04) VALUE 'String'.                            
    10 ADDR6    PIC X(76).                                        
 05 LINE7       PIC X(80) VALUE 'String'.