Давеча тут понадобилось написать экстрактор с дельтой на основе 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 совпадает с текущей, то не вызывает даже экстрактор