cancel
Showing results for 
Search instead for 
Did you mean: 

Explain sql format and OpenSQL

Former Member
0 Kudos

Hi!

My problem is that if I want to use the "Enter SQL statement" functionality of st05, I have to enter my sql commands in a different format, than in my abap code.

The format in the abap code:

select * from sbook as a inner join scarr as b on acarrid = bcarrid

The format of st05:

SELECT T_00 . *

FROM "SBOOK" T_00 ,

"SCARR" T_01

WHERE ( T_01 . "MANDT" = '000' AND T_00 . "CARRID" = T_01 . "CARRID" ) AND

T_00 . "MANDT" = '000'

1, Is there a converion FM for this? How could I know the "explain format", without running st05 and executing my command?

2, Where can I find a log of SQL commands, that were actually sent to the database engine?

Actually this is not an Oracle specific problem, but I found no "general" database related forum.

thanks,

Tamas

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

Abap code is "generic", it does not depend on the database that is running below ( SQL Server, Oracle, MaxDB, DB2/6 )

But each of the mentioned databases can have a slightly different way of implementing the "SQL". The kernel will perform a transformation between the "generic" abap code and the specific database ( the database interface does it )

I do not think there is an easy way of knowing exactly how the transformation will be done as it does depend on several things, like SAP parameters.

As far as I know, the only way of knowing the exact methond to see the SQL parameters sent to the DB is to enable a trace.

From SAP an SQL trace with ST05.

From the DB, it can also be enable some tracing options.

But tracing everything can be "overkill", therefore, I would only do an ST05 trace for the specific transaction/report to be studied.

Answers (0)