Текущее время: Сб, июл 19 2025, 22:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 09:34 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
Всем привет. Вопрос: Есть ли возможность в фм 'LVC_FILTER' при выборе определенного поля (к примеру MATNR), привязывать еще и наименование (MAKTX), т.е. менять средство поиска?

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 11:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Не совсем понял, что по итогу Вы хотите получить, но м.б. пример REUSE_FILTER_1 сможет помочь?
Hint: см. form callback_f4_help.

_________________
С уважением, В.Ш.
4.6C


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 11:41 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
такая ситуация: выбрал столбец MATNR, открывается экран с интервалом материалов (MATNR-LOW MATNR-HIGH), и когда я жмакою на SEARCH HELP, там выводиться список материалов (одно поле), а можно сделать так чтобы там и наименование высвечивалось )

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 12:01 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
FeBO-Sh написал:
такая ситуация: выбрал столбец MATNR, открывается экран с интервалом материалов (MATNR-LOW MATNR-HIGH), и когда я жмакою на SEARCH HELP, там выводиться список материалов (одно поле), а можно сделать так чтобы там и наименование высвечивалось )


А Вы пример посмотрели?

_________________
С уважением, В.Ш.
4.6C


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 12:59 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
вроде как смотрел, пока не пойму "REUSE_FILTER_1"

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 13:58 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
Кажись начинаю понимать...

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 14:00 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
FeBO-Sh написал:
вроде как смотрел, пока не пойму "REUSE_FILTER_1"


Вот и я так-же не пойму.

Наверное, я бы сделал так:
1. (Думается мне, что у Вас грид, который построен на CL_GUI_ALV_GRID, если это не так, то мой хрустальный шар врёт) Перехватил событие MC_FC_FILTER.
2. Вставил бы в свою программу кусочек из REUSE_FILTER_1 (вызов ФМ LVC_FILTER + form callback_f4_help.)
3. Адаптировал бы код callback_f4_help под свои нужды.
4. Активировал программу, посмотрел бы на плоды трудов своих.
5. Приступил бы к выполнению следующей задачи

FeBO-Sh написал:
Кажись начинаю понимать...
:pivo:

_________________
С уважением, В.Ш.
4.6C


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 16:16 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
И если позволите еще один вопрос: Вылетает в дамп не доходя до "callback_f4_help".
Если убераю "it_events = gt_events", все нормально.
Код:
Code:
 
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
      EXPORTING
            i_program_name         = g_repid
            i_structure_name       = 'ZHOS_INF_DOCS_STR'
            i_client_never_display = 'X'
            i_inclname             = 'FILTER1TOP'
       CHANGING
            ct_fieldcat            = gt_fieldcat[]
      EXCEPTIONS
           inconsistent_interface = 1
           program_error          = 2
           OTHERS                 = 3.                      "#EC *

  CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
    EXPORTING
      it_fieldcat_alv = gt_fieldcat[]
    IMPORTING
      et_fieldcat_lvc = lt_fieldcat[]
    TABLES
      it_data         = it_out
    EXCEPTIONS
      it_data_missing = 1
      OTHERS          = 2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
    CHANGING
      ct_fieldcat = lt_fieldcat[].

*& Определение выбранных столбцов
  REFRESH lt_selected_cols.
  CLEAR ls_selected_cols.

  LOOP AT tab100-cols INTO cxtab WHERE selected = 'X'.
    ls_selected_cols-fieldname = cxtab-screen-name+7.
    APPEND ls_selected_cols TO lt_selected_cols.
  ENDLOOP.

  DATA: gt_events TYPE lvc_t_evts.
  DATA: ls_events TYPE lvc_s_evts.
  CALL FUNCTION 'LVC_FILT_EVENTS_GET'
       IMPORTING
            et_events       = gt_events
*    EXCEPTIONS
*         LIST_TYPE_WRONG = 1
*         OTHERS          = 2
            .
  ls_events-form = 'CALLBACK_F4_HELP'.
  MODIFY gt_events FROM ls_events INDEX 1 TRANSPORTING form.

*&-----------------------------------------------------------------------------------*
*& Вызов ФМ фильтрации
  CALL FUNCTION 'LVC_FILTER'
       EXPORTING
            i_callback_programm    = g_repid
            it_fieldcat            =  lt_fieldcat[]
            it_selected_cols       = lt_selected_cols
*         IT_VALUE_UNIT          = LT_VALUE
*         IT_GROUPLEVELS         =
            is_layout              = ls_layout
*         IS_SELFIELD            = LS_SELFIELD
*         IT_GROUPS              = GT_GROUP
*         IS_FILT_LAYOUT         =
          it_events              = gt_events
*              i_ignoring_case      = p_ignore
       IMPORTING
            et_filter_index        = lt_filter_index
