CASO A: Creazione Instance List PRIMA dell'inserimento in database
Inserimento con utilizzo di Hide Command.
Questo metodo è stato utilizzato per l'inserimento di nuovi Buoni di prelievo.
E' possibile utilizzarlo quando le tipologie da inserire sono poche e non serve un campo di input per pilotare l'inserimento.
Nel caso dei buoni è stato creato un Business O. Principale chiamato BO_BUONI e un Business O. logico per ogni tipo buono da inserire (Principale, Aggiunta, Singolo, Anticipo, Uscite Varie, Maggior Consumo).
Nel BO principale è stata stabilita una relazione di tipo PEER con ognuno dei BO logici
e non deve essere abilitato il command CMD_NUOVO.
Nei BO logici si deve abilitare il command CMD_NUOVO (a livello di Business Object e Execute as Hide Command )
e il command CMD_MODIFICA (a livello di Instance definito come Default Command).
L'inserimento di un nuovo buono di prelievo si presenterà in questo modo
A questo punto scegliendo un tipo buono si deve leggere il progressivo, caricare l'instance list e visualizzare il command per l'inserimento
Per poter gestire questo si deve associare ai Command logici una funzione nella quale si inserisce la lettura del progressivo e il caricamento della instance list.
In questo caso la funzione è la BTBUO01
DEFINE_COM CLASS(£TBBU003G) NAME(£vi_Impostazioni) REFERENCE(*deferred)
FUNCTION OPTIONS(*DIRECT)
*
* Gestione Progressivo
*
£vi_impostazioni.um_leggiprogressivo P_BLOCCA(TRUE) P_PROGRESSIVO(£BUCOD)
*
*Inizio Caricamento Instance List
*
USE BUILTIN(VF) WITH_ARGS(BEGINLISTUPDATE)
USE BUILTIN(VF_SET) WITH_ARGS(VISUALID1 £BUCOD.ASSTRING)
USE BUILTIN(VF_SET) WITH_ARGS(VISUALID2 *BLANK)
USE BUILTIN(VF_SET) WITH_ARGS(ACOLUMN1 *BLANK)
USE BUILTIN(VF_SET) WITH_ARGS(ACOLUMN2 *BLANK)
USE BUILTIN(VF_SET) WITH_ARGS(ACOLUMN3 *BLANK)
USE BUILTIN(VF_SET) WITH_ARGS(ACOLUMN4 *BLANK)
USE BUILTIN(VF_SETNUM) WITH_ARGS(NCOLUMN1 *ZERO)
USE BUILTIN(VF_SET) WITH_ARGS(SETASCURRENT TRUE)
USE BUILTIN(VF_SET) WITH_ARGS(EXECUTEDEFAULTCMD TRUE)
USE BUILTIN(VF_SETNUM) WITH_ARGS(NKEY1 £BUCOD)
USE BUILTIN(VF) WITH_ARGS(ADDTOLIST)
USE BUILTIN(VF) WITH_ARGS(ENDLISTUPDATE)
Quando si confermano i dati inseriti si deve scrivere il file e aggiornare la instance list; a questo punto si deve modificare il parametro BUSINESSOBJECTTYPE inserendo il B.O. principale BO_BUONI in modo da poter "abilitare" anche gli altri command per terminare l'inserimento.
CASO B: Creazione Instance List solo DOPO inserimento in database