Impresión APPC para IBM i
Del mismo modo que la impresión LU 1, la impresión APPC utiliza códigos de control SCS en el flujo de datos. El conjunto de códigos de control SCS disponibles para su uso en la impresión APPC es más amplio y permite más opciones de formato que el conjunto que se describe para la impresión LU 1. IBM i también proporciona un método adicional para dar formato a los trabajos de impresión denominado Host Print Transform (HPT). Con HPT habilitado, IBM i asume la responsabilidad de representar el trabajo de impresión en los datos que la impresora puede entender.
En el diagrama siguiente se muestra la conexión APPC entre IBM i y Host Integration Server para enviar un trabajo de impresión a la impresora local:
Host Print Transform (HPT)
Cuando el host usa códigos de control SCS para dar formato a la salida de impresión, un emulador de impresión traduce los códigos y caracteres scS a los datos que la impresora puede comprender mediante el controlador de impresora de Windows y el sistema de impresión de Windows. Con HPT habilitado, IBM i convierte los datos en códigos de control de impresora antes de enviar los datos a Host Integration Server. Esta salida del host no requiere ningún procesamiento adicional después de salir de IBM i. La única responsabilidad del emulador de impresión es enviar los datos a la impresora.
HPT está habilitado en IBM i en la descripción del dispositivo para la sesión de impresión. Cuando HPT está habilitado, los trabajos de impresión representados previamente se envían a host Integration Server en secciones marcadas como transparente ASCII (ATRN) mediante el código de control SCS "0x03". El código de control ATRN proporciona la misma función que el código de control Transparent (TRN) que se detalla en la sección de impresión LU 1. ATRN indica que los datos son ASCII, se deben controlar como transparentes y no convertir de EBCDIC a ASCII.
Habilitación de la característica de transformación de host mediante el dispositivo de impresión 5224 predeterminado
Detenga el sistema de escritura de impresión asociado con dispositivo de impresión.
Desactive el dispositivo de impresión.
Emita el comando siguiente:
chgdevprt devd(<print device>) transform(*YES) mfrtypmdl(<LAN printer type>)
Los tipos de impresora LAN comunes incluyen: *HP4, *HPIII, *HPII, *IBM4039. Si desea ver una lista completa de las opciones disponibles, solicite (F4) en el parámetro MFRTYPMDL.
Active el dispositivo de impresión.
Inicie el sistema de escritura de impresión.
Para obtener más información sobre la característica Transformación de impresión host, consulte el manual "Programación de dispositivos ibm i Printer" (SC41-3713) o el libro rojo "IBM i Printing IV" (GG24-4389). Ambos están disponibles en IBM.
Códigos SCS
Los códigos de control SCS están completamente documentados en la guía de impresión de host IBM Host Print Guide (número de documento SC31-7145). Todos los códigos de control SCS se encuentran dentro del intervalo de "0x00"–"0x3F". Estos códigos van desde códigos de byte único, como el subíndice "0x38", hasta códigos de varios bytes seguidos de varios parámetros, como Set Horizontal Format "0x2BC1…".
En la lista siguiente se incluyen algunos códigos de control SCS comunes que se usan:
Nota:
En el código de control SCS, [L] es igual a longitud y (Abv) representa parámetros de un byte.
Transparencia ASCII (ATRN): '0x03[L](P1)(. . .) (Pn)'
Este código de control SCS indica una sección de datos que no se examina en busca de códigos SCS, sino que se pasa a la salida de impresión sin ninguna modificación. Además, este código de control indica que los datos son ASCII. La extensión de la sección de datos se indica mediante el byte de longitud. Por lo general, en el caso de los trabajos de HPT, el byte de longitud será "0xFF".
Ejemplo
030441424344
03: ATRN
04: longitud de 4
41424344: valores hexadecimales de ASCII para ABCD
Código de control SCS con formato (no HTP)
Si HPT está deshabilitado en la descripción del dispositivo correspondiente a la sesión de impresión, se usarán códigos de control SCS para dar formato al trabajo de impresión. SHF, SVF, SLD y SPD, los códigos de control SCS detallados anteriormente para la impresión LU 1, también se admiten en la impresión APPC. El código de control SCS Presentation Position (PP) "0x34" también se usa frecuentemente en la impresión APPC. Este código de control permite mover la posición de la impresión horizontal o verticalmente, con respecto a la posición anterior o a una posición absoluta.
En la tabla siguiente se enumeran las cuatro formas del código de control SCS de posición de presentación:
Código de control SCS de posición de presentación | Descripción |
---|---|
Posición de presentación horizontal absoluta (AHPP) "0x34C0(nn)" | nn: número de columna que se va a establecer la posición de impresión. Ejemplo 34C00F 34C0: AHPP 0F: número de columna 15 |
Posición de presentación horizontal relativa (RHPP) "0x34C8(nn)" | nn: número de columnas que se van a mover desde la posición de impresión actual. Ejemplo 34C80F 34C8: RHPP 0F: 15 columnas |
Posición de presentación vertical absoluta (AVPP) "0x34C4(nn)" | nn: número de línea que se va a establecer la posición de impresión. Ejemplo 34C40F 34C4: AVPP 0F: número de línea 15 |
Posición de presentación vertical relativa (RVPP) "0x344C(nn)" | nn: número de líneas que se van a mover desde la posición de impresión actual. Ejemplo 344C0F 344C: RVPP 0F: 15 líneas |
Datos de host de ejemplo
En el ejemplo siguiente se muestran datos de ejemplo de un host junto con una explicación de los datos y la impresión resultante:
2BC10684 01840542 2BC20642 04420A21
34C404 C1C2C3C4 344C01 34C004 E6E7E8E9
En la tabla siguiente se muestra la salida de impresión resultante de los datos con ABCD en la línea de impresión superior y WXYZ con sangría en la línea inferior:
data | Interpretación |
---|---|
2BC1068401840542 | SHF, 132 caracteres por línea, LM 1, RM 132 |
2BC2064204420A21 | SVF, 66 líneas por página, TM 4, BM 66 |
34C404 | AVPP establece la posición de la impresión en la línea 4 |
C1C2C3C4 | Valores hexadecimales de EBCDIC para ABCD |
344C01 | RVPP establece la posición de la impresión una línea hacia abajo |
34C004 | AHPP establece la posición de la impresión en la columna 4 |
E6E7E8E9 | Valores hexadecimales de EBCDIC para WXYZ |