SPALTEN INTERNER TABELLEN NACHEINANDER AUSLESEN mit einer lOOP.

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

SPALTEN INTERNER TABELLEN NACHEINANDER AUSLESEN mit einer lOOP.

Beitrag von Geny (ForumUser / 16 / 4 / 0 ) »
Hallo Leute ,
wie kann ich spalten einer interner Tabelle nacheinander auslesen

Code: Alles auswählen.

ls_object-vater = 'xyz'.
ls_object-kind = 'abc'.
APPEND ls_object TO lt_object.

CLEAR ls_object.

ls_object-vater = 'xyz'.
ls_object-kind = 'fcf'.
APPEND ls_object TO lt_object.

CLEAR ls_object.

ls_object-vater = 'xyz'.
ls_object-kind = 'dfr'.
APPEND ls_object TO lt_object.

LOOP AT lt_object into ls_object.

endloop
ich lese nur die erste Spalte. Die andere lassen sich nicht auslesen.
Bitte könnten sie mir helfen
Danke

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


Re: SPALTEN INTERNER TABELLEN NACHEINANDER AUSLESEN mit einer lOOP.

Beitrag von Aba ( / / 0 / 3 ) »
Hallo Geny,

du kannst einfach die Spalten auslesen, indem du den Spaltennamen im Loop angibst.

Code: Alles auswählen.

loop at lt_object into ls_object.
      data(lv_vater) = ls_object-vater.
      data(lv_kind) = ls_object-kind.
endloop.
So würdest du jeweils die Einträge bekommen.

Folgende Benutzer bedankten sich beim Autor Aba für den Beitrag:
Geny


Re: SPALTEN INTERNER TABELLEN NACHEINANDER AUSLESEN mit einer lOOP.

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Und wenn wir schon bei moderner Schreibweise sind: Anstelle des altertümlichen

Code: Alles auswählen.

ls_object-vater = 'xyz'.
ls_object-kind = 'abc'.
APPEND ls_object TO lt_object.
solltest Du Dir gleich die zeitgemäße Schreibweise

Code: Alles auswählen.

APPEND VALUE #( vater = 'xyz'
                kind  = 'abc' ) TO lt_object.
angewöhnen. Kürzer, besser zu lesen, und Du brauchst die Workarea ls_object nicht mehr.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Geny


Re: SPALTEN INTERNER TABELLEN NACHEINANDER AUSLESEN mit einer lOOP.

Beitrag von msfox (Specialist / 304 / 50 / 62 ) »

Code: Alles auswählen.

lt_object = value #( ( vater = 'xyz' kind = 'abc' )
                              ( vater = 'xyz' kind = 'def' )
                              ( vater = 'xyz' kind = 'ghi' ) ).
Loop at lt_object assigning field-symbol(<wa_object>).
     write <wa_object>-vater. 
     write <wa_object>-kind.
endloop.

Folgende Benutzer bedankten sich beim Autor msfox für den Beitrag:
Geny



Re: SPALTEN INTERNER TABELLEN NACHEINANDER AUSLESEN mit einer lOOP.

Beitrag von Geny (ForumUser / 16 / 4 / 0 ) »
Vielen Dank für die Antworten.

ich habe getestet klappt. Aber,wenn ich die Funktionsbausteine(für die Erzeugung von Nummer Range auf der NRIV Tabelle) anrufe , lese ich nur die erste Werte . die andere sind nicht vorhanden in die Tabelle NRIV
anbei mein Programm. Bitte könnten Sie mir noch helfen?

Danke
Geny

Code: Alles auswählen.

lt_object = value #(

                            (  object = 'J_1IG_ODN'  subobject = 'CDP018' )
                              ( object = 'J_1IG_ODN'  subobject = 'GDG018' )
                              (  object = 'J_1IG_ODN' subobject = 'GDR018' )
                              ( object = 'J_1IG_ODN ' subobject = 'GKG018')
                              (  object = 'J_1IG_ODN ' subobject = 'GKG018')
                              ( object = 'J_1IG_ODN ' subobject = 'GST018')
                              ( object = 'J_1IG_ODN ' subobject = 'VDP01')
                                           ).

*****************End Test***********************************************


* Call this to reload internal tables (esp. isobj with
* ugmd200s

********************
LOOP AT lt_object  assigning field-symbol(<wa_object>)."INTO ls_object.
*  APPEND ls_interval.
*  CALL FUNCTION 'NUMBER_RANGE_UPDATE_INIT'
*    EXPORTING
*      object           = ls_object-object
*    EXCEPTIONS
*      object_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.

* enqueue
  CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
    EXPORTING
      object           = <wa_object>-object"ls_object-object
    EXCEPTIONS
      foreign_lock     = 1
      object_not_found = 2
      system_failure   = 3
      OTHERS           = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

* create number range

  CLEAR ls_interval.
  "P_Range'." gc_nrobj_range_val.
*     ls_interval-object = 'J_1IG_ODN'.


  ls_interval-subobject = <wa_object>-subobject."ls_object-subobject.
  ls_interval-nrrangenr = '01'.
  ls_interval-toyear = '1940'." Test Datum
  ls_interval-fromnumber = '0000000001'.
  ls_interval-tonumber = '9999999999'.
  ls_interval-externind = ''.
  ls_interval-procind = 'I'. " Insert



*  INSERT ls_interval INTO TABLE lt_interval.
*Append ls_interval   TO lt_interval.

  APPEND ls_interval.




  CALL FUNCTION 'NUMBER_RANGE_INTERVAL_UPDATE'
    EXPORTING
      object   = <wa_object>-object"ls_object-object "gc_nrobj_obj_val
*     SUBOBJECT                 = ls_object-subobject
    TABLES
      error_iv = lt_error
      interval = ls_interval. "lt_interval.
  CALL FUNCTION 'NUMBER_RANGE_UPDATE_CLOSE'
    EXPORTING
      object                 = <wa_object>-object"ls_object-object "  gc_nrobj_obj_val
    EXCEPTIONS
      no_changes_made        = 0
      object_not_initialized = 2
      OTHERS                 = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
*  * dequeue
CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
  EXPORTING
    object = <wa_object>-object."ls_object-object. "gc_nrobj_obj_val.
ENDLOOP.

Seite 1 von 1

Vergleichbare Themen

17
Antw.
7187
Views
Spalten Interner Tabellen nacheinander auslesen.
von JulDen » 13.02.2018 18:33 • Verfasst in ABAP® für Anfänger
1
Antw.
7887
Views
dynamische Spalten von interner Tabelle auslesen?
von Jinn » 14.05.2004 17:54 • Verfasst in ABAP® Core
4
Antw.
1324
Views
Einfügen zweier interner Tabellen in eine dritte mit LOOP
von alexkr. » 12.12.2017 11:11 • Verfasst in ABAP® für Anfänger
1
Antw.
1640
Views
Tabellen-Spalten auslesen/anzeigen lassen
von Lamerman » 06.04.2006 14:10 • Verfasst in Web-Dynpro, BSP + BHTML
5
Antw.
907
Views
Teilergebnis für mehrere Spalten in interner Tabelle
von GL1234 » 29.12.2020 15:39 • 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.