Data ultimo aggiornamento: 05/11/2019

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Schedulazione di elaborazioni batch

Per far operare Business in modalità batch basta impostare il parametro /B (modalità batch) come parametro di avvio di Buscube.exe, gli eventuali child\programmi avviati non visualizzeranno MAI dei messaggi a video, non chiederanno conferme nell'esecuzione di determinate operazioni e scriveranno in un file di log le operazioni che in precedenza venivano chieste a video. I programmi che possono operare in modalità batch\schedulabile sono:

1) BN__ETIM - ESECUZIONE AUTOMATICA PROCEDURE DI ALER
2) BNDWGEND - ESTRAZIONE DATI PER DATAWAREHOUSE
3) BNDWQVDA - ANALISI DATI DATAWAREHOUSE
4) BNEMGMAI - ESECUZIONE AUTOMATICA RICEZIONE E-MAIL
5) BNIEIMPO - STRUMENTO DI IMPORT/EXPORT
6) BNMGRCAP - RICOSTRUZIONE PROGRESSIVI DI MAGAZZINO
7) BNPAPNPA - CONTABILIZZAZIONE PARCELLE
8) BNPKRICM - STAMPE DA PICKING
9) BNPKSTET - STAMPE DA PICKING
10) BNREPNCO - CONTABILIZZAZIONE CORRISPETTIVI
11) BNRGSYNC - SINCRONIZZAZIONE NEGOZI E SERVER CENTRALE
12) BNRGSYSE - SINCRONIZZAZIONE SERVER CENTRALE E NEGOZI
13) BNTFESEC - ESTRAZIONE SCADENZE EXTRACONTABILI
14) BNVEPNFA - CONTABILIZZAZIONE DOCUMENTI DI MAGAZZINO
15) BNFECONS - FATTURAZIONE ELETTRONICA: dalla consolle FE è necessario indicare, tramite maschera, che cosa schedulare (Ricezione, controllo status, ecc).
16) BSPLCERV - ELABORAZIONE DATI DI SISTEMI DI AFFIDABILITA' CLIENTI
17) BNCGASBC - AGGIORNAMENTO STATUS BLOCCO CLIENTI

In pratica all'avvio della procedura viene creato in file nella directory di lavoro avente con nome BusNetBatch_nomeprocesso.log e tutti i messaggi di errore, invece di essere visualizzati all'utente, verranno salvati in questo file di log. Sempre in questo file viene memorizzata data e ora di quando è stato avviato Business e quali form sono state avviate durante la sessione di lavoro. Alla chiusura del programma da far eseguire verrà chiuso in automatico anche Business.

Nel caso che il programma da avviare chieda informazioni all'utente tramite messaggi (ad esempio 'Procedere con l'elaborazione?', oppure 'Visualizzare il file di log') questi messaggi verranno salvati sempre nel file .log predetto e la procedura procederà come se si fosse scelto il valore predefinito per il messaggio.

Per poter attivare la procedura sopra descritta all'avvio di Business occorre specificare la riga di comando come segue:

Buscube.exe operatore password_operatore database profilo_di_business child_da_eseguire /B parametri_di_avvio ditta_da_utilizzare

Ad esempio, per avviare in modalità batch il programma 'esecuzione automatica alerting':

Buscube.exe Mirto . PROVA14 Business BN__ETIM /B c:\programmi\bus\asc\bn__etim.bub prova

ovvero verrà avviato business utilizzando l'operatore 'Mirto', senza password, sul database PROVA14, ditta PROVA; il programma da avviare è BN__ETIM ed i parametri di avvio sono contenuti nel file c:\programmi\bus\asc\bn__etim.bub

