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.
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.
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.
Da es sich um i.s.h.med handelt tue ich mir natürlich leicht im System nachzuschauen
@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.
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.
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.
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.