ALV - Felder zu Variante auslesen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

ALV - Felder zu Variante auslesen

Beitrag von bapimueller (Specialist / 110 / 9 / 1 ) »
Hallo zusammen,

ich habe folgendes Problem, ich habe einen Report 'SDPIQPRICELIST' (TA:V_NLN), mit dem können Preislisten per eMail versendet werden oder die Daten werden auf dem Server (AL11) gespeichert. Dies geschieht in einem BAdI, bevor das Ergebnis per ALV angezeigt wird.

Jetzt möchte ich die Datei gemäß der ausgewählten Variante aufbauen.
Das heißt in Variante1 sollen nur 10 Felder berücksichtigt werden und in Variante2 nur 20 Felder, insgesamt stehen 30 Felder zur Verfügung.

In dem BAdi habe ich die folgenden Infos:
Rep.ID + Variante

Mit welchem Fuba oder Methode kann ich mir die Felder der ausgewählten Variante auslesen? Der Fuba 'LT_DBDATA_READ_FROM_LTDX' liefert mir alle möglichen Felder zurück, obwohl ich IS_VARKEY entsprechend mit der RepID und der Variante versorge.

Viele Grüße,
Thomas
Thomas Müller
SAP Beratung
M: +49 (0) 173 / 870 39 31
T: +49 (0) 6228 / 924 560
F: +49 (0) 6228 / 924 559

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


Re: ALV - Felder zu Variante auslesen

Beitrag von black_adept (Top Expert / 4087 / 126 / 940 ) »
Moin Thomas,

probier mal das hier.

Code: Alles auswählen.

REPORT zread_fcat_background.

PARAMETERS: p_repid  TYPE disvariant-report   OBLIGATORY,
            p_handle TYPE disvariant-handle   OBLIGATORY,
            p_user   TYPE disvariant-username,
            p_vari   TYPE disvariant-variant  OBLIGATORY,
            p_struct TYPE dd02l-tabname       OBLIGATORY.

DATA: lt_fcat          TYPE SLIS_T_FIELDCAT_ALV,
      ls_variant       TYPE disvariant,
      lv_user_specific TYPE flag.

END-OF-SELECTION.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name       = p_struct
      i_bypassing_buffer     = 'X'
    CHANGING
      ct_fieldcat            = lt_fcat
    EXCEPTIONS
      inconsistent_interface = 1
      program_error          = 2
      OTHERS                 = 3.
  IF sy-subrc <> 0.
    MESSAGE 'Fehler spot 1' TYPE 'I' DISPLAY LIKE 'E'.
    STOP.
  ENDIF.
  ls_variant = VALUE #( report   = p_repid
                        handle   = p_handle
                        variant  = p_vari
                        username = p_user
                      ).
  CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
    EXPORTING
      i_save        = 'A'
    CHANGING
      cs_variant    = ls_variant
    EXCEPTIONS
      wrong_input   = 1
      not_found     = 2
      program_error = 3
      OTHERS        = 4.
  IF sy-subrc <> 0.
    MESSAGE 'Fehler spot 2' TYPE 'I' DISPLAY LIKE 'E'.
    STOP.
  ENDIF.

  IF ls_variant-username IS INITIAL.
    lv_user_specific = space.
  ELSE.
    lv_user_specific = 'X'.
  ENDIF.

  CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'
    EXPORTING
      i_dialog            = ' '
      i_user_specific     = lv_user_specific
      it_default_fieldcat = lt_fcat
      i_layout            = VALUE slis_layout_alv( )
    IMPORTING
      et_fieldcat         = lt_fcat
    CHANGING
      cs_variant          = ls_variant
    EXCEPTIONS
      wrong_input         = 1
      fc_not_complete     = 2
      not_found           = 3
      program_error       = 4
      OTHERS              = 5.

  BREAK-POINT .
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV - Felder zu Variante auslesen

Beitrag von whaslbeck (ForumUser / 71 / 18 / 9 ) »
Hallo,
bapimueller hat geschrieben:
26.09.2024 16:58
Mit welchem Fuba oder Methode kann ich mir die Felder der ausgewählten Variante auslesen? Der Fuba 'LT_DBDATA_READ_FROM_LTDX' liefert mir alle möglichen Felder zurück, obwohl ich IS_VARKEY entsprechend mit der RepID und der Variante versorge.
LT_DBDATA_READ_FROM_LTDX ist schon OK, aber du musst die Rückgabetabelle noch filtern: Wenn in der Spalte PARAM der Wert 'NO_OUT' und in der Spalte VALUE der Wert 'X' steht ist dieses Feld von der Anzeige ausgenommen.

hth,
Walter

Folgende Benutzer bedankten sich beim Autor whaslbeck für den Beitrag:
bapimueller


Re: ALV - Felder zu Variante auslesen

Beitrag von bapimueller (Specialist / 110 / 9 / 1 ) »
Super! Danke für die Antwort. Das funzt. :-)
Thomas Müller
SAP Beratung
M: +49 (0) 173 / 870 39 31
T: +49 (0) 6228 / 924 560
F: +49 (0) 6228 / 924 559

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2642
Views
Ermitteln der Felder einer Variante
von Foerstar » 20.12.2016 15:41 • Verfasst in ABAP® Core
3
Antw.
3722
Views
Felder der Q-Struktur in HR auslesen.
von danielA. » 03.01.2007 16:08 • Verfasst in ABAP® Core
1
Antw.
1784
Views
kundeneigene Felder auslesen mit BAPI_MATERIAL_GETALL
von Szel » 25.09.2013 17:05 • Verfasst in ABAP® Core
4
Antw.
9861
Views
Felder einer Tabelle auslesen
von cut1 » 03.06.2008 11:39 • Verfasst in ABAP Objects®
6
Antw.
6511
Views
Felder bzw. Komponentennamen einer Tabelle auslesen
von pohlmann-schwarza » 27.05.2008 09:30 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 513
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2147
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8742