Probleme mit Field Symbol

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

Getting started ... Alles für einen gelungenen Start.
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Probleme mit Field Symbol

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Hallo zusamen. Ich bin neu hier und hoffe Ihr koennt mir mit einem Problem weiterhelfen.


Ich habe eine workarea (wa). Diese besitzt 20 Komponenten, die alle bis auf die Endung gleich heissen. z. B.:   wa-text1, wa-test2... wa-text20 .Ich möchte nun anhängig vom Programmverlauf bestimmte Komponenten dynamisch lesen und prüfen.Ich habe es versucht mit einem FIELD-SYMBOL zu machen, doch ist mir dessen Benutzung nicht ganz klar.  

Code: Alles auswählen.

 LOOP AT ta_1 INTO wa_1.    
v_countnr = v_count.    
CONCATENATE 'text' v_countnr INTO v_komp.    
ASSIGN v_komp to <fs>.   
  if wa_1-<fs> <> ' '.     
   "Tu irgendwas*   
endif.    
v_count = v_count + 1.
Endloop.
 

Tausend dank bereits im Voraus.

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


Re: Probleme mit Field Symbol

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
So sieht man sich wieder ;)

Guck mal in der Hilfe von "ASSIGN COMPONENT".
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Probleme mit Field Symbol

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Hey schoen dich zu lesen. Ich habe danach bereits gesucht gehabt doch klar wurde mir das ueberhaupt nicht. Habe schon immer ein Problem damit gehabt. Ist es dir vielleicht zeitlich möglich mir dies einmal zu erläutern? Natürlich darf jeder andere dies auch gerne tun.

Re: Probleme mit Field Symbol

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Was an der Hilfe verstehst du denn nicht? Da stehen doch sogar Beispiele drin.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Probleme mit Field Symbol

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Mir ist nicht klar, wie ich es für mein Beispiel nutzen müsste. Aber ich schau es mir nochmal an. Mein Problem ist dabei, dass ich ja den zugewiesenen Wert ändern müsste. Aber wie gesagt ich schau es mir nochmal an. Dennoch danke schon mal

Re: Probleme mit Field Symbol

Beitrag von a-dead-trousers (Top Expert / 4274 / 213 / 1140 ) »
Hi!

Das sollte besser funktionieren und die Funktionsweise anhand deines Beispiels besser erklären:

Code: Alles auswählen.

LOOP AT ta_1 INTO wa_1.    
  DO 20 times.
    ASSIGN COMPONENT sy-index OF STRUCTURE wa_1 TO <fs>.
    IF sy-subrc EQ 0 and <fs> <> ' '.     
     "Tu irgendwas*   
    endif.   
  enddo. 
Endloop.
 
oder das ganze per Name:

Code: Alles auswählen.

LOOP AT ta_1 INTO wa_1.    
  DO 20 times.
    ld_name = sy-index.
    CONCATENATE 'text' ld_name INTO ld_name.
    CONDENSE ld_name NO-GAPS.
    ASSIGN COMPONENT ld_name OF STRUCTURE wa_1 TO <fs>.
    IF sy-subrc eq 0 AND <fs> <> ' '.     
     "Tu irgendwas*   
    endif.   
  enddo. 
Endloop.
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Kenny

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

Re: Probleme mit Field Symbol

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
LOOP AT ta_1 INTO wa_1.
v_countnr = v_count.
CONCATENATE 'text' v_countnr INTO v_komp.
ASSIGN v_komp TO <fs>.
IF wa_1-<fs> <> ' '.
"Tu irgendwas*
ENDIF.
v_count = v_count + 1.
ENDLOOP.
Jetzt mal ohne System "dahingerotzt":
field-symbols: <wa_1> like line of ta_1, <feld> type any.
loop at ta_1 assigning <wa_1>. "into ist für die Tonne!
do.
assign component sy-index of structure <wa_1> to <feld>.
if sy-subrc ne 0.
exit.
endif.
" Mach irgendwas mit dem Feld
enddo.
endloop.

