AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2017, 13:03   #1  
MazZzDaI is offline
MazZzDaI
Участник
Аватар для MazZzDaI
 
44 / 35 (2) +++
Регистрация: 19.09.2013
Решился описать решение, может кому пригодится

Созданы действия AIF для:
  • открытия транзакции AifTtsBegin(GUID _messageId, UserId _userId, DataAreaId _dataAreaId, int _transactionLifeTimeSec)
  • коммита - AifTtsCommit(GUID _messageId)
  • отката - AifTtsAbort(GUID _messageId)

Модифицирована таблица SysDatabaseLog:
  • добавлено поле messageId типа GUID;
  • добавлены методы для отката изменений в логируемых таблицах:
    • rollbackInsert - удаляет запись
    • rollbackUpdate - обновляет запись в предыдущее состояние
    • rollbackDelete - вставляет запись из лога
  • модифицирован метод insert, в котором производится запись в поле SysDataBaseLog.messageId значения AifTtsLog.messageId в контексте текущего пользователя запущенной сессии AX

Создана таблица AifTtsLog для отслеживания состояния AIF транзакций с набором полей:
  • messageId - GUID - уникальный идентификатор транзакции, в контексте которого производятся изменения данных и запись в SysDatabaseLog; устанавливается интегрируемой системой
  • userId - идентификатор пользователя, в контексте которого производятся изменения данных и запись в SysDatabaseLog; устанавливается интегрируемой системой
  • wsAbort - boolean - признак вызова отката транзакции; устанавливается интегрируемой системой
  • expirationDateTime - время жизни транзакции, по истечению которого AX запустит механизм отката транзакции
  • axAbort - boolean - признак, отображающий успешное завершение отката транзакции на стороне AX
  • wsCommit - boolean - признак коммита транзакции; устанавливается интегрируемой системой
  • axRollbackError - boolean - признак, отображающий возникновение ошибки в процессе отката транзакции на стороне AX

Создан класс AxTtsMonitor extends RunBaseBatch, который мониторит таблицу AifTtsLog и:
  • Запускает откат изменений при появлении признака wsAbort, или же при истечении времени жизни транзакции
  • Устананавливает признаки axAbort и axRollbackError
Миниатюры
Нажмите на изображение для увеличения
Название: AX_AifTts.png
Просмотров: 527
Размер:	122.7 Кб
ID:	11198  
За это сообщение автора поблагодарили: sukhanchik (5).
Теги
aif

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AIF: Microsoft Dynamics AX Services and Windows Azure Service Bus Blog bot DAX Blogs 0 24.07.2013 03:13
daxdilip: How to: Configure Dynamics AX AIF Services to listen for SSL Requests (https) Blog bot DAX Blogs 0 23.01.2011 10:12
Dave: AIF Configuration and Additional Findings Blog bot DAX Blogs 1 04.11.2009 17:29
Dianne Siebold: AIF Top Ten Blog bot DAX Blogs 1 22.04.2008 11:19
Откат транзакции за вчерашний день??? Возможно в SQL2000??? director DAX: Администрирование 5 16.12.2005 11:26
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:43.