Hola,
Creo que deje lo del Cobol hace 100 años, lo tengo más que olvidado. No os aburro más. Recientemente he encontrado un compilador de Cobol (Open CobolIDE) y me he puesto a jugar y ver si iba recordando algo. El cobol está instalado en un PC con WINDOWS 10 Y un sistema operativo de 64 bits. La impresora es una HP ENVY 5030 (la causante de mis males).
Los programas que voy haciendo para refrescar son por partes. Este que he hecho es solo para imprimir y no complicarlo con otros posibles errores.
Cuando compilo, y ejecuto el programa, funciona perfectamente y no da ningún error, tanto en compilación como en ejecución.
Dejo aqui el programa a ver si alguien me puede echar una mano.
Código COBOL:
******************************************************************
* Author: Juan Jose
* Date: 9 de febrero 2019
* Purpose: Practicar
* Tectonics: cobc
******************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. YOUR-PROGRAM-NAME.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT PRINTER-FILE ASSIGN TO PRINTER, "HPCAD2A9"
file status is error-impresora.
DATA DIVISION.
FILE SECTION.
FD PRINTER-FILE.
01 PRINTED-RECORD PIC X(80).
WORKING-STORAGE SECTION.
01 indice PIC 99.
01 wk-count PIC 99.
01 wk-fecha pic x(8).
01 wkr-fecha REDEFINES wk-fecha.
05 wk-ano pic 9(4).
05 wk-mes pic 9(2).
05 wk-dia pic 9(2).
01 error-impresora PIC 99 VALUE 33.
01 cabecera.
02 FILLER PIC X(20) VALUE SPACE.
02 FILLER PIC x(16) VALUE "Prueba Impresion".
02 FILLER PIC X(20) VALUE SPACES.
02 FECHAIM PIC X(8).
02 FILLER PIC X(14) VALUE SPACES.
02 CONTIM PIC Z9.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
MOVE FUNCTION CURRENT-DATE to wk-fecha.
OPEN OUTPUT PRINTER-FILE.
DISPLAY "Introduce numero de veces".
ACCEPT wk-count.
PERFORM 001-prueba UNTIL indice EQUAL wk-count.
PERFORM 002-impresion.
DISPLAY error-impresora.
CLOSE PRINTER-FILE.
STOP RUN.
001-prueba.
ADD 1 to indice
DISPLAY "vez que pasa por el bucle:" indice
DISPLAY wk-dia
DISPLAY wk-mes
DISPLAY wk-ano
DISPLAY "Hola Juan Jose".
002-impresion.
DISPLAY "Hola estoy en 002-impresion".
MOVE wk-fecha TO FECHAIM.
MOVE wk-count TO CONTIM.
MOVE cabecera TO PRINTED-RECORD.
WRITE PRINTED-RECORD BEFORE ADVANCING 1.
END PROGRAM YOUR-PROGRAM-NAME.