Simple way to extend AIF outbound data in AX 2012
Continue readingIf there is a need to extend data produced for AIF export, i.e. from tables related to the root data source of AIF query, instead of adding data source(s) to the query we can simply extend the AxABC class with additional parameters. Below is the quick guide how to do it.
Let’s assume that we need to extend standard ASN Packing Slip XML with contact name and phone. Related AIF service class is using standard query AxdASN. The root data source table is CustPackingSlipJour
.
There is related class axCustPackingSlipJour
. We need just to add to this class parm methods returning wanted values: parmContactPersonName
and parmContactPersonPhone
.
public ContactPersonName parmContactPersonName(ContactPersonName _contactPersonName = ”)
{
return custPackingSlipJour.salesTable().contactPersonName();
}
public LogisticsElectronicAddressLocator parmContactPersonPhone(LogisticsElectronicAddressLocator _contactPersonPhone = ”)
{
return LogisticsElectronicAddress::findRecId(DirPerson::find(custPackingSlipJour.salesTable().ContactPerson().Party).PrimaryContactPhone).Locator;
}
We need to refresh AIF services to see the added parameters.
After refreshing changes in the related schema should be visible:
We need to enable elements in Document Data Policies in Outbound Ports:
and finally new elements should be visible in XML file: