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 / 4271 / 213 / 1140 ) »
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

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

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141