Текущее время: Чт, июл 31 2025, 10:26

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


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

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


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

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