Текущее время: Вс, авг 03 2025, 10:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: AT SELECTION-SCREEN ON VALUE-REQUEST FOR...
СообщениеДобавлено: Ср, окт 22 2008, 17:20 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Нужно сделать средство поиска для поля. Программа типа Include. Подскажите пожалуйста, можно ли как-то прописать этот блок в такого типа программе или как реализовать средство поиска для поля в таком случае.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 22 2008, 17:29 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Поиск valuerequest+search


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 22 2008, 17:53 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
На форуме полно информации о создании средств поиска. Вот только не могу найти случай с ситуацией, когда диррективу ON VALUE REQUEST прописать просто негде. Мне бы кто подсказал, в какое место тогда прилеплять средство поиска


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 22 2008, 18:20 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
VID написал:
На форуме полно информации о создании средств поиска. Вот только не могу найти случай с ситуацией, когда диррективу ON VALUE REQUEST прописать просто негде. Мне бы кто подсказал, в какое место тогда прилеплять средство поиска
В то самое и приляпывайте.
Прочитайте в конце концов соответствующие курсы - и по словарю, и вообще про программирование на ABAP.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 22 2008, 23:51 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
VID, ну вы прямо как маленький(-ая), ей богу... Что значит "негде прописать"? У вас что, в редакторе строчки закончились? Ну вы нажмите клавишу Enter, они дальше пойдут.

Зайдите в ABAP Editor (SE38 или SE80), меню Environment -> Examples -> ABAP Examples -> ABAP User Dialogs -> Selection Screens. Там масса примеров есть, на все случаи жизни. Вот, например, посмотрите report DEMO_SELECTION_SCREEN_EVENTS, это оттуда же.

Естественно, в Include это тоже можно сделать. Bместо вопросов "а можно ли?" просто возьмите и попробуйте. Ну появится вдруг синтаксическая ошибка, так вас же за это клавиатура током не ударит (надеюсь). :roll:

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 23 2008, 01:20 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Include - это просто куски текста вставляемых в программу в том месте где они объявлены, в любом случае выполняется не инклюд, а программа в которую он вставлен.
Для того чтобы найти программу - из SE38-Утилиты-Другие Утилиты-Главные программы, или журнал использования для инклюда.

И действительно "Что значит "негде прописать"?" берёте и пишете в любом подходящем месте инклюда.

дирректива ON VALUE REQUEST во внутреннем представлении фактически является подпрограммой такой же как любая FORM,
соответственно начинается она с её начала, а заканчивается перед объявлением любой другой аналогичной дерективы/подпрограммы...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 24 2008, 12:55 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
В принципе я в том случае обошелся просто созданием своего типа данных с перечислением в нем возможных значений. Повезло, что возможных значений оказалось 6 и они задавались вручную, а не лежали в табл и т.д.

Но за информацию спасибо всем, буду пробовать и так, на будущее пригодится. Надеюсь клава током не ударит за то, что я на ней такое набирать буду))

Еще раз всем спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 24 2008, 19:10 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
VID написал:
В принципе я в том случае обошелся просто созданием своего типа данных с перечислением в нем возможных значений. Повезло, что возможных значений оказалось 6 и они задавались вручную, а не лежали в табл и т.д.


Теперь мне сдается, что вы просто неправильно вопрос задали. Судя по всему, вы не знаете, не "где прописать", а как вызвать search help. Ну вот простой пример, буквально на днях делала. В таблице PRPS есть поле USR00, которое может быть использовано для любых пользовательских нужд. Естественно, стандартного s/h для него нет, т.к. там может храниться все, что угодно. Сам search help (ZPS_PRPS_USR00) мы создали свой (в SE11) и в транзакции его вызов был уже реализован в BADI, откуда я и скопировала код, чтоб не изобретать велосипед.

Можете изменить код под любое другое поле. Кроме того, есть много других FM для s/h, не обязательно использовать именно этот.

Code:
parameters    : p_vernr2 type n length 8.    " shadow PM number

* Call new search help for Shadow PM
at selection-screen on value-request for p_vernr2.

  perform shadow_pm_value_request changing p_vernr2.

*&---------------------------------------------------------------------*
*&      Form  shadow_pm_value_request
*&---------------------------------------------------------------------*
*       Shadow PM search help
*----------------------------------------------------------------------*
*      -->p_shadow_pm  - Shadow PM number (parameter)
*----------------------------------------------------------------------*
form shadow_pm_value_request changing p_shadow_pm.

  data: itab_return type standard table of ddshretval,
        wa_return type ddshretval.

  call function 'F4_FIELD_ON_VALUE_REQUEST'
    exporting
      tabname           = 'PRPS'
      fieldname         = 'USR00'
      searchhelp        = 'ZPS_PRPS_USR00'
    tables
      return_tab        = itab_return
    exceptions
      field_not_found   = 1
      no_help_for_field = 2
      inconsistent_help = 3
      no_values_found   = 4
      others            = 5.

  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  else.
    loop at itab_return into wa_return.
      p_shadow_pm = wa_return-fieldval.
      exit.
    endloop.
  endif.

endform.                    " shadow_pm_value_request

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


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

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


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

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


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

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