CLOSE WORK FILE

CLOSE WORK [FILE]  work-file-number

Dieses Dokument behandelt folgende Themen:

Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.

Verwandte Statements: DEFINE WORK FILE | READ WORK FILE | WRITE WORK FILE

Gehört zur Funktionsgruppe: Kontrolle von Arbeitsdateien / PC-Dateien


Funktion

Das Statement CLOSE WORK FILE dient dazu, eine bestimmte Arbeitsdatei zu schließen. Es erlaubt Ihnen, in einem Programm explizit anzugeben, dass eine Arbeitsdatei geschlossen werden soll.

Eine Arbeitsdatei schließt sich auch automatisch,

  • wenn der Kommando-Modus erreicht ist;

  • wenn eine Dateiende-Bedingung bei Ausführung eines READ WORK FILE-Statements auftritt;

  • bevor ein DEFINE WORK FILE-Statement ausgeführt wird, das der betreffenden Arbeitsdateinummer ein anderes Dataset zuweist;

  • entsprechend dem Schlüsselwortparameter CLOSE des Profilparameters WORK.

CLOSE WORK FILE wird für Arbeitsdateien ignoriert, für die im Profilparameter WORK CLOSE=FIN angegeben ist.

Syntax-Beschreibung

Syntax-Element-Beschreibung:

Syntax-Element Beschreibung
work-file-number Als work-file-number geben Sie die Nummer der Arbeitsdatei an (mit der sie für Natural definiert ist), die geschlossen werden soll.

Beispiel

** 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