i'm trying to create RPD for my custom report by contract so i'v create this function
[SysEntryPointAttribute]
public void processReport()
{
Query query;
QueryRun qRun;
QueryBuildRange qbr,qbr1,queryBuildRange;
QueryBuildDataSource queryBuildDataSource;
PayrollPayStatementEarningLine payrollPayStatementEarningLine;
PayrollPayStatementLine payrollPayStatementLine;
PayrollPayStatement payrollPayStatement;
HcmWorker hcmWorker;
HcmPositionWorkerAssignment hcmPositionWorkerAssignment;
HcmWorkerRecId hcmWorkerRecId;
int64 Idforline,PeriodX;
contract = this.parmDataContract() as PayStatmentRPDPContract;
hcmWorkerRecId=contract.parmHcmWorkerRecId();
PeriodX=contract.parmPayPeriod();
select RecId from PayrollPayStatement
where PayrollPayStatement.Worker==hcmWorkerRecId
&& PayrollPayStatement.PayPeriod==PeriodX;
select PayStatement from payrollPayStatementEarningLine
where payrollPayStatementEarningLine.PayStatement==PayrollPayStatement.RecId;
Idforline=payrollPayStatementEarningLine.PayStatement;
queryBuildDataSource = query.dataSourceTable(tablenum(payrollPayStatementEarningLine));
if(Idforline)
{
queryBuildRange = queryBuildDataSource.findRange(fieldnum(payrollPayStatementEarningLine, PayStatement));
if (!queryBuildRange)
{
queryBuildRange = queryBuildDataSource.addRange(fieldnum(payrollPayStatementEarningLine, PayStatement));
}
if(!queryBuildRange.value())
{
queryBuildRange.value(Idforline);
}
}
qRun = new QueryRun(query);
while(qRun.next())
{
payStatmentRPTemp.clear();
payrollPayStatementEarningLine = qRun.get(tableNum(PayrollPayStatementEarningLine));
payStatmentRPTemp.AccountingDate=payrollPayStatementEarningLine.AccountingDate;
payStatmentRPTemp.EarningCode=payrollPayStatementEarningLine.EarningCode;
payStatmentRPTemp.Quantity=payrollPayStatementEarningLine.Quantity;
payStatmentRPTemp.EarningRate=payrollPayStatementEarningLine.EarningRate;
payStatmentRPTemp.insert();
}
}
but i got error here (i think type of parm or somthing)
