Текущее время: Вт, апр 23 2024, 22:29

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Обновление поля экрана
СообщениеДобавлено: Чт, сен 22 2016, 18:50 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Приветствую, коллеги!
на экране поле сумма(вызвано из кода go_...->mv_summ) и контейнер с гридом. на гриде в каждой строчке флаг и поле с циферками, пользователь ставит флаг и циферка из поля с циферкой должна накапливаться в поле сумма на экране(чем больше флагов проставили, тем больше накопилось).

по нажатию флага в классе контроллера отрабатывает событие on_data_changed, собственно так флаг и проставляется.

Поле не обновляется

думал, что поможет DYNP_VALUES_UPDATE , но не помог.

Code:
DATA:
          ls_outtab     TYPE          zhr_s_plan_pay_alv
        , ls_dynpfields TYPE dynpread
        , lt_dynpfields TYPE TABLE OF dynpread INITIAL SIZE 0
        , lc_fieldname  TYPE dynpread-fieldname VALUE 'GO_PAY_WORKER->MV_SUMM'
       .
    ls_dynpfields-fieldname = lc_fieldname.
    ls_dynpfields-stepl      = sy-index.
    ls_dynpfields-fieldvalue = mv_summ.
    APPEND ls_dynpfields TO lt_dynpfields.


    CALL FUNCTION 'DYNP_VALUES_UPDATE'
      EXPORTING
        dyname               = sy-cprog
        dynumb               = sy-dynnr
      TABLES
        dynpfields           = lt_dynpfields
      EXCEPTIONS
        invalid_abapworkarea = 1
        invalid_dynprofield  = 2
        invalid_dynproname   = 3
        invalid_dynpronummer = 4
        invalid_request      = 5
        no_fielddescription  = 6
        undefind_error       = 7
        OTHERS               = 8.
    IF sy-subrc <> 0.
* Implement suitable error handling here
    ENDIF.


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

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Проверьте для начала, что у вас лежит в sy-cprog и sy-dynnr, которые вы передаете в DYNP_VALUES_UPDATE. Они соответствует вашему полю? Оно действительно на этом экране в этой программе? Там нет подэкранов?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновление поля экрана
СообщениеДобавлено: Чт, сен 22 2016, 21:29 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
При создании GRID-а параметр I_APPL_EVENTS='X', тогда на некоторые его события будет срабатывать общая экранная логика PAI и PBO.
Тогда никакие DYNP_VALUES_UPDATE не нужны.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновление поля экрана
СообщениеДобавлено: Пт, сен 23 2016, 10:13 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Кодер написал(а):
Проверьте для начала, что у вас лежит в sy-cprog и sy-dynnr, которые вы передаете в DYNP_VALUES_UPDATE. Они соответствует вашему полю? Оно действительно на этом экране в этой программе? Там нет подэкранов?

в ФМ все параметры передаются правильно! чисто для чистоты эксперимента создал в гуи статусе кнопку(никакой обработки на неё не вешал). проставляю флаг, нажимаю кнопку, поле обновляется, но надо как-то наладить автоматическое обновление


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Обновление поля экрана
СообщениеДобавлено: Пт, сен 23 2016, 10:14 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Parazit написал:
При создании GRID-а параметр I_APPL_EVENTS='X', тогда на некоторые его события будет срабатывать общая экранная логика PAI и PBO.
Тогда никакие DYNP_VALUES_UPDATE не нужны.

спасибо, посмотрю!


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

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Цитата:
в ФМ все параметры передаются правильно! чисто для чистоты эксперимента создал в гуи статусе кнопку(никакой обработки на неё не вешал). проставляю флаг, нажимаю кнопку, поле обновляется, но надо как-то наладить автоматическое обновление

Это не совсем корретный тест. Вы используете для передачи имени программы системную переменную sy-cprog. Она может иметь одно значение в обработчике гуи-кнопки и другое в вашем классе, а может и иметь одинаковое (зависит от стека вызова).

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обновление поля экрана
СообщениеДобавлено: Пт, сен 23 2016, 12:00 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Кодер написал(а):
Цитата:
в ФМ все параметры передаются правильно! чисто для чистоты эксперимента создал в гуи статусе кнопку(никакой обработки на неё не вешал). проставляю флаг, нажимаю кнопку, поле обновляется, но надо как-то наладить автоматическое обновление

Это не совсем корретный тест. Вы используете для передачи имени программы системную переменную sy-cprog. Она может иметь одно значение в обработчике гуи-кнопки и другое в вашем классе, а может и иметь одинаковое (зависит от стека вызова).


ну я в отладке при вызове ФМ посмотрел, что туда передаётся
, но сейчас попробую хардом записать


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Обновление поля экрана
СообщениеДобавлено: Сб, сен 24 2016, 14:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
если экранного диалога не произойдёт, то ничего не отрисуется,
попробуйте то, что Parazit подсказал или спровоцируйте его вручную


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

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


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

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


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

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