AX 2012: SSRS: Einen Bericht auf Basis eines Dataproviders erstellen
05.09.2012Microsoft Dynamics AX (Axapta)
|
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012
Dynamics AX 2012
|
|
|
|
|
|
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012
|
Ein Dataprovider ist eine Klasse, die dazu verwendet wird um Daten für die Verwendung durch die SQL Reporting Services (SSRS) aufzubereiten. Ein solcher Dataprovider ist in jenen Fällen sehr hilfreich, wenn die anzuzeigenden Daten nicht - oder nur sehr mühsam - über einen Query ermittelt werden können.
Im folgenden eine Schritt-für-Schritt Anleitung, wie man einen solchen Dataprovider erstellt und in den SSRS verwendet.
Schritt 1: Klasse erstellen, abgeleitet von SRSReportDataProviderBase
{
DmoSalesLineCountTmp DmoSalesLineCountTmp;
}
Schritt 2: Tabelle erstellen (temporär, welche durch den Dataprovider mit Daten befüllt wird)
Schritt 3: Erstellen/Überschreiben der notwendigen Methoden in der zuvor erstellten Klasse
Überschreiben der Methode processReport():
public void processReport()
{
InventTable inventTable;
//super();
while select InventTable
{
DmoSalesLineCountTmp.ItemId = inventTable.ItemId;
DmoSalesLineCountTmp.ItemName = inventTable.itemName();
DmoSalesLineCountTmp.Counter = int642int((select count(RecId) from SalesLine where SalesLine.ItemId == inventTable.ItemId).recid);
DmoSalesLineCountTmp.insert();
}
}
Erstellen einer neuen Methode, welche als Rückgabeparameter die temporäre Tabelle liefert:
SRSReportDataSetAttribute(tableStr(DmoSalesLineCountTmp))
]
public DmoSalesLineCountTmp getDmoSalesLineCountTmp()
{
select DmoSalesLineCountTmp;
return DmoSalesLineCountTmp;
}
Schritt 4: Im Visual Studio statt einem Query beim Dataset den Report Data Provider angeben
Danach kann man per Drag & Drop das Dataset auf den Design-Knoten ziehen und auf diese Weise ein Autodesign erzeugen. Innerhalb dieses Designs nun die anzuzeigenden Spalten in die gewünschte Reihenfolge bringen:
Schritt 5: Preview im Visual Studio (optional)
Schritt 6: MenuItem erstellen
Um den Bericht nun in Dynamics AX einzubinden, ist ein MenuItem erforderlich.
Schritt 7: Aufrufen des Berichtes aus Dynamics AX heraus - Fertig