Тип транзакции для программы с диалоговым окном и тип отчета - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть программа с экраном выбора, которая производит alv grid.Сетка ALV имеет точку доступа, которая отправляет пользователя на новый экран, который позволяет пользователям редактировать данные на основе их выбора в сетке alv.

Эта программа имеет экран типа отчета (экран выбора) и диалоговое окно (третий экран), какой тип транзакции я должен создать (отчет или диалог).Так как мой стартовый экран является экраном выбора по умолчанию, должен ли он быть транзакцией отчета?Или я должен создать экран и сделать экран выбора подэкраном (если да, подскажите, пожалуйста, как мне это сделать и создать alv grid с этим).

Ответы [ 3 ]

0 голосов
/ 27 декабря 2018

Для простоты:
, если первая строка кода в логике вашей программы начинается с «REPORT», перейдите к транзакции «Report»;если нет, выберите тип транзакции в диалоговом окне.

Тип создаваемой транзакции в данном случае не должен иметь большого значения, поскольку номер экрана транзакции относится к экрану выбора (это '1000' по умолчанию).
Что касается типа программы (пул модулей / диалоговое окно или отчет), то оба варианта являются возможными для вашего требования.

Я предлагаю вам использовать диалоговую программу , если вы еще этого не сделали, поскольку они обеспечивают большую гибкость, и, как правило, лучшие практики и проще придерживаться их для большегосложные программы с несколькими экранами.


Отчеты и пулы модулей / диалоговые программы

Отчеты обычно используются для отображения / анализа данных из базы данных, тогда как диалоговые программы используются, когда данные имеютбыть обновленным.Другое отличие состоит в том, что отчеты можно запускать напрямую, а диалоговые программы можно выполнять только с помощью кода транзакции.

0 голосов
/ 27 декабря 2018

Первый тип отчета о программе Это должен быть отчет о транзакции.Вы также можете создать диалоговую транзакцию.Если вы записываете диалоговую транзакцию для первой программы ABAP, то вы можете объявить экран выбора как подэкран.

Ниже приведен пример экрана выбора как подэкран.

SELECTION-SCREEN : BEGIN OF SCREEN 1010 AS SUBSCREEN.
SELECTION-SCREEN :  BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETERS: rdb1 RADIOBUTTON GROUP rad1 DEFAULT 'X'.

SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: rdb2 RADIOBUTTON GROUP rad1,
            p_data TYPE c LENGTH 35 DEFAULT 'Reporting / Maintenance Data'.
SELECTION-SCREEN END OF LINE.
PARAMETERS     rdb3 RADIOBUTTON GROUP rad1.
PARAMETERS     rdb4 RADIOBUTTON GROUP rad1. " Membership Expiry Report
SELECTION-SCREEN :END OF BLOCK a.
SELECTION-SCREEN: END OF SCREEN 1010.

Вторая программа ABAPДиалог / Отчет

Вторая ABAP-программа может быть диалоговой или отчетной программой для редактируемого ALV. Если вы создаете диалоговую программу, то вам нужно создать транзакцию. Сообщите ABAP-программу, которую вы можете вызвать напрямую.

привет,

Умар Абдулла

0 голосов
/ 26 декабря 2018

Эта программа "имеет тип отчета", вы имеете в виду, что это "исполняемая программа" AKA "report", поэтому используйте транзакцию "report", так что, как вы, вероятно, пытались, что происходит?

ТолькоПервый экран представляет интерес для выбора типа транзакции.

Если это экран выбора, используйте транзакцию «отчет».

Если это общий экран, используйте «диалог»сделка.

...