Impresoras
La utilización de impresoras para nuestras aplicaciones es tan importante como la de los terminales, para su utlización también necesitaremos realizar una conexión a nuestra servidor.

Para realizar ésta conexión tendremos al igual que en los terminales varias vias, a continuación las voy a detallar con unos dibujos para que las entendais mejor.

ConexionesSi la conexión es RS-232, deberemos de tener en cuenta que nuestra impresora debe de tener éste interface y si no es asi, nos veremos obligados a adquirirlo, su configuración es muy facil y solo tendremos que indicarle la velocidad de transmisión, los bits y la paridad. Tambien deberemos de tener en cuenta que tendremos que echar un cable desde el servidor hasta donde se encuentre la impresora.

ConexionesSi la conexión es en red, podemos compartir la impresora del PC y utilizarla como impresora del servidor. Para ello existen versiones de Unix que lo permiten sin ningún software adicional, pero si nuestro Unix no lo permite, podemos hacerlo con un software específico, como el que yo utilizo Tun Net. Es un programa que se queda residente en el PC y que hace que laimpresora que tenemos en el puerto paralelo del PC sea vista como impresora remota por el servidor. Con lo que podremos utilizar la impresora para ambos equipos. Si teneis alguna duda de como puede funcionar ésto, no dudeis en contactar conmigo.

Una vez conectadas las impresoras tendremos dos opciones para mandarles nuestra información.

1)   La mas normal y lógica es añadiéndolas a nuestro Unix y definiendo los nombres que utilizan en nuestro archivo de configuración de Cobol, en el caso de RM/Cobol (el que yo utilizo, si lo sabeis para otros compiladores, me lo decís y lo pongo) se hace de la siguiente forma:

DEFINE-DEVICE device=Nombre_de_impresora path="acción_de_impresión" pipe=yes

El nombre_de_impresora, será el nombre lógico que le demos en nuestro programa al arhivo de impresora.
La acción_de_impresión, será el comando que debemos de ejecutar para que imprima lo que le hemos enviado.
Por ejemplo, si tenemos dos impresoras, una se llama PRINCIPAL y va a estar asociada a la impresora por defecto del sistema (lp00), y la otra se llama SEGUNDA y va a estar asociada a la impresora lp01 que tenemos definida en nuestro servidor, deberíamos haber puesto:

DEFINE-DEVICE device=PRINCIPAL path="lp -s" pipe=yes
DEFINE-DEVICE device=SEGUNDA path="lp -dlp01 -s" pipe=yes


La acción lp y lp -d , es la que se utiliza en Unix SVR4, para utilizar con Linux es lpr .
Con lp enviamos la información a la impresora por defecto y con lp -d   se redirecciona la salida hacia la impresora especificada despues de -d .

De ésta forma conseguimos que todos los envíos a impresoras pasen previamente por el sistema de Spool del servidor. Por cierto si estais enviando un listado muy largo y quereis tener una copia de seguridad, podreis hacerlo porque como sabeis Unix mantiene un archivo con el nombre del proceso de impesión en un directorio específico para ello.

2) Otra manera que tenemos de hacerlo es enviando directamente a la puerta serie la información, ésta no es muy normal, es mas rápida porque no pasa por el spool, pero tambien puede dar lugar a mas errores por la falta de control, pero en algunos casos (yo lo utilizo) es muy práctica, su formato es similar al anterior, solo que en vez de especificar la acción, le decimos directamente porque puerta serie va a salir:

DEFINE-DEVICE device=PRINCIPAL path="(stty 9600 -parity 0<&1; cat)> /dev/term/s10" pipe=yes

Veis que la diferencia es darle las opciones del comando stty directamente en la sentencia. Todo ésto podría variar algo dependiendo de cada versión de Unix.




Este artículo proviene de Cobol en español
http://www.escobol.com

La dirección de esta noticia es:
http://www.escobol.com/modules.php?name=Sections&op=viewarticle&artid=45