Home > DynamicsAx Utilities > AIF – Outbound with a number of Records per XML

AIF – Outbound with a number of Records per XML

Again I am back with some AIF stuff.

Assume that if we have a requirement like, we need to send at least 10 records per XML as an outbound.

Have a look on the following example which gives an idea, how we can send 10 or some number of records in an XML as an outbound.

static void AIFSendChAccForRangeRec(Args _args)
    AxdSendContext                      axdSendContext = AxdSendContext::construct();
    AifConstraint                       aifConstraint = new AifConstraint() ;
    AifConstraintList                   aifConstraintList = new AifConstraintList();
    AifActionId                         actionId;
    AifEndpointList                     endpointList;
    Query                               query;
    QueryBuildDataSource                queryBuildDataSource;
    QueryBuildRange                     qbr;
    RecId                               start;
    RecId                               end;
    LedgerTable                         ledgerTable;
    //reading lowest recordId for a specific criteria
    select firstonly RecId from ledgerTable where ledgerTable.AccountPlType == LedgerAccountType::Heading;
    start = ledgerTable.RecId;
    end = start + 100;          // add some value to the recordId. This increment value we can change depends on req.
    query = new Query(queryStr(AxdChartOfAccounts));
    queryBuildDataSource = query.dataSourceTable(tablenum(LedgerTable));
    queryBuildDataSource.addRange(fieldnum(LedgerTable, AccountPlType)).value(QueryValue(LedgerAccountType::Heading));
    qbr = queryBuildDataSource.addRange(fieldnum(LedgerTable, RecId));
    //here adding the records range condition, to filter the no.of records to send in XML
    qbr.value(strfmt(‘( (%1 >= %2) && (%1 <= %3) )’,
                       fieldstr(LedgerTable, RecId),
    actionId = AifSendService::getDefaultSendAction(classnum(LedgerChartOfAccountsService), AifSendActionType::SendByQuery);

    endpointList = AifSendService::getEligibleEndpoints(actionId, aifConstraintList);

    //implemented the AIF-Outbound using query object
    AifSendService::submitFromQuery(actionId, endpointList, query, AifSendMode::Async);


Note: All the required AIF – File system – Outbound set up for Chart of accounts is completed before executing above job.

Party smile…..Pizza

Categories: DynamicsAx Utilities
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: