В SAP-источнике данных базовой процедурой является функциональный модуль, где тип входного параметра является базовым скалярным или базовым табличным. Базовый табличный тип является плоской таблицей, а базовый скалярный - тип, основанный на базовом простом ABAP-типе. Работа в терминах SAP ведется с параметрами экспорта и импорта в построителе функций. Взаимодействие между «Форсайт. Мобильной платформой» и «SAP NetWeaver Platform» осуществляется через механизм удалённого вызова функции (RFC). Удалённые вызовы функции осуществляются от имени зарегистрированного пользователя системы «SAP NetWeaver Platform» с обязательным указанием логина пользователя и пароля.
Примечание. Типы входных параметром должны объявляться через словарные домены. Например, если строковый входной параметр функционального модуля объявляется встроенным ABAP-типом string, то мобильная платформа выведет ошибку о том, что функциональный модуль не является базовой хранимой процедурой. Для избежания ошибки объявляйте строковый параметр через словарный домен.
Для разработки базовой процедуры приведена таблица с базовыми ABAP-типами и соответствующими внутренними типами платформы:
Базовые ABAP-типы |
Внутренний тип платформы |
C |
text |
STRING (g) |
text |
N |
text |
D |
text |
T |
text |
I |
bigint |
b |
bigint |
s |
bigint |
P |
double |
F |
double |
X |
bytea |
XSTRING (y) |
bytea |
Подробное описание типов можно найти в Predefined Elementary ABAP Types.
Важно. Базовые ABAP-типы не поддерживают значение NULL. ABAP-тип D (дата) поддерживает особое значение 0000-00-00, которого нет в Григорианском календаре. Значению 0000-00-00 ABAP-типа D соответствует значение внутреннего типа платформы text. Других случаев, когда ABAP-значению соответствует значение NULL внутреннего типа, нет.
Для подготовки источника данных SAP:
Запустите приложение SAP Logon.
Выберите подключаемый сервер и введите учётные данные.
Создайте «Тип таблицы» для возвращаемых данных:
Запустите транзакцию «SE11» на панели инструментов и установите переключатель «Тип данных»:
Задайте название типа данных, начиная с буквы «Z», например, «Z_MEINS_STUDY_15».
Нажмите кнопку «Создать». После выполнения действия установите переключатель «Тип таблицы» в всплывающем окне:
Заполните поля:
Краткое описание. Введите описание таблицы <Справочник единиц измерений>;
Тип строки. Введите тип строки <T006A> на вкладке «Тип строки».
Нажмите кнопку «Сохранить» и активируйте объект с помощью кнопки .
После выполнения действий будет открыто окно «Создание записи каталога объектов»:
Прикрепите разработку к пакету с помощью кнопки «Локальный объект».
Запустите транзакцию «SE37» на панели инструментов.
Введите наименование нового функционального модуля «Z_STUDY_MEINS_15» в поле «Функциональный модуль»:
Нажмите кнопку «Создать».
После выполнения действия будет открыто окно «Создание функционального модуля»:
Прикрепите функциональный модуль к группе функций «Z_STUDY» и задайте краткий текст.
Нажмите кнопку «Сохранить».
После выполнения действия будет открыто окно «Построитель функций».
Перейдите на вкладку «Импорт» в окне «Построитель функций»:
Имя параметра. Введите имя параметра <IV_MEINS>;
Ссылочный тип. Введите ссылочный тип параметра <MEINS>.
Отметьте флажками параметры «Необязательный» и «Перенос значения».
После выполнения действий в поле «Краткий текст» отобразится «Базисная единица измерения».
Перейдите на вкладку «Экспорт» в окне «Построитель функций»:
Имя параметра. Введите имя параметра <ET_DATA>;
Ссылочный тип. Введите ранее созданный ссылочный тип <Z_MEINS_STUDY_15>.
Отметьте флажком параметр «Перенос значения».
После выполнения действий в поле «Краткий текст» отобразится «Справочник единиц измерения».
Перейдите на вкладку «Свойства» в окне «Построитель функций»:
В группе «Вид выполнения» установите переключатель «Дистанционный модуль».
Активируйте функциональный модуль с помощью кнопки .
Примечание. При активации может потребоваться выбор функции из списка локальных объектов. Выберите созданный функциональный модуль «Z_STUDY_MEINS_15».
После выполнения действия в строке статуса отобразится «Объект(ы) активирован(а)».
Перейдите на вкладку «Исходный текст» и создайте программу с кодом:
DATA:
lv_meins TYPE t006a-msehi,
lr_meins TYPE RANGE OF t006a-msehi,
ls_meins LIKE LINE OF lr_meins.
IF iv_meins IS NOT INITIAL.
CALL FUNCTION 'conversion_exit_alpha_input'
EXPORTING
input = lv_meins
IMPORTING
output = lv_meins.
ls_meins = 'IEQ'.
ls_meins-low = lv_meins.
APPEND ls_meins TO lr_meins.
ENDIF.
SELECT * INTO CORRESPONDING FIELDS OF TABLE et_data
FROM t006a
WHERE
spras = 'EN'
AND msehi IN lr_meins.
Активируйте программу с помощью кнопки .
Запустите программу:
Протестируйте программу с помощью кнопки .
Запустите программу с помощью кнопки «Выполнить» или клавиши F8:
После выполнения действий программа будет запущена.
В результате выполнения программы для параметра экспорта будут содержаться записи:
Для полного просмотра результата выполнения программы нажмите на пиктограмму таблицы.
Для получения данных разработчик приложения может обращаться к подготовленному источнику данных через API-запросы.
См. также:
Настройка интеграции с табличными источниками данных | Базовая процедура Postgres