Hallo, liebe Experten,
habe ein (grundlegendes OO-) Problem mit Zuweisung einer Referenzvariable.
Thema i.s.h.med-Plantafel (Terminplanung in SAP):
Im vorhandenen Klassen-Interface CL_DEF_IM_ISHMED_PG_STYLE_APP gibt es die Methode STYLE_APP. Die habe ich in eine Z-Implementierung übernommen und ausprogrammiert. Alles gut soweit. Doch nun möchte ich zwei statische Zeitlinien einfügen. Dafür gibt es z. B. die Klasse CL_ISHMED_MSCHED_PG mit der Public-Methode SET_TIME_LINE_PG. Ziel ist es , diese in meine Z-Impl. zu übernehmen. Sie ist nicht in der Signatur (Übergabeparameter) der Z-Impl. enthalten.
Vorgehen:
Code: Alles auswählen.
DATA: lr_msched_pg TYPE REF TO cl_ishmed_msched_pg,
i_date TYPE NRESDATE,
i_time TYPE n1sched_time.
...
i_date = sy-datum.
i_time = '081500'.
CALL METHOD lr_msched_pg->SET_TIME_LINE_PG
EXPORTING
I_DATE = i_date
I_TIME = i_time
IMPORTING
E_RC = e_rc
CHANGING
CR_ERRORHANDLER = cr_errorhandler.
Das Ganze schmiert ab mit "Zugriff über 'NULL'-Referenz ...
Okay, dann schalte ich ein CREATE OBJECT davor.
CREATE OBJECT lr_msched_pg.
Und hier bricht das Ganze nun mit dem Dump ASSERTION_FAILED ab.
Meine Frage lautet: Wie kann ich mir unfallfrei die Methode SET_TIME_LINE_PG zu Nutze machen, um Zeitlinien in die Plantafel einzufügen? Das Problem ist, dass ich es schaffen muss, die Plantafelstruktur T_RES (vom Typ ISHMED_T_SCHED_RESID) mitzugeben, weil dort die gefüllten Spalten und Bezeichnungen drinstehen.
Hat jemand einen Vorschlag?
Danke und Gruß