Questa azione è richiamata appena prima della stampa del documento tramite Crystal Report. Attenzione! Questa azione è obbligatoria se si è precisato un programma di init nel dizionario della stampa. Non è chiamata dall'istruzione Gosub bensì dall'istruzione Call. Gli vengono passati due parametri: NBPAR (numero di parametri) e PARAMETRE (riquadro dei parametri). L'azione va poi scritta nel seguente modo:
Subprog IMPRIME(NBPAR,PARAMETRE)
Variable Integer NBPAR
Variable Char PARAMETRE()()
...
End
Stampa
Permette principalmente di:
aggiornare delle tabelle X3 (per esempio dei flag di stampa).
costituire una tabella di lavoro affinché i dati siano gestibili più facilmente da Crystal Report.
non lanciare la stampa posizionando GOK = 0
A questo livello è possibile utilizzare i parametri della stampa memorizzati nel riquadro PARAMETRE (1..NBPAR), dove NBPAR è il numero di parametri. In questo riquadro, un parametro viene espresso nel formato: nome parametro = valore parametro. Vedere il dettaglio dei parametri nell'help sull'azione EXEC.
Si analizzano i parametri inseriti per applicare un filtro di selezione sulla tabella da stampare. Ciò è necessario affinché prima della stampa si memorizzino i record in una tabella di lavoro.
Subprog EXEC(NBPAR,PARAMETRE)
Variable Integer NBPAR
Variable Char PARAMETRE()()
[L]CRITERE = "1=1"
For I=1 To NBPAR
J=instr(1,[L]PARAMETRE(I),"=")
If J
[L]PARAM = left$([L]PARAMETRE(I),J-1)
[L]VALEUR = right$([L]PARAMETRE(I),J+1)
Case [L]PARAM
When "sitedeb" : [L]CRITERE -= "& SALFCY>='"+[L]VALEUR+"'"
When "sitefin" : [L]CRITERE -= "& SALFCY<='"+[L]VALEUR+"'"
Endcase
Endif
Next
Filter [F:SIV] Where evalue([L]CRITERE)
Gosub TRT_SIV: # memorizzazione nella tabella di lavoro