Skip to Content
4

Magic and a full class table

Mar 08, 2017 at 04:09 PM

211

avatar image

Hi,

Today I crossed paths with a humble table.

Looks like SE11 enabled redirects to the class builder if the class/table name is less than 16.

BUG reported and shared.

10 |10000 characters needed characters left characters exceeded

Pedro,

Both, your query and the way you posted the query with a video are very interesting.

Does new SCN supports video grabs too while posting a query ?

K.Kiran.

0
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Horst Keller
Mar 09, 2017 at 07:22 AM
6

There's a reason behind.

Dictionary types and classes/interfaces are both global types in ABAP and can be used behind TYPE REF TO ...

You cannot have dictionary types and classes/interfaces of the same name.

If you enter the name of a dictionary type in the class builder and try to create it as a class or interface you get an according message.

Another way around, you get that message too.

When you want to display the global type in SE11, the tool is friendly (maybe a bit eager) and navigates to the type's definition, i.e. the class builder for global classes or interfaces.

Not a bug!

PS: And that's why the names of global classes and interfaces as a rule should start with CL_, CX_, IF_, ...

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Hi Horst,

Thank you for your clear explanation, I got the point now and why I miss interpreted the situation.

.

1
Raghu Govindarajan Mar 08, 2017 at 04:46 PM
2

It redirects if it is a real class - for example try CL_SALV_TABLE.

It also redirects appropriately to views, structures, data elements, etc.... I don't think it is a bug, but a rather convenient hidden feature.

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Raghu,

Views, structures and data elements are dictionary components and so it makes sense the redirection on that range, the case above represents a problem since you can't create the table with the same name if the class exists.

2

Exactly,"you can't create the table with the same name if the class exists"!

And this is not a bug but a feature.

Dictionary types and classes/interfaces are both global types and belong to one namespace!

1