Текущее время: Пн, май 06 2024, 01:19

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Чт, сен 02 2010, 22:32 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Заметила, что в последнее время в объявлениях о работе много где требуют, чтобы кандидат был хотя бы знаком с концепциями ABAP Objects и ОО. Но с кем бы из ABAPеров я не говорила, реакция обычно примерно такая:
- О, ABAP Objects - это сила!
- А где вы их применяете?
- Хм... Да, в сущности, нигде...

Я с ABAP работаю уже 5 лет, об ОО представление имею постольку-поскольку (изучала немного Java и C# чисто из интереса). Как я понимаю, основными преимуществами там являются multi-threading и inheritance. Но, применительно к системам, где я работала, честно говоря, ни разу не видела необходимости писать какие-то свои классы, методы и т.п.

Да, я запросто могу создать объект и вызвать стандартный метод какой-нибудь (ALV - типичный пример), но это IMHO не какое-то офигенное достижение и требует познаний достаточных разве что для того, чтобы не пытаться вытащить private переменную, как тут в одном топике.

Коллеги Objects тоже не интересуются совершенно. Это только у нас контора такая отсталая? Может мы что-то упускаем?

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Чт, сен 02 2010, 22:54 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, апр 12 2006, 12:43
Сообщения: 863
Откуда: СССР
Пол: Мужской
ALV GRID, Enhansments, BADI ну и в случае "подлома" чего-нибудь стандартного изначально объектного.

Вот если бы была возможность, например, заказ в ММ "наследовать" из заявки, тогда объектность была бы во всей красе.
Но стандарт уже написан на процедурах, посему и объектность можно пока применять только в интерфейсах пользователя.
BAPI, теоретически как-то на объектно-рожденные похожи, но реально не видел применения.

_________________
Никого не трогаю, примусы починяю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 06:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, ноя 20 2008, 16:29
Сообщения: 245
Откуда: RU->DE
Пол: Мужской
http://sapdocs.info/wp-content/uploads/ ... bjects.pdf :)

Подробней некуда и с примерами. Правда сам я тоже ООПом особо не пользуюсь (только чужими классами).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 07:31 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Впринципе, согласен, что круг задач в SAP достаточно беден. Поэтому повсеместное применение ООП не всегда изящно, и иногда даже слишком громоздко. Но есть, например, модуль RE, где без знания ООП трудно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 08:00 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
Для RE-FX пришлось много делать через BADi, там все на ООП, но это использование саповских объектов, свои еще ни разу не создавала :)

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 08:16 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Silence1 написала:
Для RE-FX пришлось много делать через BADi, там все на ООП, но это использование саповских объектов, свои еще ни разу не создавала :)

Пардон конечно, но что такое BADI? Реализация интерфейса своим классом ;)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 09:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
Самый простой пример. Есть транзакция с 5ю и более таблицами в виде ALV. Принцип их ведения почти одинаковый - отличаются только набором полей, и еще какими-то "фичами". Создается родительский класс, который создает объект ALV Grid, генерит каталог полей, изменяет панель кнопок, обрабатывает изменения, регистрирует события, и т.д. А в наследниках, если необходимо, переопределяются только нужные методы: каталог полей, например. В результате объем кода существенно уменьшается. Это если с умом подходить. :)

Пример 2. Все GOS объекты расширяются именно через классы.

P.S. Structure of a Business Object Type

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 09:59 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Jelena написала:
Заметила, что в последнее время в объявлениях о работе много где требуют, чтобы кандидат был хотя бы знаком с концепциями ABAP Objects и ОО. Но с кем бы из ABAPеров я не говорила, реакция обычно примерно такая:
- О, ABAP Objects - это сила!
- А где вы их применяете?
- Хм... Да, в сущности, нигде...

Я с ABAP работаю уже 5 лет, об ОО представление имею постольку-поскольку (изучала немного Java и C# чисто из интереса). Как я понимаю, основными преимуществами там являются multi-threading и inheritance. Но, применительно к системам, где я работала, честно говоря, ни разу не видела необходимости писать какие-то свои классы, методы и т.п.
...

Достаточно посмотреть как реализованы транзакции в последних "изданиях" системы (для FI, MM, HR, ...)- они построены на классах, в BADI для доступа к данным всё больше и больше используется ООП (классы, интерфейсы, исключительные ситуации).
ALV разных мастей. А ALV это значительный объём в разработках.
Так что "нигде" сильно приуменьшено, ABAP Object хоть медленно, но верно входит в жинь.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 10:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Требования работодателей к знанию ОО вполне объяснимы, т.к. немалую долю разработчика составляют изучение, отладка и внедрение расширений в стандартный код, а он всё больше и больше на объектах.
Об общих преимуществах ОО программрования писать не буду, это в инете найти можно.

Я использовал ОО для преобразования собственной функциональной группы в объекты, т.к. необходимо было разделить значения глобальных переменных в пределах одной программы.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 13:10 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
E-Recruiting - весь framework построен на ООП.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 13:48 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
SRM 7.0 - WebDynpro - класс на классе и классом погоняет. Все документы (корзинка, заказ и т.п.) представлены классами.
Для создания своих расширений, например для POWL используется наследование стандартных классов - очень удобно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 14:24 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, мар 16 2005, 09:37
Сообщения: 42
Откуда: Москва
Программирование без ОПП - это скучно. Для более-менее серьезных программ обязательно использую классы. Тут уже упоминали статью про 8 причин использования классов. Я для себя выделил следующие:
1) Реализация принципа "разделения обязанностей". В больших программах всегда много глобальных переменных и подпрогамм, в которых очень сложно ориентироваться. Группировка логически связанных данных и операций над ними в отдельные классы позволяет уменьшить сложность программы.
2) Часто в программах встречается сложная логика условных операторов (встречал и 5, и 6 вложенных IF). Тут все можно заменить "полиморфизмом". Что, опять же, позволяет уменьшить сложность прогаммы
3) Использование "функциональных методов", т.е. возвращающих одно значение. Очень удобно, так как их можно использовать в некоторых операторах, в частности, в логических выражениях.

