Dynamische Feldzuweisung

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Dynamische Feldzuweisung

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo,

ich habe Probleme mit der dynamischen Zuweisung von Feldwerten. Für den Experten ist das sicher BLABLA, ich habe damit aber noch nicht so häufig gearbeitet.


1.) Möchte ich den Wert eines Feldes GV_XYZ dem Feld einer Struktur zuweisen, wobei ich das Zielfeld (XYZ-4711NN), NN ist numerisch von 1 bis 99, über die Berechnung der Stellen NN dynamisch ermitteln muss.

2.) Ist auch das Quellfeld dynamisch, der Name kommt als ABC-BLABLA aus dem Feld einer Tabelle wobei ich auch hier das Zielfeld (XYZ-4711NN), NN ist numerisch von 1 bis 99, über die Berechnung der Stellen NN dynamisch ermitteln muss.

Daran versuche ich mich schon eine ganze Zeit.

Kann mir jemand helfen?

Vielen Dank

Norbert

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


Re: Dynamische Feldzuweisung

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Vielleicht hilft dir ja folgendes kleines Beispiel:

Code: Alles auswählen.

report.

data:    begin of my_structure,
               fld01    type i,
               fld02    type i,
               fld03    type i,
               fld04    type i,
               fld05    type i,
               fld06    type i,
               fld07    type i,
               fld08    type i,
               fld09    type i,
         end   of my_structure.

data:    begin of component,
               root     type c length 3 value 'FLD',
               nr       type n length 2,
         end   of component.

field-symbols: <fldxx>  like my_Structure-fld01.

do 9 times.
   move sy-index to component-nr.
   assign component component of structure my_structure to <fldxx>.
   write: /01 component, <fldxx>.
enddo.

do 9 times.
   move sy-index to component-nr.
   assign component component of structure my_structure to <fldxx>.
   compute <fldxx> = sy-index * 10.
enddo.

uline.
do 9 times.
   move sy-index to component-nr.
   assign component component of structure my_structure to <fldxx>.
   write: /01 component, <fldxx>.
enddo. 

Folgende Benutzer bedankten sich beim Autor Dele für den Beitrag:
SAP_ENTWICKLER


Re: Dynamische Feldzuweisung

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo,

irgendwie hilft das nicht.

Code: Alles auswählen.

* Position übernehmen
    CONCATENATE gc_oustruc 'POS' gv_posit INTO gv_feldname.
    ASSIGN gv_feldname TO <fnamez>.
    gv_numc2 = gs_qmlbl-pos.
    ASSIGN (gv_numc2) TO <fnamez>.
<fnamez> habe ich den Namen des Zielfeldes in der Ausgabestruktur zugewiesen. gs_qmlbl-pos beinhaltet den Wert, der dorthin übertragen werden soll. Nach Adam Riese müsste nach Abarbeitung des Codings im GS_OUTDATA-POSNN der Wert des Feldes gs_qmlbl-pos stehen. Ist aber nicht der Fall. Die Richtigkeit der Namen habe ich überprüft.

Ich habe keine Idee mehr!!!!

Viele Grüße
Norbert

Re: Dynamische Feldzuweisung

Beitrag von Wann (ForumUser / 57 / 3 / 15 ) »
Das erste und zweite Assign gefällt mir nicht.
Das würde bei mir - ohne viel zu ändern - eher so aussehen:

CONCATENATE gc_oustruc 'POS' gv_posit INTO gv_feldname.
ASSIGN (gv_feldname) TO <fnamez>.
gv_numc2 = gs_qmlbl-pos.
<fnamez> = gv_numc2.

Folgende Benutzer bedankten sich beim Autor Wann für den Beitrag:
SAP_ENTWICKLER


Re: Dynamische Feldzuweisung

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Dein Coding ist mir nicht ganz klar, weil ich die Datendeklarationen nicht kenne.

data: begin of component,
root type c length 14 value ''GS_OUTDATA-POS',
nr type n length 2,
end of component.

move 01 to component-nr. "--> danach steht in component ''GS_OUTDATA-POS01'
assign (component) to <target_field>. "--> danch zeigt <target_field> auf ''GS_OUTDATA-POS01'
move "neuer Wert" to <target_field>. "--> danach steht in ''GS_OUTDATA-POS01 der neue Wert

move 02 to component-nr. "--> danach steht in component ''GS_OUTDATA-POS02'
assign (component) to <target_field>. "--> danch zeigt <target_field> auf ''GS_OUTDATA-POS02'
move "neuer Wert" to <target_field>. "--> danach steht in ''GS_OUTDATA-POS02 der neue Wert

Folgende Benutzer bedankten sich beim Autor Dele für den Beitrag:
SAP_ENTWICKLER


Seite 1 von 1

Vergleichbare Themen

4
Antw.
3942
Views
feldzuweisung in schleife
von simethandreas » 01.10.2009 14:25 • Verfasst in ABAP® für Anfänger
2
Antw.
1313
Views
Feldzuweisung in einem Select
von ermel » 25.07.2008 11:03 • Verfasst in ABAP® für Anfänger
17
Antw.
3751
Views
Hilfe! Feldzuweisung nach Select
von Nici » 09.06.2005 09:05 • Verfasst in ABAP® für Anfänger
3
Antw.
1825
Views
Dynamische SQL
von Gabriel99 » 22.06.2015 17:59 • Verfasst in ABAP® für Anfänger
1
Antw.
1399
Views
Dynamische Selektionsmaske
von dimes » 27.01.2009 09:55 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.