SAPфорум.RU
http://sapboard.ru/forum/

InfoObject: Conversion Routine типа INPUT.
http://sapboard.ru/forum/viewtopic.php?f=12&t=95257
Страница 1 из 1

Автор:  Olapster [ Вт, авг 08 2017, 12:55 ]
Заголовок сообщения:  InfoObject: Conversion Routine типа INPUT.

Всем привет.
По подсказкам уважаемого 12ozmdm протестировал следующее:

1. У признака 0VENDOR есть атрибут 0POBOX.
2. В поле conversion routine этого признака, я указал, созданный мною: CONVERSION_EXIT_ZASCR_INPUT
3. В этом ФМ я вызываю метод моего класса, который берёт параметр INPUT и возвращает результат в параметр OUTPUT.
4. Далее, загружаю в ПСА 20 значений, среди которых, для поля 0POBOX, есть строки с кракозябрами.
5. Прокачиваю атрибуты, ожидая, что "EXIT_INPUT" автоматически исправит эти значения.
6. Но нифига! Судя по SM50 он даже не запускается! В результате возникает ошибка, данные не обновляются.

Но!
1. Открываю этот атрибут на ввод данных (кнопка "Ведение").
2. Вбиваю вручную значения с кракозябрами, жму "Сохранить".
3. Смотрю в инфообъект - и вижу - что всё ОК! Значения таки были исправлены!

В связи с этим возникает два вопроса:

1. Почему CONVERSION_EXIT_INPUT не работает при закачке данных?
Или он и не должен? Он что ИСКЛЮЧИТЕЛЬНО для ручного ввода значений в признак предназначен?

2. Далее, правильно ли я понимаю что коррекцию атрибута на лету нужно делать именно "Подпрограммой переноса" (Transfer Routine)?
(Нет, понятно, что можно и по другому, трансформацией, например, но меня щас интересуют именно функционал инфообъекта).

Автор:  Olapster [ Ср, авг 09 2017, 11:47 ]
Заголовок сообщения:  Re: InfoObject: Conversion Routine типа INPUT.

Olapster написал(а):
1. Почему CONVERSION_EXIT_INPUT не работает при закачке данных?
Или он и не должен? Он что ИСКЛЮЧИТЕЛЬНО для ручного ввода значений в признак предназначен?


Вот по этому вопросу перечитал ссылки. Но всё еще картина неоднозначна...
Есть некоторые промежуточные наблюдения/соображения:

- Конверсия данных при загрузке атрибутов зависит от настройки поля Format в PSA: External, Internal, Check
В моём случае это значение - Internal, и вероятно, это значит, что конверсионный экзит просто игнорируется.
Типа - раз формат уже правильный, то зачем тебе, кафир, его проверять, лллее? Щербет лучше купи, чохмох.

- Хотел переключить поле Format в Check, но в PSA 3.0 возникает проблема: непонятно как это сделать.
При редактировании PSA предлагается редактировать инфо-источник, и где в нём переключатель - неясно.
В худшем случае, этот подход работает только для PSA 7.0, но эту версию еще не проверял.

- Вот в этом доке упоминается транзакция RSMDEXITON, но такой транзакции не существует.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/