- •Часть I. Основы языка 5
- •Часть II. Расширенные приемы программирования в sap bw 37
- •Часть III. Полезные советы 85
- •Вступление
- •Задание атрибутов программы
- •Составление исходного текста программы
- •Локальные данные программы Определение полей с помощью элементарных типов и ссылок
- •Записи и внутренние таблицы
- •Объявление составных неэлементарных типов и объектов
- •Область определения данных
- •Глобальные таблицы словаря Dictionary
- •Отображение определения
- •Отображение содержимого таблицы
- •Создание таблицы или структуры
- •Использование таблиц и структур в программе
- •Создание доменов
- •Работа с данными Копирование полей с помощью команд Move и Compute
- •Преобразования содержимого полей
- •Копирование структурированных объектов
- •Арифметические выражения и математические функции
- •Операции со строками текста Конкатенация и разделение строк
- •Замена и преобразование символов в строке
- •Поиск символьных строк в полях или внутренних таблицах
- •Символ «Перенос каретки»
- •Запись данных
- •Простой формат вывода
- •Использование символов и пиктограмм
- •Использование цветов
- •Интерфейсы форм
- •Подпрограммы и функции Глобальные функции
- •Функциональные группы
- •Создание функций
- •Вызов функции
- •Чтение таблиц базы данных Построение простейшего запроса
- •Использование конструкции where
- •Чтение единственного элемента таблицы
- •Извлечение ограниченного числа полей
- •Упорядочение результатов запроса
- •Динамическая выборка данных
- •Вложенные циклы select
- •Часть II. Расширенные приемы программирования в sap bw Тип функции планирования
- •Создание класса
- •Определение нового типа функции планирования
- •Разработка класса Считывание значений управляющих параметров
- •Определение ссылочных данных
- •Добавление сообщений в спул вывода
- •Обработка данных для изменения
- •Badi для консолидации (перенос данных)
- •Чтение данных инфо-провайдера
- •Формирование структуры признаков из настроечной таблицы
- •Отправка e-mail сообщения из abap на внешний адрес
- •Выполнение расчетов в параллельных (фоновых) задачах
- •Подпрограмма преобразования
- •Вызов транзакции через web интерфейс
- •Передача параметров
- •Загрузка данных из 1с 8
- •Загрузка справочников
- •Загрузка транзакционных данных
- •Загрузка данных из файлов Excel с помощью ole
- •Загрузка сообщений (tcode se91) из файла Excel
- •Программа загрузки данных из файла csv в таблицу бд
- •Вызов последовательности планирования из abap
- •Динамическое программирование
- •Определение полей таблицы в runtime
- •Создание динамической таблицы в runtime
- •Генерирование abap подпрограммы в runtime
- •Создание пользовательского средства поиска
- •Часть III. Полезные советы Создание abap программы без ключа разработчика
- •Поиск внутренних таблиц
- •Редактирование данных в таблицах sap, недоступных для ведения
- •Оптимизация выборки данных
- •Справочник транзакций
Оптимизация выборки данных
Для улучшения производительности программ рекомендуется следовать следующим принципам работы с таблицами БД и внутренними таблицами:
Количество чтений из базы данных лучше минимизировать, тем самым сняв нагрузку с канала связи «Сервер БД Сервер приложений». Из-за больших задержек в канале передачи данных единственная большая выборка из базы данных будет более производительной чем множество маленьких выборок. Оптимальный вариант чтения данных из БД – это чтение всех данных, которые могут потребоваться, перед основным алгоритмом обработки во внутреннюю таблицу и последующая работа уже с этой внутренней таблицей.
Из базы данных лучше запрашивать только необходимые поля. Избегать использования «SELECT * FROM» из таблиц с большим количеством полей, если для алгоритма нужны только некоторые поля.
Для ускорения выборки данных из больших таблиц БД можно использовать индексы. Определить их можно в ведении таблиц (транзакция SE11), нажав на кнопку «Индексы».
В ABAP существует три типа внутренних таблиц: STANDARD TABLE, SORTED TABLE и HASHED TABLE. Разные типы таблиц целесообразнее использовать при различных способах выбора данных. Подробнее про них можно прочитать по ссылке http://help.sap.com/SAPhelp_nw04/helpdata/en/fc/eb35de358411d1829f0000e829fbfe/frameset.htm.
Справочник транзакций
Код транзакции |
Описание |
cmod |
Расширения |
gs01 |
Создание набора |
gs02 |
Изменение набора |
gs03 |
Просмотр набора |
gs04 |
Удаление набора |
pfcg |
Ведение ролей |
rsa1 |
Моделирование - Инструментальные Средства Администратора |
rsbbs |
Ведение отправителя-получателя в BW |
rsd1 |
Ведение признаков |
rsecadmin |
Управление полномочиями на анализ |
rsinput |
Ввод данных планирования вручную |
rsplf1 |
Создание типов функций планирования |
rsrt |
Запуск понитора отчетов |
rsrtq |
Выгрузка структуры запроса Bex |
rsrv |
Анализ и исправление BW-объектов |
rssm |
Полномочия для отчетов |
rszc |
Копирование запросов Bex между инфо-кубами |
se10 |
Организатор переносов |
se11 |
ABAP-словарь ведение |
se16 |
Браузер данных |
se19 |
BADI-Builder |
se37 |
ABAP - функциональные модули |
se38 |
ABAP - редактор |
se80 |
Навигатор по объектам системы SAP |
se91 |
Ведение сообщений |
se93 |
Ведение кодов транзакций |
sicf |
Ведение сервисов дерева HTTP |
sm04 |
Список пользователей |
SM04 |
Список пользователей в системе |
sm12 |
Просмотр и удаление блокировок |
sm50 |
Обзор рабочих процессов |
smartforms |
Редактор формуляров SMARTFORMS |
sproxy |
Ведение SAP Proxy сервисов |
st01 |
Трассировка системы |
st04 |
Выбор отдельных операций BD |
st05 |
Трасировка SQL |
st22 |
Анализ ABAP дампа |
stms |
Система управления переносами |
su01 |
Ведение пользователей |
ucwb |
Инструментарий консолидации |