0
Código para saber numero de registos de um ficheiro indexado:COBOL Código:
@OPTIONS NOALPHA ***************************************************************** * Copyright (c) 2008 R.P.S. * Created : Jun 2008 * Last Modified: Jun 2008 ***************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. RECORDCOUNT. AUTHOR. Rui Pinto. *----------------------------------------------------------------- ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT RCFILE ASSIGN TO FICHRC ORGANIZATION SEQUENTIAL FILE STATUS FS-RCFILE. *----------------------------------------------------------------- DATA DIVISION. FILE SECTION. FD RCFILE. 01 REGRCFILE. 03 RCBYTE PIC X(001). *----------------------------------------------------------------- WORKING-STORAGE SECTION. 01 FICHRC PIC X(256). 01 FS-RCFILE. 03 FS-RCFILE-A PIC X(001). 03 FS-RCFILE-B PIC X(001). 01 CONTADOR PIC 9(003). 01 XNRRECORDS PIC X(004). 01 NRRECORDS REDEFINES XNRRECORDS PIC S9(009) COMP-4. LINKAGE SECTION. 01 RC-PATHFILE PIC X(256). 01 RC-NRRECORDS PIC S9(009) COMP-5. 01 RC-RESULT PIC X(001). PROCEDURE DIVISION USING RC-PATHFILE RC-NRRECORDS RC-RESULT. MAIN SECTION. MAIN-00. MOVE ZERO TO RC-NRRECORDS. MOVE LOW-VALUES TO XNRRECORDS. MOVE "N" TO RC-RESULT. IF RC-PATHFILE = SPACE GO TO MAIN-99. MAIN-05. MOVE RC-PATHFILE TO FICHRC. OPEN INPUT RCFILE. IF FS-RCFILE-A NOT = "0" GO TO MAIN-90. MAIN-10. MOVE 0 TO CONTADOR. MAIN-20. READ RCFILE NEXT RECORD AT END GO TO MAIN-90. IF CONTADOR NOT = 50 ADD 1 TO CONTADOR GO TO MAIN-20. MOVE RCBYTE TO XNRRECORDS(1:1). MOVE 2 TO CONTADOR. MAIN-30. READ RCFILE NEXT RECORD AT END GO TO MAIN-90. MOVE RCBYTE TO XNRRECORDS(CONTADOR:1). IF CONTADOR NOT = 4 ADD 1 TO CONTADOR GO TO MAIN-30. MOVE NRRECORDS TO RC-NRRECORDS. MOVE "Y" TO RC-RESULT. MAIN-90. CLOSE RCFILE. MOVE "00" TO FS-RCFILE. MOVE ALL SPACE TO FICHRC. * CLOSE RCFILE. MAIN-99. END PROGRAM RECORDCOUNT.
Parâmetros a passar:COBOL Código:
CALL "RECORDCOUNT" USING RC-PATHFILE RC-NRRECORDS RC-RESULT
Input :RC-PATHFILE
Output: RC-NRRECORDS
Output: RC-RESULT
Saludos,
Rui Pinto
Marcadores