SAPфорум.RU https://sapboard.ru/forum/ |
|
Таблицы, где можно посмотреть состав BEX Query запроса https://sapboard.ru/forum/viewtopic.php?f=12&t=97268 |
Страница 1 из 1 |
Автор: | Pavlik [ Ср, янв 23 2019, 17:56 ] |
Заголовок сообщения: | Таблицы, где можно посмотреть состав BEX Query запроса |
Добрый день! Есть задача описать в файле из чего состоит каждая строка в BEX Query запросе. Все бы ничего, но строк более 700. Не хотелось бы вручную заходить в каждую и описывать. Возможно есть какие-то системные таблицы, где можно как-то вычленить данную информацию? Спасибо! |
Автор: | Air_demon [ Ср, янв 23 2019, 23:05 ] |
Заголовок сообщения: | Re: Таблицы, где можно посмотреть состав BEX Query запроса |
Добрый день. Описание элементов Bex-запроса и их взаимосвязей хранится в таблицах пакета RSZ. Кроме того есть транзакция RSRTQ, в которой в "плоском" виде можно посмотреть настройки запроса и выгрузить их в файл. |
Автор: | kilaka [ Чт, янв 24 2019, 12:51 ] |
Заголовок сообщения: | Re: Таблицы, где можно посмотреть состав BEX Query запроса |
если конкретнее: rsrrepdir - каталог запросов, в поле compid - технические имена запросов rszeltxref - таблица со связями технических id, важны поля seltuid и teltuid rszrange - собственно ограничения строки запроса rszcalc - формулы rszeltdir - каталог компонент репорта (интересно поле mapname) rszelttxt - тексты компонент репорта необходимо учитывать, что данные в таблице rszeltxref хранятся рекурсивно, то есть елемент из поля teltuid используется рекурсивно в поле eltuid Для получения данных первого уровня рекурсии можно использовать подобный запрос SELECT DISTINCT a~compid b~laytp d~eltuid x~txtlg d~iobjnm d~low e~mapname f~txtlg g~eltuid INTO TABLE lt_query FROM rsrrepdir AS a INNER JOIN rszeltxref AS b ON b~seltuid = a~compuid AND b~objvers = a~objvers INNER JOIN rszeltxref AS c ON c~seltuid = b~teltuid AND c~objvers = b~objvers INNER JOIN rszrange AS d ON d~eltuid = c~teltuid AND d~objvers = c~objvers LEFT OUTER JOIN rszeltdir AS e ON e~eltuid = d~low AND e~objvers = d~objvers LEFT OUTER JOIN rszelttxt AS f ON f~eltuid = d~low AND f~objvers = d~objvers AND f~langu = 'E' LEFT OUTER JOIN rszcalc AS g ON d~eltuid = g~eltuid AND d~objvers = g~objvers AND g~stepnr = '001' LEFT OUTER JOIN rszelttxt AS x ON x~eltuid = d~eltuid AND x~objvers = d~objvers AND x~langu = 'E' WHERE a~compid LIKE p_compid AND b~laytp <> 'NIL' AND b~laytp <> 'SHT' AND b~laytp <> 'FLT' AND a~objvers = 'A' AND b~objvers = 'A' AND c~objvers = 'A' AND d~objvers = 'A'. Второй уровень рекурсии: SELECT DISTINCT a~compid c~laytp d~eltuid x~txtlg d~iobjnm d~low e~mapname f~txtlg g~eltuid APPENDING TABLE lt_query FROM rsrrepdir AS a INNER JOIN rszeltxref AS b ON b~seltuid = a~compuid AND b~objvers = a~objvers INNER JOIN rszeltxref AS c ON c~seltuid = b~teltuid AND c~objvers = b~objvers INNER JOIN rszeltxref AS c2 ON c2~seltuid = c~teltuid AND c2~objvers = c~objvers INNER JOIN rszrange AS d ON d~eltuid = c2~teltuid AND d~objvers = c2~objvers LEFT OUTER JOIN rszeltdir AS e ON e~eltuid = d~low AND e~objvers = d~objvers LEFT OUTER JOIN rszelttxt AS f ON f~eltuid = d~low AND f~objvers = d~objvers AND f~langu = 'Е' LEFT OUTER JOIN rszcalc AS g ON d~eltuid = g~eltuid AND d~objvers = g~objvers AND g~stepnr = '001' LEFT OUTER JOIN rszelttxt AS x ON x~eltuid = d~eltuid AND x~objvers = d~objvers AND x~langu = 'Е' WHERE a~compid LIKE p_compid AND c~laytp <> 'NIL' AND c~laytp <> 'SHT' AND c~laytp <> 'FLT' AND a~objvers = 'A' AND b~objvers = 'A' AND c~objvers = 'A' AND c2~objvers = 'A' AND d~objvers = 'A'. и так далее ... Можно конечно красивее решить итерацией, но как-то руки до сих пор не дошли ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |