Resultados 1 al 3 de 3

Tema: Grabar Archivo en Disco

  1. #1
      Junior
    j

    Registrado
    abril de 2017
    Ubicación
    Curico Chile
    Mensajes
    94
    Última visita
    02.02.2023

    Agradecimientos
     
    Recibidos
    3
    Enviados
    24

    Citaciones y menciones
     
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    6

    Predeterminado Grabar Archivo en Disco

    Hola, me podrían ayudar como se hace para grabar un archivo en disco en una carpeta direccionada desde el programa.

    Al definir de esta manera funciona, pero el nombre se graba como tal WS-PREVIRED
    sin agregar lo demás AÑO, MES, etc.

    COBOL Código:
    1.            SELECT PreviRed ASSIGN DISK "C:\INFORMES\WS-PREVIRED"
    2.                    ORGANIZATION IS LINE SEQUENTIAL
    3.                    FILE STATUS FILE-STATUS.

    Lo que necesito es agregar algunos datos como la fecha cuando se genero el archivo
    esto funciona pero me deja grabado el archivo donde están todos los programas del sistema
    es complicado por que el usuario estaría entrando a la carpeta donde están todos los programs para rescatar el archivo.

    Esta rutina la tengo en RMCOBOL85
    COBOL Código:
    1.        SELECT PreviRed ASSIGN TO DISK WS-PREVIRED
    2.               ORGANIZATION IS LINE SEQUENTIAL
    3.               ACCESS SEQUENTIAL                  
    4.               FILE STATUS FILE-STATUS.
    5.  
    6.        FD  PreviRed LABEL RECORD OMITTED.
    7.        01  R-PreviRed.
    8.            02 FILLER          PIC X(2600).
    9.  
    10.        WORKING-STORAGE SECTION.
    11.        01  WS-PREVIRED.
    12.            02  WS-NOMARCH    PIC X(17).
    13.            02  WS-NOMARCH-R REDEFINES WS-NOMARCH.
    14.                03 WS-PREV    PIC X(04).
    15.                03 WS-EMP     PIC 9(03).      
    16.                03 WS-ANO     PIC 9(04).
    17.                03 WS-MES     PIC 9(02).
    18.                03 WS-EST     PIC X(04).
    19.  
    20.          PROCEDURE DIVISION.
    21.            MOVE "PREV"        TO WS-PREV
    22.            MOVE REM00-EMPRESA TO WS-EMP
    23.            MOVE REM00-ANO1    TO WS-ANO
    24.            MOVE REM00-MES1    TO WS-MES
    25.            MOVE ".TXT"        TO WS-EST
    26.            MOVE WS-NOMARCH    TO WS-PREVIRED  
    27.            OPEN OUTPUT PreviRed
    Saludos

    0 Not allowed!

  2. #2
      Senior
    J

    Registrado
    junio de 2016
    Ubicación
    Albacete
    Edad
    56
    Mensajes
    336
    Última visita
    Hoy a las 09:18

    Agradecimientos
     
    Recibidos
    221
    Enviados
    128

    Citaciones y menciones
     
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    6 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado
    1 members found this post helpful.

    El problema lo tienes en que debes de poner una variable al describir el fichero en vez de un literal. Y rellenar la variable en tiempo de ejecución con el contenido deseado.

    Cambia esto SELECT PreviRed ASSIGN DISK "C:\INFORMES\WS-PREVIRED" por WS-PREVIRED Y rellena el nombre de fichero deseado en esa variable antes de hacer el open.

    O prueba esto..........

    En vez de poner esto:

    COBOL Código:
    1. SELECT PreviRed ASSIGN DISK "C:\INFORMES\WS-PREVIRED"
    2. ORGANIZATION IS LINE SEQUENTIAL
    3. FILE STATUS FILE-STATUS.

    Pon esto:

    COBOL Código:
    1. SELECT PreviRed ASSIGN DISK WS-PREVIRED
    2. ORGANIZATION IS LINE SEQUENTIAL
    3. FILE STATUS FILE-STATUS.


    Y antes de hacer el OPEN, rellena el nombre de fichero. Por ejemplo:

    COBOL Código:
    1. WORKING-STORAGE SECTION.
    2. 01 fecha pic x(6).
    3. 01 WS-PREVIRED pic x(80).
    4.  
    5. *
    6. *
    7. *
    8.  
    9. PROCEDURE DIVISION.
    10.  
    11. accept fecha from time.
    12.  
    13. initialize  WS-PREVIRED.
    14.  
    15. string "C:\INFORMES"  delimited by size
    16.             fecha delimited by size into WS-PREVIRED
    17.  
    18.  
    19.  

    O rellenar el nombre del fichero con algo parecido a esto:

    COBOL Código:
    1. string "C:\INFORMES\fichero-"  delimited by size
    2.             fecha(1:2) '-' fecha (3:2) '-'  fecha (5:2) delimited by size into WS-PREVIRED

    0 Not allowed!

  3. #3
      Junior
    j

    Registrado
    abril de 2017
    Ubicación
    Curico Chile
    Mensajes
    94
    Última visita
    02.02.2023

    Agradecimientos
     
    Recibidos
    3
    Enviados
    24

    Citaciones y menciones
     
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    6

    Predeterminado

    JCantero, Gracias por tu ayuda
    Esta es el Código Cobol que me dio resultado
    COBOL Código:
    1.            SELECT PreviRed ASSIGN TO DISK WS-PREVIRED
    2.                    ORGANIZATION IS LINE SEQUENTIAL
    3.                    FILE STATUS FILE-STATUS.
    4.  
    5.  
    6.        WORKING-STORAGE SECTION.
    7.        01 WS-PREVIRED    PIC X(80).
    8.        01 NOMARCH.    
    9.            02 WS-NOMARCH PIC X(13).
    10.            02 WS-NOMARCH-R REDEFINES WS-NOMARCH.
    11.               03 WS-EMP  PIC 9(03).
    12.               03 WS-MES  PIC 9(02).
    13.               03 WS-ANO  PIC 9(04).
    14.               03 WS-EST  PIC X(04).
    15.  
    16.  
    17.        PROCEDURE DIVISION.
    18.            INITIALIZE WS-PREVIRED
    19.            MOVE REM00-EMPRESA TO WS-EMP
    20.            MOVE REM00-MES1    TO WS-MES
    21.            MOVE REM00-ANO1    TO WS-ANO
    22.            MOVE ".TXT"        TO WS-EST
    23.  
    24.            string "C:\INFORMES\PREVIRED-" delimited by size
    25.                  WS-NOMARCH(1:3) '-' WS-NOMARCH(4:2) '-'
    26.                  WS-NOMARCH(6:4)   WS-NOMARCH(10:4)
    27.                     delimited by size into WS-PREVIRED.
    28.      
    29.            OPEN OUTPUT PreviRed

    0 Not allowed!

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. Como saber si un disco es local o de red
    Por Gusaiello en el foro Sistemas operativos
    Respuestas: 4
    Último Mensaje: 26.07.2022, 03:08
  2. Problema al grabar archivos con el compilador Open
    Por Jairo Hernán Ramirez Mora en el foro GnuCOBOL (OpenCOBOL)
    Respuestas: 1
    Último Mensaje: 28.03.2021, 20:52
  3. [Sintaxis] Númerro de serie del Disco Duro
    Por Roger en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 3
    Último Mensaje: 10.09.2015, 01:04
  4. [Aporte] Obtener numero de serie del Disco Duro (HDD)
    Por Hrmcobol en el foro Cocina PowerCOBOL
    Respuestas: 0
    Último Mensaje: 17.04.2015, 16:59

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •