0

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 R/3 on Oracle Database)

Sandra Rossi
  • 11,934
  • 5
  • 22
  • 48
Sake
  • 4,033
  • 6
  • 33
  • 37
  • isn't it possible to just create an index in oracle? at the end of the day the data is just tables .. and ABAP program just use the tables .. and indexes do not alter table structures (database index is a data structure that improves the speed of data retrieval operations on a database table) ..? – miku Nov 28 '09 at 10:39
  • Yes. It's possible. We've already done that and it's actually work. But SAP has a special feature that it can "transport" configuration from on machine to another, like from test system to production system. And our consult told us that our index can disappear on transport process. – Sake Nov 28 '09 at 13:11
  • 1
    Can you elaborate what problems you are trying to solve by switching to "direct sql"? This is kind of a "last ditch effort", and I'm sure that there will be other things to try in improving the performance of your RFC/BAPI calls. (Use another question for this!) – Thorsten Nov 29 '09 at 21:43

1 Answers1

2

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
  • 10,558
  • 3
  • 35
  • 40
  • 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 Nov 29 '09 at 00:34
  • 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). – Thorsten Nov 29 '09 at 21:46
  • I'm allmost certain that SE14 should force the index unto the database. (After you've created it in SE11) – Esti Nov 30 '09 at 09:00