Code: Alles auswählen.
CALL FUNCTION 'DDIF_NAMETAB_GET'
EXPORTING
TABNAME = gv_tabname
TABLES
DFIES_TAB = gt_itab
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
if sy-subrc = 1.
message e013 with gv_tabname.
elseif sy-subrc = 2.
message e004.
endif.
************************************************************************
* Interne Tabelle zur Quelltabelle aufbauen
************************************************************************
loop at gt_itab .
move: gt_itab-fieldname to ls_alv_cat-fieldname
, gv_tabname to ls_alv_cat-ref_table
, gt_itab-fieldname to ls_alv_cat-ref_field
, c_x to ls_alv_cat-lowercase
.
append ls_alv_cat to lt_alv_cat.
endloop.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_alv_cat
IMPORTING
ep_table = lv_qdref.
assign: lv_qdref->* to <fs_qtable>.
create data lv_zeile like line of <fs_qtable>.
assign lv_zeile->* to <fs_qwa>.
************************************************************************
* Tabellendaten in interne Tabelle schreiben
************************************************************************
select * from (gv_tabname)
into corresponding fields of table <fs_qtable>
for all entries in gt_sstfehler
where pan eq gt_sstfehler-pan
and id eq gt_sstfehler-id.
Code: Alles auswählen.
************************************************************************
* Quelldaten aus interner Tabelle wiederaufbauen
************************************************************************
try.
insert (gv_tabname) from table <fs_qtable>.
catch CX_SY_OPEN_SQL_DB into lv_oref.
rollback work.
message e024.
endtry.
Code: Alles auswählen.
Kurztext
Die Typen der Operanden "dbtab" und "itab" sind nicht ineinander konvertierbar.
[...]
Fehleranalyse
In einem Unicode-System muß für die Anweisung
"INSERT/UPDATE/MODIFY ... FROM wa"
der Typ des Operanden "dbtab" in den Typ des Operanden "itab" konvertierbar
sein. Unabhängig von der Länge eines Unicode-Zeichens müssen beide
Operanden dasselbe Struktur-Layout haben.
Im vorliegenden Fall ist diese Bedingung nicht erfüllt.