Текущее время: Вс, июл 27 2025, 08:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: а такое можно сделать?
СообщениеДобавлено: Вс, июл 15 2007, 19:48 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Был у мну прект на С#

Был процесс к которому подвязаны операции.
Операции разные, в них расчеты разные (в зависимости от операций)

в С# каждая форма класс. Была сделана бащовая функциональность базовой формы типа там подвязка заказа, бригад, времени, сохранение данных, чтение данных.

Потом были сделаны формы наследники в которых вся функциональность базоваой формы + некоторые данные соответствующие только этой операции + расчет. Таких форм много и их в дальнейшем будет еще больше.

такой вот вопрос.
Экран (например 0100) может быть классом? а PBO и PAI методами?
А может быть экран (0101) наследником экрана 0100 + доп своя функциональность.
Это к тому чтобы не копировать каждый раз экран, и в случае изменения функциональности базовых методов не перерисовывать их в кадом экране.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: а такое можно сделать?
СообщениеДобавлено: Вс, июл 15 2007, 21:23 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Hermitap написал(а):
...

такой вот вопрос.
Экран (например 0100) может быть классом? а PBO и PAI методами?
Правильнее будет говорить о подъэкранах. Только помните при работе с экранами - у экрана нет собственных данных и собственной области видимости для данных, экраны работают с данными, определёнными глобально в той программной единице, которой принадлежит экран (отчёт, функциональная группа, пул модулей). Со всеми вытекающими из этого ограничениями на проектирование класса.
Цитата:
А может быть экран (0101) наследником экрана 0100 + доп своя функциональность.
Ну если возможность включения в экран подъэкрана считать неким видом наследования. Можно посмотреть транзакцию me22n - она довольно плотно построена с использованием ABAP-OO (как минимум erp2004)
Цитата:

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

Попробуй-те, может что и получется

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: а такое можно сделать?
СообщениеДобавлено: Вс, июл 15 2007, 22:10 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Hermitap написал(а):
А может быть экран (0101) наследником экрана 0100 + доп своя функциональность.


Сильно сомневаюсь, что в С# идет какое либо наследование диалогового окна (экрана с элементами в ABAP). Возможно наследование базового диалогового класса, обрабатывающего диалоговое окно. Если изменяется диалоговое окно, то он копируется в новый темплате, добавляются новые элементы. Если создается новый диалоговый класс, наследуемый от базового, то при создании класса в конструктор передается новое имя диалогового окна.


Думаю, в ABAP можно реализовать подобное, используя в PBO и PAI разные классы, наследуемые от общего базового.

PS: мое описание основано на Visual C++, возможно в шарпе произошли некоторые изменения.

sy-uname написал(а):
Ну если возможность включения в экран подъэкрана считать неким видом наследования.


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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, июл 15 2007, 22:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Ответы уважаемых коллег гораздо проще изложить следующим образом - никакого наследования экранных форм (речь идет именно об обычных диалоговых экранах) в ABAPе нет. Все, что сделано в ME22N - скрещивание ежа с ужом.
Возможно, какое-то наследование есть в WebDynpro, но точно не знаю.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 08:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
WebDynpro и enjoy-транзакции типа me22n представляют из себя реализацию MVC-дизайна. При этом действительно есть классы view — программная оболочка которая абстрагирует физическое представление экранной формы и виджетов: будь то java-апплеты или абаповские экраны.

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

В ABAP для рисования enjoy-транзакций никаких инструментов, кроме ABAP-редактора я не знаю. Сейчас модно разместить на экране один html-контейнер, а в нём уже показывать WebDynpro.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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