venerdì 23 maggio 2008

Reportistica in Baan con Excel

Se è noto che esiste anche un modo per far uscire da Baan report in formato excel, è meno noto il fatto che si possono anche formattare i dati utilizzando macro specifiche da scrivere in VBA. L'ho visto implementato da un cliente (l'implementazione non è mia, è di Roberto Lano, che è doveroso citare) e ho deciso di riportarlo in questa sede, perché può essere interessante.

Ed è interessante perché si possono estrarre dati in un certo formato, magari semplice, e poi mostrarli, ad esempio, in una tabella pivot; oppure formattarli in modo più elegante.

Per far questo è sufficiente definire innanzitutto un file excel, da posizionare in una directory ben specifica risiedente sul server (la chiameremo server_directory).
Il file excel contiene in realtà una macro, che legge i dati di un file in formato csv e li formatta come vogliamo (ad esempio li inserisce dentro una tabella pivot, o li mette come si vuole).

Fatto questo, si può creare un device di stampa per excel secondo i soliti canoni:
Tipo dispositivo: Riscrivi File
Programma 4GL: ttstpconv
Argomento, ASCII:excel %s C:\directory\template.xls
Percorso: fileout.csv
Modifica Ammessa: Sì
Lunghezza Pagina: 9999

L'unica novità rispetto al solito è la presenza del path C:\directory\template.xls.

E' necessario poi che la sessione che lancia il report, prima di lanciarlo esegua un server.to.client in modo tale da portare il file template.xsl dalla directory del server alla directory utente locale C:\directory (oppure trovare qualche altro sistema, meno legato alla sessione specifica, magari legato al ttstplopen).

Così facendo, quando in locale viene aperto il file con il comando
excel %s C:\directory\template.xls, in automatico viene attivato il template VBA che elabora i dati del file fileout.csv.

Se il template contiene una subroutine "Sub Auto_open()", in automatico la macro parte all'avvio; e l'utente vede i dati formattarsi in modo automatico.

E' interessante, specialmente in ambito finance: una volta generato un report semplice, che scrive i dati in formato csv, è possibile poi trovarsi gli stessi formattati come si desidera.

martedì 6 maggio 2008

Traduzioni e nuove lingue in Baan

Avevo già, in passato, riallineato i componenti in lingua in Baan, soprattutto per gli ambienti di sviluppo, ma non mi era mai successo di farlo partendo dalla creazione di una nuova lingua.

L'ho fatto in questi giorni per un cliente: abbiamo creato la lingua turca e dovevamo aggiungere i componenti in lingua prendendo di volta in volta decisioni specifiche.

Mi sono trovato a lavorare con sessioni e funzionalità di cui non sospettavo l'esistenza, e che mi hanno fatto capire una serie di cose nuove.

Ne cito un paio.

Nel menu "Tools --> Application Development --> Master Data" ci sono tutti i formati (avete presente il famoso %D001 ? Bene, è specificato qui, nella sessione "Date Formats"), da convertire a runtime in presenza di una lingua nuova.

Sempre nello stesso menu, la sessione "Menu Bar Groups" permette di definire le voci che appaiono nella barra dei menu (sempre da convertire a runtime).

Insomma, giocando con le sessioni dei Master Data, si entra un po' di più nella definizione "tecnica" delle form, cosa che è molto istruttiva.