tags:

views:

410

answers:

1

Currently we are interfacing our application with SAP. We are having a lot of performance problems with bapi/rfc approach. So recently we are trying "direct sql" approach to retrieve some data from SAP. Unfortunately, we've found that some of SAP table does not equipped with proper indices for our scenario.

We've tried creating index with SAPGUI, but found that the real "database index" was not actually created. Index created with direct DDL will later cause trouble with SAP transport mechanism.

What is the proper way to create an index in SAP database ?

(We are using SAP R3 on Oracle Database)

+3  A: 

The proper way to create index is using the SE11 transaction. It should be done in the development system. And transported to the QA and production systems.

Update to comment:
1. Make sure you have activated the table after the change. Go to the menu item Utilitys=> Versions or somthing like that to make sure your changes were activated.
2. You can use transaction SE14 to force the change ( But I think it's only for troubleshooting).
3. There are other troubleshooting steps that I don't remember. You can search for notes int sdn.sap.com or services.sap.com/notes.

Igal Serban
Yes it is. However from our inspection the real physical database index does not actually created with SE11. And we won't gain benefit from the index with direct sql query.
Sake
There is a somewhat loose connection between the "SAP schema" and the actual things going on at the database level. A lot of things happen in an abstraction layer that "removes" the differences between the different RDBMSs that SAP R/3 supports. If I can remember correctly, indexes are one of these. So there doesn't have to be a database index because you defined an index in se11 (even if there probably usually is).
IronGoofy
I'm allmost certain that SE14 should force the index unto the database. (After you've created it in SE11)
Esti