alv grid 2 unterschiedliche ausgabetabellen

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

alv grid 2 unterschiedliche ausgabetabellen

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Hallo,

ich habe ein alv_grid.
wenn auf dem sel-screen s_matnr <> ' ' ist, dann soll gt_csdp_sec ausgegeben werden.

Code: Alles auswählen.

 CALL METHOD g_alv_01->set_table_for_first_display
      EXPORTING
        i_structure_name     = gc_qm_cosdp_s
        is_layout            = ls_layout
        is_variant           = ls_variant
        i_save               = l_save
        it_toolbar_excluding = lt_deact_std_fcodes
      CHANGING
        it_outtab            = gt_csdp_sec
        it_fieldcatalog      = gt_fieldcat.
ansonsten gt_csdp.

Es funktioniert soweit, wenn ich beim Einstieg es mache. Wenn ich aber den Report laufen lasse, dann user command back und dann sel-screen eine matnr eingebe,
dann gibt er mir trotzdem gt_csdp.

ich bin langsam am verzweifeln. ich habe auch 2 alv objecte angelegt, aber sobald es gesetzt ist, dann wird die änderung nicht mehr angenommen.

da muss ich doch etwas beachten, dass es statt gt_csdp die andere outtab nimmt.

Ich hoffe jemand weiß Rat, wie schon des öfteren :-).

Viele Grüße
Coco

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


Re: alv grid 2 unterschiedliche ausgabetabellen

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

also ich würde es wie folgt machen
- bei Back - die ALV referent abbauen - also clear g_alv_01
- dann startet ja dein Report neu mit dem Selection Screen und da gibst du die Werte für die Matnr ein
- dann selektierst du die Daten un rufst dein Dynpro erneut auf
- da baust du die ALV Referenz neu auf
- ... field-symbols <fs_table> type any table.
- dann prüfst du (immer) ob eine von beiden Tabellen Werte hat - also if lines( table1 ) > 0. assign table1 to <fs_table>.
elseif lines( table2 ) > 0. assign table2 to <fs_table>.
endif.

- dann rufst du
CALL METHOD g_alv_01->set_table_for_first_display
EXPORTING
i_structure_name = gc_qm_cosdp_s
is_layout = ls_layout
is_variant = ls_variant
i_save = l_save
it_toolbar_excluding = lt_deact_std_fcodes
CHANGING
it_outtab = <fs_table>
it_fieldcatalog = gt_fieldcat.

... natürlich jeweils mit dem entsprechenden Feldkatalog auf

Gruss Jens
thanks Jens

Re: alv grid 2 unterschiedliche ausgabetabellen

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
jensschladitz hat geschrieben:also ich würde es wie folgt machen
- bei Back - die ALV referent abbauen - also clear g_alv_01
- dann startet ja dein Report neu mit dem Selection Screen und da gibst du die Werte für die Matnr ein
- dann selektierst du die Daten un rufst dein Dynpro erneut auf
- da baust du die ALV Referenz neu auf
Jö schau! Ein Spatz! Lass ihn uns doch mit ein paar Kanonen erschießen! ;)

Klar, die Taktik funktioniert schon, aber man darf nicht vergessen, dass man jedes Mal den Feldkatalog an den GUI schicken muss, die Controls anlegt usw.
Das ist nicht sehr performant.

@c oco
Aus dem Coding heraus, sehe ich das hier eine Variable G_ALV_01 verwendet wird.
Frage: Kann es sein, dass du mit ZWEI ALV-Grid-Instanzen in EINEM Custom-Container arbeitest? Dann wird nämlich immer das Grid angezeigt, dass zuerst mit Create Object angelegt wurde. Du darfst nur eine Instanz haben und je nach dem die entsprechende Tabelle (inkl. passendem Feldkatalog!) bei SET_TABLE_FOR_FIRST_DISPLAY angeben.

Sofern deine beiden Tabellen die Gleiche Struktur haben, kommst du auch mit NUR EINER GlOBALEN Tabelle aus. Je nachdem welche Daten angezeigt werden sollen musst du den gewünschten Inhalt dann in dieser übergreifenden Tabelle eintragen. Damit dann die Daten am Grid erscheinen muss man bei einer Aktualisierung nur noch die REFRESH_TABLE_DISPLAY Methode aufrufen. Somit erspart man sich den Aufruf von SET_TABLE_FOR_FIRST_DISPLAY und dadurch auch einiges an Initialisierungsaufwand am GUI.

lg ADT
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: alv grid 2 unterschiedliche ausgabetabellen

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Hallo,

@Jens: ja genau so hatte ich es auch gemacht, aber es kam mir doch sehr dirty vor.
@ADT: also ist die oben genannte Lösung aus Performacegründen nicht sehr sinnvoll...
habe es jetzt so gebaut wie du es vorgeschlagen hast. Muss halt immer schauen, welche Tabelle gefüllt ist, und diese dann an die ALV Output Tab. übergeben. Ist sauberer aber es war doch ein Heiden Aufwand und es ist leider auch Fehleranfällig, falls ich doch was übersehen habe. Ich musste nämlich einen produktiven Verbuchungsreport anpassen und da musste ich dann nach langem Try alle Tabs an die neue Output Tab. übergeben. Irgendwann sollte ich es dynamischer machen. Wenn es wieder eine Änderung gibt ist es wirklich ein sehr großer Wartungsaufwand.

Vielen Dank für die Hilfe euch beiden.

Viele Grüße
coco

Seite 1 von 1

Vergleichbare Themen

5
Antw.
146
Views
Unterschiedliche Tabellen
von HH_ABAP » 30.04.2023 12:22 • Verfasst in ABAP® für Anfänger
2
Antw.
1311
Views
unterschiedliche Tabellen in Container
von Grayhound » 28.09.2006 10:22 • Verfasst in ABAP Objects®
2
Antw.
1308
Views
Unterschiedliche Konditionen AB und Rechnungdruck
von Sebastian82 » 11.12.2019 08:47 • Verfasst in Sales and Distribution
18
Antw.
3802
Views
unterschiedliche Ergebnisse bei 2 Codings
von Alexi » 14.06.2005 08:29 • Verfasst in ABAP® für Anfänger
0
Antw.
1297
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140