IMPRIME

Descrizione

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

Modello

Stampa

Utilizzo

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.

Esempio

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