Datenbanktabelle bearbeiten

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Datenbanktabelle bearbeiten

Beitrag von miho (ForumUser / 46 / 10 / 0 ) »
Hallo zusammen,

über einen Funtkionsbaustein möchte ich eine beliebige Tabelle bearbeiten können. Dementsprechend habe ich hierfür einen Importparameter für die Tabelle und einen Importparameter für die zu ändernde Tabellenzeile, die im Laufe des Fubas den einzelnen Feldern einer generierten Struktur zugewiesen wird -> FieldSymbols.
Möchte ich diesen Eintrag dann in der Datenbanktabelle Einfügen oder Bearbeiten
wie z.B. über

Code: Alles auswählen.

INSERT (table) FROM <Dyn_Rec> 
MODIFY (table) FROM <Dyn_REC>
funktioniert das zwar, aber jedoch nicht korrekt, obwohl <Dyn_REC> der Datenbanktabellenstruktur identisch ist und beim Debuggen die richtigen Werte in den richtigen Felder anzeigt.
Weiß hierzu jemand einen Rat? Ich freue mich über jede Hilfe!!

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Datenbanktabelle bearbeiten

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

"es funktioniert zwar, aber nicht korrekt"

Was heißt das genau? Was funktioniert und was nicht? Ansonsten wirds bissl wie Kaffeesatz lesen! :D
Gruß,
der Matze

Re: Datenbanktabelle bearbeiten

Beitrag von miho (ForumUser / 46 / 10 / 0 ) »
Hallo Thanatos82,

genau so geht es mir auch! Das ist ja mein Problem. Aber ich habe inzwischen erfahren, dass sich das nicht verträgt: Fieldsymbols mit Datenbanken :( Aber ich probiers weiterhin und vielleicht komm ich ja noch auf eine genauere Problembeschreibung, wenn ich denn weiß, was das Problem ist.
Ich hatte z.B. eine dynamisch erstellte Tabelle von gleicher Struktur wie die der Datenbanktabelle, in der ich etwas ändern möchte.
Nachdem ich die dynamische Struktur <Dyn_Rec> gefüllt habe wird mir diese über den Debugger korrekt angezeigt wie in etwa:
Name: meinName
Info: InfoMitEinerBestimmtenLänge
so in etwa.
füge ich die dynamische Struktur dann z.B. über
INSERT (table) FROM <Dyn_Rec>
sieht der Eintrag in der Datenbank aber irgendwie so aus:
Name: meinName (<-- das erste Feld passt meistens noch!)
Index: mmtenLänge (Teile sind abgeschnitten!!! :cry: )

Ich versuch mich weiter am Kaffeesatzlesen^^

Re: Datenbanktabelle bearbeiten

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Stimmen den die Feldlängen der Felder der dynamischen Strukturen mit denen der Tabelle überein?
Gruß,
der Matze

Re: Datenbanktabelle bearbeiten

Beitrag von schubepe (ForumUser / 8 / 0 / 4 ) »
Wie erstellst du die dynamische Struktur? Versuche es mal so:

Data: wa_plan(50000) type c,
wa_tab type dfies-tabname.
field-symbols: <f_dataset> type any.

* Prepare work area
assign wa_plan to <f_dataset> casting type (wa_tab).

Re: Datenbanktabelle bearbeiten

Beitrag von miho (ForumUser / 46 / 10 / 0 ) »
die Feldlängen der Felder stimmen überein, da ich über den Fuba "Fieldinfo_get" - die Tabelle mit den Feldbezeichungen, Typen und Feldlängen erhalte, nach denen ich die Struktur dynamisch erstelle. Daran dürfte es eigentlich nicht liegen.
Muss ich das fieldsymbol für die Struktur über Create Data instanziieren? Wie in etwa

Code: Alles auswählen.

Create Data <Dyn_rec> TYPE REF TO (tableline) 
?

Re: Datenbanktabelle bearbeiten

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Nicht ganz!

Hier ein kurzer Auszug was du MÖGLICHERWEISE alles brauchen wirst

Code: Alles auswählen.

data:
  lr_line type ref to data,
  lr_table type ref to data.
field-symbols:
  <la_line> type any,
  <la_loop_line> type ANY,
  <la_table> type standard table.

Create Data lr_line TYPE (tableline).
create data lr_table TYPE STANDARD TABLE OF (tableline).

ASSIGN lr_line->* to <la_line>.
ASSIGN lt_table->* to <la_table>.

LOOP AT <la_table> ASSIGNING <la_loop_line>.
...
ENDLOOP.

LOOP AT <la_table> INTO <la_line>.
...
ENDLOOP.

* usw.
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

7
Antw.
7218
Views
Zahlungsvorschlag bearbeiten
von Gast » 07.01.2005 10:16 • Verfasst in Financials
3
Antw.
2679
Views
Printausgabe ALV bearbeiten
von kat_car » 04.12.2013 15:04 • Verfasst in ABAP® Core
5
Antw.
5143
Views
String bearbeiten
von ostpower » 19.04.2010 12:26 • Verfasst in ABAP® für Anfänger
3
Antw.
3883
Views
Spool bearbeiten
von actihippo » 29.07.2015 14:41 • Verfasst in ABAP® Core
1
Antw.
1289
Views
Selectionsbilder bearbeiten
von kostonstyle » 14.08.2008 14:45 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 5 Stunden von Bright4.5 3 / 1476
Regex in where
vor 6 Stunden von tar 6 / 143
Programm anlegen mit Vorlage
vor 22 Stunden von DeathAndPain 2 / 126
IT0024 Qualifikationen CP-ID
vor 22 Stunden von DeathAndPain 2 / 355

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 5 Stunden von Bright4.5 3 / 1476
Regex in where
vor 6 Stunden von tar 6 / 143
Programm anlegen mit Vorlage
vor 22 Stunden von DeathAndPain 2 / 126
IT0024 Qualifikationen CP-ID
vor 22 Stunden von DeathAndPain 2 / 355

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821