Текущее время: Чт, авг 07 2025, 16:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Вт, июн 28 2016, 15:46 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
солидарен, я тоже думаю, что проблемы с рефрешем связаны с моими попытками выводить гриды динамически, но к сожалению не всегда получается качественно(

у вас есть опыт реализации динамики в САПЕ? в конторе, где я работаю, на каждый грид принято писать 3 класса т.н. M-V-C патерн, но меня это удручает... слишком много классов получается, 2\3 от которых выполняют по сути одни и теже действия, поэтому я стараюсь выводить гриды динамически используя филд-символы и разыменованные переменные


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Вт, июн 28 2016, 17:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
1) наверное, подход, который диктуют вам в конторе, был не просто так выбран в качестве способа разработки.
2) Опыт разработки с использованием динамики у меня есть. В первую очередь он мне говорит: 10 раз подумать прежде чем его использовать, чтобы не спутать, где его надо юзать, а где - нет. Так что, мой опыт в этой части - вам не поможет :-)

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 10:55 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
я в институте на с++, в основном кодил
там препод за подобный подход(3 класса на каждый чих) отправил бы на комиссию сразу(

т.е. вы рекомендуете не заморачиваться? в сапе эти трюки не важнецки реализованы


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 11:37 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
так вам же Кодер уже указал на ошибку. Вот эта строка ошибочная:
Code:
CREATE DATA gv_tab TYPE HANDLE go_tdestr.

Вы каждый раз при изменении данных предварительно пересоздаете объект, а надо один раз создать скажем при инициализации (перед первым отображением ALV), а дальше уже просто обновлять в нем данные .
Code:
ASSIGN gv_tab->* TO <gt_outtab>.
          IF <gt_outtab> IS ASSIGNED.
            <gt_outtab> =  go_application->mt_bud_plan.
          ENDIF.

Данный объект должен быть аттрибутом view.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 11:49 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
с этим уже всё ясно

мы отвлеклись от темы и обсуждаем сам паттерн, имеет ли смысл применять его в дальнейшем


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 12:22 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
AL13SH написал(а):
...обсуждаем сам паттерн, имеет ли смысл применять его в дальнейшем
Смотря в каких случаях и для каких задач.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 12:36 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
LAT написал(а):
AL13SH написал(а):
...обсуждаем сам паттерн, имеет ли смысл применять его в дальнейшем
Смотря в каких случаях и для каких задач.



в этой теме viewtopic.php?f=13&t=93009 я привёл пример, где я реализовал эту идею и это работало
можете что-нибудь рассказать\посоветовать по этому поводу? очень уж мне не нравиться по три класса на каждый чих писать


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 13:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Цитата:
можете что-нибудь рассказать\посоветовать по этому поводу?

Я уже говорил: у ваших коллег, выбравших такой подход, наверняка есть для этого резоны. Узнавать их на форуме, вместо того, чтобы спросить их - более чем странная идея.

То, что с таким подходом не согласился бы преподаватель из вашего вуза, - это вполне нормально. Реальная промышленная разработка далека от ученических проектов.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 13:24 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Я не настолько прокачан, чтобы что-то конкретное посоветовать насчет задачи "На экране три вкладки с подэкранами" или "В ПБО экрана в зависимости от выбранных параметров присваиваются соответствующие параметры конструктора Представления." :). В соседней теме (viewtopic.php?f=13&t=93259&p=554479#p554479) более развернутое описание, видимо, этой же задачи.
Имхо, полноценный MVC имеет смысл применять, если стоит задача (или есть перспектива) иметь возможность раздельно менять действия над данными и отображение данных. В рамках лично моего опыта получается, что каждый раз при попытке задействовать MVC данные связаны с действиями, поэтому у меня получалось ограничиться Document-View (или чем-то отдаленно напоминающим его :)). Возможно, это особенности задач, возможно - особенности моего мышления.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 17:46 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Кодер написал(а):
Цитата:
можете что-нибудь рассказать\посоветовать по этому поводу?

Я уже говорил: у ваших коллег, выбравших такой подход, наверняка есть для этого резоны. Узнавать их на форуме, вместо того, чтобы спросить их - более чем странная идея.

То, что с таким подходом не согласился бы преподаватель из вашего вуза, - это вполне нормально. Реальная промышленная разработка далека от ученических проектов.



