среда, 3 сентября 2014 г.

Delta Extractor RSAX_BIW_GET_DATA_SIMPLE vs RSAX_BIW_GET_DATA

Давеча тут понадобилось написать экстрактор с дельтой на основе FM. В частности, по ценовым условиям для заказа на закупку. ( KONV ).

Стандартного экстрактора не оказалось, на сбыт есть (KOMV), а на закупку нет.
В общем есть два модуля,
RSAX_BIW_GET_DATA_SIMPLE - full
RSAX_BIW_GET_DATA - full \ delta

Но в общем пофиг, можно и 1м обойтись, там gereric дельта тоже нормально цепляется.
Тем более что он проще и привычней.

Со вторым вышло посложней,

  • У него побольше параметров и некоторые называются по другому, т.е. вместо  I_DSOURCE параметр  I_ISOURCE
  • Необходимо сделать коррекцию, иначе на заработает (взято с sdn)
UPDATE roosource

SET delta 'E'

exmethod 'F1'

WHERE oltpsource '[source_name]'.
  • Да, перед коррекцией не забудьте сделать generic delta, т.к. после оной пропадает имя ФМ и структура из RSO2
  • Не заработает т.к. вызывает фм с другими параметрами в частности с I_DSOURCE
  • Дальше есть параметр  E_T_[source_name] - почему то при тестировании в RSA3 система ожидает что данные будут возвращены именно в него, а при нормальной работе данные идут через e_t_data, если подебажить, то видно что идут разные вызовы.
В общем попробовать я попробовал, но мой выбор RSAX_BIW_GET_DATA_SIMPLE

UPD1. Поле указанное в generic delta передается автоматически, значение см.в RSA7

UPD2. Не забывайте про Safety Interval Upper\Lower Limit. А то без них если система видит что дата в RSA7 совпадает с текущей, то не вызывает даже экстрактор


Комментариев нет: