0

Microsoft Dynamics AX の AOT でクラス コーディングを作成しようとしています。私がやっていることは、Microsoft DynamicsAX 2012 で SSRS レポートを開発することです。したがって、練習目的で、実際にこのチュートリアル リンクをたどっています: http://www.dynamics101.com/2013/09/developing-ssrs-report-using -report-data-provider-microsoft-dynamics-ax-2012/ . 助けてください。ありがとうございました

ただし、次のような構文エラーが発生します。

構文エラー
\Classes\CustReportRDPDemoDP\classDeclaration
classDeclaration
Err:9999

エラーは次のコード行で発生します。

[SRSReportDataSetAttribute(tablestr('CustReportRDPDemoTmp'))]

私の次のコードは次のとおりです。

class CustReportRDPDemoDP extends SRSReportDataProviderBase
{
//Temproaray table buffer
CustReportRDPDemoTmp custReportRDPDemoTmp;

[SRSReportDataSetAttribute(tablestr('CustReportRDPDemoTmp'))]

public CustReportRDPDemoTmp getCustReportRDPDemoTmp()
{

    select * from custReportRDPDemoTmp;
    //return the buffer
    return custReportRDPDemoTmp;
}

///<summary>
/// Processes the SQL Server Reporting Services report business logic
/// </summary>
/// <remarks>
/// This method provides the ability to write the report business   logic. This method will be called by
/// SSRS at runtime. The method should compute data and populate the data tables that will be returned
/// to SSRS.
/// </remarks>
public void processReport(){
    CustTable custTable;
    SalesTable salesTable;

    //select all customers
    while select * from custTable
    {
        //clear the temporary table
        custReportRDPDemoTmp.clear();
        //assign customer account and name
        custReportRDPDemoTmp.CustAccount = custTable.AccountNum;
        custReportRDPDemoTmp.Name = custTable.name();
        //select count of invoiced sales order of customer
        select count(RecId) from salesTable
        where salesTable.CustAccount == custTable.AccountNum
        &amp;&amp; salesTable.SalesStatus == SalesStatus::Invoiced;
        custReportRDPDemoTmp.SalesOrderInvoiceCount = int642int(salesTable.RecId);
        //insert in temporary table buffer
        custReportRDPDemoTmp.insert();
       }
 }
}
4

1 に答える 1

0

3 つの個別のメソッドが必要です。classDeclaration メソッドでコードをスローすることはできません。

classDeclaration は次のようにする必要があります。

class CustReportRDPDemoDP extends SRSReportDataProviderBase
{
    //Temporary table buffer
    CustReportRDPDemoTmp custReportRDPDemoTmp;
}

他の 2 つのコード ブロックは、独自のメソッドにする必要があります。

于 2015-05-26T14:32:31.893 に答える