Hallo zusammen,
ich hoffe ihr könnt mir helfen. Zu meinem Problem:
Ich bekomme von einem Funktionsbaustein eine interne Tabelle vom Tabellentyp CRMT_EXTENSION2_WRKT und dem Zeilentyp CRMT_EXTENSION2_WRK geliefert.
Der Zeilentyp umfasst zwei Felder. Eines davon ist vom generischen Typ DATA. Zur Laufzeit ist die Tabelle vom Typ YTTYP000043 und der zugrunde liegende Zeilentyp vom YCRMA9995_PECT_WORK.
Unten seht ihr den Code, um die Daten zu lesen.
Code: Alles auswählen.
DATA:
ls_extension2_wrk TYPE crmt_extension2_wrk,
lt_extension2_wrkt TYPE crmt_extension2_wrkt.
FIELD-SYMBOLS: <fs_yttyp000043> TYPE yttyp000043,
<fs_ycrma9995_pect> TYPE ycrma9995_pect_work.
READ TABLE lt_partner INTO ls_partner WITH KEY ref_partner_fct = '00000009'.
IF ls_extension2_wrk IS NOT INITIAL.
UNASSIGN <fs_yttyp000043>.
ASSIGN ls_extension2_wrk-data->* TO <fs_yttyp000043>.
ENDIF.
IF <fs_yttyp000043> IS NOT INITIAL.
READ TABLE <fs_yttyp000043> ASSIGNING <fs_ycrma9995_pect> INDEX 1.
<fs_ycrma9995_pect>-yyaddress_guid = lv_address_guid.
<fs_ycrma9995_pect>-yybp_guid = ls_partner-bp_partner_guid.
ENDIF.
Im letzten IF werden der Struktur Werte zugewiesen, die ich ebenfalls im Programmcode ermittle (diesen hab ich hier jedoch weggelassen, da irrelevant).
Mein Problem ist nun, dass ich meine Werte nun einem Funktionbaustein übergeben muss, der ebenfalls einen generisches DATA möchte, dieses jedoch zur Laufzeit von einem anderen Typen ist!
Die Werte des Feldsymbols vom Typ YCRMA9995_PECT_WORK müssen nun in eine interne Tabelle übergeben werden, die vom Tabellentyp CRMT_EXTENSION2_COMT und Zeilentyp CRMT_EXTENSION2_COM ist. Dieser Zeilentyp wiederum verfügt über ein Feld vom generischen Typ DATA, der zur Laufzeit jedoch vom Tabellentyp YTTYP000045 und dem Zeilentyp YSTRUC000044 ist.
Ich habe schon einiges versucht, leider war davon bislang nichts erfolgreich. Mir ist bislang einfach nicht klar, wie ich meine Werte, die sich bislang im Feldsymbol fs_ycrma9995_pect befinden, wiederum in meine generische Tabelle (vom Typ YTTYP000045) bekomme. Alle Versuche haben bislang zu Typkonflikten oder zu Fehlern aufgrund von noch nicht allokiertem Speicherplatz geführt. Habt ihr Ideen bzw. kennt eine Lösungsmöglichkeit?
Vielen Dank schon im voraus für eure Hilfe!