Текущее время: Ср, июл 23 2025, 18:25

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Метод _g_grid->REFRESH_TABLE_DISPLAY отрабатывает только один раз
СообщениеДобавлено: Вт, дек 11 2012, 18:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2012, 10:08
Сообщения: 128
Делаю такую штуку: есть приказы, в каждом по несколько табельных. На селекшене выбирается нужная дата и выводятся подходящие приказы в алв. Выбираю чекбоксами нужные приказы, и нажимаю "просмотреть приказы", открывается другой экран в котором табельные по первому приказу. Выбираю тех кто мне нужен, нажимаю ОК, и пытаюсь обновить табличку в алв с табельными следующего выбраного приказа, и так далее пока не закончатся выбранные приказы. Первый норм приказ делает, для второго обновляет алв, и для третьего отрабатывает, в таблицу нужное значение записывает, а алв не обновляется на этом экране, хотя если нажать на кнопочку "Обновить" которая есть в контейнере (или классе?? :roll: ), то данные обновляются.

Ниже код, помогите абаперы, плиз!

Цитата:
DATA: is_stable TYPE LVC_S_STBL.
is_stable-row = 'X'.
is_stable-col = 'X'.

бла-бла-бла

CALL SCREEN 100.
<pbo 100>
Делаю шляпу и заполняю приказами
</pbo 100>
<pai 100>
CASE OK_CODE.
WHEN 'LOOK_EMPL'.
«моя кнопка»
PERFORM LOOK_EMPL.
WHEN OTHERS.
ENDCASE.
CLEAR OK_CODE.
</pai 100>
FORM LOOK_EMPL .
CALL SCREEN 101.
ENDFORM.
MODULE STATUS_0101 OUTPUT.
"DATA sy_CHECK type i.
SET PF-STATUS 'S11'.
SET TITLEBAR 'S100' with text-t01.

<рисую шапку>

CREATE OBJECT _G_CUSTOM_CONTAINER
EXPORTING
CONTAINER_NAME = _G_CONTAINER.

CREATE OBJECT _g_grid
EXPORTING
i_parent = _g_custom_container.
“делаю по первой записи sy_check изначально равно 1
IF zz_check is INITIAL.
LOOP AT CUT_ZHURNAL.
IF sy-tabix eq sy_check.
LOOP AT P_ZHURNAL INTO CUT_P_ZHURNAL WHERE ORDNU eq CUT_ZHURNAL-ORDNU and ORDDT eq CUT_ZHURNAL-ORDDT.
CUT_P_ZHURNAL-Z = 'X'.
APPEND CUT_P_ZHURNAL.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
zz_check = '1'.

CALL METHOD _g_grid->set_table_for_first_display
EXPORTING
is_layout = _gs_layout
I_DEFAULT = SPACE
CHANGING
it_fieldcatalog = _gt_fieldcat
it_outtab = CUT_P_ZHURNAL[].
</pbo 101>
<pai 101>
CALL METHOD G_GRID->check_changed_data.
CASE OK_CODE.
WHEN 'OK_EXIT'.

LOOP AT CUT_P_ZHURNAL INTO OUT_P_ZHURNAL WHERE Z eq 'X'.
APPEND OUT_P_ZHURNAL.
ENDLOOP.
CLEAR: CUT_P_ZHURNAL, CUT_P_ZHURNAL[].

sy_check = sy_check + 1.
IF sy_check LE z_count and sy_check ne 1.
LOOP AT CUT_ZHURNAL.
IF sy-tabix eq sy_check.
LOOP AT P_ZHURNAL INTO CUT_P_ZHURNAL WHERE ORDNU eq CUT_ZHURNAL-ORDNU and ORDDT eq CUT_ZHURNAL-ORDDT.
CUT_P_ZHURNAL-Z = 'X'.
APPEND CUT_P_ZHURNAL.
ENDLOOP.
ENDIF.
ENDLOOP.

CALL METHOD _g_grid->REFRESH_TABLE_DISPLAY.

ELSE.
LEAVE TO SCREEN 100.
ENDIF.

WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN OTHERS.
ENDCASE.
CLEAR OK_CODE.
</pai 101>

_________________
Бог умер (с) Ницше
Ницше умер (с) Бог
Хах.. (с) Смерть


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Метод _g_grid->REFRESH_TABLE_DISPLAY отрабатывает только один раз
СообщениеДобавлено: Ср, дек 12 2012, 07:32 
Начинающий
Начинающий

Зарегистрирован:
Ср, сен 14 2011, 10:05
Сообщения: 17
Code:
MODULE STATUS_0101 OUTPUT.

CREATE OBJECT _G_CUSTOM_CONTAINER
EXPORTING
CONTAINER_NAME = _G_CONTAINER.

CREATE OBJECT _g_grid


Т.е. Вы создаете контейнер и грид при каждом срабатывании PBO для 101 экрана. На экране вы видете первый созданный грид, а обновляется - последний. Необходимо вставить проверку перед созданием объекта. Что то вроде

Code:
IF _G_CUSTOM_CONTAINER IS NOT BOUND.
  CREATE OBJECT _G_CUSTOM_CONTAINER
     EXPORTING
        CONTAINER_NAME = _G_CONTAINER.

  CREATE OBJECT _g_grid
ENDIF.


Соотвественно при выходе добавить удаление объектов.
Code:
ELSE.
  FREE _g_grid.
  FREE _G_CUSTOM_CONTAINER.
  LEAVE TO SCREEN 100.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Метод _g_grid->REFRESH_TABLE_DISPLAY отрабатывает только один раз
СообщениеДобавлено: Ср, дек 12 2012, 09:24 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2012, 10:08
Сообщения: 128
Огромнейшее спасибо.
Все работает))

_________________
Бог умер (с) Ницше
Ницше умер (с) Бог
Хах.. (с) Смерть


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

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


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

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


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

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