Über feldsymbol loopen?

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

Über feldsymbol loopen?

Beitrag von Zubasa (ForumUser / 72 / 10 / 1 ) »
Hallo,

ich bin auf der Suche nach Hilfeeeeeeeee :cry: .

Und zwar habe ich versucht über eine zur Laufzeit erstellte Tabelle zu loopen? Bzw. über ein Feldsymbol das auf diese Tabelle zeigt.
Allerdings bekomme ich immer einen kurzdump(ohne fehlernachricht).

Dann wollte ich probieren in eine Schleife mit Read Table zu arbeiten und den Index zu benutzen das geht aber bei dieser Tabelle leider nicht.

Wie kann ich den sowas machen? Geht der Loop wirklich nicht? Kann mir jemand einen Beispiel zeigen, vorausgesetzt es geht überhaupt.

Grüße,
Zubasa

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


Re: Über feldsymbol loopen?

Beitrag von inab (ForumUser / 69 / 0 / 6 ) »
HAllo Zubasa,

so könntest Du es z.B. mit einem read machen:

Code: Alles auswählen.

data: lt_monthnames like t247 occurs 0.
field-symbols: <fs_monthn> type t247.
                                                                                                                                                                                                                                                               
CALL FUNCTION 'MONTH_NAMES_GET'
 EXPORTING
   LANGUAGE                    = g_kna1_re-spras
* IMPORTING
*   RETURN_CODE                 =
  TABLES
    month_names                 = lt_monthnames
 EXCEPTIONS
   MONTH_NAMES_NOT_FOUND       = 1
   OTHERS                      = 2
          .
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
                                                                                                                                                                                                                                                               
read table lt_monthnames  with key mnr = g_vbdkl-wadat+4(2) assigning <fs_monthn> .
lv_monthname = <fs_monthn>-ltx.
für den loop sähe es dann so aus:

Code: Alles auswählen.

data: lt_monthnames like t247 occurs 0.
field-symbols: <fs_monthn> type t247.
                                                                                                                                                                                                                                                               
CALL FUNCTION 'MONTH_NAMES_GET'
 EXPORTING
   LANGUAGE                    = g_kna1_re-spras
* IMPORTING
*   RETURN_CODE                 =
  TABLES
    month_names                 = lt_monthnames
 EXCEPTIONS
   MONTH_NAMES_NOT_FOUND       = 1
   OTHERS                      = 2
          .
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
                                                                                                                                                                                                                                                               
loop at lt_monthnames assigning <fs_monthn> .
...
endloop.

Re: Über feldsymbol loopen?

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Hallo Zubasa,

wenn du jemals als Entwickler mit Anwendern zu tun hast, für die du eine Programmkorrektur vornehmen sollst, wirst du diejenigen verfluchen, die dir Fehlermeldungen abgeben, die so aussagekräftig sind wie dein Posting.

Bitte poste deine Frage doch noch einmal.
Aber bitte mal mit etwas Coding, das dein Problem darstellt.
Und dazu gehören
a) die zugehörigen Datendeklarationen
b) in deinem Fall die Erstellung der dyn. Tabelle
c) die Zuweisung an das Feldsymbol
d) die Abbruchstelle.

Und es könnte auch nicht schaden, wenn du dein Problem in ein Beispielprogramm kopierst und dort alles Unwichtige rauskürzt, so dass ein Programm übrig bleibt was aus sehr wenigen Zeilen besteht aber dein Problem trotzdem nachvollziehbar macht.


Und um wenigstens eine deiner Fragen zu beantworten.
Geht der Loop wirklich nicht?
Doch
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Über feldsymbol loopen?

Beitrag von Zubasa (ForumUser / 72 / 10 / 1 ) »
Hi black_adept ,

joa du hast recht, ich bin leider ein wenig in Eile. (Aber dennoch habe ich mit der ersten Antwort die Hilfe bekommen, die ich brauchte :) )

Also hier nocheinmal mein Problem

Situation (Siehe Kommentare im Quellcode) :

