Privates Attribut anzapfen

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

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

Privates Attribut anzapfen

Beitrag von sapdepp (Specialist / 210 / 35 / 2 ) »
Hallo,

gibt es eine Möglichkeit, Daten aus einem Private Attribute anzuzapfen, hier im Beispiel die Fallnummer aus G_NFAL? Die Struktur G_NFAL ist zur Laufzeit gefüllt, der Wert steht astrein in G_NFAL-FALNR, doch die aufrufende Klasse hat keine brauchbare Methode, um an die Fallnummer zu gelangen. Die Daten stehen privat geschützt einzig unter Methode ME->HANDLE_HYBASE_CLICK.

Bild

Bild

Geht da was?

Lieben Dank und viele Grüße
sapdepp

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


Re: Privates Attribut anzapfen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Nein, und das ist auch gut so. Der Aufrufer soll das Attribut nicht verwenden, der Entwickler der Klasse hat sich was dabei gedacht. Zum Beispiel muss er alle Verwender berücksichtigen, wenn er das Attribut ändert.

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

Re: Privates Attribut anzapfen

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Das ist doch eine Z-Klasse. Bau eine Methode ein, die das Attribut ausliest und dir zurückgibt
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Privates Attribut anzapfen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
So wie ich ihn verstanden habe, will er genau das nicht - warum auch immer.


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

Re: Privates Attribut anzapfen

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
Für mich sieht das ja so aus, als erbt die Z-Klasse von der Standard-Klasse und da steht das private Attribut nicht zur Verfügung. Da nützt auch keine Methode in der Z-Klasse.

Viele Grüße, Tapio
...entwickelnder Berater...beratender Entwickler

Re: Privates Attribut anzapfen

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Da es sich um i.s.h.med handelt tue ich mir natürlich leicht im System nachzuschauen :wink:

@sapdepp:
Überlade die Methode DISPLAY_CONTROL und greif dir den Aufruf-Parameter I_NFAL für deine eigenen Zwecke ab.
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: Privates Attribut anzapfen

Beitrag von sapdepp (Specialist / 210 / 35 / 2 ) »
Hallo an alle,

vielen Dank für eure Antworten. Komme erst jetzt dazu, weil hier der Bär steppt.

CL_ISHMED_PATIENT_DATA_DISPLAY ist die Oberklasse. Die hat das private Attribut G_NFAL mit "meiner" Fallnummer im Bauch. ZCL_ISHMED_PATIENT_DATA_HEADER wurde von der Oberklasse abgeleitet – nicht von mir, sondern Cerner. Diese Z-Klasse hat kein Attribut G_NFAL im Bauch, die hat man wegrationalisiert. Im Debugging zeigt er ja auch das Attribut unterhalb der Klasse CL_ISHMED_PATIENT_DATA_DISPLAY an. Ich kann also in der Z-Klasse keine Methode einbauen, die G_NFAL ausliest, oder irre ich mich da? Ich gehe da mit Nutzer erp-bt absolut konform.

@ADT: Meinst du mit "überladen" redefinieren?

LG
sapdepp

Re: Privates Attribut anzapfen

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
sapdepp hat geschrieben:@ADT: Meinst du mit "überladen" redefinieren?
Ja und in der Redefinition speicherst du dir den Inhalt von I_NFAL in einer eigenen Variable ab.
Der Verwendungsnachweis zeigt, dass G_NFAL nirgendwo sonst schreibend verändert wird, daher ist gesichert, dass deine neue NFAL-Variable und die G_NFAL von CL_ISHMED_PATIENT_DATA_DISPLAY stets den gleichen Inhalt haben.

lg ADT
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: Privates Attribut anzapfen

Beitrag von sapdepp (Specialist / 210 / 35 / 2 ) »
Gruß, ADT,

das sieht gut aus. Ich habe den Inhalt der "Ober"-Methode DISPLAY_CONTROL kopiert, diese in der Z-Klasse redefiniert, das Coding und meine eigene G_NFAL eingefügt, und siehe da, es geht.

Danke für den Tipp. :up:

LG
sapdepp

Seite 1 von 1

Vergleichbare Themen

11
Antw.
5261
Views
Zugriff auf privates ALV Attribut
von Nordlicht » 12.11.2013 09:37 • Verfasst in ABAP Objects®
2
Antw.
2547
Views
BAdI Attribut
von Neuling_20 » 25.10.2012 09:42 • Verfasst in ABAP® Core
0
Antw.
1212
Views
RM - anchor Attribut ändern
von sap-ler » 22.06.2007 08:41 • Verfasst in Basis
7
Antw.
1569
Views
Private Attribut Aufrufen
von msentaburlar » 21.01.2020 15:09 • Verfasst in ABAP Objects®
3
Antw.
1951
Views
Protected Attribut füttern
von JohnLocklay » 12.10.2018 14:06 • Verfasst in ABAP Objects®

Ü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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140