*         ET_GROUPLEVELS_FILTER  =
*         ET_FILTER_INDEX_INSIDE =
*         E_FILTER_FLAGNAME      =
       TABLES
            it_data                = it_out
       CHANGING
            ct_filter              = lt_filter
       EXCEPTIONS
            no_change              = 1
            OTHERS                 = 2.                     "#EC *

...

FORM callback_f4_help USING   lt_fieldtab TYPE t_dfies
                              lt_values TYPE t_values
                              r_fieldname TYPE rsdsfldnum.  "#EC *
  DATA:
    ls_fieldtab TYPE dfies,
    ls_values TYPE s_values.

  IF r_fieldname-fieldname = '1~MATNR'.
    CLEAR ls_fieldtab.
    REFRESH lt_fieldtab[].
    ls_fieldtab-tabname   = 'LT_VALUES'.
    ls_fieldtab-fieldname = '1~MATNR'.
    ls_fieldtab-reptext   = 'Номер материал'.                       "#EC NOTEXT
    ls_fieldtab-inttype   = 'C'.
    ls_fieldtab-intlen    = '18'.
    ls_fieldtab-outputlen = '18'.
    ls_fieldtab-lowercase = ''.
    APPEND ls_fieldtab TO lt_fieldtab.
    CLEAR ls_fieldtab.
    ls_fieldtab-tabname   = 'LT_VALUES'.
    ls_fieldtab-fieldname = '1~MAKTX'.
    ls_fieldtab-reptext   = 'Наименование материала'.             "#EC NOTEXT
    ls_fieldtab-inttype   = 'C'.
    ls_fieldtab-intlen    = '40'.
    ls_fieldtab-outputlen = '40'.
    ls_fieldtab-offset = '40'.
    ls_fieldtab-lowercase = ''.
    APPEND ls_fieldtab TO lt_fieldtab.
    SORT lt_values BY char.
  ENDIF.
ENDFORM.                    "Callback_F4_help

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 16:26 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Цитата:
И если позволите еще один вопрос: Вылетает в дамп не доходя до "callback_f4_help".


1. Что значит "не доходя" ? Открывается диалог для фильтрации и на f4 складывается дампом?

Цитата:
Если убераю "it_events = gt_events", все нормально.


2. Что значит "все нормально"? Нормально - это программа работает так, как задумано, или нормально - это программа выполняется без дампа?

_________________
С уважением, В.Ш.
4.6C


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 16:44 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
Ага, так и есть )

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 16:51 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
FeBO-Sh написал:
Ага, так и есть )


Сдаюсь :oops:

_________________
С уважением, В.Ш.
4.6C


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 17:02 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
))))) Шучу.

Цитата:
1. Что значит "не доходя" ? Открывается диалог для фильтрации и на f4 складывается дампом?

Экран открывается, а при нажатии на f4 вылетает в дамп.

Цитата:
2. Что значит "все нормально"? Нормально - это программа работает так, как задумано, или нормально - это программа выполняется без дампа?

Программа отрабатывает без вылета в дамп.
Code:
Краткий текст
    Program " " not found.
Что произошло?
    There are several possibilities:
    Error in the ABAP Application Program
    The current ABAP program "SAPLSLVC_DIALOG" had to be terminated because it has
    come across a statement that unfortunately cannot be executed.
    or
    Error in the SAP kernel.
    The current ABAP "SAPLSLVC_DIALOG" program had to be terminated because the
    ABAP processor detected an internal system error.
Анализ ошибки
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_PROGRAM_NOT_FOUND', was not
     caught in
    procedure "FILT_F4_SHOW10" "(FORM)", nor was it propagated by a RAISING clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    On account of a branch in the program
    (CALL FUNCTION/DIALOG, external PERFORM, SUBMIT)
    or a transaction call, another ABAP/4 program
    is to be loaded, namely " ".
...
>>>>>   call function 'F4IF_INT_TABLE_VALUE_REQUEST'

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'
СообщениеДобавлено: Пн, ноя 09 2009, 17:06 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Скорее всего переменная g_repid не заполнена надлежащим образом.

_________________
С уважением, В.Ш.
4.6C


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ 'LVC_FILTER'  Тема решена
СообщениеДобавлено: Вт, ноя 10 2009, 10:20 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
У меня возникает ощущение что второе поле в SEARCH HELP-е нельзя заполнить другими данными, поскольку данные для средства лежат в табличке LT_VALUES. Если изменить данные в LT_VALUES, я их и увижу, а нужно чтобы в первом поле были "МАТЕРИАЛЫ" а во втором поле были "Наименования". Пробовал разные варианты, и всегда одно и тоже, выводит в двух полях одно и тоже (Материалы). Или я не до конца понял, или это не возможно реализовать...

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


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

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


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

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


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

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