Первый способ: найти в SPRO, для этого необходимо зайти в транзакцию SM30 и нажать кнопку настройка:
Первый способ работает не всегда:
Второй способ: открыть на просмотр таблицу TSTCP – параметры транзакции (например, через SE11):
Результат:
Введение в основные понятия необходимые для понимания процессов разработки на языке ABAP
Все разработчики когда-либо сталкивались с необходимостью поменять значение какой-либо переменной в отладчике, но мало кто знает, что подобные действия попадают в системный журнал, доступ к которому можно получить через транзакцию SM21.
В тестовой программе изменили значение переменной на новое — 999:
Результат, который будет отражен в журнале (в подробной информации можно увидеть имя терминала, с которого это совершалось):
Так же в журнал попадает трюк с переходом по коду в отладчике через SHIFT+F12:
Пример использования ФМ, который позволяет считывать подробные тексты из класса сообщений (транзакция SE91):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
DATA: lt_lines TYPE STANDARD TABLE OF tline. CALL FUNCTION 'DOCU_GET' EXPORTING id = 'NA' object = 'ZTEST001' typ = '' langu = sy-langu TABLES line = lt_lines EXCEPTIONS no_docu_on_screen = 1 no_docu_self_def = 2 no_docu_temp = 3 ret_code = 4 OTHERS = 5. BREAK-POINT. |
Результат:
Альтернативный способ, с возможностью передачи параметров:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
DATA: go_t100_message TYPE REF TO CL_T100_MESSAGE, gt_parameters TYPE NAME2VALUE_TABLE, gv_text TYPE string. FIELD-SYMBOLS: <fs_parameter> TYPE NAME2VALUE. APPEND INITIAL LINE TO gt_parameters ASSIGNING <fs_parameter>. <fs_parameter>-name = '1'. <fs_parameter>-value = 'Значение'. CREATE OBJECT go_t100_message EXPORTING the_msg_class = 'ZTEST' the_msg_number = '001'. go_t100_message->set_substitution_table( gt_parameters ). gv_text = go_t100_message->get_longtext( ). |
Параметры, в подробном тексте, указываются следующим образом (а параметры передаваемые через оператор MESSAGE: &V1& — &V4&):
Поскольку содержимое файлов отражает структуру данных, обрабатываемую в памяти, файловый интерфейс в юникодных системах должен позволять следующее:
При работе с файлами, на стороне сервера приложений, срабатывает множество неявных проверок на полномочия:
Далее более подробно о каждой из них.
Для манипуляций с файлами на стороне сервера приложений был разработан файловый интерфейс ABAP.
Данный интерфейс реализован набором операторов ABAP и их атрибутов. Как будет видно в следующих статьях, интерфейс позволяет работать с файлами на абстрактном уровне, где ключевым объектом является набор данных (dataset).
Набор данных это нечто вроде файлового дескриптора, при программировании работы с файлами в ОС, на других языках. Так же, как и с дескрипторами, в ABAP можно одновременно работать с несколькими файлами (Читать из одного, а записывать в другой и т.п.), но открывать один и тот же файл без его закрытия в рамках одной программы невозможно (для юникодных программ, для не юникодных программ повторное открытие не приведет к ошибке, но будет проигнорировано).
Следует помнить, так как файловый интерфейс предназначен для работы с текущим сервером приложений, могут возникнуть трудности в системах с несколькими серверами приложений.
В данной статье рассмотрен вопрос хранения путей для директорий и файлов, вне зависимости от ОС и сервера приложений.
Когда мы создаем какой-либо многократно используемый компонент, например функциональный модуль или метод в классе, мы сталкиваемся с необходимостью обработки непредвиденных ситуаций (какой-либо входной параметр, оказался не заполненным или доступ к файлу не был получен и т.п.), т.е. тех ситуаций, после которых программа не может выполняться далее стандартным образом, либо требуется дополнительная обработка.
В приведенной статье рассматриваются способы вызова и обработки данных ситуаций, называемых исключениями.
Обновлена официальная справка по ABAP (Версия 7.40)
Стратегия развития UI технологий SAP.