Текущее время: Пт, авг 01 2025, 22:27

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Выполнение SELECT внутри SMARTFORM - можно или себя "по рукам бить"?
СообщениеДобавлено: Вт, ноя 06 2007, 18:07 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Проблема: заказчик захотел крайне "жирную" смартформину. В итоге интерфейс (в табличной части) разрастается в геометрической прогрессии относительно его пожеланий.

Хочу узнать Ваше мнение: что лучше - использовать смартформу только для вывода заранее подготовленных данных, передаваемых через интерфейс, или просто передать ключ объекта, а все селекты сделать внутри ее?

Сейчас реализован первый вариант, но честно говоря вызов ФМ скоро на экран не поместится...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 06 2007, 18:16 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, окт 21 2006, 20:34
Сообщения: 280
так а почему бы не сделать группу функций для чтения из DB и использовать функции внутри смартформы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 06 2007, 18:27 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
dump написал(а):
так а почему бы не сделать группу функций для чтения из DB и использовать функции внутри смартформы

То есть второй вариант?
Разницы нет - заворачивать всю дребедень в ФМ или просто в подпрограмму смартформы ИМХО. Только при вызове другого ФМ производительность будет еще ниже, чем просто селекты нарисовать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 06 2007, 18:45 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, окт 21 2006, 20:34
Сообщения: 280
John Doe написал:
dump написал(а):
так а почему бы не сделать группу функций для чтения из DB и использовать функции внутри смартформы

То есть второй вариант?
Разницы нет - заворачивать всю дребедень в ФМ или просто в подпрограмму смартформы ИМХО. Только при вызове другого ФМ производительность будет еще ниже, чем просто селекты нарисовать.


разницы особой нет - выглядит эстетичнее :D - а о производительности - затратах на загрузку группы функций и т.д. - для вас это разве критично ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 06 2007, 18:55 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
dump написал(а):
а о производительности - затратах на загрузку группы функций и т.д. - для вас это разве критично ?

Относительный вопрос, пока не очень, но...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 06 2007, 22:14 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
В книжке SAP Press насчет Smart Forms озвучена примерно такая идея: если Output стандартный (инвойс, например), то интерфейс формы и программу не трогайте, а всякую дополнительную выборку данных делайте непосредственно в форме; если же форма полностью своя, то лучше выбирать данные в подпрограмме и передавать в форму. В последнем случае в форме уже никаких SELECT не будет, грубо говоря.

В плане производительности IMHO никакой разницы, т.к. "как ни ложись, все равно поимеют". Форма без дополнительных SELECT более универсальна, на мой взгляд, и может быть использована с разными программами. Хотя это не всегда требуется, так что может быть сомнительным преимуществом. Опять же IMHO - в отдельной программе код проще оптимизировать, отследить выполнение и проверить правильность выборки, а если код в самой форме, то ищи свищи.

Что касается вызова ФМ, так сделайте просто большую структуру наподобие LBBIL_INVOICE. Совершено не обязательно тонну разных таблиц передавать. Или я что-то недопоняла? :?


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
По-хорошему, модель (выборка данных) и вид (смартформа) должны быть максимально разделены.

Например, не так давно российский аддон перешёл со смартформ на pdf-формы (ну и другие формы тоже). Те формуляры, у которых развёрнутый интерфейс и никаких select'ов внутри, перенести в новую технологию проще. pdf-формы тоже поддерживают ABAP, но делается это через обратный вызов с ADS-сервера в сервер приложений SAP и выполняется очень медленно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 10:08 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Лично я тоже за максимальное разделение бизнес-логики (ABAP) и представления (Smartforms). Если форма жирная и с кучей вариантов - реализуйте базовый класс и сделайте от него кучу потомков с переопределенными методами.

Эти потомки-дельты обычно помещаются на 1-2 экрана и легко отлаживаются.

Совать любую логику в смартформы я бы стал только в тех случаях, когда ГАРАНТИРОВАННО известно, что смартформа небольшая и модифицироваться не будет. Во всех остальных случаях к вам прибегут клиенты с фразой "а вот этому контрагенту надо нулевую цену печатать, а вот этому не надо битум выводить" и получится портянка с кучей вложенных IF и странными селектами в стиле "найди меня".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 10:45 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
+1 за разление логики от формы

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 11:56 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, окт 29 2007, 18:22
Сообщения: 254
Пол: Мужской
Я за разделение ABAP и Smartforms. Для продуктивности нет разницы, а
Smartforms. легче и гибче, да и в ABAP удобнее


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 11:58 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Всем спасибо. Остановлюсь на первом варианте - подготовка данных вне смартформы, опять же переделывать ничего не надо . Интерфейс сделаю попроще - так как предложила Jelena. Не знал, что можно такие структурки на вход подавать, считал что только с плоскими работает . :oops:


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

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


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

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


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

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