Wednesday, 26 April 2017

Fx exposure report

[
    SRSReportParameterAttribute(classStr(FxExposurePositionContract))
]
class FxExposurePositionDP extends SRSReportDataProviderBase
{
    FxExposurePositionTmp        fxExposurePositionTmp;
}


[SRSReportDataSetAttribute(tableStr(AEIFxExposurePositionTmp))]
public FxExposurePositionTmp getFxExposurePositionTmp()
{
    select fxExposurePositionTmp;
    return  fxExposurePositionTmp;
}


[SysEntryPointAttribute]
public void processreport()
{
    VendAgingReportContract         contract;
    VendAgingReportDP               vendAgingDp;
    VendAgingReportTmp              vendAgingTmp;
    AEIFxExposurePositionContract   aeiContract;

    aeiContract                     = this.parmDataContract();
    contract                        = new VendAgingReportContract();
    vendAgingDp                     = new VendAgingReportDP();

    contract.parmDateTransactionDuedate(DateTransactionDuedate::TransactionDate);
    contract.parmZeroDate(aeiContract.parmZeroDate());
    contract.parmPayments(NoYes::No);
    contract.parmPeriod(DayMonth::Day);
    contract.parmDetailed(NoYes::Yes);
    contract.parmExcludeZeroBalanceVendor(NoYes::Yes);
    contract.parmPrintZeroOrNegative(NoYes::Yes);
    contract.parmIncludeAmountCur(NoYes::Yes);

    vendAgingDp.parmDataContract(contract);
    vendAgingDp.processReport();

    vendAgingTmp                        = vendAgingDp.getVendAgingReportTmp();

    insert_recordset fxExposurePositionTmp (TransDate, CurrencyCode, AmountCur, AmountMST)
        select TransDate, CurrencyCode, Balance01Cur, Balance01 from vendAgingTmp;

}


Contract Class



[DataContractAttribute]
class FxExposurePositionContract
{
    TransDate   zeroDate;
}

[
    DataMemberAttribute('ZeroDate'),
    SysOperationLabelAttribute(literalStr("@SYS137399")),
    SysOperationHelpTextAttribute(literalStr("@SYS137399")),
    SysOperationDisplayOrderAttribute('1')
]
public TransDate parmZeroDate(TransDate _zeroDate = zeroDate)
{
    zeroDate = _zeroDate;
    return zeroDate;
}


No comments:

Post a Comment