While exporting data from AX to other third party systems. There could be a requirement to send data which is not part of your AOT query. There could be a requirement to include data from other tables which are not part of your query OR cannot become part of query because of complex joins or may be they need some custom business logic which cannot be achieved using Query. You can always include such fields by creating parm methods for these fields in AX<tableName> classes. For example:
public str parmWBS(str _wbs = '')
{
GeneralJournalEntry generalJournalEntry;
ProjInvoiceJour projInvoiceJour;
if (this.parmText() == '300')
{
select generalJournalEntry
where generalJournalEntry.RecId == GeneralJournalAccountEntry.GeneralJournalEntry
&& generalJournalEntry.JournalCategory == LedgerTransType::Project
join projInvoiceJour
where projInvoiceJour.LedgerVoucher == generalJournalEntry.SubledgerVoucher;
if (projInvoiceJour)
{
_wbs = projInvoiceJour.ProjInvoiceProjId;
}
}
return _wbs;
}
In above method, based on the existing parmText() field on Query, I am trying to fetch the Project Invoice Id from the table which is not part of the query.
Once, parm method is written, you will need to:
public str parmWBS(str _wbs = '')
{
GeneralJournalEntry generalJournalEntry;
ProjInvoiceJour projInvoiceJour;
if (this.parmText() == '300')
{
select generalJournalEntry
where generalJournalEntry.RecId == GeneralJournalAccountEntry.GeneralJournalEntry
&& generalJournalEntry.JournalCategory == LedgerTransType::Project
join projInvoiceJour
where projInvoiceJour.LedgerVoucher == generalJournalEntry.SubledgerVoucher;
if (projInvoiceJour)
{
_wbs = projInvoiceJour.ProjInvoiceProjId;
}
}
return _wbs;
}
In above method, based on the existing parmText() field on Query, I am trying to fetch the Project Invoice Id from the table which is not part of the query.
Once, parm method is written, you will need to:
- Run the Update Document Service Wizar
- Open AIFService forms, filter the service you are working on and click Refresh
- Generate Incremental IL