Текущее время: Вт, июл 22 2025, 13:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема со средством поиска
СообщениеДобавлено: Пн, ноя 15 2010, 17:08 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Проблема такая. Имеется средство поиска, привязанное к полю через AT SELECTION-SCREEN ON VALUE-REQUEST FOR (SELECT-OPTIONS)-LOW.
Средство поиска вызывается через ФМ F4IF_START_VALUE_REQUEST и потом выбираются результаты из результирующей таблицы.
Когда эта схема отрабатывается первый раз, то все красиво садится в первую строчку диапазона, а когда у SELECT-OPTIONS нажимаешь кнопочку "Многократного выбора" и вызываешь справку для второй строки, то событие отрабатывает с ошибкой.
Вопрос, как определить, что справка вызвалась для другой строки SELECT-OPTIONS и как туда вставить результат выбора???
Может такую ситуацию вообще обрабатывать иначе???

Code:
    CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
         EXPORTING shlp          = shlp
         TABLES    return_values = return_values.

    READ TABLE return_values ASSIGNING <fs_ret>
      WITH KEY shlpname  = shlpname
               fieldname = 'PERNR'.
    IF sy-subrc EQ 0.
      GET CURSOR FIELD fieldname .
      ASSIGN (fieldname) TO <value> .
      <value> = <fs_ret>-fieldval .
    ENDIF.



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Вт, ноя 16 2010, 09:18 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Code:
      GET CURSOR FIELD fieldname .
      ASSIGN (fieldname) TO <value> .
      <value> = <fs_ret>-fieldval .

Так делать не надо. Просто присваивайте выбранное значение <fs_ret>-fieldval переменной (SELECT-OPTIONS)-LOW. (В Вашем случае)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Вт, ноя 16 2010, 09:22 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Согласен. Перемудрил с FIELD-SYMBOLS. Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Вт, ноя 16 2010, 09:23 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Просто, с параметрами такое прокатывает, а с SELET-OPTIONS получилось, что при вызове справки для последующих строк, после первой, в fieldname - чушь какая-то


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Вт, ноя 16 2010, 10:00 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 06 2008, 09:28
Сообщения: 418
Откуда: from Moscow
Пол: Мужской
а почему не сделать через SELECT-OPTIONS <ваше поле мн.выбора с указанным типом> MATCHCODE OBJECT <имя вашего СП>?

_________________
... плюс ко всему у меня руки из нужного места растут (c)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Вт, ноя 16 2010, 15:23 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Можно бы и так. И это самый простой способ.
Только в качестве справки у меня вызывается комплексное средство поиска. В котором у меня надо скрывать некоторые поля как на форме задания ограничений, так и в результирующей таблице.

Подобные танцы с бубном я реализовал так:
- блок AT SELECTION-SCREEN ON VALUE-REQUEST FOR...
1) Задаю значения по некоторым полям в средстве поиска
2) через MEMORY ID передаю таблицу типа ddshfprops с указанием полей, которые надо скрыть при выборе и выводе (те самые, по которым я задал первичные значения).

- в обоих средства поиска, что включены в комплексное, я добавил расширение, которое работает так:
1) Принимает и обрабатывает через MEMORY ID табличку типа ddshfprops. То есть, скрывает нужные мне поля.

Почему сделал так?
Если пытаться применить табличку типа ddshfprops к самому комплексному средству поиска, то это не подействует.
В элементарных средствах поиска указанные поля сокрыты не будут.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Вт, ноя 16 2010, 15:28 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Может кто предложит более красивый способ решения подобной проблемы?
Проблема просто в том, как указать в ФМ F4IF_START_VALUE_REQUEST, что я хочу скрыть поля не в комплексном СП, а в его элементарных?
В табличке типа ddshfprops нет указания на элементарное СП. Там вообще нет разделения, для кого ты задаешь ограничения, для комплексного или элементарного...


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

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Думаю проще сделать свое средство поиска и присвоить его через matchcode.
Сделать свое комплексное, включить туда элементарные которые менять не надо, у других сделать копии, запрограммировать их как вам нужно и получать нужный результат, а не костыли?

Может гуру и меня заодно просветят, почему это нехорошо?

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Вт, ноя 16 2010, 23:03 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Не понимаю, где вы тут увидели костыли? Полет нормальный.
Да и как, скажем сделать средство поиска на основе ракурса, объединяющего таблицы с инфо-типами по сотрудникам и с отсутствующими полями "начало-конец срока действия"???
Это чушь...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Ср, ноя 17 2010, 09:33 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 06 2008, 09:28
Сообщения: 418
Откуда: from Moscow
Пол: Мужской
Acid_Firewood написал(а):
Можно бы и так. И это самый простой способ.
Только в качестве справки у меня вызывается комплексное средство поиска. В котором у меня надо скрывать некоторые поля как на форме задания ограничений, так и в результирующей таблице.

