LOOP funktioniert nicht :(

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

LOOP funktioniert nicht :(

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
HAbe wieder mal ein Problem mit meinem Feind....
Dem altbekannten LOOP :(

Wir sind einfach noch keine Freunde geworden....

Es geht hier um das Befüllen des FileDownload-UI-Elements in einer Web-Dynpro Anwendung über die Supply Methode:
Und zwar folgender Code der Web-Dynpro Anwendung.

Code: Alles auswählen.

*Daten von Knoten FileDownload
  DATA lo_nd_file_download_all TYPE REF TO if_wd_context_node.
  DATA lo_el_file_download_all TYPE REF TO if_wd_context_element.
  DATA ls_file_download_all TYPE wd_this->Element_file_download_all.
  DATA lv_file_download_all TYPE wd_this->Element_file_download_all-file_download_all.

*Hilfsstring
  DATA ld_object_string TYPE xSTRING.
* Variable des Converters
  Data lo_converter TYPE REF TO cl_abap_conv_out_ce.
*Daten von Knoten tabfilecontent
  DATA lo_nd_tabfilecontent TYPE REF TO if_wd_context_node.
  DATA lo_el_tabfilecontent TYPE REF TO if_wd_context_element.
  DATA lv_content_bin TYPE wd_this->Element_tabfilecontent-content_bin.
  DATA it_tabfilecontent TYPE TABLE OF wd_this->Element_tabfilecontent.
  DATA ls_tabfilecontent TYPE wd_this->Element_tabfilecontent.
*Daten von Knoten tabfileinfo
  DATA lo_nd_tabfileinfo TYPE REF TO if_wd_context_node.
  DATA lt_tabfileinfo TYPE wd_this->Elements_tabfileinfo.
  DATA lo_el_tabfileinfo TYPE REF TO if_wd_context_element.
  DATA ls_tabfileinfo TYPE wd_this->Element_tabfileinfo.

*   navigate from <CONTEXT> to <TABFILEINFO> via lead selection
  lo_nd_tabfileinfo = wd_context->get_child_node( name = wd_this->wdctx_tabfileinfo ).
  lo_nd_tabfileinfo->get_static_attributes_table( importing table = lt_tabfileinfo ).

*   navigate from <CONTEXT> to <TABFILECONTENT> via lead selection
  lo_nd_tabfilecontent = wd_context->get_child_node( name = wd_this->wdctx_tabfilecontent ).
  lo_nd_tabfilecontent->get_static_attributes_table( importing table = it_tabfilecontent ).

*Konvertierung
  TRY.
*Den Konverter Instanzieren
    lo_converter = cl_abap_conv_out_ce=>create( ).
* navigate from <CONTEXT> to <FILE_DOWNLOAD_ALL> via lead selection
    lo_nd_file_download_all = wd_context->get_child_node( name = wd_this->wdctx_file_download_all ).
* get element via lead selection
    lo_el_file_download_all = lo_nd_file_download_all->get_element( ).


    LOOP AT it_tabfilecontent INTO ls_tabfilecontent.
*FROM it_ui_TABLE-first_line TO it_ui_TABLE-last_line.
      CONCATENATE ld_object_string lv_content_bin INTO ld_object_string IN BYTE MODE.
    ENDLOOP.
    lv_file_download_all = ld_object_string.

  ENDTRY.

*Ergebnois in den Kontext stellen.
  node->bind_structure(
  new_item = ls_file_download_all
  set_initial_elements = abap_true ).
Die Daten kommen auch alle schön in iut_tabfielcontent an. Nur ls_Tabfilecontent wird laut Debugger gar nicht gefüllt (geschweige denn das Auskommentierte FROM ) und die Loop wird direkt übersprungen.
Was mache ich falsch?

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


Re: LOOP funktioniert nicht :(

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Normalerweise funktioniert ein LOOP dann nicht, wenn die Tabelle ueber die geloopt wird leer ist.

Entweder vorher abfragen mit

Code: Alles auswählen.

if lines( internal table ) > 0. 
oder hinter dem ENDLOOP mit

Code: Alles auswählen.

if sy-subrc = 4. "dann war Tabelle leer

Re: LOOP funktioniert nicht :(

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Ja also it_tabfilecontent ist gefüllt....
nur laut debugger kommen sie nie in der ls_tabfilecontent an..... Also das LOOP INTO funktioniert nicht...

Re: LOOP funktioniert nicht :(

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Trulchen hat geschrieben:Ja also it_tabfilecontent ist gefüllt....
nur laut debugger kommen sie nie in der ls_tabfilecontent an..... Also das LOOP INTO funktioniert nicht...

Vielleicht ist ja

Code: Alles auswählen.

DATA lt_tabfileinfo TYPE wd_this->Elements_tabfileinfo.
gar keine Tabelle, oder

Code: Alles auswählen.

  DATA ls_tabfileinfo TYPE wd_this->Element_tabfileinfo.
ist auch eine Tabelle?

Re: LOOP funktioniert nicht :(

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
Wo wird lv_content_bin gefüllt? So macht der Loop doch keinen Sinn!

Code: Alles auswählen.

    
    LOOP AT it_tabfilecontent INTO ls_tabfilecontent.
    
*     Fehlt hier nicht die Konvertierung, in etwa:
      MOVE ls_tabfilecontent TO lv_content_bin.

      CONCATENATE ld_object_string lv_content_bin INTO ld_object_string IN BYTE MODE. 
    ENDLOOP.
Gruß Hendrik

Re: LOOP funktioniert nicht :(

Beitrag von Trulchen (Specialist / 241 / 4 / 1 ) »
Stimmt ... habe ich auch gerade bemerkt,
Jetzt funktioniert es:

Code: Alles auswählen.

LOOP AT it_tabfileinfo INTO ls_tabfileinfo.
    LOOP AT it_tabfilecontent INTO ls_tabfilecontent FROM ls_tabfileinfo-first_line TO ls_tabfileinfo-last_line.
      CONCATENATE ld_object_string ls_tabfilecontent-content_bin  INTO ld_object_string IN BYTE MODE.
    ENDLOOP.
ENDLOOP.
DAnkeschön.

Jetzt muss ich mich nur noch drum kümmern warum nichts in der XML datei ankommt....

Re: LOOP funktioniert nicht :(

Beitrag von Duong (ForumUser / 2 / 0 / 0 ) »
Ich sehe hier keinen Zusammenhang zwischen Code und Frage.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2262
Views
LOOP funktioniert nicht
von ostpower » 07.01.2011 14:23 • Verfasst in ABAP® für Anfänger
17
Antw.
677
Views
LOOP AT funktioniert nicht
von abap_frischling » 16.02.2022 17:39 • Verfasst in ABAP® für Anfänger
1
Antw.
728
Views
4
Antw.
3458
Views
LOOP in einem LOOP
von Bjuti » 10.09.2013 15:18 • Verfasst in ABAP® für Anfänger
7
Antw.
2550
Views
Wie funktioniert der Z-Operator?
von DeathAndPain » 14.09.2017 18:10 • 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

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

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 / 68
Etikettendruck mit SmartForms
vor einer Woche von a-dead-trousers 2 / 70

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 / 165