RPG

449. 標識を使わない OPEN命令

ILE-RPGでは標識を使わない記述をすることができる。
標識を使わないOPEN命令の使用方法を紹介する。

■ 標識を使う OPEN 命令

OPEN命令で56桁目に標識を定義しておくと
OPEN命令が失敗したことを意味する。

■ 標識を使わない OPEN 命令

%OPENという組込み関数を使うとファイルが既にオープンされているときにオンになる。

フリー・フォーマットの場合でも同じように記述する。

■ 標識を使わないOPEN TESTOPN

ソースはこちらから

0001.00 H DFTNAME(TESTOPN) DATEDIT(*YMD/) BNDDIR('QC2LE')                                   
0002.00 F**********  標識を使わない OPEN 命令 *********************************             
0003.00 FSHOHIN    IF   E           K DISK    USROPN                                        
0004.00 F**********************************************************************             
0005.00                                                                                     
0006.00  * CRTBNDRPG PGM(OBJLIB/TESTOPN) SRCFILE(SRCLIB/QRPGLESRC) DFTACTGRP(*NO)           
0007.00  * ACTGRP(*NEW) DBGVIEW(*SOURCE) AUT(*ALL)                                          
0008.00                                                                                     
0009.00 C                   MOVEL(P)  'NV-CF1'      SHCODE                                  
0010.00  *(1) 標識を使った OPEN 命令                                                        
0011.00 C                   OPEN      SHOHIN                               90               
0012.00 C     *IN90         IFEQ      *OFF                                         N90      
0013.00 C                   READ      SHOHIN                                 50             
0014.00 C                   CLOSE     SHOHIN                                                
0015.00 C                   ENDIF                                                  N90      
0016.00                                                                                     
0017.00  *(2) 標識を使わない OPEN 命令                                                      
0018.00 C                   IF        NOT %OPEN(SHOHIN)                                     
0019.00 C                   OPEN      SHOHIN                                                
0020.00 C                   READ      SHOHIN                                                
0021.00 C                   CLOSE     SHOHIN                                                
0022.00 C                   ENDIF                                                           
0023.00  /FREE                                                                              
0024.00        IF NOT %OPEN(SHOHIN);                                        
0025.00           OPEN  SHOHIN;                                             
0026.00           READ  SHOHIN;                                             
0027.00           CLOSE SHOHIN;                                             
0028.00        ENDIF;                                                       
0029.00  /END-FREE                                                          
0030.00 C                   SETON                                        LR 
0031.00 C                   RETURN                                          
0032.00        


                                                            

[解説]

%OPEN を単独で使用することもできるし %OPEN(ファイル名)としてファイル名を
指定することもできる。