В небольших программах использование классов не оправдано, так как разделение описания интерфейса и его реализации приводит к необходимости написания дополнительного кода, который ничего не делает. Но, к счастью, были у меня и другие программы, где пришлось изголяться по полной, используя шаблоны проектирования. А какая красота получилась!
Естественно, любую программу можно написать, используя функциональный подход. Другой вопрос, ценой каких усилий. И сможет ли ее сопровождать кто-то, кроме автора.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Пт, сен 03 2010, 18:59 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Спасибо всем за ответы. Думаю в преимуществах ООП никто не сомневается, меня интересовала чисто практическая сторона дела. Просто на недавнем интервью товарищ спросил, какой у меня опыт с Objects и после того, как я упомянула ALV, BADI и прочая, он с гонором переспросил: "Ну а свои-то классы вы писали?". Своих классов я пока в SAP не писала, но это не потому, что я тупая или не умею - просто не было нужды. Как уже правильно заметили выше - если это делает программу более громоздкой, то зачем? В общем для меня такой вопрос был скорее похож на примитивную распальцовку. :?

Кстати, интересно, что авторы приведенной выше статьи про 8 причин начинают с того, что подозревают в косности почему-то именно программистов. Хотя, например, в нашей SAP системе, которой уже лет 20, мне с большим скрипом удалось всего несколько совершенно жутких отчетов хотя бы на ALV перевести. Пришлось делать прототип, собирать ключевых юзеров, терпеливо объяснять им преимущества и т.п. И то многие просто упираются ногами и руками - не дай бог как-то изменить их любимый отчет. (В принципе их тоже понять можно, конечно.)

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Сб, сен 04 2010, 15:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Jelena написала:
Просто на недавнем интервью товарищ спросил, какой у меня опыт с Objects и после того, как я упомянула ALV, BADI и прочая, он с гонором переспросил: "Ну а свои-то классы вы писали?". Своих классов я пока в SAP не писала, но это не потому, что я тупая или не умею - просто не было нужды. Как уже правильно заметили выше - если это делает программу более громоздкой, то зачем? В общем для меня такой вопрос был скорее похож на примитивную распальцовку. :?

В общем я понимаю вашего интервьюера, действительно между написанием собственных объектных программ и использованием готовых классов огромная разница. Откровенно говоря, я и сам задавал такой вопрос лет 12-15 назад на собеседованиях. Просто с момента, когда появились системы типа Delphi с кучей готовых компонент, одновременно объявилось много людей, называющих себя программистами. А на деле они только и умели использовать готовые компоненты, не понимая даже сути объектного программирования.
Так что вопрос действительно хороший, чтобы, в некоторой степени, оценить уровень программиста!

Но!!! Что касается SAP, есть другая сторона вопроса. Поскольку ООП оправдано при написании довольно больших собственных разработок, возникает сомнение в правильности этих проектных решений вообще. Таки при внедрении R/3 надо и внедрять R/3 (простите за тафтологию), а не кустарщину, которую потом неизвестно кто и как будет поддерживать.
В общем это отдельная тема, но наводит на размышления, стоит ли рассматривать большой опыт ООП в SAP, как положительный?!

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Последний раз редактировалось Parazit Вт, сен 07 2010, 21:39, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Где вы реально применяете ABAP Objects?
СообщениеДобавлено: Сб, сен 04 2010, 15:26 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Тут надо оговориться - опыт использования и знание основ ООП все-таки разные вещи... Увы именно в SAP часто сталкиваюсь со "случайными" людьми в программировании.
У меня даже полушуточная классификация плохих программистов появилась:
Плохой программист 1 рода - ему недостает, скажем так, сообразительности.
Плохой программист 2 рода - нет базовых знаний. Если любознательный, изобретает велосипеды, если нет - пишет как индус.
Плохой программист 3 рода - самый досадный случай - мозг есть, знания есть, но он ими не пользуется.


P.S. Преподаватель по мат.анализу любил говорить, что есть много вещей, которые не применяются в сельском хозяйстве(например про использование несобственных интегралов)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB