Комментарии по теме

«Семь мифов SAP обучения»
Елизавета Целовльникова:
Эффективны ли курсы SAP? Я давно уже задаюсь данным вопросом. Если сотрудник видел систему пару дней, то много ли он поймет на курсах? Если сотрудник достаточно продвинут в своей области, а курсы...
«Семь мифов SAP обучения»
Олег Точенюк:
"Профилактический медосмотр – это затраты или инвестиции" - Ха на этот вопрос, был как-то получен ответ инженера охраны труда, одной не маленькой, но очень мобильной компании. Ответ звучал...
«Обе­спе­че­ние ре­зу­льта­ти­вно­сти SAP-о­бу­че­ни­я. Ру­ко­во­дство»
Олег Точенюк:
1. По таблице 3 - использование новичков в обучении -может быть ошибкой, зависит от модуля SAP, и от начальных требований, предъявляемых к новичкам.   Не согласен, новичок не может обучать...

Восторгаемся величием ABAP-словаря (BC430)


4095
5

В SAP системах существует несколько миллионов (в разных системах, по-разному; если хотите узнать, сколько в Вашей - исполните транзакцию SE11, и в ней посмотрите количество записей в таблице TRDIR.) ABAP-программ. Чтобы все это обилие программ работало правильно, нужно, чтобы одинаковые по смыслу задачи данные из разных программ были одинаковым образом «устроены». А для этого нужно центральное хранилище общих для системы описаний типов данных. В SAP-системах глобальные описания типов можно делать в глобальных классах и интерфейсах (Про обучение объектно-ориентированному программированию в ABAP смотрите статью «BC401. Основы объектно-ориентированное программирование в ABAP», а можно ‑ в ABAP-словаре. По сравнению с описанием типов в глобальных классах и интерфейсах «словарские» описания позволяют не только определить технические свойства (тип, размер, точность), но еще и кучу семантической информации и связанные с семантикой интерактивные службы, например, документацию, предъявляемую по кнопке F1 или выбор допустимых значений, вызываемый по кнопке F4. Разумеется, несравненно проще определить эти интерактивные службы один раз в словаре, чем отдельно писать специальные процессинговые блоки и каждый раз вручную программировать их вызовы. Именно в ABAP-словаре определяется модель данных.

Назначение, функциональность ABAP-словаря, а также способы работы с ним рассматриваются, в семинаре «BC430. Словарь-справочник данных». Продолжительность семинара 3 дня. Семинар предназначен для разработчиков, администраторов системы и базы данных, руководителей проектов и консультантов.

Для продуктивного участия в семинаре следует быть в «сабже»; для этого рекомендуется использовать доступ «BC400. Основы ABAP-инструментальных средств».

Одно и то же по смыслу задачи поле может входить в разные таблицы. Это ии позволяет установить связи между записями разных таблиц. Для корректной работы базы данных требуется, чтобы такие, идентичные по логике, поля были устроены одинаковым способом. В реляционных базах данных вводится описание типа поля – домен, а в различных таблицах при описании полей указывают домен, что позволяет гарантировать идентичность описаний типов полей разных таблиц, ссылающихся на один и тот же домен. В SAP-системах пошли дальше: семантически разные поля, могут иметь технически одинаковые типы, а потому в ABAP словаре разделили техническое и семантическое (смысловое) описание типа. Сначала создается техническое описание типа – домен, потом на основании домена создается семантическое описание типа поля – элемент данных. Элемент данных кроме технического типа имеет текстовые описания и может иметь еще документацию, предъявляемую по кнопке F1, механизм выбора допустимых по кнопке F4, механизм передачи данных с экрана на экран. При создании описаний таблиц базы данных и структур в описании полей указывается элемент данных. В итоге получается, что семантически одинаковые поля разных таблиц и структур не только одинаковым образом устроены технически, но и могут иметь одинаковую реакцию на действия пользователей. Причем для этого не нужно ничего специально программировать, эта реакция наследуется из «словарских» описаний(Конечно, существует возможность в описании полей и элементов данных непосредственно указать технические свойства. В таком случае будут потеряны указанные преимущества трехуровневого описания свойств полей (домен-элемент данных-поле).

В описаниях таблиц базы данных и структур можно создать одинаковые группы полей, для чего существует элегантный способ – include structure, что позволяет осуществлять к полям таблиц и структур как двухчленный (структура-поле), так и трехчленный (структура-группа-поле) доступ. Для агрегации одинаковым образом устроенных данных в ABAP создаются внутренние таблицы. В ABAP-словаре можно определить табличные типы – способы устройства внутренних таблиц. Таблицы базы данных непременно состоят только из скалярных полей, структуры же не обязаны быть плоскими, их компоненты могут быть не только скалярами, но и внутренними таблицами. В свою очередь внутренние таблицы могут состоять из неплоских структур. Таким образом, в словаре можно определить глубоко вложенные типы данных.

ABAP словарь позволяет полностью описать модель данных, по этим описаниям в базе данных будут автоматически созданы необходимые таблицы. В словаре можно создать прозрачные таблицы, то есть такие, устройство которых в базе данных будет именно таким, как это указано в «словарском» определении. Кроме прозрачных таблиц можно создать определение таблиц базы данных еще двух типов: кластерные и «пуловские». В базе данных таких таблиц создано не будет. Это только «словарские» описания. На уровне базы данных кластерные таблицы, относящиеся к одному кластеру, и «пуловские» таблицы, относящиеся к одному пулу, хранятся, в одной таблице – кластере и пуле соответственно. Но при обращении к таким таблицам из-под ABAP результат такой, как если бы эти таблицы были отдельно созданы в базе данных. Пулы и кластеры таблиц отличаются устройством. Применение кластерных и «пуловских» таблиц имеет определенные преимущества, но и недостатки тоже.

Для всякой прозрачной таблицы автоматически создается первичный индекс. Для повышения производительности работы с прозрачной таблицей можно создать дополнительные индексы. (Создание дополнительных индексов не панацея: индексы используются не при каждом запросе, а накладные расходы на ведение индексов существуют всегда. Дополнительный индекс может быть хорошим, а может быть и плохим. Эти и смежные темы, связанные с индексами рассматриваются в курсе «BC490. Настройка производительности ABAP-программ»). Другой способ повышения производительности работы с таблицами базы данных – буферизация. Если к таблице часто обращаются на чтение и редко на запись, то не обязательно при каждом обращении посылать запросы к базе данных. Однажды полученные данные можно сохранить в буферах сервера приложений и при последующих обращениях брать данные из буфера, а это гораздо быстрее, чем повторные запросы к базе данных. В «словарском» определении таблицы можно предписать буферизацию: индивидуальную, полную или родовую, на желательную глубину ключа. (Подробнее состав буферов, выделение памяти под буфера и прочие вопросы, связанные с буферизацией обсуждаются в курсе «BC490. Настройка производительности

Ограниченный доступ

Для прочтения полной версии статьи необходимо зайти как зарегистрированный пользователь.

Ключевые слова: обучение / Learning
Ролевое назначение: SAP Консультант / Consultant
Комментарии:

Олег Точенюк (Рейтинг: 10291) 11:36, 01 апреля 2016

Да словарь мощная вещь, если бы еще понимать для чего и как его использовать в практическом плане, так как у меня после прослушивания BC430 осталось впечатление что и что? Т.е. в самом курсе как мне сейчас кажется не очень сделана связь с реальной жизнью при разработках на ABAP, т.е. это все воспринимается больше как создание и ведение таблиц. Это я уже гораздо позже понял какая это вещь :-)
11:46, 12 апреля 2016

Василий Ковальский (Рейтинг: 597)

>Да словарь мощная вещь, если бы еще понимать для чего и как его использовать
!
 
>как мне сейчас кажется не очень сделана связь с реальной жизнью при разработках на ABAP
Курс про словарь данных, а не про разработки, допустим, в области сбыта. Если сделать, допустим, "сбытовые" примеры, обидно станет разработчикам в области, допустим, финансов.
 
> это все воспринимается больше как создание и ведение таблиц.
Открою страшую тайну. Созданию таблиц уделяется в курсе три часа, вдению таблиц с помощью ракурсов ведения и кластеров ракурсов - 2 часа десять минут. Итого пять часов десять минут из трехдневного курса.
 
> Это я уже гораздо позже понял какая это вещь :-)
Вы правы, погимание приходит с опытом.
Да и вообще тематические семинары лучше посещать по мере возникновения необходимости, а не задолго до этого.
09:29, 13 апреля 2016

Олег Точенюк (Рейтинг: 10291)

Ну я имел в виду, что после курсов понимания как это применять в полной мере в разработках не очень ясно. Ну я по себе сужу когда в первый раз этот курс прослушал, как-то ну таблицы, ну ракурсы и все, дальше не пошло. А по поводу примеров, ну в принципе зачем же сбытовые, если есть замечательные таблицы авиарейсов :-) можно и на них делать.
16:07, 13 апреля 2016

Василий Ковальский (Рейтинг: 597)

Именно этот набор таблиц в упражнениях и наращивается. Вы просто забыли.
00:32, 14 апреля 2016

Олег Точенюк (Рейтинг: 10291)

Возможно, как-то с февраля 2001 много чего наверное изменилось :-)

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП»