![](/user_photo/2706_HbeT2.jpg)
BC400_RU_ECC_2005
.pdf![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk391x1.jpg)
BC400 |
Урок: Работа с методами |
4.Убедитесь, что создание инстанций и вызов методов выполняются только при первой обработке экрана.
a)См. выдержку из исходного текста в примере решения.
Результат
Выдержка из исходного текстаSAPBC400RUS_ALV_GRID
REPORT sapbc400rus_alv_grid .
...
DATA:
container_r TYPE REF TO CL_GUI_CUSTOM_CONTAINER, grid_r TYPE REF TO CL_GUI_ALV_GRID.
START-OF-SELECTION.
*fill internal table
SELECT * FROM spfli INTO TABLE gdt_spfli.
CALL SCREEN 100.
Логика выполнения для экрана 100:
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE clear_ok_code.
MODULE create_control.
*
PROCESS AFTER INPUT.
MODULE user_command_0100.
Выдержка из исходного текста: модуль CREATE_CONTROL
MODULE create_control OUTPUT.
IF container_r IS INITIAL.
CREATE OBJECT container_r
EXPORTING container_name = ’CONTAINER_1’.
Продолжение на следующей странице
|
© 2006 г. SAP AG All rights reserved. Авторские |
381 |
06-04-2006 |
права защищены. |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk392x1.jpg)
Глава 10: Повторно используемые компоненты |
BC400 |
CREATE OBJECT grid_r |
|
||
|
EXPORTING |
i_parent = container_r. |
|
CALL |
METHOD grid_r->set_table_for_first_display |
||
|
EXPORTING |
i_structure_name = ’SPFLI’ |
|
|
CHANGING |
it_outtab |
= gdt_spfli. |
ENDIF. |
|
|
|
ENDMODULE. |
|
" CREATE_CONTROL OUTPUT |
382 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk393x1.jpg)
BC400 |
Урок: Работа с методами |
Резюме по уроку
Теперь вы сможете:
•выполнять базовые шаги объектно-ориентированного программирования ABAP (создание инстанций и вызов методов) для использования классов и методов, имеющихся в стандартной SAP-системе
•выводить внутреннюю таблицу на экран с использованием SAP Grid Control (ALV List Viewer)
|
© 2006 г. SAP AG All rights reserved. Авторские |
383 |
06-04-2006 |
права защищены. |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk394x1.jpg)
Глава 10: Повторно используемые компоненты |
BC400 |
Урок: Работа с BAPI
Обзор урока
На этом уроке поясняется важность интерфейсов BAPI, а также описывается поиск и использование BAPI.
Цели урока
Прослушав этот урок, вы сможете
•находить подходящие BAPI
•использовать вызовы BAPI в программе
Практический пример
В программе необходимо использовать стандартные функции, инкапсулированные в BAPI.
Работа с BAPI
Рисунок 217: Бизнес-объекты и BAPI
Репозитарий бизнес-объектов (РБО) SAP-системы содержит
бизнес-объекты. Формально любой бизнес-объект представляет собой некоторый класс и соответствует таблице SAP или иерархии таблиц. В
384 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk395x1.jpg)
BC400 |
Урок: Работа с BAPI |
бизнес-объекте имеются BAPI (Business Application Programming Interfaces –
интерфейсы программирования бизнес-приложений), которые представлены в нем как методы. Эти BAPI вызываются для обращения к соответствующей таблице или таблицам. Таким образом, BAPI являются средством доступа к данным SAP-системы.
Обычно существуют BAPI для основных функций бизнес-объекта, таких как следующие:
•создание объекта;
•запрос атрибутов объекта;
•изменение атрибутов объекта;
•вывод списка объектов.
Функции BAPI инкапсулированы в функциональный модуль, который может вызываться удаленно. Поэтому BAPI могут вызываться как ABAP-программами той же SAP-системы, так и внешними программами.
Рисунок 218: Использование BAPI
На рисунке выше иллюстрируется использование BAPI.
Существуют стандартные методы, имеющие форму BAPI со стандартизованными именами. Ниже перечислены некоторые из наиболее важных стандартных BAPI.
Стандартные BAPI
|
© 2006 г. SAP AG All rights reserved. Авторские |
385 |
06-04-2006 |
права защищены. |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk396x1.jpg)
Глава 10: Повторно используемые компоненты |
BC400 |
GetList
Возврат списка доступных объектов, соответствующих указанным критериям выбора.
GetDetail
Возврат подробной информации (атрибутов) для объекта (должен быть указан полный ключ).
Create, Change, Delete, Cancel
Создание, изменение и удаление объектов.
AddItem, RemoveItem
Добавление и удаление подобъектов (например, позиций в заказе).
Рисунок 219: BAPI Explorer
Посредством BAPI Explorer можно вывести список бизнес-объектов и соответствующих BAPI со ссылками на приложение. Для вызова BAPI Explorer в меню SAP Easy Access выберите Инструментальные средства → Бизнес-архитектура → BAPI Explorer или используйте транзакцию BAPI.
После нахождения требуемого бизнес-объекта или BAPI можно выбрать BAPI и просмотреть подробные данные о нем в правой части экрана. Можно перейти к его просмотру в построителе функций путем двойного щелчка по показанному функциональному модулю.
386 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk397x1.jpg)
BC400 |
Урок: Работа с BAPI |
Рисунок 220: Атрибуты функционального модуля BAPI
Функциональные модули для BAPI должны соответствовать следующим техническим требованиям:
•соглашение по присвоению имен: BAPI_<имя_бизнесобъекта>_<имя_метода>;
•возможность удаленного вызова;
•отсутствие диалогов пользователя и сообщений;
•интерфейсным параметрам должны быть присвоены типы в соответствии с компонентами структур в ABAP-словаре, созданных для этого BAPI (префикс имени для таких структур: BAPI_);
•включение изменяемых параметров не является обязательным до версии 4.6;
•модули не должны инициировать каких-либо особых ситуаций: данные об ошибках передаются пользователю посредством специального параметра экспорта RETURN.
|
© 2006 г. SAP AG All rights reserved. Авторские |
387 |
06-04-2006 |
права защищены. |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk398x1.jpg)
Глава 10: Повторно используемые компоненты |
BC400 |
Рисунок 221: Вызов BAPI в ABAP-программе
Если требуется использовать BAPI в той же самой SAP-системе, можно вызвать содержащий его функциональный модуль. При этом необходимо учесть описанные выше ограничения.
Рекомендация: Интерфейсы BAPI создаются согласно требованиям для “внешнего” вызова, т.е. вызова внешней системы, не являющейся SAP-системой. Поэтому суммы должны предоставляться во внешнем формате с 4 или 9 десятичными разрядами. В процессе вызова должен осуществляться перенос сумм в интерфейс в соответственно преобразованном формате, даже если в используемой валюте нет десятичных разрядов.
Это преобразование или повторное преобразование может выполняться посредством функциональных модулей группы функций BACV (пакет SBF_BAPI).
388 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk399x1.jpg)
BC400 |
Урок: Работа с BAPI |
Резюме по уроку
Теперь вы сможете:
•находить подходящие BAPI
•использовать вызовы BAPI в программе
|
© 2006 г. SAP AG All rights reserved. Авторские |
389 |
06-04-2006 |
права защищены. |
![](/html/2706/28/html_KE0i5FbI9P.Vb0F/htmlconvd-9fMlMk400x1.jpg)
Резюме по главе |
BC400 |
Резюме по главе
Теперь вы сможете:
•выполнять поиск функциональных модулей
•получать информацию о функциональных возможностях и способах использования функциональных модулей
•вызывать функциональный модуль в программе
•выполнять базовые шаги объектно-ориентированного программирования ABAP (создание инстанций и вызов методов) для использования классов и методов, имеющихся в стандартной SAP-системе
•выводить внутреннюю таблицу на экран с использованием SAP Grid Control (ALV List Viewer)
•находить подходящие BAPI
•использовать вызовы BAPI в программе
Дополнительная информация
... См. онлайн-документацию по каждому инструментальному средству.
390 |
© 2006 г. SAP AG All rights reserved. Авторские |
|
права защищены. |
06-04-2006 |