NB: Rispetto ai consueti parametri della riga di comando di Business è stato aggiunto il parametro /B che sostituisce il /R (o uno, o l'altro) ed in coda è stato aggiunto il codice ditta da utilizzare per l'elaborazione. Business se avviato con il parametro /B (modalità batch) non consuma più una licenza e non verifica se sono state già tutte utilizzate .

Per realizzare il file .BUB, basta premere CTRL+ALT+F5 sulla form dopo aver impostato la maschera con le impostazioni da utilizzare per l'elaborazione. Il file verrà creato sempre in Asc. A volte la combinazione tasti CTRL+ALT+F5 non genera il file BUB, spesso perchè la combinazione viene intercettata da programmi terzi. Nel caso non funzionasse in tutti i programmi schedulabili sopracitati nel menu strumenti è disponibile la voce 'Crea file per la schedulazione' che fa la stessa cosa.

Esempio di schedulazione batch di un programma NET (estrazione dati datawarehouse)

Come prima cosa occorre accedere al programma da schedulare, nel nostro caso l'estrazione dati datawarehouse, manualmente si settano i controlli in maschera come desiderato e tramite il Ctrl+Alt+F5 (o la voce del menu) si genera il file BUB nella Asc che ci servirà per la schedulazione.

Il file BUB verrà creato nella directory Asc e avrà come nome semplicemente il nome del programma da schedulare, nel nostro caso BNDWGEND.

A questo punto possiamo provare subito se l'esecuzione batch va a buon fine, lanciando l'apposita stringa di comando da Esegui di Windows digitando:

C:\Program Files (x86)\BusCube2\Buscube.exe admin . PROVA Business BNDWGEND /B C:\BusCube2\Asc\BNDWGEND.BUB PROVA

nota: se lanciato da riga di comando, mettere il comando fra doppi apici, per superare il problema degli spazi nel percorso:

"C:\Program Files (x86)\BusCube2\Buscube.exe" admin . PROVA Business BNDWGEND /B C:\BusCube2\Asc\BNDWGEND.BUB PROVA

Ovviamente a video non vediamo niente in quanto il processo parte in modalità batch, per vedere l'effettivo funzionamento possiamo verificarlo da task manager, nell'iimagine sotto possiamo vedere che al lancio della stringa precedente è partito il programma con esecuzione fra i processi in background.

e

Una volta terminato il processo batch, andando nella directory di Business troviamo 2 log e consultandoli possiamo verificare l'avvenuto completamento dell'operazione e eventuali errori.

Nel file di log BusNetBatch_PID.log (nell'esempio BusNetBatch_4492.log) troveremo informazioni\errori relative all'avvio del programma batch.

Nel file di log PROGRAMMA_OPERATORE.log (nell'esempio BNDWGEND_BATCH_admin.log) troviamo eventuali messaggi\errori relativi all'esecuzione del programma batch.

Ora dopo aver verificato il corretto funzionamento possiamo passare alla schedulazione del processo tramite ad esempio le operazioni pianificate\unità di pianificazione di Windows. Nell'esempio mostriamo come crare tale schedulazione sull'unità di pianificazione di Windows 10, ma per gli altri casi risulta comunque simile.

Una volta aperta l'unità di pianificazione procedere alla creazione di una nuova attività di base, ed inserire un nome e descrizione a piacere e procedere con il tasto avanti.

Specificare la schedulazione dell'attività, nell'esempio si è scelto di schedulare l'estrazione dati del datawarehouse ogni giorno.

Alle ore 22.00 (si sarebbe potuto optare ad esempio anche per una programmazione settimanale scegliendo i soli giorni lavorativi sempre alle ore 22.00).

Ora specificare come tipo azione l'avvio programma e passare alla scelta successiva.

Selezionare tramite sfoglia l'eseguibile BusCube.exe ed imputare negli argomenti quelli della stringa di comando precedentemente lanciata con esegui!

Precedere alla finestra successiva di riepilogo e spuntare se necessario il flag di aprire la finestra di dialogo Propietà quando viene scelto Fine per entrare in una configurazione più avanzata dell'attività. Premere fine.

Se si è attivato il flag precedente si consiglia di impostare sotto le opzioni di sicurezza di eseguire il processo indipendentemente dalla connessione degli utenti, con i privilegi più elevati. Inoltre è consigliabile impostare il cambio utente con uno di tipo amministratore.

Passando al tab azioni è possibile verificare o intervenire sull'azione creata.

Nel tab impostazioni invece è consigliabile intervenire sul flag di interrompi se eseguita per oltre in base alla schedulazione precedentemente impostata.

A questo punto premere ok e indicare l'utente e password di Windows con il quale verrà lanciata l'azione (si ricorda ancora di utilizzare un utente di tipo amministratore).

Ora troveremo l'attività con l'azione creata all'interno dell'unità di pianificazione.

Immaginiamo ora di volere invece schedulare 2 avvi diversi per l'estrazioni dati del datawarehouse una sullo scenario 1 e una sullo scenario 7. Occore innanzitutto creare il file BUB per lo scenario 1 e rinominarlo ad esempio da BNDWGEND.BUB in BNDWGEND_SCEN1.BUB, poi occorre creare il file BUB per lo scenario 7 e rinominarlo ad esempio da BNDWGEND.BUB in BNDWGEND_SCEN7.BUB; le rinomine servono altrimenti il secondo file BUB sostituirebbe il primo.

Una volta creati i due file BUB

si può passare come prima alla creazione dell'attività questa volta con due azioni (oppure si possono creare due attività ciascuna con un azione), l'importante è specificare bene per ogni azione il nome del file BUB rinominato.

Clicca per accedere al sito di NTS Informatica