{O:78*\CLASS=CL_GUI_IRGENDWAS}

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
16 Beiträge • Seite 1 von 2 (current) Nächste
16 Beiträge Seite 1 von 2 (current) Nächste

{O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hallo zusammen!

weiß vielleicht von euch jemand zufällig, wie man an die "Objektnummerierung" der Klassen kommt, die im Debugger angezeigt werden?
Also z.B. {O:107*\CLASS=CL_ABAP_CLASSDESCR}

Danke und Gruß
Enno

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Willst du wissen, nach welchem System nummeriert wird?


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Nein. Nummeriert wird fortlaufend.
Ich will wissen, wie ich zu einem Objekt die Nummer herausbekomme, die im Debugger zum Objekt angezeigt wird.

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
"System-call objmgr getobjid" oder so ähnlich.
Hab jetzt leider kein System zur Hand wo ich nachschauen könnte. Kann dir dann morgen den genauen Aufruf posten.
Das hab ich beim Debuggen des Debuggers gefunden, weil ich für einige Anwendungen eine allgemeine ID für die Objektidentifizierung gebraucht hab.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Danke!

Hab's in der Zwischenzeit aber auch gefunden bekommen.. ;)

Code: Alles auswählen.

CL_OS_CA_COMMON=>OS_GET_INTERNAL_OID_BY_REF:

CALL 'OBJMGR_GET_INFO' ID 'OPNAME' FIELD 'GET_OBJID'
                       ID 'OBJID'  FIELD integer_oid
                       ID 'OBJ'    FIELD ref_to_object.
https://stackoverflow.com/questions/203 ... ity-number

Muss ich morgen mal ausprobieren

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Und wann könnte man diese Information jemals brauchen?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Ich benutze es für Logging-Informationen, "schwache" Subscriber Beziehungen wo das Objekt selbst für die Identifikation nicht benötigt wird und einiges mehr.
Da dadurch keine Zeiger zum Objekt selbst gespeichert werden, wird das Verhalten des Programms (z.B. beim Garbage Collecting) nicht beeinflusst.
Außerdem ist es gut für "Snapshots", wenn ich wissen will wie sich der interne Aufbau in einem Programm mit vielen Objekte (z.B. einer Linked-List) über die Zeit verändert ohne jetzt im Debugger hunderte Variablen gleichzeitig zu überwachen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
black_adept

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
black_adept hat geschrieben:Und wann könnte man diese Information jemals brauchen?
Zum Beispiel, um eine Übersicht zu erstellen, welche Controls in welchen Containern verbaut wurden (und diese auch im Debugger wiederzufinden ;) )

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
black_adept


Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
@ewx: Cool
@adt: Da du das loggst - werden "alte" Nummern eigentlich neu vergeben wenn der GarbageCollector das Objekt abgeräumt hat?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
black_adept hat geschrieben:@adt: Da du das loggst - werden "alte" Nummern eigentlich neu vergeben wenn der GarbageCollector das Objekt abgeräumt hat?
Soweit ich das gesehen hab, werden die Nummern aufsteigend vergeben.
Da man nicht sagen kann wann der GC wirklich greift (außer mit SYSTEM-CALL OBJMGR PERFORM GARBAGE COLLECTION), glaub ich nicht, dass hier "freie" Nummern erneut vergeben werden (können).
Was mir auch aufgefallen ist, dass sich die Nummern bei zwei "identen" Programmläufen nicht ändern. Es sei denn natürlich man erzeugt einmal "mehr" und ein anderes mal "weniger" Objekte.
Spannend wird es vermutlich erst, wenn man die Grenzen der Objekt ID (Integer) austestet. :evil:

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ewx

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
a-dead-trousers hat geschrieben:Spannend wird es vermutlich erst, wenn man die Grenzen der Objekt ID (Integer) austestet. :evil:
:D

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Mit einer globalen Klasse könnte man das bereits im Debugger-Scripting verwenden.
Schön wäre es natürlich, wenn man das auch irgendwie als "Tool" einbinden könnte.
Aber da habe ich mich noch nicht mit beschäftigt.

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
So. jetzt auch mit Variablennamen.

Wie das innerhalb einer Klasse funktioniert, weiss ich noch nicht.
Das sind globale Variablen, die per GET_GLOBAL_SYMBOLS zum Programm ermittelt werden.

Code folgt.

Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Zuletzt geändert von ewx am 28.08.2018 12:01, insgesamt 1-mal geändert.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
Thomas R.


Re: {O:78*\CLASS=CL_GUI_IRGENDWAS}

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
a-dead-trousers hat geschrieben:Spannend wird es vermutlich erst, wenn man die Grenzen der Objekt ID (Integer) austestet. :evil:
Habe grad die Info bekommen, dass bei ca. 66.000.000 Schluss ist.
Dump OBJECTS_TOO_MANY_HEADERS.

Hat dann in meinen Augen aber nichts mit der internen Nummerierung zu tun. Tippe eher auf Speicherbereiche.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
a-dead-trousers


Vergleichbare Themen

6
Antw.
2716
Views
class definition.
von LittleT » 11.09.2006 08:48 • Verfasst in ABAP Objects®
1
Antw.
1103
Views
Attributes of a class
von Alonso » 02.09.2005 12:22 • Verfasst in Web-Dynpro, BSP + BHTML
0
Antw.
933
Views
Top-Includes im Class-Builder
von mwcem » 27.06.2006 16:39 • Verfasst in ABAP Objects®
2
Antw.
3405
Views
Searching for Delimiter '/' and '\' as class constants
von ereglam » 02.03.2005 09:42 • Verfasst in Development Related
0
Antw.
4303
Views
Exception Class/Parameter für Constructor
von Thomas R. » 26.04.2013 20:45 • Verfasst in Tips + Tricks & FAQs

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.