Текущее время: Пн, сен 08 2025, 14:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Обновление полей на экране из класса.
СообщениеДобавлено: Ср, июн 08 2005, 15:43 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
Добрый день.

Есть редактируемый АЛВ грид.
При сохранении изменений (обрабатываются событие data_changed) нужно изменять содержимое поля на экране.
В дебагере вижу что нахожусь в ПАИ логике, но поскольку ПБО не отрабатывает, содержимое поля на экране не обновляется ;(
leave to screen прерывает логику АЛВ.
DYNP_VALUES_UPDATE тоже не помогает, смотрел в дебагере, мне кажется, что он должен работать только если вызывать из самого репорта.

Code:
METHOD update_cart_description .
  CONSTANTS: struct_name TYPE tabname VALUE 'CART_DESC'.
  DATA: cart_desc TYPE zctlg_s_cart_desc.

  CALL METHOD materials_cart->get_cart_description
    IMPORTING
      cart_description  = cart_desc.

*------- чтобы отработала экранная логика
  MOVE cart_desc TO me->description_struct_ref->*.
  DATA: lt_dynpfields TYPE TABLE OF dynpread,
            wa_dynpfield TYPE dynpread.
  data: tmp_char(15) type c.
  wa_dynpfield-fieldname = 'CART_DESC-SUMM'.
  wa_dynpfield-fieldvalue = tmp_char = CART_DESC-SUMM.
  APPEND wa_dynpfield 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
  .
ENDMETHOD.

на выходе sy-subrc = 0.
me->description_struct_ref указатель на структуру из программы.
В репорте соответсвующая структура объявлена.
Code:
REPORT  zctlg_catalog   MESSAGE-ID zcl_catalog_output.
DATA: cart_desc    TYPE zctlg_s_cart_desc.


Подскажите как обойти можно.


PS суммирование не подходит, поскольку содержимое ALV в процессе работы меняется и не раз.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 08 2005, 15:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Попробуй так
Code:
  data: l_cprog like sy-cprog.
  data: l_dynnr like sy-dynnr.

  l_repid = sy-cprog.
  l_dynnr = sy-dynnr.

  CALL FUNCTION 'DYNP_VALUES_UPDATE'
    EXPORTING
      dyname     = l_cprog
      dynumb     = l_dynnr
    TABLES
      dynpfields = lt_dynpfields.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 08 2005, 16:01 
Гость
Или вызвать
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING new_code = 'DUMMY'.

В ПАИ ничего не обрабатываешь, а ПБО заполняй значения полей.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 08 2005, 16:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
На мой предыдущий пост забей.. Подобный прикол с SY-REPID возникает, а с SY-CPROG всё в норме. Тут что-то другое...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 08 2005, 16:24 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Можно также при создании класса CL_GUI_ALV_GRID попробовать установить параметр I_APPL_EVENTS в 'X'. Тогда при генерации событий объекта должны отрабатывать PAI и PBO экрана.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 08 2005, 16:37 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
Anonymous написал(а):
Или вызвать
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING new_code = 'DUMMY'.

Спасибо, помогло ;)
Второй вариант хуже, поскольку мне надо обновлять не каждый раз, а только когда были изменения.


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

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


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

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


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

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