Nelle versionsi successive, questo entry point è stato conservato e può servire a modificare i parametri di stampa contenuti negli argomenti TBPAR e TBVAL del sotto-programma IMPRIME. Questi argomenti corrispondono ai parametri inseriti nella videata della richiesta di stampa.
Le seguenti tabelle sono in linea :
Tabella | Contenuto significativo | Descrizione tabella |
---|---|---|
AREPORT [ARP] | Si |
I parametri sono memorizzati nella variabile PARAMETRE con gli indici da 1 a NBPAR. Ogni valore è una stringa con formato "parametro=valore" senza nessun altro separatore. I parametri della stampa sono ripartiti in 4 classi:
Quelli che iniziano con un doppio underscore. Sono i parametri destinati ad X3, non vengono trasmessi alla stampa (o perlomeno non tali e quali)
Quelli che iniziano con un underscore singolo. Sono dei parametri destinati a Crystal Reports, non vengono trasmessi alla stampa. I valori di questi parametri sono prefissati obbligatoriamente da chr$(1).
Quelli che iniziano con X3. Sono parametri di contesto trasmessi alla stampa ed inizializzati automaticamente dal supervisore.
Quelli descritti nel dizionario delle stampe. Quando il dizionario comporta un parametro che termina con "deb" o "str", viene automaticamente aggiunto un altro parametro con uguale radice che termina con "fin" o "end".
Il nome del server di stampa non è un parametro. E' definito nella variabile locale SERVEUR(char(30)).
Elenco dei parametri:
__REPORT Nome della stampa crystal reports
__DESTINATION 0=anteprima, 1=stampante, 2=email, 3=file
__TYPDBA Tipo di database (menù locale 23)
__DBSERVER Nome dell’ODBC
__DBDATABASE Nome del database
__DBUSER Utente DB
__DBPASSWORD Password
__WSTATION (*140) N° della porta per il server di stampa
__CDUSER (*140) Codice utente
__APPLICATION Dossier ;macchina ;servizio (da dove si lancia la stampa)
__APPRPT Dossier ;macchina ;servizio (dove si trova la stampa)
__REQUETE N° richiesta
_PreVisuOptions Opzioni di anteprima (non operative)
_PrinterName Nome della stampante
_Orientation 0=verticale, 1=orizzontale
_PrinterDriver (*) Nome del driver stampante
_PrinterPort (*) Porta stampante
_PrinterDescription (*) Caratteristiche della stampante
_FormatExport Formato del file di export (menù locale 91)
_FormatDelString Delimitatore di stringa se formato CSV
_FormatDelRecord Separatore di campo se formato CSV
_ExportFile Nome del file esportato
X3DOS Dossier ;macchina ;servizio;versione;lingua (*140 versione + lingua)
X3CLI Ragione sociale cliente
X3EDT Copyright editore
X3ETA Codice della stampa
X3TIT Nome della stampa
X3USR (*130) Codice utente
X3LAN (*140) Directory lingua della stampa
X3FCY (*Warehousing) Sito
X3DEP (*Warehousing) Deposito
X3OPE Nome utente
X3SIT1 (*120) Siti autorizzati
X3SIT2 (*120) Siti vietati
X3PRF (*130) Profilo funzione
X3FCT (*130) Funzione associata alla stampa
X3SIT (*130) Elenco dei siti vietati
(*) Questi parametri dipendono dalla stampante e non possono essre descritti. Di solito vengono recuperati mediante l'istuzione selimp (fare un tentativo su una determinata stampante e annotare i valori di questi parametri).
(*120)Disponiblie in V110 e V120, non lo sarà più in V130
(*130)Disponibile a partire dalla V130
Solo la tabella AREPORT contenente la stampa in corso di stampa è significativa.
####################################################################
## Esempio di utilizzo dell'entry point del programma AIMP3
####################################################################
$ACTION
Case ACTION
When "IMPRIME" : Gosub IMPRIME
When "PARAM" : Gosub PARAM
Endcase
Return
$IMPRIME
If find([F:ARP]RPTCOD,"ETAT1","ETAT2","ETAT3") : # Elenco delle stampe da elaborare
GPE = 1 : # salta l'inserimento della stampante
Endif
Return
$PARAM
####################################################################
## I parametri sono contenuti nella variabile PARAMETRE(1..NBPAR)
## ma i sotto-programmi GETPARAM e SETPARAM del programma ETAT
## permettono di accedervi più facilmente
####################################################################
Local Char XPARAM(250)(1..10) , XPAR(50) , XVAL(50) , XETAT(20)
Local Integer XNB , XK , XI
####################################################################
## E' stata richiesta la stampa alla stampante?
####################################################################
Call GETPARAM("__DESTINATION",NBPAR,PARAMETRE,XVAL) From ETAT
If XVAL<>"1"
Return : # No, allora non si fa nulla
Endif
####################################################################
## Determinazione della stampante in funzione della stampa
####################################################################
Call GETPARAM("X3ETA",NBPAR,PARAMETRE,XETAT) From ETAT
Case XETAT
When "ETAT1" : XIMP = "stampante"
When "ETAT2" : XIMP = "laser_speciale"
When "ETAT3" : XIMP = "ad_aghi"
When Default : Return
Endcase
####################################################################
## Assegnazione del server di stampante
####################################################################
SERVEUR = "la_macchina_che_stampa"
####################################################################
## Recupero dei parametri di default della stampante
####################################################################
XNB = 0
XNB += 1 : XPARAM(XNB) = "_PrinterName=" + chr$(1) + XIMP : # Nome della stampante da assegnare
XNB += 1 : XPARAM(XNB) = "_Orientation=" + chr$(1) + "1" : # Modalità orizzontale
XNB += 1 : XPARAM(XNB) = "_NoVisible=" + chr$(1) + "1" : # Nessun inserimento
Selimp XPARAM = "" With XPARAM(1..XNB) : # Lettura dei parametri di default
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)
# Se non si vogliono parametri di default
# è possibile comunque riassegnarli qui
# If XPAR="_PrinterPort" : XVAL = "porta" : Endif
Case XPAR
When "_PrinterName" , "_PrinterDriver" , "_PrinterPort"
& , "_PrinterDescription" , "_Orientation"
Call SETPARAM(XPAR,NBPAR,PARAMETRE,XVAL) From ETAT
Endcase
Endif
Next XI
Return
L'entry point PARAM permette di modificare qualunque parametro della stampa
Le seguenti tabelle sono in linea :
Tabella | Contenuto significativo | Descrizione tabella |
---|---|---|
AREPORT [ARP] | Si |
Questo entry point si trova subito dopo l'alimentazione delle variabili NBPAR e PARAMETRES ed appena prima l'azione EXEC.
Vedere descrizione delle variabili NBPAR e PARAMETRES nell'entry point IMPRIME.
L'entry point REPORT permette di lanciare un programma a stampa avvenuta. Questo entry point viene eseguito subito dopo l'ordine di stampa inviato al client (o al server). Nel caso di una stampa/file, può servire per lanciare un programma sul file generato ...
Le seguenti tabelle sono in linea :
Tabella | Contenuto significativo | Descrizione tabella |
---|---|---|
AREPORT [ARP] | Si |
Questo entry point viene eseguito subito dopo la stampa dopo l'istruzione "Report".
Il nome della stampa utilizzata è nella variabile [F:ARP]CRYCOD(R), dove R è l'indice corrente nel ciclo For R=0 to dim([F:ARP]CRYCOD)-1.
L'entry point FILPAT permette di recuperare la variabile GFILPATH prima che venga inizializzata subito dopo la chiamata del workflow di invio della stampa via mail o dell'elaborazione della stampa da parte della funzione di archiviazione.
Le seguenti tabelle sono in linea :
Tabella | Contenuto significativo | Descrizione tabella |
---|---|---|
AREPORT [ARP] | Si |
Questo entry point viene eseguito appena prima l'invio del workflow (tipo di stampa 3 - messaggio) e della procedura di archiviazione (tipo di stampa 7 - Archiviazione).