Dynamisch erzeugte Tabelle füllen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Dynamisch erzeugte Tabelle füllen

Beitrag von reinhold_j (ForumUser / 29 / 0 / 0 ) »
Hallo, ich muss folgendes lösen:
mittels der Methode create_dynamic_table der Klasse cl_alv_table_create habe ich mir eine int. Tabelle erstellen lassen.

Diese Tabelle möchte ich nun aus einer anderen Tabelle befüllen.
Ich habe folgendes gemacht:

Code: Alles auswählen.

FIELD-SYMBOLS: <fs_sendfile> TYPE ANY TABLE.

Code: Alles auswählen.

      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog           = gt_fieldcat
        IMPORTING
          ep_table                  = gt_sendfile
        EXCEPTIONS
          generate_subpool_dir_full = 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.
      ELSE.
        ASSIGN gt_sendfile->* TO <fs_sendfile>.

        IF sy-subrc = 0.
*        Move basic output data table with dynamic structure
          LOOP AT gt_basic INTO gs_basic.
            ?????
          ENDLOOP.
1. Ich habe in der Doku folgendes gelesen:
Falls die Datenreferenz in gt_sendfile initial oder ungültig ist, ist keine Dereferenzierung möglich. Dann wird das Feldsymbol nicht geändert und sy-subrc auf vier gesetzt.
-> meine dyn. Tabelle gt_sendfile ist beim ASSIGN auch initial, ist die Dereferenzierung dann trotzdem möglich, oder hat das Eine mit dem Anderen nix zu tun?
2. Ich muss nur einige (jedes mal unterschiedliche) Spalten meiner int. Tab. GT_BASIC an die dyn. Tab. (die genau die benötigten Felder beinhalten sollte) übergeben bzw. appenden. Hilft mir hier evtl. ASSIGN COMPONENT ... OF STRUCTURE ... TO ... ??? Wie Appende ich die Inhalte?

Ich hoffe ich habe mein Problem einigermaßen verständlich rüber gebracht!?

Viele Grüße
Josi

PS: Zur Info (falls das die mögliche Lösung beeinflusst), ich muss hier momentan (noch) mit einem 4.6B System arbeiten.

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


Beitrag von Flo (Specialist / 161 / 0 / 0 ) »
Wir benutzen auch die Methode um eine dynamische Tabelle zu erzeugen. Bei uns wird die Tabelle folgendermassen gefüllt:

Code: Alles auswählen.

  
  FIELD-SYMBOLS: <rows> TYPE STANDARD TABLE,
                 <row>  TYPE ANY,
                 <blnum> type blnum.
  ASSIGN _rows->* TO <rows>.
  DATA row TYPE REF TO data.
  CREATE DATA row LIKE LINE OF <rows>.
  ASSIGN row->* TO <row>.
  ASSIGN COMPONENT 'BLNUM' OF STRUCTURE <row> TO <blnum>.
    <blnum> = 123415.
    APPEND <row> TO <rows>.
Nur exemplarisch wie man das Feld BLNUM füllen würde.
Das CREATE DATA brauch man um eine Datenzeile zu erzeugen die dann angehänbgt werden kann.
_rows ist der Name der erzeugten Tabelle.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zusammen,

solange es sich bei der Tabelle um eine Standardtabelle handelt, kann man auch

Code: Alles auswählen.

INSERT INITIAL LINE INTO TABLE <rows> ASSIGNING <row>.
verwenden. Damit spart man sich den CREATE DATA... ;)
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Re: Dynamisch erzeugte Tabelle füllen

Beitrag von adjanz (ForumUser / 3 / 0 / 0 ) »
Hallo zusammen,

ich soll eine Monatsübersicht von Lieferantenbeistellbestände erstellen. Die Liste soll so aussehen:
Lieferant|Jan11|Feb11|März11 ...
100185 200 250 150
100186 450 150 200

Die Monate werden im Selektionsbild eingegeben, ich muss also meine interne Tabelle dynamisch aufbauen.
Das habe ich auch über die Methode cl_alv_table_create=>create_dynamic_table geschafft.

Meine interne Tabelle schaut dann so aus bei Eingabe von Januar 2011 bis Februar 2011.
LIFNR|201101|201102

wie kann ich jetzt die entsprechenden Daten in die korrekte Spalte bringen? Die Spaltennamen sind ja nicht bekannt? In meiner internen Datentabelle stehen die Daten ja zeilenweise:
LIFNR|MONAT|MENGE
100185 201101 200
100185 201102 250
100185 201103 150

Wäre schon wenn mir jemand einen Tip geben kann.

LG
Armin

Re: Dynamisch erzeugte Tabelle füllen

Beitrag von adjanz (ForumUser / 3 / 0 / 0 ) »
hat sich erledigt, hab nach langem hin und her probieren hingekriegt.

Gruß
Armin

Seite 1 von 1

Vergleichbare Themen

2
Antw.
4297
Views
Dynamisch erzeugte Tabelle erweitern
von ewx » 18.01.2007 14:57 • Verfasst in ABAP Objects®
4
Antw.
2548
Views
Dynamisch erzeugte interne Tabelle ausgeben.
von gabo » 10.12.2007 14:32 • Verfasst in ABAP® Core
12
Antw.
8284
Views
dynamisch interne Tabelle füllen
von LittleT » 03.04.2007 15:27 • Verfasst in ABAP® für Anfänger
3
Antw.
3567
Views
Interne Tabelle dynamisch füllen
von stas » 27.10.2007 10:41 • Verfasst in ABAP® Core
3
Antw.
4698
Views
Dynamisch Struktur und Tabelle generieren und füllen
von Kresiquadratur » 16.07.2007 14:32 • 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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1749
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2298

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1749
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2298

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 304
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 895
MS-Word als Editor
letzen Monat von tekko 1 / 4400