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

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


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

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


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

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