понедельник, 22 сентября 2014 г.

Process Variables of Refresh и step 1-2-3

Забавный флаг Process Variables of Refres в настройках рабочей книги.

Если он стоит, то система запоминает переменные в книге при сохранении

Ещё интересней ведет себя система с этим флагом и то где определена переменная.


В 7.3. столкнулся со странным поведением step1,2,3 в ситуации когда запрос внутри книги.
немного описывает эту ситуацию... но реально вызов step2 и step3 немного напрягает.


В 7.3 появилось BAPI для работы с переменными - 

RSROA_VARIABLES_EXIT_BADI



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