Lista de parámetros:
__REPORT Nombre del informe Crystal Reports
__DESTINATION 0 = vista previa, 1 = impresora, 2 = mensajería, 3 = fichero
__TYPDBA Tipo de base de datos (menú local 23)
__DBSERVERNombre del ODBC
__DBDATABASE Nombre de la base de datos
__DBUSER Usuario de la base de datos
__DBPASSWORD Contraseña
__WSTATION (*140) Nº de puerto del servidor de impresión
__CDUSER (*140) Código de usuario
__APPLICATION Dossier; máquina; servicio (donde se lanza la impresión)
__APPRPT Dossier; máquina; servicio (donde se encuentra el informe)
__REQUETE Nº de petición
_PreVisuOptions Opciones de previsualización (no operacional)
_PrinterName Nombre de la impresora
_Orientation 0 = vertical, 1 = apaisado
_PrinterDriver (*) Nombre del controlador de impresora
_PrinterPort (*) Puerto de la impresora
_PrinterDescription (*)Características de la impresora
_FormatExport Formato del fichero de exportación (menú local 91)
_FormatDelStringDelimitador de cadena si formato CSV
_FormatDelRecord Separador de campo si formato CSV
_ExportFile Nombre del fichero exportado
X3DOS Dossier; máquina; servicio; versión; idioma (*140 versión + idioma)
X3CLIRazón social cliente
X3EDT Copyright
X3ETA Código del informe
X3TITNombre del informe
X3USR (*130) Código de usuario
X3LAN (*140) Directorio de idiomas del informe
X3FCY (*Warehousing) Planta
X3DEP (*Warehousing) Depositario
X3OPE Nombre de usuario
X3SIT1 (*120) Plantas autorizadas
X3SIT2 (*120) Plantas prohibidas
X3PRF (*130) Perfil función
X3FCT (*130) Función asociada al informe
X3SIT(*130) Listas de plantas prohibidas
(*) Estos parámetros dependen de la impresora y no se pueden describir. Se suelen recuperar mediante la instrucción selimp (realizar una prueba en una determinada impresora y anotar los valores de estos parámetros).
(*120) Disponible en V110 y V120, pero no a partir de V130.
(*130) Disponible a partir de la V130
La tabla AREPORT, que contiene el informe en curso de impresión, es la única relevante.
####################################################################
## Ejemplo de uso de los puntos de entrada del proceso AIMP3
####################################################################
$ACTION
Case ACTION
When 'PRINT': Gosub PRINT
When "PARAM": Gosub PARAM
Endcase
Return
If [F:ARP]RPTCOD='REPORT1', 'REPORT2','REPORT3'): # Lista de informes para procesar
GPE = 1: # Evita la entrada de la impresora
Endif
Return
$PARAM
####################################################################
## Los parámetros se encuentran en la variable PARAMETRE (1..NBPAR)
## pero los subprogramas GETPARAM y SETPARAM del TrT ETAT
## permiten acceder más fácilmente
####################################################################
Local Char XPARAM(250)(1..10), XPAR(50), XVAL(50), XETAT(20)
Local Integer XNB, XK, XI
####################################################################
## ¿Se ha solicitado la impresión?
####################################################################
Call GETPARAM('__DESTINATION',NBPAR,PARAMETER,XVAL) From ETAT
If XVAL<>'1'
Return: # No, no se hace nada
Endif
####################################################################
## Definición de la impresora en función del informe
####################################################################
Call GETPARAM('X3ETA',NBPAR,PARAMETER,XETAT) From ETAT
Case XETAT
When 'REPORT1': XIMP = 'my_printer'
When 'REPORT2': XIMP = 'laser_printer'
When 'REPORT3': XIMP = 'dot-matrix_line_printer'
When Default Return
Endcase
####################################################################
## Asignación del servidor de impresión
####################################################################
SERVER = 'the_machine_that_prints'
####################################################################
## Recuperación de los parámetros por defecto de la impresora
####################################################################
XNB = 0
XNB += 1: XPARAM(XNB) = '_PrinterName=' + chr$(1) + XIMP: # Nombre de la impresora a asignar
XNB += 1: XPARAM(XNB) = '_Orientation=' + chr$(1) + '1': # Modo apaisado
XNB += 1: XPARAM(XNB) = "_NoVisible=" + chr$(1) + "1": # No se completa
Selimp XPARAM = '' With XPARAM(1..XNB): # Lectura de los parámetros por defecto
XNB = stat1
For XI=1 To XNB
XK = instr(1,XPARAM(XI),'=')
If XK
XPAR = left$(XPARAM(XI),XK-1)
XVAL = right$(XPARAM(XI),XK+1)
# Si no quiere parámetros por defecto
# También puede reasignarlos aquí
# If XPAR='_PrinterPort : XVAL = 'my_port': Endif
Case XPAR
When '_PrinterName' , '_PrinterDriver' , '_PrinterPort'
& , '_PrinterDescription' , '_Orientation'
Call SETPARAM(XPAR,NBPAR,PARAMETRE,XVAL) From ETAT
Endcase
Endif
Next XI
Return
El punto de entrada PARAM permite modificar cualquier parámetro del informe.
Las tablas siguientes están en línea :
Tabla | Contenido relevante | Nombre de la tabla |
---|---|---|
AREPORT [ARP] | Sí |
El punto de entrada REPORT permite lanzar un proceso después de imprimir el informe. Este punto de entrada se ejecuta justo después de enviar la orden de impresión al cliente (o al servidor). En el caso de una impresión/fichero, puede servir para lanzar un proceso en el fichero generado.
Las tablas siguientes están en línea :
Tabla | Contenido relevante | Nombre de la tabla |
---|---|---|
AREPORT [ARP] | Sí |
El punto de entrada REPORT_ZPL permite lanzar un proceso después de imprimir el informe ZPL. Este punto de entrada se ejecuta justo después de enviar la orden de impresión al cliente (o al servidor). En el caso de una impresión/fichero, puede servir para lanzar un proceso en el fichero generado.
Las tablas siguientes están en línea :
Tabla | Contenido relevante | Nombre de la tabla |
---|---|---|
AREPORT [ARP] | Sí |