2009-11-28 2 views
0

В настоящее время мы взаимодействуем с нашим приложением с SAP. У нас много проблем с работой с использованием bapi/rfc. В последнее время мы пытаемся использовать метод «прямой sql» для извлечения некоторых данных из SAP. К сожалению, мы обнаружили, что некоторые таблицы SAP не имеют надлежащих показателей для нашего сценария.Как создать индекс в SAP?

Мы попытались создать индекс с помощью SAPGUI, но обнаружили, что реальный «индекс базы данных» на самом деле не был создан. Индекс, созданный с помощью прямого DDL, позже вызовет проблемы с механизмом транспорта SAP.

Каков правильный способ создания индекса в базе данных SAP?

(Мы используем SAP R3 на Oracle Database)

+0

Нельзя ли просто создать индекс в оракуле? в конце дня данные являются просто таблицами .. и программа ABAP просто использует таблицы .. и индексы не меняют структуры таблиц (индекс базы данных - это структура данных, которая улучшает скорость операций поиска данных в таблице базы данных). .? – miku

+0

Да. Возможно. Мы уже это сделали, и на самом деле это работает. Но SAP имеет специальную функцию, которая может «транспортировать» конфигурацию от машины к другой, например, от тестовой системы до производственной системы. И наш совет сказал нам, что наш индекс может исчезнуть в процессе транспортировки. – Sake

+1

Можете ли вы выяснить, какие проблемы вы пытаетесь решить, переключившись на «прямой sql»? Это своего рода «последнее усилие в канаве», и я уверен, что будут другие попытки попытаться повысить производительность ваших запросов RFC/BAPI. (Используйте другой вопрос для этого!) – Thorsten

ответ

2

Правильный способ создания индекса использует транзакцию SE11. Это должно быть сделано в системе развития. И транспортируется в ОК и производственные системы.

Обновления на комментарий:
1. Убедитесь, что вы включили таблицу после изменения. Перейдите к пункту меню Утилиты => Версии или что-то подобное, чтобы убедиться, что ваши изменения активированы.
2. Вы можете использовать транзакцию SE14 для принудительного изменения (но я думаю, что это только для устранения неполадок).
3. Существуют другие действия по устранению неполадок, которые я не помню. Вы можете искать заметки int sdn.sap.com или services.sap.com/notes.

+0

Да, это так. Однако из нашей проверки реальный индекс физической базы данных фактически не создается с помощью SE11. И мы не выиграем от индекса с прямым SQL-запросом. – Sake

+0

Существует довольно слабое соединение между «схемой SAP» и реальными вещами, происходящими на уровне базы данных. Многое происходит на уровне абстракции, который «удаляет» различия между различными СУБД, поддерживаемыми SAP R/3. Если я правильно помню, индексы являются одним из них. Таким образом, не обязательно должен быть индекс базы данных, потому что вы определили индекс в se11 (даже если это, вероятно, обычно). – Thorsten

+0

Я почти уверен, что SE14 должен заставить индекс к базе данных. (После того, как вы создали его в SE11) – Esti

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