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

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


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

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


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

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