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

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


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

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


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

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