Rapport met een tijdelijke tabel in Dynamics AX
18 jun
Als een query te ingewikkeld wordt (wat het al snel is voor Dynamics AX) kun je gebruik maken van een tijdelijke tabel (temporary table) in Microsoft Dynamics AX. Om tijdelijke tabellen te gebruiken in rapporten moet je een begeleidende class schrijven gebaseerd op de class RunBaseReport. Hierin kun je het vullen van tijdelijke tabel regelen en andere zaken van het rapport.
Voor een voorbeeld van een report met temp tables gebaseerd op RunBaseReport download en installeer RC_TempTablesReports.xpo
Korte uitleg van de componenten:
- Tabel RC_TempTable: De definitie van de tijdelijke tabel
- Class RC_TempTablesReport: De class die er voor zorgt dat het rapport correct geïnitialiseerd wordt, dat de tijdelijke tabel gecreëerd en gevuld wordt (populateTempTable > kun je naar wens aanpassen), etc.
- Report RC_TempTablesReport: Het rapport gebaseerd op de tijdelijke tabel. In de methods van het rapport wordt geregeld dat de data wordt opgehaald met behulp van de class
- Menuitem RC_TempTablesReport: Kan eventueel in een menu geplaatst worden.
Zie voor meer informatie over tijdelijke tabellen in rapporten en forms: Temporary Tables – Axaptapedia
Error executing Code: object not initialized – (S)\Classes\\SetRecord
Indien deze foutmelding optreedt dan is in de fetch() method van het rapport het SysQyeryRun object niet geïnitialiseerd. De fetch() method zou er als volgt uit moeten zien:
public boolean fetch()
{
boolean ret;
SysQueryRun sysQueryRun; //declareren SysQueryRun
;
sysQueryRun = new SysQueryRun(this); //init SysQueryRun
if (tempTablesReport)
sysQueryRun.setRecord(tempTablesReport.parmTempTable()); //temptable uit de class koppelen aan de SysQueryRun
ret = super();
return ret;
}


No comments yet