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 ответов

87 просмотров

Интересно, а 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
Соглашусь: при вызове ФМ стал маниакально проверят...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта