Текущее время: Пт, июл 18 2025, 10:01

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Средство поиска
СообщениеДобавлено: Пн, май 01 2006, 14:45 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 23 2005, 13:28
Сообщения: 113
Откуда: Южно-Сахалинск
Народ подскажите плз. как сделать средсто поиска которое само будет выдавать доступные значения исходя из каких либо параметров.
Например:
alv_grid, в событии onf4(вызов средства поиска) определённого поля(БАНК партнёр)-выдаются все значения, но мне нужно их ограничивать, дабы выдавались только доступные значения банков партнёров привязанных к текущему контрагенту. Само значение текущего контрагента я получить могу, но как передать его в средство поиска?)))
:idea:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 01 2006, 16:50 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 16 2005, 10:29
Сообщения: 336
Откуда: Минск->Москва
Пол: Мужской
Нужно описать функцию по аналогии со следующим методом:
Code:
METHOD CallSHlp.
    DATA: lsSHlp TYPE shlp_descr_t,
          ltRetVal TYPE TABLE OF ddshretval,
          lsInterface TYPE ddshiface,
          lsRetVal TYPE ddshretval,
          ltParam TYPE PassParam.

    CLEAR: lsSHlp, ltRetVal, lsInterface.
    REFRESH ltRetVal.


    CHECK sy-subrc = 0.

    CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
         EXPORTING
           SHLPNAME = lHlpName
         IMPORTING
           SHLP     = lsSHlp
         EXCEPTIONS
           OTHERS   = 1.

    READ TABLE lsSHlp-interface
        WITH KEY shlpfield = lFldName
        INTO lsInterface.


    IF sy-subrc IS INITIAL.
      lsInterface-valfield = 'X'.
      MODIFY lsSHlp-interface FROM lsInterface INDEX sy-tabix.
    ENDIF.

    CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
           EXPORTING
             SHLP          = lsSHlp
           TABLES
             RETURN_VALUES = ltRetVal
           EXCEPTIONS
             OTHERS        = 1.

    READ TABLE ltRetVal INTO lsRetVal INDEX 1.
    IF SY-SUBRC = 0.
      lRet = lsRetVal-fieldval.
    ENDIF.

  ENDMETHOD.

declaration

CallSHlp
        IMPORTING
          lHlpName TYPE C
          lFldName TYPE C
        CHANGING
          lRet TYPE ANY.

Затем вызвать следующим образом

Code:
REFRESH ltParam.


  CLEAR ltParam.
  ltParam-FldName = 'RECN'.
  ltParam-DefaultVal = otab-lifnr.
  APPEND ltParam TO ltParam.

  IF NOT otab-zuonr IS INITIAL.
    CLEAR ltParam.
    ltParam-FldName = 'EXTNUM'.
    ltParam-DefaultVal = otab-zuonr.
    APPEND ltParam TO ltParam.
  ENDIF.

  CLEAR ltParam.
  ltParam-FldName = 'HBKID'.
  ltParam-DefaultVal = febko-hbkid.
  APPEND ltParam TO ltParam.

  CLEAR ltParam.
  ltParam-FldName = 'HKTID'.
  ltParam-DefaultVal = febko-hktid.
  APPEND ltParam TO ltParam.

  CLEAR ltParam.
  ltParam-FldName = 'MNUM'.
  ltParam-ValField = 'X'.
  APPEND ltParam TO ltParam.

  CLEAR ltParam.
  ltParam-FldName = 'LIFNR'.
  ltParam-ValField = 'X'.
  APPEND ltParam TO ltParam.

  CLEAR ltParam.
  ltParam-FldName = 'KUNNR'.
  ltParam-ValField = 'X'.
  APPEND ltParam TO ltParam.

  CLEAR ltParam.
  ltParam-FldName = 'BANKL'.
  ltParam-ValField = 'X'.
  APPEND ltParam TO ltParam.

  CLEAR ltParam.
  ltParam-FldName = 'BANKN'.
  ltParam-ValField = 'X'.
  APPEND ltParam TO ltParam.

  CALL METHOD cl_stuff=>CallSHlpExt
                                 EXPORTING
                                   lHlpName = 'ZDRAFT'
                                 CHANGING
                                   ltValues = ltParam[].


  READ TABLE ltParam WITH KEY FldName = 'MNUM'.
  IF sy-subrc = 0.
    otab-kidno = ltParam-retvalue.
  ENDIF.


ну и потом полученное значение после считывания из таблицы ltParam вывести на экран...

ОГраничение устанавливается через вот эту конструкцию:
Code:
CLEAR ltParam.
  ltParam-FldName = 'HKTID'.
  ltParam-DefaultVal = febko-hktid.
  APPEND ltParam TO ltParam.


Смотреть где встречается в в коде выше...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 03 2006, 08:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 23 2005, 13:28
Сообщения: 113
Откуда: Южно-Сахалинск
ok. спасибо.


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

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


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

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


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

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