**EDIT**
Hat sich mittlerweile erledigt.
Mein Fehler war, dass ich auf eine Datenbanktabelle ( Struktur ) verweise und nicht auf den Typ.
Ich habe eine Tabelle erstellet mit der Struktur von der Datenbanktabelle und somit gibt es den Konflikt nicht mehr.
Ich muss es aber eh wieder ändern, weil mein Kollege meinte, dass keine direkten Ändrungen gemacht werden sollen und ich lieber mit Fubas arbeiten soll.
Bis zum nächsten Problem
.
Hallo geehrte Helfer
Allgemein Aufgabenstellung:
Ich soll über ein Webdynpro auf eine Datenbanktabelle zugreifen.
Anzeige und Anpassungen (Neue Einträge, löschen von Alten usw.)
Im Layout habe ich ein Button angebunden um damit die Änderungen im Web Dynpro in der Tabelle zu übertragen und dann im Web Dynpro zu aktualisieren.
Das klappt auch wunderbar. Nur zum guten objektorientierten gehört es wohl solche Anweisungen in eine externe Klasse/ Methode aufzurufen.
Ich greife dynamisch drauf also nicht statisch. Die create object anweisung im Comp_Controller ist auch korrekt.
Der Aufruf:
Code: Alles auswählen.
data ls_rules type z_dt_rules.
data lt_rules type table of z_dt_rules.
call method wd_comp_controller->gr_change_itab_class->rules_insert
exporting
ls_rulesm = ls_rules
changing
lt_rulesm = lt_rules.
Die Methode:
Parameter sind entsprechend:
ls_rulesm importing Wertübergabe ist angewählt
lt_rulesm changing Wertübergabe ist angewählt
Code: Alles auswählen.
METHOD rules_insert.
INSERT z_dt_rules FROM ls_rulesm.
IF sy-subrc <> 0.
UPDATE z_dt_rules FROM ls_rulesm.
ENDIF.
SELECT * FROM z_dt_rules INTO lt_rulesm.
ENDSELECT.
ENDMETHOD.
Nach der Anpassung möchte ich quasi die Tabelle neu auslesen und im Web Dynpro darstellen.
-User schreibt eine neue Zeile
-drückt auf den Button "speicher und aktualisieren"
-Web Dynpro zeigt die veränderte tabelle.
Genau hier habe ich meine Probleme.
Methode ONACTIONEXITSAVE
"LT_RULES" ist nicht typkompatibel zum formalen Parameter
"LT_RULESM".
Code: Alles auswählen.
* get all declared attributes
lo_nd_to_rules_node->bind_table( lt_rules ).
Das Problem ist ist verständlich, nur finde ich keine Lösung.
Wie gesagt, solange ich direkt in der Methode die Select, insert und Update anweisung ausführe, funktioniert alles Einwandfrei. Gibt es bei der Parameterübergabe die Möglichkeit die Changingwerte als itab zu übergeben oder gehe ich das ganze grundsätzlich falsch an?