Текущее время: Чт, май 15 2025, 23:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: функция REUSE_ALV_GRID_DISPLAY
СообщениеДобавлено: Чт, окт 13 2005, 07:06 
Гость
где можно получить по ней инфу: как ей пользоваться, как настраивать используемые таблицы и др...?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 13 2005, 07:44 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 17 2004, 14:20
Сообщения: 326
Откуда: Москва
Первым делом в Function Builder'e можно нажать кнопочку Function module documentation...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 13 2005, 09:36 
Гость
Для версии 4.7

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

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

ГУРУ! Не судите строго - это для начинающих! :)


Code:

REPORT  ZALV_SHABLON                                .

TYPE-POOLS: SLIS, KKBLO.

FIELD-SYMBOLS: <WA>, <P> TYPE STANDARD TABLE.

DATA: ZAP TYPE REF TO DATA,
      PRN LIKE SY-REPID,
      T_DD02T LIKE DD02T,
      ZAGOL(90).

PARAMETERS:  N_TABL LIKE  DD02L-TABNAME OBLIGATORY.
*                  "Определение имени таблицы


START-OF-SELECTION.

  CLEAR: T_DD02T.
  SELECT SINGLE * INTO T_DD02T FROM DD02T
         WHERE TABNAME = N_TABL
             AND DDLANGUAGE = 'R'.

   IF T_DD02T-TABNAME IS INITIAL.
      WRITE:/ 'Не найдена таблица ', N_TABL.
      EXIT.
   ENDIF.

  PERFORM READDAN.

  PERFORM VALV.


*&---------------------------------------------------------------------*
*&      Form  READDAN
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM READDAN.

  IF <P> IS ASSIGNED.
     UNASSIGN <P>.
  ENDIF.
  CREATE DATA ZAP TYPE STANDARD TABLE OF (N_TABL).

  ASSIGN ZAP->* TO <P>.

  SELECT * FROM (N_TABL) APPENDING TABLE <P>.
*  Здесь идет выборка из таблиц БД

ENDFORM.                    "READDAN

*&---------------------------------------------------------------------*
*&      Form  VALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM VALV.
  PRN = SY-REPID.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM       = PRN
      I_SAVE                   = 'A'
      I_CALLBACK_USER_COMMAND  = 'USCOM'
      I_CALLBACK_PF_STATUS_SET = 'SETPF'
      I_STRUCTURE_NAME         = N_TABL
    TABLES
      T_OUTTAB                 = <P>.



ENDFORM.                    "VALV

*&---------------------------------------------------------------------*
*&      Form  SETPF
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->LT_EXTAB   text
*----------------------------------------------------------------------*
FORM SETPF USING LT_EXTAB TYPE KKBLO_T_EXTAB .

  SET PF-STATUS 'STANDARD_FULLSCREEN'.
*   " Меню, которое можно редактировать

  CLEAR: ZAGOL.
  ZAGOL = T_DD02T-TABNAME.
  CONDENSE: ZAGOL, T_DD02T-DDTEXT.
  CONCATENATE 'Таблица' ZAGOL T_DD02T-DDTEXT INTO ZAGOL
               SEPARATED BY SPACE.
  SET TITLEBAR '1' WITH ZAGOL.

ENDFORM.                    "SETPF


*&---------------------------------------------------------------------*
*&      Form  USCOM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->R_UCOMM      text
*      -->RS_SELFIELD  text
*----------------------------------------------------------------------*
FORM USCOM USING R_UCOMM     LIKE SY-UCOMM
                        RS_SELFIELD TYPE SLIS_SELFIELD.

  IF <WA> IS ASSIGNED.
    UNASSIGN <WA>.
  ENDIF.

  IF  RS_SELFIELD-TABINDEX > 0.
    READ TABLE <P> INDEX RS_SELFIELD-TABINDEX ASSIGNING <WA>.
  ENDIF.

  IF R_UCOMM = '&IC1' AND <WA> IS ASSIGNED.
*  Здесь идет обработка по двойному щелчку на запись
*  Данные о записи, на которую кликнули в переменной <WA>
  ENDIF.

  IF R_UCOMM = 'REFR'.
    PERFORM READDAN.
    RS_SELFIELD-REFRESH = 'X'.
* Обработка нажатия клавиши "Обновить"
  ENDIF.

  IF R_UCOMM = 'KOM1'.
*  Здесь идет обработка по нажатие на клавишу "Команда 1"
    IF <WA> IS ASSIGNED.
*      есть выделенная строка
*      Данные о записи, которую выделили  в переменной <WA>
    ELSE.
*      нет выделенной строки
    ENDIF.
  ENDIF.

  IF R_UCOMM = 'KOM2'.
*  Здесь идет обработка по нажатие на клавишу "Команда 2"
    IF <WA> IS ASSIGNED.
*      есть выделенная строка
*      Данные о записи, которую выделили  в переменной <WA>
    ELSE.
*      нет выделенной строки
    ENDIF.
  ENDIF.

  IF R_UCOMM = 'KOM3'.
*  Здесь идет обработка по нажатие на клавишу "Команда 3"
    IF <WA> IS ASSIGNED.
*      есть выделенная строка
*       Данные о записи, которую выделили  в переменной <WA>
    ELSE.
*      нет выделенной строки
    ENDIF.
  ENDIF.

ENDFORM.                    "USCOM


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

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


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

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


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

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