SAPфорум.RU
https://sapboard.ru/forum/

BEx и виртуальные признаки
https://sapboard.ru/forum/viewtopic.php?f=12&t=92221
Страница 1 из 1

Автор:  Orgazm [ Пт, янв 22 2016, 12:14 ]
Заголовок сообщения:  BEx и виртуальные признаки

Добрый день!
Сразу оговорюсь что я не бивишник.

Есть у нас некий "виртуальный признак" Z_KAPPA
Сиды лежат в таблице /BIC/SZ_KAPPA - около 100 записей
В таблицах /BIC/MZ_KAPPA /BIC/PZ_KAPPA - только одна

Я пробую читать список его значений через ФМ - RSAU_READ_MASTER_DATA, но он мне возвращает только одну запись.
Мне сказали что раз это виртуальный признак, то есть другие ФМы для работы с ними.

Автор:  murmur [ Пт, янв 22 2016, 14:23 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

Виртуальный признак может иметь отношение к запросу, а может быть и инфо-провайдером, который тянет данные, например, из исходной системы. Если второе, то надо смотреть ФМ-ы, которые читают данные из инфо-провайдера, например, RSDRI_INFOPROV_READ.

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

Если же вам надо просто прочитать таблицу сидов признака (нет разницы виртуальный он или нет), то можете делать это напрямую без использования ФМ

Автор:  Orgazm [ Пн, янв 25 2016, 11:54 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

murmur написал:
Виртуальный признак может иметь отношение к запросу, а может быть и инфо-провайдером, который тянет данные, например, из исходной системы. Если второе, то надо смотреть ФМ-ы, которые читают данные из инфо-провайдера, например, RSDRI_INFOPROV_READ.

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

Если же вам надо просто прочитать таблицу сидов признака (нет разницы виртуальный он или нет), то можете делать это напрямую без использования ФМ

Спасибо за ответ!

Видимо у нас первый вариант, поскольку в rsa1 я вижу галочку "Признак является инфо-провайдером"
Я попробовал использовать ФМ RSDRI_INFOPROV_READ, загрузил демку, подставил туда свои значения, на что он мне ругнулся неким экспешном "inherited error", дальнейщие раскопки отладчика говорят что ловится CX_RS_VCUBE_READ_ERROR где то в недрах вызовов.
Понимаю что информации мало, но может подскажете куда еще копнуть?

Автор:  NewFolk [ Чт, янв 28 2016, 13:50 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

У вас как я понимаю не грузятся основные данные для данного признака.
В связи с этим М и Р таблицы пустые (одна запись скорее всего с пустым значением).

RSAU_READ_MASTER_DATA считывает данные из M* таблицы.

Если задача стоит в получении существующих кодов для данного признака, то стоит использовать простой SELECT из /BIC/SZ_KAPPA

Автор:  Orgazm [ Пн, фев 08 2016, 17:23 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

А есть еще какой нибудь ФМ для получения текстов значений признака? RSAU_READ_MASTER_DATA вроде как таблицы с текстами не возвращает...

Дело в том что не хотелось бы привязываться к имени таблицы и строить динамические селекты, поскольку предполагается некая универсальность, получать значения любых признаков.

Автор:  murmur [ Пн, фев 08 2016, 18:13 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

For business content characteristics: /BI0/T<Info object name>
For customer created characteristic: /BIC/T<Info object name>

Автор:  12ozmdm [ Вт, фев 09 2016, 07:35 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

попробуйте использовать класс CL_RSMD_RS_FACTORY
https://scn.sap.com/thread/3146990

Автор:  Orgazm [ Вт, фев 09 2016, 18:06 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

12ozmdm написал:
попробуйте использовать класс CL_RSMD_RS_FACTORY
https://scn.sap.com/thread/3146990

Спасибо! Отлично работает, даже сами данные виртуального признака тянет, не только тексты!

Автор:  Orgazm [ Ср, фев 10 2016, 17:23 ]
Заголовок сообщения:  Re: BEx и виртуальные признаки

Хех, возникла тут еще одна проблема, целый день почти колупаюсь.
Заставил работать этот класс и вытягивать универсально любые признаки, однако нивкакую не хочет читать time-dependent тексты.
Ставлю
Code:
l_r_rsmd_rs->set_key_date( sy-datum )

делаю read_data - такое впечатление что он ее вообще игнорирует и тянет тупо все тексты какие есть в признаке.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/