Ver Mensaje Individual
  #7
Antiguo 8 de febrero de 2024, 09:07
lfortuny
Forero Junior
Última Actividad 05.07.2026 12:35
Posts Posts: 20
Likes enviados Enviados: 17
Likes recibidos Recibidos: 3

Buenos días.
En el primer programa:

Código COBOL:
  1.  elegir-impresora.
  2.     INVOKE Pr_Impresora "SetPrinter" RETURNING ReturnValue.
  3.     IF ReturnValue = POW-TRUE
  4.         MOVE "PrinterName"        OF Pr_Impresora TO nomimpre
  5.         MOVE "PaperOrientation"   OF Pr_Impresora TO orientation
  6.         MOVE "PaperType"          OF Pr_Impresora TO paper
  7.         MOVE "Source"             OF Pr_Impresora TO bandeja
  8.     END-IF.


Working primer programa.
Código COBOL:
  1. 01 datos-llamada GLOBAL EXTERNAL.
  2.     02 bandeja      PIC 9(4).
  3.     03 nomimpre     PIC X(200).
  4.     03 orientation      PIC X(9).
  5.     03 paper            PIC X(9).
Segundo programa.

Working .

Código COBOL:
  1. 01 datos-llamada GLOBAL EXTERNAL.
  2.     02 bandeja      PIC 9(4).
  3.     03 nomimpre     PIC X(200).
  4.     03 orientation      PIC X(9).
  5.     03 paper            PIC X(9).
  6.  
  7.  programa.
  8.     MOVE orientation            TO "PaperOrientation"   OF Pr_Impresora
  9.     MOVE paper              TO "PaperType"        OF Pr_Impresora
  10.     MOVE bandeja                TO "Source"                OF Pr_Impresora

Con esto imprimo por la impresora elegida en el primer programa.

También puedo hacer lo siguiente, para que me coja la impresora que desee, eso si, siempre teniendo el nombre completo de la impresora cargada en 'nombre_imp'.
En ambos programas.
Código COBOL:
  1. 01 nombre_imp              PIC X(20) VALUE "Impresora_PDF" GLOBAL EXTERNAL.
* También los otros datos GLOBAL EXTERNAL.

En el segundo programa:
Código COBOL:
  1.     MOVE nombre_imp         TO nomimpre
  2. * Le puedo pasar "PaperOrientation" y "PaperType"  y asignarla.
  3.     MOVE orientation TO "PaperOrientation" OF Pr_Impresora
  4.     MOVE paper         TO "PaperType"        OF Pr_Impresora


La working es así:
Código COBOL:
  1. 01 datos-llamada GLOBAL EXTERNAL.
  2. 02 bandeja PIC 9(4).
  3. 02 nomimpre PIC X(200).
  4. 02 orientation PIC X(9).
  5. 02 paper PIC X(9).

Comentario de Moderador

Usa los botones de resalto de sintaxis
lfortuny is offline   Responder Con Cita