CLOSE WORK FILE

CLOSE WORK [FILE] work-file-number

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連ステートメント:DEFINE WORK FILE | READ WORK FILE | WRITE WORK FILE

関連機能グループ:ワークファイル/PC ファイルの制御


関数

CLOSE WORK FILE ステートメントは、特定のワークファイルをクローズします。これにより、クローズするワークファイルをプログラム内で指定できます。

次の場合は、ワークファイルが自動的にクローズされます。

  • コマンドモードになった場合。

  • READ WORK FILE ステートメントの実行中にエンドオブファイル条件が発生した場合。

  • 別のファイルを関連するワークファイル番号に割り当てる DEFINE WORK FILE ステートメントが実行される前。

構文説明

構文要素 説明
work-file-number

閉じるワークファイルの番号(Natural に定義した)。

** Example 'CWFEX1': CLOSE WORK FILE                                    
************************************************************************
DEFINE DATA LOCAL                                                       
1 W-DAT   (A20)                                                         
1 REC-NUM (N3)                                                          
1 I       (P3)                                                          
END-DEFINE                                                              
*                                                                       
REPEAT                                                                  
  READ WORK FILE 1 ONCE W-DAT  /* READ MASTER RECORD                    
  /*                                                                    
  AT END OF FILE                                                        
    ESCAPE BOTTOM                                                       
  END-ENDFILE                                                           
  INPUT 'PROCESSING FILE' W-DAT (AD=O)                                  
      / 'ENTER RECORDNUMBER TO DISPLAY' REC-NUM                         
  IF REC-NUM = 0                                                        
    STOP                                                                
  END-IF
    FOR I = 1 TO REC-NUM                              
    /*                                              
    READ WORK FILE 1 ONCE W-DAT                     
    /*                                              
    AT END OF FILE                                  
      WRITE 'RECORD-NUMBER TOO HIGH, LAST RECORD IS'
      ESCAPE BOTTOM                                 
    END-ENDFILE                                     
  END-FOR                                           
  I := I - 1                                        
  WRITE 'RECORD' I ':' W-DAT                        
  /*                                                
  CLOSE WORK FILE 1                          
  /*                                                
END-REPEAT                                          
END