AVANT_OUVRE

Descrizione

Questa azione è la prima chiamata quando si entra in gestione di un oggetto; viene richiamata solo una volta. La tabella principale dichiarata in gestione di oggetto è aperta ma le tabelle secondarie non lo sono ancora.

Tipo di oggetto

Semplice, Riquadro, Combinato

Transazione

No

Utilizzo

La necessità di utilizzare questa azione è molto rara.
Questa azione dà la possibilità di arrestare il programma posizionando OK=0 ed eventualmente visualizzare un messaggio in GMESSAGE.

Esempio: nell'oggetto delle fatture di vendita ( SUBSIHA )

Nell'azione AVANT_OUVRE, viene recuperato il livello di località delle tabelle secondarie aperte. Questo è necessario quando vi è una picking su una stessa tabella nell'oggetto chiamante e nell'oggetto corrente. In seguito, l'oggetto apre le tabelle secondarie. Poi, nell'azione OUVRE, si forza l'apertura della tabella utilizzata nella picking se questa non è stata aperta dall'oggetto.

$AVANT_OUVRE
Global Integer GFILELEVSOP
Raz GFILELEVSOP
If clalev([F:SOP])<>0 GFILELEVSOP=filelev([F:SOP]) Endif
Return

$OUVRE
# La tabella SOP è stata aperta in un altro sotto-programma (livello diverso)
# Occorre riaprirla per poter fare un nuovo 'Link'
If filelev([F:SOP]) = GFILELEVSOP
   Local File SORDERP [SOP]
Endif
Return