DP Class
[
SRSReportQueryAttribute (queryStr
(Vendor Invoice)),
SRSReportParameterAttribute (classStr
(VendorInvoiceContract))
]
class VendorInvoiceDP extends SRSReportDataProviderBase
{
VendorInvoiceTmp
vendorInvoiceTmp;
TmpSysQuery
tmpSysQuery;
VendorInvoiceContract contract;
boolean PO;
boolean SO;
boolean MO;
}
[SRSReportDataSetAttribute(tableStr(VendorInvoiceTmp))]
public VendorInvoiceTmp getVendorInvoiceTmp()
{
select vendorInvoiceTmp;
return vendorInvoiceTmp;
}
[SRSReportDataSetAttribute(tableStr(TmpSysQuery))]
public TmpSysQuery
getTmpSysQuery()
{
select tmpSysQuery;
return tmpSysQuery;
}
[SysEntryPointAttribute]
Public void processReport ()
{
Query query;
QueryRun queryRun;
VendInvoiceJour
vendInvoiceJour;
VendInvoiceTrans
vendInvoiceTrans;
ProjTable projTable;
ProjInvoiceItem
projInvoiceItem;
ProjInvoiceJour
projInvoiceJour;
AegOlapClient
olapClient;
VendTrans vendTrans;
PurchLine purchLine;
Contract = this.parmDataContract
();
PO =
contract.parmPO();
SO =
contract.parmSO();
MO =
contract.parmMO();
Query =
this.parmQuery();
QueryRun = new QueryRun (query);
tmpSysQuery =
AEISRSDynamicQuery::rangesToTmpSysQuery(this.parmQuery());
while(queryRun. Next())
{
VendInvoiceJour = queryRun.get(tableNum
(VendInvoiceJour));
vendInvoiceTrans = queryRun.get(tableNum(VendInvoiceTrans));
projInvoiceItem = queryRun.get(tableNum(ProjInvoiceItem));
projTable =
queryRun.get(tableNum(ProjTable));
olapClient =
queryRun.get(tableNum(AegOlapClient));
projInvoiceJour = queryRun.get(tableNum(ProjInvoiceJour));
vendTrans = queryRun.get(tableNum(VendTrans));
purchLine =
queryRun.get(tableNum(PurchLine));
vendorInvoiceTmp.clear();
vendorInvoiceTmp.VendorId =
vendInvoiceJour.InvoiceAccount;
vendorInvoiceTmp.VendorName =
VendTable::find(vendInvoiceJour.InvoiceAccount).name();
vendorInvoiceTmp.PurchInvoiceDate = vendInvoiceJour.InvoiceDate;
vendorInvoiceTmp.PurchDocumentDate = vendInvoiceJour.DocumentDate;
vendorInvoiceTmp.PurchInvoiceId = vendInvoiceJour.InvoiceId;
vendorInvoiceTmp.aegMediaTitle = AEGTHHierarchy::getNameByComponentAndType
(projInvoiceItem.aegthHierarchyNodePurchRecId, ProjParameters::find().aegthComponentTypeName);
//Note:-
substring is taken taken from 1 to strLen-1,
//because
some project name string are containing 'GS' (group seperator) special
character....
vendorInvoiceTmp.ProjectName = char2num(projTable.Name,
strLen(projTable.Name)) > 31 ? projTable.Name: subStr(projTable.Name,
1, strLen(projTable.Name)-1);
//Voucher
number PCNV* indicates credit note transactions....
if(vendInvoiceJour.InvoiceAmount
< 0)
{
vendorInvoiceTmp.CreditNoteAmount
= vendTrans.AmountMST;
}
else
{
vendorInvoiceTmp.PurchInvoiceAmountMST
= vendInvoiceTrans.LineAmountMST;
}
vendorInvoiceTmp.SalesInvoiceId = projInvoiceItem.ProjInvoiceId;
vendorInvoiceTmp.SalesInvoiceAmountMST = projInvoiceItem.aegTotalAmountMST();
vendorInvoiceTmp.CustomerId =
projInvoiceJour.InvoiceAccount;
vendorInvoiceTmp.SalesInvoiceDate = projInvoiceItem.InvoiceDate;
vendorInvoiceTmp.CustomerName =
CustTable::find(projInvoiceJour.InvoiceAccount).name();
vendorInvoiceTmp.ClientId = olapClient.AccountNum;
vendorInvoiceTmp.ClientName = olapClient.ClientName;
vendorInvoiceTmp.PurchaseOrderId = purchLine.PurchId;
vendorInvoiceTmp.SalesOrderId = purchLine.InventRefId;
vendorInvoiceTmp.ProjectId = projTable.ProjId;
vendorInvoiceTmp.CampaignId = projTable.AEGCampaignProjId;
vendorInvoiceTmp.AEGMediaOrderId =
PurchTable::find(purchLine.PurchId).AEGMediaOrderId;
vendorInvoiceTmp.Voucher = vendTrans.Voucher;
if(vendorInvoiceTmp.ClientName)
{
vendorInvoiceTmp.insert();
}
}
Contract
Class
[DataContractAttribute]
class VendorInvoiceContract
{
boolean PO;
boolean SO;
boolean MO;
}
[
DataMemberAttribute('Media order'),
SysOperationLabelAttribute(literalStr
("@AEG1193")),
SysOperationDisplayOrderAttribute('3')
]
public boolean parmMO(boolean
_MO = MO)
{
MO = _MO;
Return MO;
}
[
DataMemberAttribute('Purchase order'),
SysOperationLabelAttribute (literalStr
("@SYS25545")),
SysOperationDisplayOrderAttribute ('1')
]
Public boolean parmPO(boolean
_PO = PO)
{
PO = _PO;
return PO;
}
[
DataMemberAttribute('Sales order'),
SysOperationLabelAttribute (literalStr
("@SYS80119")),
SysOperationDisplayOrderAttribute('2')
]
Public boolean parmSO(boolean
_SO = SO)
{
SO = _SO;
return SO;
}
No comments:
Post a Comment