Code: Alles auswählen.
types:
begin of ts_object,
object type ref to ...
end of ts_object.
Code: Alles auswählen.
types: begin of my_insplot,
inspobj type ref to zcl_insplot,
end of my_insplot.
data: itab_objects type STANDARD TABLE OF my_insplot,
myobject type REF TO zcl_insplot,
wa_objects type my_insplot,
wa_fieldcat type lvc_s_fcat,
GT_FIELDCAT TYPE LVC_T_FCAT.
* Erzeugen meines Objektes welches auf dem Grid ausgegeben werden soll
create OBJECT myobject.
myobject->aufnr = '4711'.
wa_objects-inspobj = myobject.
* Objekt der Liste mit Referenzen anfügen
append wa_objects to itab_objects.
*Feldkatalog erstellen, auch versucht was passiert, wenn nur fieldname angegeben wurde
wa_fieldcat-fieldname = 'ZCL_INSPLOT->AUFNR'.
wa_fieldcat-ref_table ='AFKO'.
wa_fieldcat-ref_field = 'AUFNR'.
wa_fieldcat-coltext = 'Fertigungsauftrag'.
wa_fieldcat-seltext = wa_fieldcat-coltext.
wa_fieldcat-outputlen = '10'.
append wa_fieldcat to gt_fieldcat.
clear wa_fieldcat.
CREATE OBJECT r_container
EXPORTING
container_Name = 'CONTAINER_ALV'.
CREATE OBJECT R_Grid
EXPORTING
i_parent = R_Container.
CALL METHOD R_Grid->SET_TABLE_FOR_FIRST_DISPLAY
CHANGING
IT_FIELDCATALOG = GT_FIELDCAT
it_outtab = itab_objects.
Es scheitert momentan also an dem Feldkatalog. Folgendes habe ich schon als Fieldname versucht:Kategorie ABAP Programmierfehler
Laufzeitfehler GETWA_NOT_ASSIGNED
ABAP Programm SAPLSLVC
Anwendungskomponente BC-SRV-ALV
Datum und Zeit 11.12.2012 16:28:41
Kurztext
Feldsymbol ist noch nicht zugewiesen.
Code: Alles auswählen.
data: r_desc type ref to cl_abap_classdescr.
r_desc ?= cl_abap_typedescr=>describe_by_object_ref( wa_objects-inspobj ).
data: objname type string.
concatenate r_desc->absolute_name '->aufnr' into objname.
wa_fieldcat-fieldname = objname.
Muss '->aufnr' nicht UPPER-Case sein?codeknecht hat geschrieben:Code: Alles auswählen.
concatenate r_desc->absolute_name '->aufnr' into objname.
Ich würd's zumindest genau so machen.codeknecht hat geschrieben:Hallo Stefan,
ich schließe aus deiner Antwort, dass ich die Objekte nur indirekt ausgeben kann, indem ich zunächst eine neue interne Tabelle erzeuge. Diese enthält für jedes Attribut eine Spalte. Ich durchlaufe dann alle meine Objekte und schreibe die Werte in die entsprechenden Spalten.
Im PAI kümmere ich mich dann darum, das entsprechende Objekt zu finden und damit weiterzuarbeiten.
Siehst du noch eine andere Möglichkeit? Wenn nicht muss ich mich wohl damit zufrieden geben.