Monday 1 July 2013

DP Class in ax 2012


[
    SRSReportQueryAttribute(querystr(ICDOCCollectorInformation)),
    SRSReportParameterAttribute(classstr(ICDOCCollectorInformationContract))
]
public class ICDOCCollectorInformationDP extends SRSReportDataProviderBase
{
   // AssetSumCalc assetSumCalc;
    TransDate     fromDate;
    TransDate       toDate;
    ICDOCCollectorInformationTmp ICDOCCollectorInformationTmp;
    CollectorInformation CollectorInformation;
    CollectorInformationLine CollectorInformationLine;
     Name        dimension;
    AgentCode   agentCode;
    Branch      branch;
}

 private Query buildQuery(
                            Query           _query,
                            fromDate        _fromDate,
                            ToDate          _toDate,
                             AgentCode      _agentCode,
                             Branch         _branch)
    {

       if(_fromDate && _toDate)
          _query.dataSourceTable(tablenum(CollectorInformationLine), 1).addRange(fieldnum(CollectorInformationLine, FromDate)).value(queryRange(_fromDate,_toDate));

       if(_agentCode)
           _query.dataSourceTable(tablenum(CollectorInformation), 1).addRange(fieldnum(CollectorInformation, AgentCode)).value(queryvalue(_agentCode));

        if(_branch)
             _query.dataSourceTable(tablenum(CollectorInformation), 1).addRange(fieldnum(CollectorInformation, Branch)).value(queryvalue(_branch));

         return _query;
    }

[
    SRSReportDataSetAttribute(tablestr(ICDOCCollectorInformationTmp))
]
public ICDOCCollectorInformationTmp getICDOCCollectorInformationTmp()
{
    select ICDOCCollectorInformationTmp;
    return ICDOCCollectorInformationTmp;
}

public void getReportParameters()
{
    ICDOCCollectorInformationContract datacontract = new ICDOCCollectorInformationContract();
    ICDOCCollectorInformationContract ICDOCCollectorInformationContract = this.parmDataContract();

    if(ICDOCCollectorInformationContract)
    {
        fromDate = ICDOCCollectorInformationContract.parmFromDate();
        toDate   = ICDOCCollectorInformationContract.parmToDate();
        agentCode= ICDOCCollectorInformationContract.parmAgentCode();
        branch   = ICDOCCollectorInformationContract.parmBranch();
    }
}

private void insertICDOCCollectorInformationTmp()
{
    ICDOCCollectorInformationTmp.AgentCode = CollectorInformation.AgentCode;
    ICDOCCollectorInformationTmp.Employee = CollectorInformation.Employee;
    ICDOCCollectorInformationTmp.Name = CollectorInformation.CollectorName();
    ICDOCCollectorInformationTmp.Branch = CollectorInformation.Branch;
    ICDOCCollectorInformationTmp.FromDate = CollectorInformationLine.FromDate;
    ICDOCCollectorInformationTmp.ToDate = CollectorInformationLine.ToDate;
    ICDOCCollectorInformationTmp.TargetAmount = CollectorInformationLine.TargetAmount;
    ICDOCCollectorInformationTmp.AchievedAmount = CollectorInformationLine.AchievedAmount;
    ICDOCCollectorInformationTmp.City = CollectorInformationLine.City;
    ICDOCCollectorInformationTmp.insert();
}


[SysEntryPointAttribute]
public void processReport()
{
    Query    query ;
    QueryRun queryRun;
    QueryBuildDataSource        qbds;
this.getReportParameters();
queryRun=new QueryRun(this.buildQuery(this.parmQuery(),fromDate,toDate,agentCode,branch));

while(queryRun.next())
    {
        CollectorInformation = queryRun.get(tablenum(CollectorInformation));
        CollectorInformationLine = queryRun.get(tablenum(CollectorInformationLine));
        this.insertICDOCCollectorInformationTmp();
    }

}

No comments:

Post a Comment