Das Coding macht Folgendes:
Es Loopt über die Tabelle, in jedem Satz sucht es sich erst das erste Feld (sy-index = 1) und assigned zu <feld>. Wenn das nicht funktioniert (weil es das Feld nicht gibt, also sy-index > Spaltenzahl in der Tabelle), wird das DO verlassen und der nächste Satz genommen und die Nummer geht von vorne los, bis alle Sätze durchgeackert sind.

Solltest du Felder haben, in denen du das Verhalten nicht willst, musst du zwischen dem DO und dem ASSIGN COMPONENT die Fälle ausschließen. Nehmen wir an, das erste Feld in deiner Tabelle soll nicht wie codiert behandelt werden. Dann macht man

check sy-index ne 1.

und das Feld wird beim ASSIGN übersprungen.

Jetzt klarer?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Probleme mit Field Symbol

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Vielen lieben Dank Euch für die Erläuterungen.

Es hat mir wirklich geholfen. Ich probiere bzw. setze es gleich mal direkt auf meine eigenliche Anwendung um.
Nochmals vielen lieben Dank.

Wir können dies auf gelöst setzten, dank Eurer Beispiele, bis auf eine Frage :-)

Wieso ist "into ist für die Tonne!???

So habe ich es mal gelernt und obsolet ist es doch auch nicht, oder?

Lieben Gruß

Kenny

Re: Probleme mit Field Symbol

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
1. Es ist ein Laufzeit- und Speicherfresser (wobei Speicher das kleinere Problem ist)
2. Du musst mit "Modify" basteln,wenn du was ändern willst.

Beispiele:

LOOP at itab into wa_itab.
wa_itab-feld = 'X'.
modify itab from wa_itab.
ENDLOOP.

vs.

LOOP at itab assigning <itab>.
itab-feld = 'X'.
ENDLOOP.

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
Kenny

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Probleme mit Field Symbol

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Update,

dank Euerer Hilfe läuft mein Programm nun so wie ich es möchte. Jetzt habe ich auch endlich die HILFE dazu verstanden.
In dem zweitem Beispiel von a-dead-trousers » 03.04.2013, 17:48, muss der Text:

CONCATENATE 'text' ld_name INTO ld_name.

groß geschrieben werden, damit sein Inhalt als Name der Komponente interpretiert
wird, richtig? Danke nochmals.

Und Ralf, danke für die Erläuterung. Macht sogar für mich Sinn!:-)

Echt nette Leute hier und sehr kompetent! Anmeldung hier war eine super Idee!

Re: Probleme mit Field Symbol

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Kenny hat geschrieben:Echt nette Leute hier
Der Eindruck legt sich mit der Zeit. SCNR
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2900
Views
Dump bei Field-symbol
von tho_died » 24.06.2008 14:43 • Verfasst in ABAP® für Anfänger
8
Antw.
21618
Views
Field-Symbol und löschen von Tabellenzeilen
von UserBC » 07.12.2008 21:11 • Verfasst in ABAP® für Anfänger
1
Antw.
1215
Views
Field-Symbol als Importing Parameter
von tekko » 12.06.2021 18:23 • Verfasst in ABAP Objects®
2
Antw.
2340
Views
IMPORT FROM MEMORY mit Field-Symbol
von Somani » 09.09.2013 17:14 • Verfasst in ABAP® Core
3
Antw.
14034
Views
Wie Field Symbol für Struktur generisch typisieren?
von Michael71 » 14.02.2012 16:03 • Verfasst in ABAP Objects®

Ü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

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 4 Tagen von jocoder 2 / 66
Etikettendruck mit SmartForms
vor einer Woche von a-dead-trousers 2 / 67

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

PDF-Anzeige unter EDGE
vor 4 Tagen von jocoder 2 / 66
Etikettendruck mit SmartForms
vor einer Woche von a-dead-trousers 2 / 67

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Wochen von Lucyalison 1 / 129
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 164