This is my code :
Args args;
SrsReportRunController controller = new SrsReportRunController();
CustAgingReportContract rdpContract = new CustAgingReportContract();
SRSPrintDestinationSettings settings;
CurrencyCode currencyCode = "INR";
CustTable custTable;
custTable = CustTable::find("C003");
// Define report and report design to use
controller.parmReportName(ssrsReportStr(CustAgingReport, DesignWithNoDetailAndNoTransactionCur));
// Use execution mode appropriate to your situation
controller.parmExecutionMode(SysOperationExecutionMode::Synchronous);
// Suppress report dialog
controller.parmShowDialog(false);
//Explicitly provide all required parameters
rdpContract.parmZeroDate(systemDateGet());
rdpContract.parmStartDate(str2Date("12/1/2017",213));
rdpContract.parmDateTransactionDuedate(DateTransactionDuedate::TransactionDate);
rdpContract.parmAgingBuckets("30-60-90-120");
rdpContract.parmPrintAgingBucketDescription(NoYesCombo::No);
rdpContract.parmInterval(0);
rdpContract.parmPeriod(DayMonth::Day);
rdpContract.parmDirection(ForwardBackwardPrinting::Forward);
rdpContract.parmExcludeZeroBalanceCustomer(NoYes::Yes);
rdpContract.validate();
args = new Args();
args.record(custTable);
controller.parmReportContract().parmRdpContract(rdpContract);
controller.parmArgs(args);
// Change print settings as needed
settings = controller.parmReportContract().parmPrintSettings();
settings.printMediumType(SRSPrintMediumType::File);
settings.fileFormat(SRSReportFileFormat::PDF);
settings.fileName(@'C:\Test\AgingReportCustAging.pdf');
// Execute the report
controller.startOperation();