COBOL Foro

COBOL Foro (https://www.cobolforo.es/index.php)
-   COBOL - General (https://www.cobolforo.es/forumdisplay.php?f=44)
-   -   [Información] No logro imprimir (https://www.cobolforo.es/showthread.php?t=1027)

jjop 20 de julio de 2019 14:12

No logro imprimir
 
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:
  1. ******************************************************************
  2.      * Author: Juan Jose
  3.      * Date:   9 de febrero 2019
  4.      * Purpose: Practicar
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. YOUR-PROGRAM-NAME.
  9.        ENVIRONMENT DIVISION.
  10.        INPUT-OUTPUT SECTION.
  11.        FILE-CONTROL.
  12.        SELECT PRINTER-FILE ASSIGN TO PRINTER, "HPCAD2A9"
  13.                 file status is error-impresora.
  14.        DATA DIVISION.
  15.        FILE SECTION.
  16.            FD  PRINTER-FILE.
  17.            01  PRINTED-RECORD          PIC X(80).
  18.  
  19.        WORKING-STORAGE SECTION.
  20.             01 indice      PIC 99.
  21.             01 wk-count    PIC 99.
  22.             01 wk-fecha  pic x(8).
  23.             01 wkr-fecha REDEFINES wk-fecha.
  24.                05 wk-ano   pic 9(4).
  25.                05 wk-mes   pic 9(2).
  26.                05 wk-dia   pic 9(2).
  27.             01 error-impresora PIC 99 VALUE 33.
  28.             01 cabecera.
  29.                02 FILLER  PIC X(20) VALUE SPACE.
  30.                02 FILLER  PIC x(16) VALUE "Prueba Impresion".
  31.                02 FILLER  PIC X(20) VALUE SPACES.
  32.                02 FECHAIM PIC X(8).
  33.                02 FILLER  PIC X(14)   VALUE SPACES.
  34.                02 CONTIM  PIC Z9.
  35.  
  36.        PROCEDURE DIVISION.
  37.        MAIN-PROCEDURE.
  38.             MOVE FUNCTION CURRENT-DATE to wk-fecha.
  39.             OPEN OUTPUT PRINTER-FILE.
  40.             DISPLAY "Introduce numero de veces".
  41.             ACCEPT wk-count.
  42.             PERFORM 001-prueba UNTIL indice EQUAL wk-count.
  43.             PERFORM 002-impresion.
  44.             DISPLAY error-impresora.
  45.             CLOSE PRINTER-FILE.
  46.             STOP RUN.
  47.  
  48.             001-prueba.
  49.             ADD 1 to indice
  50.             DISPLAY "vez que pasa por el bucle:" indice
  51.             DISPLAY wk-dia
  52.             DISPLAY wk-mes
  53.             DISPLAY wk-ano
  54.             DISPLAY "Hola Juan Jose".
  55.  
  56.             002-impresion.
  57.             DISPLAY "Hola estoy en 002-impresion".
  58.             MOVE wk-fecha TO                FECHAIM.
  59.             MOVE wk-count TO                CONTIM.
  60.             MOVE cabecera TO PRINTED-RECORD.
  61.             WRITE PRINTED-RECORD BEFORE ADVANCING 1.
  62.  
  63.  
  64.        END PROGRAM YOUR-PROGRAM-NAME.

JCantero 20 de julio de 2019 20:51

En el nombre de la impresora tienes que poner el nombre de dispositivo.

Conforme lo tienes te estara generando el listado en un fichero "HPCAD2A9"

Para poder imprimir debes de cambiar el nombre de la impresora.

Con ese cobol no he trabajado yo pero puedes probar a poner PRINTER

Si no te funciona prueba a realizar lo siguiente:

Comparte la impresora por ejemplo con el nombre hp5030

Mira el identificador de tu ordenador y si es por ejemplo ORDENADOR-CASA pon el nombre de disposivo de impresion \\ORDENADOR-CASA\HP5030

Si no te funciona cambia el el nombre de disposivo a LPT1

Para ello debes de activar el disposivo desde la linea de comandos poniendo:

Código:

NET USE LPT1 \\ORDENADOR-CASA\HP5030
Ve realizando pruebas y si no funciona volvemos a hablar

jjop 22 de julio de 2019 19:24

Voy a estar un par de semanas sin ordenador...
 
Voy a estar un par de semanas sin ordenador...Tengo una pequeña obra en casa y tengo que convivir con ella. Ya te contaré. Muchas gracias por adelantado

---------- Post añadido : 17:24 ---------- Post anterior : 08:46 ----------

JCantero,
Hola, he aprovechado que todavia tengo ordenardor y he hecho lo que me habias indicado. Tenias razón, tal como lo tenía me había generado un fichero con ese nombre y que contenia la información que quería que saliera por la impresora.
Con el ultimo intento que me indicaste NET USE.......... me dijo que el comando se habia completado correctamente. Pero al ejecutar el programa de COBOL no imprimia y en el error de la impresora daba un código "48".


La franja horaria es GMT +1. Ahora son las 12:21.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.