Модераторы: stron

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Инструментарий ABAP-разработчика, первые впечатления 
:(
    Опции темы
batigoal
Дата 24.2.2005, 18:39 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



 Инструментарий ABAP-разработчика

Сразу оговорюсь – мой опыт работы в R/3 крайне невелик, и эти заметки – лишь первый взгляд на инструментарий ABAP-разработчика. Не судите строго.
В этом тексте я не буду касаться непосредственно операторов и принципов языка как такового, надеюсь, что по этому вопросу появится отдельная статья. В этот же раз я намерен лишь описать инструментарий программиста в системе SAP R/3.

Общие сведения

Итак, что же такое ABAP/4 (Advanced Buisness Application Programming 4GL)? Это внутренний язык написания приложений для системы R/3 компании SAP AG, появившийся на свет в середине 80-х. В соответствии с утверждением разработчиков, он произошел непосредственно от ассемблера, но на него сильно повлияли языки Cobol и Pascal. Язык развивался, и в середине 90-х, под влиянием C++ и Java, он приобрел черты объектно-ориентированного языка. 

ERP-система SAP R/3 построена на основе трехзвенной архитектуры, в соответствии с которой нижнему уровню соответствует система управления базой данных (database level), средний – уровень приложений (application level) и верхний – уровень представления (presentation level). Программы на языке ABAP исполняются на уровне приложений, результаты их работы, как правило, представляются пользователю на уровне представления, хотя это и не обязательно – программа не всегда имеет графический интерфейс. Язык является платформенно-независимым, так как выполняется в рамках исполняющей (ABAP run-time system).

Области применения языка:
•    Бизнес-операции;
•    Создание интерфейса для конечного пользователя;
•    Работа с базой данных.

Все программы хранятся в едином системном репозитарии, который является специфической частью БД. Это очень удобно при работе в команде разработчиков, т.к. каждый член команды имеет доступ ко всему архиву программ (разумеется, при наличии соответствующих полномочий). Каждая программа принадлежит определенному классу разработок (например, TEST). Для написания продуктивных программ необходимо приобрести у компании SAP так называемый «ключ разработчика», но при программировании в песочнице (модели системы не для реального использования) можно обойтись и без него.

Инструментальные средства

Каждая программа на языке ABAP имеет доступ к словарю (ABAP Dictionary), который является специфической частью БД. В нем хранятся типы данных, структур, таблиц, которые являются едиными в пределах системы и могут использоваться в любом ее месте. Никакие операторы, соответствующие «import» или «include» в традиционных языках программирования, для этого не требуются. На рис. 1 приведен пример просмотра таблицы, хранящейся в словаре, на рис. 2 – просмотр определенного пользователем типа данных:

user posted image
рис. 1


user posted image
рис. 2


Для типа данных существует логическое разделение на элемент данных и домен. Первый отражает семантику данного типа (например, краткое описание), второй – физическую реализацию (тип, длина, …).

Главным инструментом программиста является ABAP Editor – среда для написания, компиляции и запуска программ. Его внешний вид приведен на рис. 3.

user posted image
рис. 3


Панель слева предназначена для быстрой навигации по программе, перехода к определениям типов, полей, обработчикам событий, интерфейсным блокам и т.д. Из своего недолгого опыта работы могу отметить неудобство среды для людей, привыкших к более мощным пакетам разработки традиционного программирования (отсутствие средств рефакторинга, collapse/expand и прочие дорогие сердцу мелочи). Впрочем, никто и не требует подобных возможностей от узкоспециализированного приложения. Из удобств могу отметить возможность автоматической коррекции мелких синтаксических ошибок (SELECTION-SCREEN вместо SELECTION_SCREEN и т.п.) при проверке кода.

Для отладки программ предусмотрены следующие средства:
•    Debugger (отладка приложений);
•    Runtime Analisyst (анализ производительности программы);
•    SQL Trace (трассировщик SQL-запросов);
•    CATT (средство для автоматического тестирования программ с автоматическим вводом большого количества данных).

Внешний вид отладчика приведен на рис. 4, пример результата работы Runtime Analisyst – на рисунке 5.

user posted image
рис. 4



user posted image
рис. 5



Разработчики системы SAP R/3 отводят важную роль так называемым функциональным модулям. Это выделенные в отдельные блоки подпрограммы, удобные своей независимостью и универсальностью. Приводятся следующие преимущества использования функциональных модулей:
•    они могут быть запущены как последовательно, так и параллельно;
•    они могут инкапсулировать функции и диалоговые окна;
•    они могут быть вызваны с помощью Remote Function Call (удаленный вызов функции), что позволяет обеспечить доступ к модулю через Интернет, из другой системы R/3 или даже из приложения, написанного на другом языке (VB, Java или С++).
Предусмотрено специальное средство создания функциональных модулей, которое позволяет редактировать следующие элементы:
•    административную информацию (название, описание, функциональная группа, создатель, дата изменения, класс разработки…);
•    интерфейс (входные и выходные параметры и таблицы, исключения, интерфейсное описание);
•    исходный код;
•    документацию.

Внешний вид приложения не имеет смысла приводить, это просто набор вкладок с таблицами и текстовыми полями.

Для создания графического интерфейса пользователя (GUI) существует сразу несколько средств, я привожу примеры редакторов меню (рис. 6) и экрана (рис. 7):

user posted image 
рис. 6


Помимо меню приложения с различной степенью вложенности, можно отредактировать application bar (строку с кнопками, специфичными для данной программы), стандартную панель инструментов и назначенные определенным операциям функциональные клавиши.

user posted image
рис. 7


Набор элементов управления, которые можно включать в экран, вполне стандартный и привычный: статический текст, текстовое поле, флажок, переключатель, кнопка, вкладки и таблица.

Напоследок приведу пример средства, предназначенного для визуального представления данных. Оно представляет собой некий аналог UML-диаграмм. Разумеется, существует возможность детально просмотреть поля и свойства выбранной таблицы.

user posted image
рис. 8


Большое спасибо за прочтение этой статьи. Большая просьба присылать появившиеся замечания (как по форме, так и по содержанию). 

(фотографии размещены на хостинге Flickr.)

Это сообщение отредактировал(а) batigoal - 6.6.2007, 17:27


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Kesh
Дата 24.2.2005, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 8
Всего: 54



Статья однозначно хорошая... А главное - все понятно... Одно огорчает... - попробовать бы... smile


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
stron
Дата 24.2.2005, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

Репутация: 11
Всего: 36



Кстати, а как обстоят дела с Help'ом?
Насколько он хорош?


--------------------
подписи нет
PM ICQ   Вверх
batigoal
Дата 25.2.2005, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Help я не использовал, у меня были материалы официальных курсов (тс-с-с, это низя!)
А вообще он не очень хорош хотя бы тем, что открывается справка только по текущей транзакции (транзакция - одна неделимая программа, имеющая идентификатор).
Хотя, наверное, если вываливать сразу все - это будет слишком много, да и файл справки, скорее всего, находится на сервере, и передавать все разом - невзможно.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ElectricalStorm
Дата 7.7.2005, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



help - нормальный.... по синтаксису, семантике итд...
опять же транзакция abapdocu есть, есть примеры производительности, есть транзакции LIBS
BIBS....




--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
Kesh
Дата 7.7.2005, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 8
Всего: 54



Вот... точно... Надо добавить в статью рассказ о транзакциях... ИМХО, немаловажно... smile


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
batigoal
Дата 7.7.2005, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Цитата(Kesh @ 7.7.2005, 21:39)
Надо добавить в статью рассказ о транзакциях...

Что именно, не совсем понял?..

Anyway, у меня больше нет доступа к SAP'у. smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
batigoal
Дата 8.7.2005, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Думаю, полезно было бы описать ABAP Editor, Screen Editor и Repository Browser.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
stron
Дата 18.11.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

Репутация: 11
Всего: 36



Модератор:
обсуждение транзакций перенесено в отдельную тему http://forum.vingrad.ru/index.php?showtopic=71218


--------------------
подписи нет
PM ICQ   Вверх
mixancho
Дата 14.11.2006, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



Цитата(batigoal @ 8.7.2005,  11:38)
Думаю, полезно было бы описать ABAP Editor, Screen Editor и Repository Browser.

Да это было бы очень интересно.
 
А также интересует такое как ALVGRID. 

Это сообщение отредактировал(а) mixancho - 14.11.2006, 21:14
PM MAIL   Вверх
ElectricalStorm
Дата 22.3.2007, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



по Абап можно задавать мне вопросы в личку так как я очень редко имею возиожность тут бывать...


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
Weez
  Дата 6.6.2007, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.10.2006
Где: Moscow

Репутация: нет
Всего: нет



Картинки умерли, а жаль
PM MAIL ICQ   Вверх
batigoal
Дата 6.6.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Цитата(Weez @  6.6.2007,  09:56 Найти цитируемый пост)
Картинки умерли, а жаль 

Перезалил.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
mvvti
Дата 9.9.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.4.2006
Где: г. Сургут

Репутация: нет
Всего: нет



Всем привет! Я хочу начать самостоятельно изучать ABAP, на сколько это реально и какие средства и знания необходимы для этого?
PM MAIL ICQ   Вверх
batigoal
Дата 10.9.2007, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



mvvti, я начал изучать по официальной доке к ABAP'у.

Средства - доступ к SAP'у.

Знания - желателен SQL, а лучше - один из его процедурных диалектов (PL/SQL и т.п.)


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.1577 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.