Как декодировать текст SAP из STXL.CLUSTD? - PullRequest
7 голосов
/ 22 января 2010

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

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

Спасибо

Ответы [ 2 ]

11 голосов
/ 22 января 2010

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

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

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

0 голосов
/ 25 августа 2016

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

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

Спасибо

Билл Маклин

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