2010-01-22 6 views
5

Я знаю! «Правильный» способ читать STXL.CLUSTD - это функция SAP ABAP. Но, извините, мы плохо страдаем от проблем с производительностью. Мы уже приняли решение перейти непосредственно к базе данных (Oracle), и у нас нет никакого плана, чтобы отменить наше решение, так как до сих пор все стало намного лучше.Как декодировать текст SAP из STXL.CLUSTD?

Однако мы столкнулись с этой проблемой. Текст в поле STXL.CLUSTD хранился в непонятном формате. Мы не можем найти информацию о его формате кодирования через google. Кто-нибудь может намекнуть мне, как декодировать текст из STXL.CLUSTD?

Thanks

+0

Я не считаю, что ваша проблема с производительностью возникает из-за вызова READ_TEXT. Функциональный модуль довольно быстрый. Кроме того, в сеансе многократно читаемые тексты буферизуются. Вы сделали трассировку 'SAT' или' SE30' и проанализировали верхний список? – rplantiko

ответ

9

Краткая версия: У вас нет. Используйте функциональный модуль READ_TEXT.

Длинная версия: вы смотрите на так называемую таблицу кластеров. Для получения дополнительной информации см. http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3bf8358411d1829f0000e829fbfe/frameset.htm. Данные, которые вы видите, являются внутренним представлением текста, так или иначе связанным с тем, как ядро ​​ABAP обрабатывает данные внутренне. Эти данные не имеют никакого смысла без метаданных. Если вы измените исходную структуру несовместимым образом, данные больше не могут быть прочитаны. О, и я упомянул, что данные не содержат ссылки на метаданные? При чтении содержимого этих таблиц, даже в ABAP, вам нужно знать исходную структуру исходных данных, иначе вы обречены. Без метаданных и знаний о том, как ядро ​​обрабатывает эти типы данных во время выполнения, вам будет сложно расшифровать содержимое.

Личное мнение: прямой доступ к базе данных под системой SAP R/3 - очень плохая идея, так как это не только обходит все меры безопасности, но также делает вас очень уязвимыми для всех структурных изменений базы данных. Единственной реальной причиной непосредственного доступа к базе данных является отсутствие производительности, но отсутствие знаний (ABAP), и это должно быть излечимо :-)

+0

согласен. вы * не * присоединяете таблицы базы данных и * никогда * таблицу кластеров. –

+1

Хорошо. Я сдался. Я постараюсь убедить моего босса инвестировать больше ресурсов в ABAP. Спасибо – Sake

+0

У нас есть способ ABAP для извлечения данных кластера, но мы хотим использовать репликацию данных в реальном времени, и для этого ключом будет доступ к данным в таблицах кластеров. Так кто-нибудь, возможно, знает, как декомпрессировать поле VARDATA? Какое сжатие использует SAP? –

0

Вы можете определенно прочитать кластеры и пулы без использования какого-либо кода ABAP или вызвать RFC или BAPI и т. Д., Это очень хороший подход, высокопроизводительный и простой в использовании.

Мне не нравятся люди, порчущие их продукты в StackOverflow, но информация, которую вы должна использование ABAP для доступа к данным SAP устарела уже более 7 лет.

Спасибо,

Билл Маклин

  • Я только заметил эту тему, и я работаю для Simplement. Snow_FFFF правильный (BTW, этот пользователь не я, и ASFAIK не кто-то в нашей компании). Продукт Data Liberator для наших клиентов с 2009 года де-кластеризует и удаляет таблицы (и многое другое).
+0

Добро пожаловать в SO Bill. Вам не нужно подписывать свои ответы. Когда у вас есть немного больше репутации, вы можете добавлять комментарии к ответам других людей. –

+0

@Bill, есть ли SQL-код, который вы можете поделиться с нами, чтобы прочитать эти кластеры для текстовой информации – Eralper

 Смежные вопросы

  • Нет связанных вопросов^_^