169 похожих чатов

Всем привет! Кто-нибудь знает как поймать дамп CONV_EXIT_FIELD_TOO_SHORT? TRY/CATCH не

помогает, EXCEPTION OTHERS тоже.
Пример для воспроизведения

DATA input TYPE string VALUE '111'.
DATA output TYPE c LENGTH 2.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = input
IMPORTING
output = output.

13 ответов

44 просмотра

Интересно, а CATCH SYSTEM-EXCEPTIONS сработает? https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapcatch_sys.htm

DATA input TYPE string VALUE '111'. DATA output_tmp TYPE string. DATA output TYPE c LENGTH 2. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = input IMPORTING output = output_tmp. TRY . output = EXACT #( output_tmp ). CATCH cx_sy_conversion_error INTO DATA(exc). ENDTRY.

Alexander-Nosov Автор вопроса
Oleg Bashkatov
DATA input TYPE string VALUE '111'. DATA output_tm...

интересный подход, спасибо)

кинь дамп сюда

Alexander Nosov
интересный подход, спасибо)

А разве это решение? Формулировка ведь была не "как получить значение вывода, возвращаемого ФМом, в char2", а как "поймать дамп" (хоть он и не исключение) при передаче в ФМ несоответствующего по типу параметра (ну, неочевидно не соответствующего, конечно, т.к. в параметрах ФМ clike)

Alexander Rybin
А разве это решение? Формулировка ведь была не "ка...

в таком случае решение это вызов через tRFC / qRFC / bgRFC и автоматический анализ на дамп

Iliya Kuznetsov
в таком случае решение это вызов через tRFC / qRFC...

Тоже были подобные мысли, чтобы не прерывался основной процесс выполнения. Но вот про то, что возможен анализ дампа - про это не знал. Там в SY-msgty = A можно анализировать? Или через интерфейс +RFC в exceptions можно анализировать?

Alexander Rybin
Тоже были подобные мысли, чтобы не прерывался осно...

надо пробовать, смотреть, готового ответа нет

Alexander-Nosov Автор вопроса
Alexander Rybin
А разве это решение? Формулировка ведь была не "ка...

Действительно, это не решение изначальной проблемы. Но в моем случае подходит

Alexander Nosov
Действительно, это не решение изначальной проблемы...

Изначально из Вашего посыла я понял, что интересует технический аспект предотвращения дампов подбного рода, а не получение результата из ФМ. :) Есть ещё одного рода дампы - при несовпадении типов формального и фактического параметров ФМ на этапе компиляции нет даже предупреждений, а в runtime получаем дамп. И тут никак это не перехватить, нужно привести типы. И в предложенном решении, поскольку используются char 2 и string, достаточно простого присвоения - дампа не должно быть. char, string могут содержать любые символы, и исключения конвертации не возникнет - разница только в длине значений переменных - в char2 положатся 2 символа из string

Alexander Rybin
Изначально из Вашего посыла я понял, что интересуе...

Соглашусь: при вызове ФМ стал маниакально проверять типы, а при сомнении везде CONV писать. Иначе нет-нет, да и прилетит дамп подобный.

Vladimir K
Соглашусь: при вызове ФМ стал маниакально проверят...

Бывает даже разница в стандартных ФМ - если отличаются версии платформ, могут отличаться типы параметров, хоть и редкто это встречается. Не вспомню, какой это был ФМ..

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
8
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Доброе утро! Не совсем понятно как установить счетчик яндекс метрики на сайт. И потом ещё цели проставить?
Евгения
18
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
слушайте, ребят, немного не по теме вашего диалога. Пишу тулзу для обмена данными через UART с сжатием, она почти работает! но: Начало работы сервера Порт /dev/ttyUSB0 успешно...
quantumde1 Зубенко
3
Гуру, подскажите, меня уже критиковали за неумением, но и в инете я решения не нашел, тем более в доках абракадабры. В 12.1 студии появился новый тип TSQLTimeStampOffset , ест...
Delphi Photo
10
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Карта сайта