SSRS report DP class And Contract Class Example
any SSRS Report Creating
1 Table (TempDB or InMemory)
2 Query
3 Classss
// <summary>
/// The <c>LedgerJournalDP</c> class declares the variables, tables, and so on, that are used in the
/// <c>LedgerJournal</c> report.
/// </summary>
[
SRSReportQueryAttribute(queryStr(CertificateDataWithParameter_Qry)),
SRSReportParameterAttribute(classStr(CertificateDataWithParameterContract))
]
public class CertificateDataWithParameterDP extends SRSReportDataProviderBase
{
CertificateDataWithParameterTmp CertificateDataWithParameterTmp;
TransDate fromDate;
TransDate toDate;
}
(if use Contract Class only )
private Query buildQuery( Query _query,
TransDate _fromDate,
TransDate _toDate)
{
if(_fromDate && _toDate)
_query.dataSourceTable(tablenum(VendCertification),1).addRange(fieldnum(VendCertification, DueDate_PSN)).value(queryRange
(_fromDate,_toDate));
return _query;
}
if(_fromDate && _toDate)
_query.dataSourceTable(tablenum(
),1).addRange(fieldnum(
, InvoiceDate)).value(queryRange(_fromDate,_toDate));
VendCertification
VendCertification
// _query.dataSourceTable(tablenum(
), 1).addRange(fieldnum(
, AssetStatus)).value(queryvalue(HcmAssetStatus));
VendCertification
VendCertification
return _query;
}
private void getReportParameters()
{
CertificateDataWithParameterContract CertificateDataWithParameterContract = this.parmDataContract();
if (CertificateDataWithParameterContract)
{
fromDate = CertificateDataWithParameterContract.parmFromDate();
toDate = CertificateDataWithParameterContract.parmTodate();
}
}
// <summary>
/// Executes temporary table.
/// </summary>
/// <returns>
/// The temporary table <c>LedgerJournalTmp</c>.
/// </returns>
[
SRSReportDataSetAttribute(tablestr(CertificateDataWithParameterTmp))
]
public CertificateDataWithParameterTmp getCertificateDataWithParameterTmp()
{
select CertificateDataWithParameterTmp;
return CertificateDataWithParameterTmp;
}
public void insertCustTransListTmp(VendTable _VendTable)
{
ReasonTable ReasonTable;
DirPartyTable dirPartyTable;// pramodh
DirOrganization dirOrganization;
VendMasterDataTmp.Logo = CompanyImage::findByRecord(CompanyInfo::find()).Image;
VendMasterDataTmp.AccountNum = _VendTable.AccountNum;
VendMasterDataTmp.InvoiceAccount = _VendTable.VendGroup;
VendMasterDataTmp.VendGroup = _VendTable.VendGroup;
VendMasterDataTmp.LineOfBusinessId = _VendTable.LineOfBusinessId;
VendMasterDataTmp.SegmentId = _VendTable.SegmentId;
VendMasterDataTmp.SubsegmentId = _VendTable.SubsegmentId;
VendMasterDataTmp.Blocked = _VendTable.Blocked;
// added by pramodh ---> start
// select DirPartyTable where DirPartyTable.RecId == _VendTable.Party;
dirPartyTable = DirPartyTable::findRec(_VendTable.Party);
if(dirPartyTable)// added by pramodh <--- End
{
VendMasterDataTmp.Name = DirPartyTable.Name;
VendMasterDataTmp.NameAlias = DirPartyTable.NameAlias;
}
/*select DirOrganization where DirOrganization.RecId == DirPartyTable.RecId;
VendMasterDataTmp.NumberOfEmployees = DirOrganization.NumberOfEmployees;*/ // commented by pramodh
VendMasterDataTmp.NumberOfEmployees = DirOrganization::find(dirPartyTable.RecId).NumberOfEmployees;
// VendMasterDataTmp.State =
//VendMasterDataTmp.City =
VendMasterDataTmp.insert();
}
[SysEntryPointAttribute(false)]
public void processReport()
{
VendTable VendTable;
VendCertification VendCertification;
QueryRun queryRun;
CertificateDataWithParameterContract contract;
this.getReportParameters();
queryRun = new QueryRun(this.buildQuery(this.parmQuery(),fromDate,toDate));
while (queryRun.next())
{
VendTable = queryRun.get(tableNum(VendTable)) ;
VendCertification = queryRun.get(tableNum(VendCertification)) ;
this.insertCertificateDataWithParameterTmp(VendTable,VendCertification);
}
}
Using Contract Class
// /// <summary>
/// The <c>LedgerJournalContract</c> class is the Data Contract class for the <c>LedgerJournal</c> SSRS
/// report.
/// </summary>
[
DataContractAttribute,
SysOperationGroupAttribute('Date', "Date", '1')
]
public class CertificateDataWithParameterContract implements SysOperationValidatable
{
TransDate fromDate;
TransDate toDate;
}
/// Gets or sets the value of the datacontract parameter ShowAccrualTrans.
/// </summary>
/// <param name=”_showAccrualTrans”>
/// The new value of the datacontract parameter ShowAccrualTrans; optional.
/// </param>
/// <returns>
/// The current value of datacontract parameter ShowAccrualTrans
/// </returns>
[
DataMemberAttribute('fromDate'),
SysOperationLabelAttribute(literalstr("FromDate")),
SysOperationHelpTextAttribute(literalstr("FromDate")),
SysOperationGroupMemberAttribute('Date'),
SysOperationDisplayOrderAttribute('1')
]
public TransDate parmFromDate(TransDate _fromDate = fromDate)
{
fromDate = _fromDate;
return fromDate;
}
// <summary>
/// Gets or sets the value of the datacontract parameter Specification.
/// </summary>
/// <param name=”_specification”>
/// The new value of the datacontract parameter Specification; optional.
/// </param>
/// <returns>
/// The current value of datacontract parameter Specification
/// </returns>
[
DataMemberAttribute('todate'),
SysOperationLabelAttribute(literalstr("Todate")),
SysOperationHelpTextAttribute(literalstr("Todate")),
SysOperationGroupMemberAttribute('Date'),
SysOperationDisplayOrderAttribute('2')
]
public TransDate parmTodate(TransDate _todate = todate)
{
todate = _todate;
return todate;
}
public boolean validate()
{
boolean isValid = true;
if (!fromDate)
{
isValid = checkFailed("From Date should be entered");
}
if (!toDate)
{
isValid = checkFailed("To Date should be entered");
}
if (isValid && (fromDate > toDate))
{
isValid = checkFailed(strfmt("From Date should be less than or equal to To Date", date2StrUsr(fromDate, DateFlags::FormatAll), date2StrUsr(toDate, DateFlags::FormatAll)));
}
return isValid;
}
No comments:
Post a Comment