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

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


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

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


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

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