Интеграция процессов Microsoft AX Dynamics через исходящие порты

Я хотел бы знать шаги интеграции процесса.

Через исходящие порты

Если какое-либо событие происходит в AX Dynamics, мы просто хотим знать, что это происходит в форме XML(Process Integration).

Пример: создание заказа клиента, создание клиента, создание заказа на поставку.

1 ответ

Решение

Исходящие порты полезны только для асинхронной связи.

См. AX 2012 Экспорт данных с исходящими портами для примера (с использованием файловой системы).

Шаги для инициирования отправки данных находятся в AIF_SendCustomer,

Поскольку это не легкая операция, вы можете записать записи, которые необходимо интегрировать в пользовательскую таблицу интеграции, а затем выполнить обработку в пакетном режиме.

Это сделано в insert и / или update и возможно delete метод. Удаление требует, чтобы вы сохранили RecId значение поля во внешней системе, которое будет использоваться для запросов на удаление. Следующее не покрывает это.

Для зарегистрированной таблицы сделайте следующий метод:

void syncRecord()
{
    XXXRecordLog log;
    log.RefTableId = this.TableId;
    log.RefRecId = this.RecId;
    log.insert();
}

Тогда позвони this.syncRecord() в insert а также update методы.

В запросе к исходящей службе убедитесь, что существует соединение вашей таблицы и таблицы журнала. Таким образом экспортируются только измененные записи.

Сделайте пакетное задание, чтобы выполнить передачу, используя AIF_SendCustomer как шаблон. После синхронной (AifSendMode::Sync) передачи записей удалите записи журнала (или отметьте их как переданные).

Наконец позвони AIFoutboundProcessingService очистить файл:

new AIFoutboundProcessingService().run();

Постарайтесь, чтобы все было просто. Может быть проще сделать запятый экспорт измененных записей!

Другие вопросы по тегам