Присваиваем пользователю полномочия на соответствующую транзакцию, привязанную к отчету. Если ему хочется вести таблицу напрямую в продуктиве, без переноса запросов с содержимым, то при генерации диалога ведения необходимо поставить переключатель "Подпрограмма Записи" на "Без подпрограммы записи или только ИндивидПодпрЗап", а объект полномочий "&NC&" - "Без ГруппыПолномоч" (рис.SE11). Вариант кода отчета:
*&---------------------------------------------------------------------*
*& Report ZSM30 *
*&---------------------------------------------------------------------*
REPORT zsm30.
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b00 WITH FRAME TITLE text-000.
PARAMETERS: p01 RADIOBUTTON GROUP g00,
p02 RADIOBUTTON GROUP g00.
SELECTION-SCREEN END OF BLOCK b00.
*&-----------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-001.
PARAMETERS: p03 RADIOBUTTON GROUP g01,
p04 RADIOBUTTON GROUP g01.
SELECTION-SCREEN END OF BLOCK b01.
*&---------------------------------------------------------------------*
DATA: gv_tabname TYPE tabname,
gv_action.
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
* От нечего делать
MESSAGE 'Далее: F8 или Enter' TYPE 'S'.
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.
* Имя ракурса ведения
IF p01 = 'X'.
gv_tabname = 'ZTB_TEST'.
ELSE.
gv_tabname = 'YOUR_VIEW'.
ENDIF.
* Вид вызова
IF p03 = 'X'.
gv_action = 'S'. " Просмотр
ELSE.
gv_action = 'U'. " Ведение
ENDIF.
* Вызов диалога ведения
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
action = gv_action
view_name = gv_tabname
EXCEPTIONS
client_reference = 1
foreign_lock = 2
invalid_action = 3
no_clientindependent_auth = 4
no_database_function = 5
no_editor_function = 6
no_show_auth = 7
no_tvdir_entry = 8
no_upd_auth = 9
only_show_allowed = 10
system_failure = 11
unknown_field_in_dba_sellist = 12
view_not_found = 13
OTHERS = 14.
IF sy-subrc <> 0.
* Ошибка вызова диалога ведения
MESSAGE e000(su) WITH 'Ошибка №' sy-subrc 'вызова диалога ведения' gv_tabname.
ENDIF.
*&---------------------------------------------------------------------*
Если соотношение транзакция - количество таблиц для ведения равно 1:1, то еще проще создать транзакцию параметров на SM30 через SE93 (рис.SE93).