Buenos días.
En el primer programa:
Código COBOL:
elegir-impresora.
INVOKE Pr_Impresora "SetPrinter" RETURNING ReturnValue.
IF ReturnValue = POW-TRUE
MOVE "PrinterName" OF Pr_Impresora TO nomimpre
MOVE "PaperOrientation" OF Pr_Impresora TO orientation
MOVE "PaperType" OF Pr_Impresora TO paper
MOVE "Source" OF Pr_Impresora TO bandeja
END-IF.
Working primer programa.
Código COBOL:
01 datos-llamada GLOBAL EXTERNAL.
02 bandeja PIC 9(4).
03 nomimpre PIC X(200).
03 orientation PIC X(9).
03 paper PIC X(9).
Segundo programa.
Working .
Código COBOL:
01 datos-llamada GLOBAL EXTERNAL.
02 bandeja PIC 9(4).
03 nomimpre PIC X(200).
03 orientation PIC X(9).
03 paper PIC X(9).
programa.
MOVE orientation TO "PaperOrientation" OF Pr_Impresora
MOVE paper TO "PaperType" OF Pr_Impresora
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:
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:
MOVE nombre_imp TO nomimpre
* Le puedo pasar "PaperOrientation" y "PaperType" y asignarla.
MOVE orientation TO "PaperOrientation" OF Pr_Impresora
MOVE paper TO "PaperType" OF Pr_Impresora
La working es así:
Código COBOL:
01 datos-llamada GLOBAL EXTERNAL.
02 bandeja PIC 9(4).
02 nomimpre PIC X(200).
02 orientation PIC X(9).
02 paper PIC X(9).
|
|