Текущее время: Вс, июл 27 2025, 23:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Вывод, редактирование и сохранение изменений в таблицах
СообщениеДобавлено: Чт, мар 28 2013, 14:24 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 20 2011, 18:42
Сообщения: 20
Ситуация такова. Есть две таблицы. Назовем их к примеру Tab1 и Tab2. В них содержится информация по документам (пусть это будет "поступление товаров и услуг" например).

Таблица Tab1 содержит шапку документа (организация, договор, номер документа и т.д.) - одна запись в таблице на 1 документ.

Таблица Tab2 содержит перечень товаров в документе и их характеристики (наименование, количество, и т.д.) - записей в таблице может быть несколько на 1 документ.

Задача состоит в следующем: Сделать селекционный экран где будет вводится номер документа(Это без проблем). При нажатии Enter выводить на следующем экране две таблицы Tab1 и Tab2. Данные в них должны отображаться с учетом отбора по номеру документа (Тоже не проблема можно сделать вывод через ALV). Данные должны иметь возможность редактирования в этих таблицах и при сохранении (Нажатие на дискету) записываться в таблицы Tab1 и Tab2 (Вот тут у меня проблема - не знаю как реализовать).

Подскажите пожалуйста какими способами лучше решить эту задачу.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод, редактирование и сохранение изменений в таблицах
СообщениеДобавлено: Чт, мар 28 2013, 15:12 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
wild83, вы забыли описать проблему. В чем конкретно она заключается? Как пробовали, в чем возникли проблемы, etc.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод, редактирование и сохранение изменений в таблицах
СообщениеДобавлено: Чт, мар 28 2013, 15:40 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 20 2011, 18:42
Сообщения: 20
wild83 написал(а):
Данные должны иметь возможность редактирования в этих таблицах и при сохранении (Нажатие на дискету) записываться в таблицы Tab1 и Tab2 (Вот тут у меня проблема - не знаю как реализовать).
Подскажите пожалуйста какими способами лучше решить эту задачу.


Если разбирать пошагово, то первая проблема в том что вывожу в ALV grid данные но редактировать их там не могу

вот код:

DATA:
lo_alv TYPE REF TO cl_gui_alv_grid,
lt_tab TYPE TABLE OF RBKP.

SELECTION-SCREEN BEGIN OF SCREEN 1100.
SELECTION-SCREEN END OF SCREEN 1100.

SELECT * FROM RBKP INTO TABLE lt_tab.

CREATE OBJECT lo_alv
EXPORTING
i_parent = cl_gui_container=>screen0.

CALL METHOD lo_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'RBKP'
CHANGING
it_outtab = lt_tab.

CALL SELECTION-SCREEN 1100.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод, редактирование и сохранение изменений в таблицах
СообщениеДобавлено: Чт, мар 28 2013, 16:50 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
Вам нужно:
1. указать что поле ALV будет редактируемым (fieldcatalog)
2. для грида зарегистрировать событие EDIT.

Code:
call method ...->register_edit_event
  exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод, редактирование и сохранение изменений в таблицах
СообщениеДобавлено: Чт, мар 28 2013, 17:03 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 20 2011, 18:42
Сообщения: 20
спасибо, но не совсем понимаю. Вы имели ввиду это:

DATA:
lo_alv TYPE REF TO cl_gui_alv_grid,
lt_tab TYPE TABLE OF RBKP.

SELECTION-SCREEN BEGIN OF SCREEN 1100.
SELECTION-SCREEN END OF SCREEN 1100.

SELECT * FROM RBKP INTO TABLE lt_tab.

CREATE OBJECT lo_alv
EXPORTING
i_parent = cl_gui_container=>screen0.

CALL METHOD lo_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'RBKP'
CHANGING
it_outtab = lt_tab.

call method lo_alv->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified.


CALL SELECTION-SCREEN 1100.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вывод, редактирование и сохранение изменений в таблицах
СообщениеДобавлено: Пт, мар 29 2013, 12:33 
Начинающий
Начинающий

Зарегистрирован:
Вт, янв 11 2011, 15:15
Сообщения: 14
Вы, похоже, ещё в начале пути.
:)
Посмотрите примеры пакета SLIS. Там куча программ, откуда вы можете взять, что угодно.

Для редактирования:
Code:

IF p_redak = 'X'.   " можно редактировать
    CALL METHOD g_alv1->set_ready_for_input
      EXPORTING
        i_ready_for_input = 1.
    CALL METHOD g_alv2->set_ready_for_input
      EXPORTING
        i_ready_for_input = 1.
  ELSE.              " нельзя редактировать
    CALL METHOD g_alv1->set_ready_for_input
      EXPORTING
        i_ready_for_input = 0.
    CALL METHOD g_alv2->set_ready_for_input
      EXPORTING
        i_ready_for_input = 0.
  ENDIF.


а код
Code:
call method lo_alv->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified

подсказывает, что редактированиебудет по ячейкам

Цитата:
MC_EVT_ENTER Event Enter
MC_EVT_MODIFIED Event Cell Modified


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

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


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

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


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

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