Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Cocina Casera Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Ayuda con lectura de archivo indexado JonathanDemons_123 COBOL - General 4 15 de abril de 2024 08:46
[Sintaxis] Como buscar por nombre en un registro indexado? Marengo97 GnuCOBOL (OpenCOBOL) 10 4 de agosto de 2023 12:04
No puedo crear un archivo indexado CHITOBLA GnuCOBOL (OpenCOBOL) 42 7 de diciembre de 2022 10:34
[Sintaxis] Crear archivo indexado desde un XLS Anthony AcuCobol 10 6 de agosto de 2019 17:35
[Sintaxis] Leer indexado hacía atrás por clave alterna Hrmcobol PowerCOBOL (ActiveX, v4 - v11) 1 10 de noviembre de 2016 13:35

Respuesta

  #1
Antiguo 27 de febrero de 2015, 01:04
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224
Like Numero de Registos en un Ficheiro indexado
5 Inactivo Inactivo

Código para saber numero de registos de um ficheiro indexado:

Código COBOL:
  1.  @OPTIONS NOALPHA                                                                              
  2. *****************************************************************                              
  3. *  Copyright (c) 2008 R.P.S.                                                                  
  4. *  Created      :    Jun 2008                                                                  
  5. *  Last Modified:    Jun 2008                                                                  
  6. *****************************************************************                              
  7.  IDENTIFICATION DIVISION.                                                                      
  8.  PROGRAM-ID.    RECORDCOUNT.                                                                  
  9.  AUTHOR.        Rui Pinto.                                                                    
  10. *-----------------------------------------------------------------                            
  11.  ENVIRONMENT DIVISION.                                                                        
  12.  CONFIGURATION SECTION.                                                                        
  13.  SPECIAL-NAMES.                                                                                
  14.  INPUT-OUTPUT SECTION.                                                                        
  15.  FILE-CONTROL.                                                                                
  16.      SELECT RCFILE ASSIGN TO FICHRC                                                            
  17.         ORGANIZATION SEQUENTIAL                                                                
  18.              FILE STATUS FS-RCFILE.                                                            
  19. *-----------------------------------------------------------------                            
  20.  DATA DIVISION.                                                                                
  21.  FILE SECTION.                                                                                
  22.  FD  RCFILE.                                                                                  
  23.  01  REGRCFILE.                                                                                
  24.      03  RCBYTE             PIC X(001).                                                        
  25. *-----------------------------------------------------------------                            
  26.  WORKING-STORAGE SECTION.                                                                      
  27.  01  FICHRC                 PIC X(256).                                                        
  28.  01  FS-RCFILE.                                                                                
  29.      03 FS-RCFILE-A         PIC X(001).                                                        
  30.      03 FS-RCFILE-B         PIC X(001).                                                        
  31.  01  CONTADOR               PIC 9(003).                                                        
  32.  01  XNRRECORDS             PIC X(004).                                                        
  33.  01  NRRECORDS REDEFINES XNRRECORDS PIC S9(009) COMP-4.                                        
  34.  LINKAGE SECTION.                                                                              
  35.  01  RC-PATHFILE           PIC X(256).                                                        
  36.  01  RC-NRRECORDS          PIC S9(009)   COMP-5.                                              
  37.  01  RC-RESULT             PIC X(001).                                                        
  38.  PROCEDURE DIVISION USING RC-PATHFILE RC-NRRECORDS RC-RESULT.                                  
  39.  MAIN SECTION.                                                                                
  40.  MAIN-00.                                                                                      
  41.      MOVE ZERO TO RC-NRRECORDS.                                                                
  42.      MOVE LOW-VALUES TO XNRRECORDS.                                                            
  43.      MOVE "N"  TO RC-RESULT.                                                                  
  44.      IF RC-PATHFILE = SPACE GO TO MAIN-99.                                                    
  45.  MAIN-05.                                                                                      
  46.      MOVE RC-PATHFILE TO FICHRC.                                                              
  47.      OPEN INPUT RCFILE.                                                                        
  48.      IF FS-RCFILE-A NOT = "0" GO TO MAIN-90.                                                  
  49.  MAIN-10.                                                      
  50.      MOVE 0 TO CONTADOR.                                      
  51.  MAIN-20.                                                      
  52.      READ RCFILE NEXT RECORD AT END GO TO MAIN-90.            
  53.      IF CONTADOR NOT = 50 ADD 1 TO CONTADOR GO TO MAIN-20.    
  54.      MOVE RCBYTE TO XNRRECORDS(1:1).                          
  55.      MOVE 2 TO CONTADOR.                                      
  56.  MAIN-30.                                                      
  57.      READ RCFILE NEXT RECORD AT END GO TO MAIN-90.            
  58.      MOVE RCBYTE TO  XNRRECORDS(CONTADOR:1).                  
  59.      IF CONTADOR NOT = 4 ADD 1 TO CONTADOR GO TO MAIN-30.      
  60.      MOVE NRRECORDS TO RC-NRRECORDS.                          
  61.      MOVE "Y" TO RC-RESULT.                                    
  62.  MAIN-90.                                                      
  63.      CLOSE  RCFILE.                                            
  64.      MOVE "00" TO FS-RCFILE.                                  
  65.      MOVE ALL SPACE TO FICHRC.                                
  66. *     CLOSE RCFILE.                                            
  67.  MAIN-99.                                                      
  68.  END PROGRAM RECORDCOUNT.                                      

Parâmetros a passar:

Código COBOL:
  1. CALL "RECORDCOUNT" USING RC-PATHFILE RC-NRRECORDS RC-RESULT

Input :RC-PATHFILE
Output: RC-NRRECORDS
Output: RC-RESULT

Saludos,
Rui Pinto
Rapinto is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:41.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.