Code: Alles auswählen.


 FIELD-SYMBOLS: <final_filled_table> TYPE ANY TABLE.

      DATA: s_component         TYPE abap_componentdescr,
            t_component         TYPE abap_component_tab,
            lo_struc            TYPE REF TO cl_abap_structdescr,
            lo_table            TYPE REF TO cl_abap_tabledescr,
            lv_column_name      TYPE string,
            ls_filter_cont_attr TYPE str_content_filter,
                  s_result     TYPE REF TO data,
                  t_result     TYPE REF TO data,


      s_component-type ?= cl_abap_typedescr=>describe_by_name( 'STRING' ).
      LOOP AT i_attr_name_list INTO s_column_na.   " Hier loop ich über eine Tabelle. Darin sind infos enthalten, wie die Spaltennamen in meiner zur Laufzeit zu erstellende Tabelle heißen sollen
        s_component-name = s_column_na-col_name.
        INSERT s_component INTO TABLE t_component. 
      ENDLOOP .


      lo_struc = cl_abap_structdescr=>create( t_component ).

      CALL METHOD cl_abap_tabledescr=>create
        EXPORTING
          p_line_type = lo_struc
        RECEIVING
          p_result    = lo_table.

      CREATE DATA s_result TYPE HANDLE lo_struc.    " Hier habe ich nun eine Struktur erstellt
      CREATE DATA t_result TYPE HANDLE lo_table.   " Und hier eine Tabelle

" Als nächste benutze ich ein Feldsymbol
 ASSIGN t_result->* TO <final_filled_table>.

" Nun wird die Tabelle gefüllt. Wie das passiert ist für meine Frage nicht relevant.
.........-> Tabelle gefüllt  :up: 

" Jetzt möchte ich über die Tabelle loopen und Einträge auswerten. Das habe ich nicht hinbekommen. Die Fehlermeldung habe ich nicht mehr, das ich das Problem jetzt gelöst  habe und ich nicht 
"mehr weis was ich falsch gemacht habe  :D .
" Auf jeden Fall muss es dann so weiter gehen....

FIELD-SYMBOLS: <fs_filled_table_struc> TYPE ANY TABLE,
                          <fs_value>                  TYPE any.
DATA: lv_final_name type string.

  LOOP AT <final_filled_table> ASSIGNING <fs_filled_table_struc>.

    CONCATENATE '<fs_filled_table_struc>-' gv_attribute_801 INTO lv_final_name.

    ASSIGN (lv_final_name) TO <fs_value> .

" Die nächsten drei Zeilen sind eigentlich unwichtig --> Hier mache ich was mit einer Drop Drown Liste
      gs_attr_value-text = <fs_value>. 
      gs_attr_value-key  = sy-tabix.
      APPEND gs_attr_value TO gt_attr_list.  " store current default value in table for drop-down-list
  ENDLOOP.
Das wars auch schon, ich hoffe jetzt ist es ein wenig klarer. Wobei das Problem eh schon gelöst ist.

Grüße,
Zubasaa

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2846
Views
Mit xsl:for-each über inner table loopen
von sapnup » 01.08.2016 14:15 • Verfasst in ABAP® für Anfänger
1
Antw.
433
Views
Select-Option Auswahl loopen
von kaim77 » 07.06.2023 18:54 • Verfasst in ABAP® für Anfänger
7
Antw.
2492
Views
Problem beim Loopen einer internen Tabelle
von kurdy91x » 14.08.2014 12:32 • Verfasst in ABAP® für Anfänger
1
Antw.
1200
Views
Feldsymbol
von Wigi » 21.02.2013 16:49 • Verfasst in ABAP® für Anfänger
9
Antw.
4922
Views
strukturkomponente als feldsymbol
von Pinguincommander » 10.08.2012 10:33 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 11 Stunden von Bright4.5 3 / 1485
Regex in where
vor 12 Stunden von tar 6 / 157

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 11 Stunden von Bright4.5 3 / 1485
Regex in where
vor 12 Stunden von tar 6 / 157

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