greeting everyone i'v created new custom report and it have 2 RDP and i have 2 table mean every table take 1 dataset
so when i call my report the first table has been fill but second table didn't fill and i made both table take one parameter
i directed the parameter of dataset2 to parameter dataset1
to make them take only one parameter
and here my code
[SysEntryPointAttribute]
public void processReport()
{
PayrollPayStatementBenefitLine payrollPayStatementBenefitLine;
PayrollPayStatementEarningLine payrollPayStatementEarningLine;
PayrollPayStatementLine payrollPayStatementLine;
PayrollPayStatement payrollPayStatement;
PayrollEarningCode payrollEarningCode;
HcmWorker hcmWorker;
HcmPosition hcmPosition;
HcmPositionWorkerAssignment hcmPositionWorkerAssignment;
//HcmWorkerRecId hcmWorkerRecId;
PayrollPayStatementId payrollPayStatementId;
//int64 Idforline,PeriodX;
str ispaypost;
contract = this.parmDataContract() as PayStatmentRPDPContract;
PayrollPayStatementId=contract.parmPayrollPayStatementId();
//PeriodX=contract.parmPayPeriod();
select * from payrollPayStatement
where payrollPayStatement.DocumentNumber==PayrollPayStatementId;
select * from hcmWorker
where hcmWorker.RecId==PayrollPayStatement.Worker;
while select * from payrollPayStatementEarningLine
where (payrollPayStatementEarningLine.PayStatement==payrollPayStatement.RecId)
join payrollEarningCode where payrollEarningCode.RecId == payrollPayStatementEarningLine.EarningCode
join payrollPayStatementLine where payrollPayStatementLine.RecId==payrollPayStatementEarningLine.RecId
join hcmPosition where hcmPosition.RecId==payrollPayStatementLine.Position
{
payStatmentRPTemp.clear();
//payrollPayStatementEarningLine = qRun.get(tableNum(PayrollPayStatementEarningLine));
//payStatmentRPTemp.DocumentNumber=docpaynum;
//payStatmentRPTemp.PostedStatus=ispaypost;
payStatmentRPTemp.WorkerName=hcmWorker.name();
payStatmentRPTemp.AccountingCurrencyAmount=payrollPayStatementEarningLine.AccountingCurrencyAmount;
payStatmentRPTemp.PersonalNumber=hcmWorker.PersonnelNumber;
payStatmentRPTemp.Position=hcmPosition.description();
payStatmentRPTemp.AccountingDate=payrollPayStatementEarningLine.AccountingDate;
payStatmentRPTemp.Description=payrollEarningCode.Description;
payStatmentRPTemp.EarningCode=payrollPayStatementEarningLine.EarningCode;
payStatmentRPTemp.Quantity=payrollPayStatementEarningLine.Quantity;
payStatmentRPTemp.EarningRate=payrollPayStatementEarningLine.EarningRate;
if(payrollPayStatement.PostedStatus == PayrollPayStatementPostedStatus::Posted)
{
payStatmentRPTemp.PostedStatus="مسودة";
}
payStatmentRPTemp.insert();
}
while select * from payrollPayStatementBenefitLine
where payrollPayStatementBenefitLine.PayStatement==payrollPayStatement.RecId
&& payrollPayStatementBenefitLine.IsEmployer==false
join payrollPayStatementLine where payrollPayStatementLine.RecId==payrollPayStatementBenefitLine.RecId
join hcmPosition where hcmPosition.RecId==payrollPayStatementBenefitLine.Position
{
benefitDeductionLinesTemp.clear();
benefitDeductionLinesTemp.Amount=payrollPayStatementBenefitLine.AccountingCurrencyAmount;
benefitDeductionLinesTemp.Benefit=payrollPayStatementBenefitLine.displayBenefitPlanDescription();
benefitDeductionLinesTemp.Position=hcmPosition::find(payrollPayStatementBenefitLine.Position).description();
benefitDeductionLinesTemp.insert();
}
}
but this table didn't fill (benefitDeductionLinesTemp)
and i'm sure from my select statement
what did i miss in this case