Текущее время: Сб, авг 16 2025, 02:18

Часовой пояс: 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 часа


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

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


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

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