Текущее время: Пт, апр 26 2024, 18:01

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


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

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


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

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