Текущее время: Пн, июн 23 2025, 04:37

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


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

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


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

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