
Usare ExternalSQL in Microsoft Dynamics NAV
- On 28 Gennaio, 2019
- developers, dynamics nav, erp, micosoft dynamics, microsoft certified professionals, microsoft dynamics nav, sviluppo
Molte volte capita di avere la necessità di accedere e popolare degli oggetti o dati esterni al Database NAV o al server corrente.
Esistono diversi metodi di connessione (web services, SQL Server, file txt, … ) ma in questo articolo vediamo come, attraverso un oggetto NAV di tipo tabella, popolare una tabella SQL presente su un server esterno a quello che ospita NAV.
Vediamo quali sono i Pre-Requisiti necessari per effettuare questa integrazione:
- Versione NAV 2016 o successive
- Accesso all’ambiente di sviluppo NAV con licenza sviluppatore
- SQL Server
Impostando delle proprietà, è possibile creare una definizione di visualizzazione esterna a Microsoft Dynamics NAV che accede ai dati sui server collegati a SQL Server.
- È indispensabile, innanzitutto, avere i permessi e le autorizzazioni necessarie al database corrente per poter accedere agli oggetti presenti in altri database o nei server collegati (ad esempio, si può verificare all’interno delle proprietà del DB che l’utente sia impostato come “Owner” o abbia un permesso appropriato)
- Creare all’interno di NAV una tabella strutturalmente uguale a quella SQL facendo attenzione ad assegnare lo stesso nome e un tipo di campo compatibile
Modificare alcune proprietà della tabella :
- TableType : ExternalSQL (in questo modo contrassegniamo la tabella come una tabella che NON si trova nel database Dynamics NAV). Questa proprietà permette di leggere, modificare e inserire dei dati su un server collegato, come Microsoft Office Excel, Access o un altro SQL Server.
- ExternalName : Anagrafica (nome della tabella nel database esterno)
- ExternalSchema : dbo (specifica il nome dello schema del database esterno)
4. Creare una stringa di connessione tra la tabella di NAV e la tabella SQL. Il collegamento tra le due tabelle viene controllato dalla funzione TableConnection di NAV
5. Creata la connessione, utilizzando una procedura scritta nel codice standard C/AL popoliamo la tabella SQL.
6. Effettuando una Select sulla tabella SQL possiamo vedere i risultati appena elaborati
Grazie alle proprietà impostate sulla tabella, possiamo creare una page che ci permetta di visualizzare gli stessi dati anche all’interno di NAV.
Durante il runtime, i dati della tabella esterna vengono semplicemente “letti” e visualizzati all’interno di NAV, ovvero non sono persistenti nel database locale.
0 Comments