вот с чем лично я столкнулся: транзакция подписания доков содержит более 100 классов. из которые 2\3 это V&C т.е. классы представлений и контроллеров.
получается что для того чтобы выводить несколько табличек(пусть даже много штук 10, но не одновременно) и по клику на кнопке поменять запись в БД и цвет строчки в этой таблице надо более 100 классов...
меня это смущает и очень сильно(

в магистерской работе у меня была прога реализующая адаптивный нейрорегулятор для промышленного робота с гибкими звеньями... т.е. на порядок сложнее работа самой проги(взаимодействие с внешними датчиками, оценка их сигналов, выработка адекватного управляющего воздействия)
там было около 60 классов и то мне казалось, что это многовато...

а тут более ста практически не о чём

есть ли способ на абапе писать более корректный код? более расширяемый без существенных переделок?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Ср, июн 29 2016, 19:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Цитата:
меня это смущает и очень сильно(

Вы действительно не понимаете или это уже такой толстый троллинг, что даже тонко? Эти моменты вам следует выяснять в своей проектной команде, а не на форуме. Архитектура проектного решения - это работа команды. Почему они так сделали и как вам сделать вашу задачу, вы должны узнать у них. А то складывается впечатление, что у вас там как в анекдоте "дали пистолет и крутись как хочешь".

Цитата:
там было около 60 классов и то мне казалось, что это многовато...

Я искренне рад, что у вас была сложная и интересная магистерская работа. Но скажите мне: ваша программа внедрена на производстве? Сколько пользователей\единиц оборудования используют вашу программу? Сколько времени она уже работает? Как осуществляется ее поддержка. когда вы уже не с ней, а переключились на абап?
Если цель моих вопросов вам не понятна, то я сразу же и поясняю: в том числе и такие вопросы приходится учитывать при проектировании архитектуры

К сожалению, пока по вашим вопросам видно, что вы, не разобравшись до конца собственно в языке, его нюансах, а так же решениях вашей проектной команды, пытаетесь реализовать что-то свое.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Чт, июн 30 2016, 14:31 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Кодер написал(а):
Цитата:
меня это смущает и очень сильно(

Вы действительно не понимаете или это уже такой толстый троллинг, что даже тонко? Эти моменты вам следует выяснять в своей проектной команде, а не на форуме. Архитектура проектного решения - это работа команды. Почему они так сделали и как вам сделать вашу задачу, вы должны узнать у них. А то складывается впечатление, что у вас там как в анекдоте "дали пистолет и крутись как хочешь".


Разумеется это не троллинг. Если вы думаете, что я не разговаривал на эту тему с коллегами, то заблуждаетесь. Их мнение мне ясно, но кажется не очень аргументированным т.к. очень смахивет на "если можно писать три класса, т зачем замаааарачиваться"... именно технической аргументации в пользу этого подхода в этой редакции(3 класса на каждый чих) мне от них не хватает, поэтому я решил поинтересоваться на форуме, как работают люди, что думают по поводу моих идей. А идея собственно довольно проста: А что сели решать проблемы динамически? т.е. применять ООП технологии, разные патерны, динамические фишки для улучшения качества кода и производительности системы.


Кодер написал(а):
Цитата:
там было около 60 классов и то мне казалось, что это многовато...

Я искренне рад, что у вас была сложная и интересная магистерская работа. Но скажите мне: ваша программа внедрена на производстве? Сколько пользователей\единиц оборудования используют вашу программу? Сколько времени она уже работает? Как осуществляется ее поддержка. когда вы уже не с ней, а переключились на абап?
Если цель моих вопросов вам не понятна, то я сразу же и поясняю: в том числе и такие вопросы приходится учитывать при проектировании архитектуры

К сожалению, пока по вашим вопросам видно, что вы, не разобравшись до конца собственно в языке, его нюансах, а так же решениях вашей проектной команды, пытаетесь реализовать что-то свое.



Увы, кроме как в стенде в универе нигде(

К сожалению, пока по вашим вопросам видно, что вы, не разобравшись до конца собственно в языке, его нюансах, а так же решениях вашей проектной команды, пытаетесь реализовать что-то свое.
Отчасти. так и есть я только разбираюсь, как реализованы в АБАП классические ООПшные фишки. Именно поэтому и пишу на форуме, пытаюсь узнавать, что думают люди, читать курсы, топики... развиваться


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Чт, июн 30 2016, 16:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Все это уже глубокий оффтоп.
AL13SH: Ну как видите, минимум один паттерн у вас применяют - MVC (про него даже GoF писали) ;-)
Для начала стоит просто заняться собственным ликбезом как в части абап, так и в части проекта и его регламентов.
Какие-то проектные решения могут быть продиктованы в том числе и удобством сопровождения решения. Я могу говорить только общими словами, т.к. подробности проекта можно узнать только у ваших коллег
"Гадать по фотографии" в вашем вопросе бесполезно. Форум все-таки место для разрешения конкретных технических вопросов (в свою очередь, могу вам посоветовать, очень четко их формулировать и предоставлять подробную информацию).

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Чт, июн 30 2016, 17:23 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Благодарю за науку! учту


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не рефрешится грид
СообщениеДобавлено: Вт, июл 05 2016, 16:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
AL13SH написал(а):
...
у вас есть опыт реализации динамики в САПЕ? в конторе, где я работаю, на каждый грид принято писать 3 класса т.н. M-V-C патерн, но меня это удручает... слишком много классов получается, 2\3 от которых выполняют по сути одни и теже действия, поэтому я стараюсь выводить гриды динамически используя филд-символы и разыменованные переменные

Добавлю свои 5 коп.

В большинстве случаев задача, изначально казавшаяся простой и не требующая сложной архитектуры, со временем усложняется и расширяется. Даже если не вами, то впоследствии поддержкой. Поэтому имеет смысл всегда закладывать её масштабируемость.

У SAP-а есть одно из достоинств - поиск использования объекта разработки в других объектах. Что сильно облегчает анализ кода и его дальнейшую поддержку другими разработчиками. Но это работает только для статичных объявлений, а для динамических объектов резко ухудшается "читабельность". Поэтому динамические объекты имеет смысл использовать там, где это оправдано, например, создаётся реально динамический отчёт - т.е. пользователь на селекционном экране определяет источник (таблицу) и состав (поля) отчёта.
В Вашем случае, возможно, имеет смысл 2-х уровневый динамически-статический подход. Например, от динамического класса, в котором реализуются универсальные методы обработки, создавать потомков со статичными параметрами методов, которые (методы) уже и будут использоваться во внешних вызовах.

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


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

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


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

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


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

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