Автор Тема: Пример вывода элемента "Картотека" для селекционного экрана 1000  (Прочитано 8504 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
В общем часто, если пишем отчет, а критериев выбора ну очень много, то первый экран превращается в длинный список из критериев, конечно можно сгруппировать критерии в блоки, но более кошерно и типа ну совсем по взрослому будет вывести сгруппированные критерии на экране используя элемент "Картотека", где каждая группа будет размещаться на своей закладке, тем более что это собственно говоря ну очень просто реализовать. Пример, программы шаблона приведен ниже. В примере, типа есть отчет по работе с документами ММ и реализовано 3 закладки, на первой данные заголовка, на второй данные позиции и на третьей данные относящие к формату вывода отчета.
Код: You are not allowed to view links. Register or Login
*&---------------------------------------------------------------------*
*& Report  YUUK_TEST_SELECT_SCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  yuuk_test_select_screen.
TABLES: mkpf, mseg, mara.
INCLUDE <icon>.

************************************************************************
* Объявление закладок на селекционном экране
SELECTION-SCREEN: BEGIN OF TABBED BLOCK tab000 FOR 5 LINES,
         TAB (35) text100 USER-COMMAND head DEFAULT SCREEN 100,
         TAB (35) text200 USER-COMMAND posit DEFAULT SCREEN 200,
         TAB (35) text300 USER-COMMAND varint DEFAULT SCREEN 300,
END OF BLOCK tab000.

* Данные для вывода на первой закладке, подэкран 100
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
SELECT-OPTIONS: p_mblnr FOR mkpf-mblnr,
                p_mjahr FOR mseg-mjahr.
SELECTION-SCREEN END OF SCREEN 100.

* Данные для вывода на второй закладке, подэкран 200
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
SELECT-OPTIONS: p_werks FOR mseg-werks,
                p_lgort FOR mseg-lgort,
                p_matkl FOR mara-matkl,
                p_matnr FOR mseg-matnr,
                p_charg FOR mseg-charg.
SELECTION-SCREEN END OF SCREEN 200.

* Данные для вывода на третьей закладке, подэкран 300
SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.
PARAMETERS    : alv_def LIKE disvariant-variant.
SELECTION-SCREEN END OF SCREEN 300.

************************************************************************
INITIALIZATION.
  CONCATENATE icon_header text-100 INTO text100 SEPARATED BY space.
  CONCATENATE icon_overview text-200 INTO text200 SEPARATED BY space.
  CONCATENATE icon_oo_attribute text-300 INTO text300 SEPARATED BY space.

************************************************************************
START-OF-SELECTION.

Объявляются закаладки и их размер в специальном блоке:
Код: You are not allowed to view links. Register or Login
SELECTION-SCREEN: BEGIN OF TABBED BLOCK <имя картотеки> FOR <ширина закладки в строках> LINES,
END OF BLOCK <имя картотеки>
К сожалению длина вывода картотеки устанавливается автоматически, вы регулируете только ширину.

Внутри каждая закладка определяется отдельно, с указанием текста и подэкрана. Текст к сожалению можно задать только через переменную, значение которой можно установить в секции INITIALIZATION.
Код: You are not allowed to view links. Register or Login
TAB (35) text100 USER-COMMAND head DEFAULT SCREEN 100,Затем уже отдельно определяются подэкраны с наборами критериев выбора.

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

PS: Пример как оно выглядит на картинках ниже, в общем если у вас пара десятков параметров перед запуском отчета, то вполне используйте картотеку для красоты своих отчетов.
PSS: Так же в примерах приведены символы текстовых переменных к примеру программы.
« Последнее редактирование: Декабрь 04, 2008, 01:32:41 am от Dmitriy »