|
Модераторы: stron |
|
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 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 – просмотр определенного пользователем типа данных: рис. 1 рис. 2 Для типа данных существует логическое разделение на элемент данных и домен. Первый отражает семантику данного типа (например, краткое описание), второй – физическую реализацию (тип, длина, …). Главным инструментом программиста является ABAP Editor – среда для написания, компиляции и запуска программ. Его внешний вид приведен на рис. 3. рис. 3 Панель слева предназначена для быстрой навигации по программе, перехода к определениям типов, полей, обработчикам событий, интерфейсным блокам и т.д. Из своего недолгого опыта работы могу отметить неудобство среды для людей, привыкших к более мощным пакетам разработки традиционного программирования (отсутствие средств рефакторинга, collapse/expand и прочие дорогие сердцу мелочи). Впрочем, никто и не требует подобных возможностей от узкоспециализированного приложения. Из удобств могу отметить возможность автоматической коррекции мелких синтаксических ошибок (SELECTION-SCREEN вместо SELECTION_SCREEN и т.п.) при проверке кода. Для отладки программ предусмотрены следующие средства: • Debugger (отладка приложений); • Runtime Analisyst (анализ производительности программы); • SQL Trace (трассировщик SQL-запросов); • CATT (средство для автоматического тестирования программ с автоматическим вводом большого количества данных). Внешний вид отладчика приведен на рис. 4, пример результата работы Runtime Analisyst – на рисунке 5. рис. 4 рис. 5 Разработчики системы SAP R/3 отводят важную роль так называемым функциональным модулям. Это выделенные в отдельные блоки подпрограммы, удобные своей независимостью и универсальностью. Приводятся следующие преимущества использования функциональных модулей: • они могут быть запущены как последовательно, так и параллельно; • они могут инкапсулировать функции и диалоговые окна; • они могут быть вызваны с помощью Remote Function Call (удаленный вызов функции), что позволяет обеспечить доступ к модулю через Интернет, из другой системы R/3 или даже из приложения, написанного на другом языке (VB, Java или С++). Предусмотрено специальное средство создания функциональных модулей, которое позволяет редактировать следующие элементы: • административную информацию (название, описание, функциональная группа, создатель, дата изменения, класс разработки…); • интерфейс (входные и выходные параметры и таблицы, исключения, интерфейсное описание); • исходный код; • документацию. Внешний вид приложения не имеет смысла приводить, это просто набор вкладок с таблицами и текстовыми полями. Для создания графического интерфейса пользователя (GUI) существует сразу несколько средств, я привожу примеры редакторов меню (рис. 6) и экрана (рис. 7): рис. 6 Помимо меню приложения с различной степенью вложенности, можно отредактировать application bar (строку с кнопками, специфичными для данной программы), стандартную панель инструментов и назначенные определенным операциям функциональные клавиши. рис. 7 Набор элементов управления, которые можно включать в экран, вполне стандартный и привычный: статический текст, текстовое поле, флажок, переключатель, кнопка, вкладки и таблица. Напоследок приведу пример средства, предназначенного для визуального представления данных. Оно представляет собой некий аналог UML-диаграмм. Разумеется, существует возможность детально просмотреть поля и свойства выбранной таблицы. рис. 8 Большое спасибо за прочтение этой статьи. Большая просьба присылать появившиеся замечания (как по форме, так и по содержанию). (фотографии размещены на хостинге Flickr.) Это сообщение отредактировал(а) batigoal - 6.6.2007, 17:27 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Kesh |
|
|||
Эксперт Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 8 Всего: 54 |
Статья однозначно хорошая... А главное - все понятно... Одно огорчает... - попробовать бы...
-------------------- |
|||
|
||||
stron |
|
|||
Консультант Профиль Группа: Комодератор Сообщений: 1654 Регистрация: 17.7.2003 Где: Питер Репутация: 11 Всего: 36 |
Кстати, а как обстоят дела с Help'ом?
Насколько он хорош? -------------------- подписи нет |
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Help я не использовал, у меня были материалы официальных курсов (тс-с-с, это низя!)
А вообще он не очень хорош хотя бы тем, что открывается справка только по текущей транзакции (транзакция - одна неделимая программа, имеющая идентификатор). Хотя, наверное, если вываливать сразу все - это будет слишком много, да и файл справки, скорее всего, находится на сервере, и передавать все разом - невзможно. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
ElectricalStorm |
|
|||
Опытный Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 1 Всего: 9 |
help - нормальный.... по синтаксису, семантике итд...
опять же транзакция abapdocu есть, есть примеры производительности, есть транзакции LIBS BIBS.... -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
Kesh |
|
|||
Эксперт Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 8 Всего: 54 |
Вот... точно... Надо добавить в статью рассказ о транзакциях... ИМХО, немаловажно...
-------------------- |
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Что именно, не совсем понял?.. Anyway, у меня больше нет доступа к SAP'у. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Думаю, полезно было бы описать ABAP Editor, Screen Editor и Repository Browser.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
stron |
|
|||
Консультант Профиль Группа: Комодератор Сообщений: 1654 Регистрация: 17.7.2003 Где: Питер Репутация: 11 Всего: 36 |
Модератор:
обсуждение транзакций перенесено в отдельную тему http://forum.vingrad.ru/index.php?showtopic=71218 -------------------- подписи нет |
|||
|
||||
mixancho |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Да это было бы очень интересно. А также интересует такое как ALVGRID. Это сообщение отредактировал(а) mixancho - 14.11.2006, 21:14 |
|||
|
||||
ElectricalStorm |
|
|||
Опытный Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 1 Всего: 9 |
по Абап можно задавать мне вопросы в личку так как я очень редко имею возиожность тут бывать...
-------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
Weez |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 5.10.2006 Где: Moscow Репутация: нет Всего: нет |
Картинки умерли, а жаль
|
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
mvvti |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 52 Регистрация: 5.4.2006 Где: г. Сургут Репутация: нет Всего: нет |
Всем привет! Я хочу начать самостоятельно изучать ABAP, на сколько это реально и какие средства и знания необходимы для этого?
|
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
mvvti, я начал изучать по официальной доке к ABAP'у.
Средства - доступ к SAP'у. Знания - желателен SQL, а лучше - один из его процедурных диалектов (PL/SQL и т.п.) -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
mvvti |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 52 Регистрация: 5.4.2006 Где: г. Сургут Репутация: нет Всего: нет |
где я могу прокачать инфу для самостоятельного изучения ABAP и программную среду языка.
Это сообщение отредактировал(а) mvvti - 26.9.2007, 07:52 |
|||
|
||||
Kesh |
|
|||
Эксперт Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 8 Всего: 54 |
mvvti, ты можешь это сделать на sdn.sap.com - SAP Developer Network.
Только вот изучения ABAP без реально установленной тестовой системы практически невозможно... Тут можно попробовать заказать книжку у SAP Press по ABAP - там иногда базис к книге прилагается. Как ERP система он пуст, но для обучения ABAP вполне подойдет... -------------------- |
|||
|
||||
Zlatogorov |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 117 Регистрация: 18.12.2007 Где: BW,Stuttgart Репутация: нет Всего: 1 |
Вот удобняшка SAP ABAP http://www.ct-software.de/.
Коротко: представляет собой набор редакторов и утилит для програмирования в среде абап. Редактор кода похож на MS VisualStudio. Есть подсветка комманд к примеру и многое другое. Для программирования и отладки необходима система с установленным SAP R3. Какоето время назад раздавали бесплатно - для тестирования, как сейчас незнаю. ____ Насчёт книг: рекомендую книги издательства Galileo - доходчиво и ясно. Правда дороговато, примерно 60-120 евро книга. Это сообщение отредактировал(а) Zlatogorov - 16.1.2008, 15:33 |
|||
|
||||
vga1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 8.3.2008 Репутация: нет Всего: нет |
Потренироваться в ABAP можно на системах SAP miniSap и SAP NetWeaver trial К сожалению в тестовой системе нет никаких прикладных модулей. |
|||
|
||||
Правила форума "1C: Предприятие, SAP, ERP и учётные системы" | |
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |