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
class DmoSalesLineCountDataProvider extends 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():
[SysEntryPointAttribute]
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:
itemId
itemName
counter
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
Dieser Beitrag bezieht sich auf die Version: Dynamics AX 2012
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.
Mehr dazu
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