Что-то не совсем понимаю, в чем проблема с указанием комплексного СП. Элементарные СП вы же сами сможете отредактировать и перечислить, какие поля вам необходимы. Ограничение значений можно реализовать и не через ракурс, а через свой ФМ для СП.

_________________
... плюс ко всему у меня руки из нужного места растут (c)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Чт, ноя 18 2010, 09:17 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Суть в чем. Есть 2 элем.СП. Они объединены в комп.СП.
Данные для элем.СП дают ракурсы, объединяющие таблицы по инфотипам HR.
У каждой таблицы инфо-типа м.б. свои временные интервалы (begda-endda).
Чтобы СП вывело нужную тебе запись, следует на экране выбора СП задать эти временные интервалы, а если я хочу, чтобы пользователю вывелась выборка только за определенный период (последняя актуальная запись в каком-то месяце), то следует эти интервалы задать, но поля скрыть (чтобы за другой период не выбрали случайно или специально). Эти поля можно скрыть программно, заполняя список скрываемых полей в таблице типа ddshfprop и передавая её в ФМ F4IF_START_VALUE_REQUEST.
Проблема в том, что у обоих элем.СП есть поля с датами, которые я задаю. Но эти элем.СП объединены в комп.СП и указание полей в таблице типа ddshfprop и передача её в ФМ F4IF_START_VALUE_REQUEST ничего не дают. Поля у элем.СП в комп.СП не скрываются.
Приходится к каждому элем.СП добавлять расширение, в которое через MEMORY ID передается и обрабатывается таблица типа ddshfprop, с указанием списка полей, которые следует скрыть.
Предложения некоторых коллег о создании "нормального" СП в словаре, со всеми заданными ограничениями - невозможны. Это HR таблицы. Тут такое не прокатывает. Останется куча одинаковых записей, но с разными периодами действия. А ограничить можно только через СП.

В общем, где-то так. БукАв, конечно, много...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Чт, ноя 18 2010, 09:21 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
art1m0n написал:
Что-то не совсем понимаю, в чем проблема с указанием комплексного СП. Элементарные СП вы же сами сможете отредактировать и перечислить, какие поля вам необходимы. Ограничение значений можно реализовать и не через ракурс, а через свой ФМ для СП.


Проблема в том, что если комплексному СП указывать, какие поля следует скрыть, эти поля он в своих элементарных СП не скрывает. Приходится сокрытием полей заниматься в расширениях к каждому элементарному СП.
А перелопачивать всю выборку в расширениях - это глупо. Мой вариант - задать ограничивающие значения в СП, а в расширении скрыть поля.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Чт, ноя 18 2010, 22:43 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Acid_Firewood написал(а):
Не понимаю, где вы тут увидели костыли? Полет нормальный.
Да и как, скажем сделать средство поиска на основе ракурса, объединяющего таблицы с инфо-типами по сотрудникам и с отсутствующими полями "начало-конец срока действия"???
Это чушь...

It's up to you what nonsence is. А костыли в том, что вы откидываете стандартные методы(создать средство поиска на базе стандартного и сделать свою обработку), потому что вам кажется, что это дурнее, но при этом пытаетесь сделать что-то, что изменит стандартный, т.е. подпираете конструкцию, чтобы она стояла ровно и в случае с вашей спецификацией.

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Чт, ноя 18 2010, 22:47 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Acid_Firewood написал(а):
Предложения некоторых коллег о создании "нормального" СП в словаре, со всеми заданными ограничениями - невозможны. Это HR таблицы. Тут такое не прокатывает. Останется куча одинаковых записей, но с разными периодами действия. А ограничить можно только через СП.

А почему для своего отчета нельзя создать собственное СП, присвоить его через matchcode object? И при чём здесь HR? Чего я не знаю?
upd. вы ведь создаете свою прогу для сбора данных, она к стандарту не относиться и привязываете её к полю, созданному вами в вашей программе. Это вообще стандарт не задевает никаким боком(HR тоже, т.к. такую выборку можно сделать хоть из PS'a, но надеюсь им это не понадобится).

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема со средством поиска
СообщениеДобавлено: Пт, ноя 19 2010, 08:59 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 06 2008, 09:28
Сообщения: 418
Откуда: from Moscow
Пол: Мужской
Acid_Firewood написал(а):
Суть в чем. Есть 2 элем.СП. Они объединены в комп.СП.
Данные для элем.СП дают ракурсы, объединяющие таблицы по инфотипам HR.
У каждой таблицы инфо-типа м.б. свои временные интервалы (begda-endda).
Чтобы СП вывело нужную тебе запись, следует на экране выбора СП задать эти временные интервалы, а если я хочу, чтобы пользователю вывелась выборка только за определенный период (последняя актуальная запись в каком-то месяце), то следует эти интервалы задать, но поля скрыть (чтобы за другой период не выбрали случайно или специально).

эти врем.интервалы вы задаете на экране к.средства?

_________________
... плюс ко всему у меня руки из нужного места растут (c)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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


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

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


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

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