Scrivere su un file di testo da AX

Guida completa su come realizzare un programma in Microsoft Dynamics AX per scrivere su un file di testo.

Hai la necessità, in Microsoft Dynamics Ax, di scrivere su un file di testo ma non sai come fare? Vorresti sapere quale solo le righe di codice da implementare? Sono qui per questo. In questo articolo, infatti, ti mostrerò come realizzare un programma che ti permetta di risolvere il problema. Ma in quali occasioni può essere utile scrivere su un file di testo? Sicuramente per la gestione in EDI di Ordini, Bolle ecc e sicuramente per la creazione di file di log per il monitoraggio dei Batch.

Nota Bene: per monitorare il corretto funzionamento dei Batch è possibile utilizzare anche la funzione info.

Dopo aver visto assieme quali possono essere le situazioni in cui scrivere su un file di testo potrebbe essere utile, passiamo finalmente ad un esempio concreto.

Nell’esempio qui sotto riportato la funzione ScriviSuFile va a creare, all’interno del il disco C:\\, un file di testo denominato prova.txt al cui interno scriverà semplicemente la data e l’ora di inizio e fine della procedura. Il codice ovviamente deve essere modificato a seconda delle necessità.

/* Metodo Aggiunto il 26 mag 2017 alle 08:29:39 da Faion*/
/*---- Descrizione Metodo ----
- Funzionalità           :
- Metodo per la scrittura su un file di testo
-
- Parametri di ingresso  :
- nessuno
-
- Valore di ritorno      :
- File scritto
*/
static void ScriviSuFile(Args _args)
{
    //Dichiarazione delle variabili
    #File
    TextIo                          textIo;
    FileName                        Filename = @"C:\Prova.txt";
    FileIOPermission                Permission;
    ;
    //Assegno i permessi per leggere/scrivere sul file
    Permission = new FileIOPermission(Filename ,"RW");
    Permission.assert();

    //Cancello il file se già presente
    if (WinAPI::fileExists(Filename))
        WinAPI::deleteFile(Filename);

    //Creo il file e lo apro in modalità scrittura
    textIo  = new TextIo(Filename, 'W');
    
    //Scrivo all'interno del file determinate informazioni quali data e ora
    textIo.write("Inizio Scrittura sul file in data " + date2str(SystemDateGet(), 123, 2, 4, 2, 4, 4) + " ed ora " + Time2str(TimeNow(), 0, 0));
    
    //Aspetto 1000 millisecondi
    sleep(1000);
    
    //Scrivo all'interno del file la data e l'ora di fine dell'elaborazione
    textIo.write("Fine Scrittura sul file in data " + date2str(SystemDateGet(), 123, 2, 4, 2, 4, 4) + " ed ora " + Time2str(TimeNow(), 0, 0));
    
    //Chiudo il file
    textIo   = null;

    //Tolgo le autorizzazioni in lettura/scrittura
    CodeAccessPermission::revertAssert();

}

Nota bene: per poter creare correttamente il file, oltre alla corretta stesura del codice, l’utente deve avere anche i permessi di scrittura all’interno della cartella di destinazione. In caso contrario la procedura girerà correttamente ma, all’interno della cartella di destinazione, non verrà creato alcun file.

Questo qui sopra mostrato è solamente uno dei tanti modi, presenti in Microsoft Dynamics AX, per scrivere su un file di testo.

Spero con questa guida di essere riuscito ad aiutarti nella risoluzione del tuo problema.

*Codice creati e testato per la versione 4 di Microsoft Dynamics AX.

Ti potrebbe interessare anche:


 

Condividi con i tuoi amici

Articoli Correlati

Informazioni su Andrea Faion 408 Articoli
FAION ANDREA. Ho 35 anni e sono diplomato in informatica presso l'ITIS Kennedy di Pordenone. Da sempre appassionato a tutto ciò che concerne il mondo dell'informatica.

Commenta per primo

Lascia un commento