在 COBOL 中打开文件时如何修复状态代码 90

问题描述 投票:0回答:1

我的 COBOL 应用程序遇到问题。 在 COBOL 中打开文件时,我的应用程序产生错误。 我尝试打开的文件具有固定的块大小,并且 我想显示内容,因为我正在测试我的应用程序。

这是错误:

There was an unsuccessful OPEN or CLOSE of file EINGABE in program -------- ath the relative location X'FFFFFFFFD0E14BB8'.  Neither FILE STATUS nor an ERROR declarative were specified. The status code was 90. From compile unit TQTEST01 at entry point TQTEST01 at statement 60 at compile unit
offset +000001F6 at entry offset +000001F6 at address 2F2001F6.       

这是我的 COBOL 代码:

IDENTIFICATION DIVISION.                                
PROGRAM-ID.     TQTEST01                                
ENVIRONMENT DIVISION.                                   
INPUT-OUTPUT SECTION.                                   
FILE-CONTROL.                                           
    SELECT INPUT-DATEI ASSIGN TO EINGABE                
    ORGANIZATION IS LINE SEQUENTIAL.                    
                                                         
DATA DIVISION.                                          
FILE SECTION.                                           
FD INPUT-DATEI.                                         
01 EINGELESENE-ZEILE PIC X(40).                         
                                                           
WORKING-STORAGE SECTION.                                
                                                        
01 BOERSENTABLE.                                        
  05 B-KENNUNGEN OCCURS 71 TIMES INDEXED BY B-IDX.      
    15 B-CODE PIC X(6).                                 
                                                        
01 IDX PIC 9(2).                                        
01 BOERSENCODE PIC X(6).                                
01 FORMATIERTE-ZEILE.                     
  05 SELEKTION-VOR-BOERSENCODE PIC X(33). 
  05 EINGELESENER-BOERSENCODE PIC X(7).   
                                          
01 BESTEHENDE-DATEI-EOF.                  
  05 BD-DATEISTATUS PIC X.                
   88 BD-EOF VALUE 'J'.                   
                                          
COPY LIBCOB.                              
                                          
PROCEDURE DIVISION.                       
                                          
STEUERLOGIK SECTION.                      
    PERFORM F001-INITIALISIERUNG-SECTION. 
    PERFORM F002-ABGLEICH-SECTION.        
    PERFORM F003-DATEI-SCHLIESSEN-SECTION.
    GOBACK.                               
STEUERLOGIK-EX.                           
     EXIT.                                
                                          
F001-INITIALISIERUNG-SECTION. 
DISPLAY "A".                  
OPEN INPUT INPUT-DATEI.       
DISPLAY "B".                  
DISPLAY "C".                  
MOVE '.....' TO B-CODE (1).
     CONTINUE.            
F001-INITIALISIERUNG-EXIT.
     EXIT.                
F002-ABGLEICH-SECTION.                           
      ....                               
      CONTINUE.                                   
 F002-ABGLEICH-SECTION-EXIT.                      
      EXIT.                                       
                                                  
 F003-DATEI-SCHLIESSEN-SECTION.                   
      CLOSE INPUT-DATEI.                          
      CONTINUE.                                   
 F003-DATEI-SCHLIESSEN-EXIT.                      
      EXIT.                                       

亲切的问候

实现固定块大小的文件,检查JCL是否写入正确

cobol mainframe zos jcl
1个回答
0
投票

尝试将文件状态变量与 INPUT-DATE 相关联,并在与该文件相关的每个操作(打开、关闭、读取等)之后测试它

文件控制。
选择输入数据分配给 EINGABE
组织是按顺序排列的 文件状态为 WS-FS-INPUT-DATEI。 ... 工作存储部分。

01 WS-FS-输入-DATEI PIC X(02)。
88 输入日期正常值“00”。 88 输入日期 EOF 值“10”。 ... 打开输入 输入-DATEI 如果没有输入-日期-OK 显示“打开文件 FS= 时出错”WS-FS-INPUT-DATEI。 ...

之后您可以更好地了解发生了什么。

© www.soinside.com 2019 - 2024. All rights reserved.