Hello..
i'm taring to add from date and to date to report ,these parameters are not connected to any dataset.
these parameters will filter the transDate field in LedgerJournalTrans table.
the vendor filler working fine but from date and to date are not working and there is not any error in report running.
The contract class
[
DataContractAttribute,
SysOperationContractProcessingAttribute(classstr(EGCVendInvoiceUIBuilder))
]
class EGCVendInvoiceContract
{
VendAccount vendAccount;
FromDate fromDate;
ToDate toDate;
#define.FromDate('FromDate')
#define.ToDate('ToDate')
}
[DataMemberAttribute]
FromDate parmFromDate(FromDate _fromDate = fromDate)
{
fromDate = _fromDate;
return fromDate;
}
[DataMemberAttribute]
ToDate parmToDate(ToDate _ToDate = toDate)
{
toDate = _toDate;
return toDate;
}
[
DataMemberAttribute("VendAccount"),
SysOperationLabelAttribute("Vendor account")
]
public VendAccount parmVendAccount(VendAccount _vendAccount = vendAccount)
{
vendAccount = _vendAccount;
return vendAccount;
}
RDP class
[ SRSReportQueryAttribute (querystr(q_VendInvoice)),
SRSReportParameterAttribute(classstr(EGCVendInvoiceContract)) ]
public class EGCVendInvoiceDP extends SRSReportDataProviderBase
{
LedgerJournalTrans ledgerJournalTransQuery;
DimensionAttributeValueCombination dimensionQuery;
VendTable vendTableQuery;
DirPartyTable dirPartyTableQuery;
t_VendInvoiceTMP t_vendInvoiceTMP;
VendAccount parmVendAccount;
}
[SRSReportDataSetAttribute("t_vendInvoiceTMP")]
//[SRSReportDataSetAttribute(tablestr('PurchPurchaseTmp'))]
public t_VendInvoiceTMP getVendInvoiceTMP()
{
select * from t_vendInvoiceTMP;
return t_vendInvoiceTMP;
}
[
SysEntryPointAttribute(false)
]
public void processReport()
{
Query query;
QueryRun queryRun;
QueryBuildDataSource queryBuildDataSource,qbds;
QueryBuildRange queryBuildRange;
EGCVendInvoiceContract dataContract;
FromDate fromDate;
ToDate toDate;
query = this.parmQuery();
dataContract = this.parmDataContract() as EGCVendInvoiceContract;
parmVendAccount = dataContract.parmVendAccount();
// Add parameters to the query.
queryBuildDataSource = query.dataSourceTable(tablenum(LedgerJournalTrans));
queryBuildDataSource.addRange(fieldnum(LedgerJournalTrans, TransDate)).value(queryRange(fromDate, toDate));
// Add parameters to the query.
queryBuildDataSource = query.dataSourceTable(tablenum(VendTable));
if(parmVendAccount)
{
queryBuildRange = queryBuildDataSource.findRange(fieldnum(VendTable, AccountNum));
if (!queryBuildRange)
{
queryBuildRange = queryBuildDataSource.addRange(fieldnum(VendTable, AccountNum));
}
if(!queryBuildRange.value())
queryBuildRange.value(parmVendAccount);
}
queryRun = new QueryRun(query);
this.insert(queryRun);
}
private void insert(QueryRun queryRun)
{
// Looping through query results.
while(queryRun.next())
{
ledgerJournalTransQuery = queryRun.get(tableNum(LedgerJournalTrans));
dimensionQuery = queryRun.get(tableNum(DimensionAttributeValueCombination));
vendTableQuery = queryRun.get(tableNum(VendTable));
dirPartyTableQuery = queryRun.get(tableNum(DirPartyTable));
t_vendInvoiceTMP.clear();
t_vendInvoiceTMP.AccountType = ledgerJournalTransQuery.AccountType;
t_vendInvoiceTMP.AmountCurCredit = ledgerJournalTransQuery.AmountCurCredit;
t_vendInvoiceTMP.AmountCurDebit = ledgerJournalTransQuery.AmountCurDebit;
t_vendInvoiceTMP.CurrencyCode = ledgerJournalTransQuery.CurrencyCode;
t_vendInvoiceTMP.Voucher = ledgerJournalTransQuery.Voucher;
t_vendInvoiceTMP.OffsetAccountType = ledgerJournalTransQuery.OffsetAccountType;
t_vendInvoiceTMP.OffsetLedgerDimension = ledgerJournalTransQuery.OffsetLedgerDimension;
t_vendInvoiceTMP.TransDate = ledgerJournalTransQuery.TransDate;
t_vendInvoiceTMP.Txt = ledgerJournalTransQuery.Txt;
t_vendInvoiceTMP.AccountNum = vendTableQuery.AccountNum;
t_vendInvoiceTMP.Name = dirPartyTableQuery.Name;
t_vendInvoiceTMP.insert();
}
}
the UIBuilder
class EGCVendInvoiceUIBuilder extends SrsReportDataContractUIBuilder
{
DialogField dialogVendAccount;
DialogField dialogFromDate;
DialogField dialogToDate;
}
public void build()
{
EGCVendInvoiceContract eGCVendInvoiceContract;
eGCVendInvoiceContract = this.dataContractObject() as
EGCVendInvoiceContract;
dialogVendAccount = this.addDialogField
(methodStr(EGCVendInvoiceContract,parmVendAccount),
eGCVendInvoiceContract);
dialogFromDate = this.addDialogField
(methodStr(EGCVendInvoiceContract,parmFromDate),
eGCVendInvoiceContract);
dialogToDate = this.addDialogField
(methodStr(EGCVendInvoiceContract,parmToDate),
eGCVendInvoiceContract);
}
public void postBuild()
{
EGCVendInvoiceContract eGCVendInvoiceContract;
super();
eGCVendInvoiceContract = this.dataContractObject() as
EGCVendInvoiceContract;
dialogVendAccount = this.bindInfo().getDialogField
(eGCVendInvoiceContract,
methodStr(EGCVendInvoiceContract, parmVendAccount));
dialogFromDate = this.bindInfo().getDialogField
(eGCVendInvoiceContract,
methodStr(EGCVendInvoiceContract, parmFromdate));
dialogToDate = this.bindInfo().getDialogField
(eGCVendInvoiceContract,
methodStr(EGCVendInvoiceContract, parmTodate));
}
*This post is locked for comments
I have the same question (0)

Report
All responses (
Answers (