Dynamische Spalten

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

Dynamische Spalten

Beitrag von hmaxi96 (ForumUser / 77 / 13 / 1 ) »
Hallo Leute,

ich arbeite momentan an einem Programm, dass mit Hilfe einer Matnr, Werks, Lgort den Labst herausfindet.
Soweit so gut, nun aber soll ich pro Lgort eine dynamische Spalte hinzufügen.
Wie mache ich das am besten?

Gruß
Max
Investor im Bereich Kryptowährungen.
Bei Interesse oder Fragen stehe ich Ihnen gerne zur Verfügung.

https://www.xing.com/profile/Maximilian_Hauer3

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


Re: Dynamische Spalten

Beitrag von black_adept (Top Expert / 4093 / 128 / 940 ) »
Hier ein Beispielcode aus einem anderen Forum, den ich vor Jahren mal gepostet hatte. Musst analog vorgehen und halt statt des fixen Parts einen LOOP über deine Lagerorte machen.

Code: Alles auswählen.

REPORT.

DATA: dref TYPE REF TO data.
FIELD-SYMBOLS: <fs> TYPE ANY.

PARAMETERS: table TYPE tabname OBLIGATORY DEFAULT 't000'.


**********************************************************************
START-OF-SELECTION.
* 1. Schritt wie im Tricktresor - Variable mit angegebenem Typ erzeugen
  CREATE DATA dref TYPE (table).
  ASSIGN dref->* TO <fs>.

* 2. Schritt - Erweitern einer Struktur [hier um einen festen Teil am Ende der Struktur]
  PERFORM extend_structure USING    <fs>
                           CHANGING dref.
  ASSIGN dref->* TO <fs>.


  BREAK-POINT.


*&---------------------------------------------------------------------*
*&      Form  extend_structure
*&---------------------------------------------------------------------*
FORM extend_structure  USING    p_structure TYPE any
                       CHANGING p_dref      TYPE REF TO data.
  DATA: cl_desc1           TYPE REF TO cl_abap_structdescr,
        t_component_table1 TYPE cl_abap_structdescr=>component_table,

        cl_desc2           TYPE REF TO cl_abap_structdescr,
        t_component_table2 TYPE cl_abap_structdescr=>component_table,

        cl_desc            TYPE REF TO cl_abap_structdescr,
        t_component_table  TYPE cl_abap_structdescr=>component_table.

  DATA: BEGIN OF fix_part,
          checked TYPE flag,
          light   TYPE char1,
        END OF fix_part.

  cl_desc1 ?= cl_abap_typedescr=>describe_by_data( p_structure )        .
  t_component_table1 = cl_desc1->get_components( ).

  cl_desc2 ?= cl_abap_typedescr=>describe_by_data( fix_part )        .
  t_component_table2 = cl_desc2->get_components( ).

  APPEND LINES OF t_component_table1 TO t_component_table.   " Die übergebene Struktur
  APPEND LINES OF t_component_table2 TO t_component_table.   " Der feste Teil dahinter
  cl_desc = cl_abap_structdescr=>create( t_component_table ).

  CREATE DATA p_dref TYPE HANDLE cl_desc.                    " Ergibt dann eine Gesamtstruktur

ENDFORM.                    "extend_structure
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Dynamische Spalten

Beitrag von hmaxi96 (ForumUser / 77 / 13 / 1 ) »
Erstmal Danke!
Leider blicke ich das nicht so durch :D

Hat jemand einen einfacheren, der für Anfänger leichter zu verstehen ist?
Investor im Bereich Kryptowährungen.
Bei Interesse oder Fragen stehe ich Ihnen gerne zur Verfügung.

https://www.xing.com/profile/Maximilian_Hauer3

Re: Dynamische Spalten

Beitrag von ralf.wenzel (Top Expert / 3927 / 200 / 280 ) »
Warum nicht einfach die ganze MARD einlesen und im ALV die Spalte einblenden, die der Anwender sich im Selektionsbild aussucht?
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Dynamische Spalten

Beitrag von black_adept (Top Expert / 4093 / 128 / 940 ) »
hmaxi96 hat geschrieben:Hat jemand einen einfacheren, der für Anfänger leichter zu verstehen ist?
Dynamische Programmierung ist nicht leicht und viel einfacher als der gezeigte Ansatz wird's kaum werden. Zumindest nicht wenn deine Vorgabe so grob ist. In Spezialfällen mag's durchaus deutlich einfachere Lösungen geben. Aber dafür hast du zu wenig Infos rausgerückt, was du genau machen willst.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Dynamische Spalten

Beitrag von ralf.wenzel (Top Expert / 3927 / 200 / 280 ) »
Ich finde den Sprung von "zeig mir vier Spalten aus der MARD" zu dynamischer Programmierung sehr groß. Ich denke, dass der Fragende die Aufgabe falsch verstanden hat.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Dynamische Spalten

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Vielleicht ist das Beispiel etwas weniger kompliziert...
http://www.tricktresor.de/blog/interne- ... omponents/

Eine Alternative wäre, dass du eine definierte Anzahl von Lagerorten verwendest und nicht verwendete ausblendest.
Also:
LGO01
LGO02
LGO03
LGO..
LGO20

Du brauchst dann eine Zuordnungtabelle, wo du dir merkst, welcher Lagerort auf welches Feld geschoben wird.
ZUORDNUNG:
-LGORT
-FELDNAME

in etwa:

Code: Alles auswählen.

READ TABLE zuordnung into ... WITH KEY lgort = workarea-lgort
if subrc  > 0.
  increase globaler_zaehler
  zuordnung-feldname = 'LGO' + globaler_zaehler
  zuordnung-lgort = workarea-lgort
  append zuordnung
endif

assign component zuordnung-feldname of structure ls_tabzeile to <value>

<value> = lagerortbestand
Im Feldkatalog für das ALV-Grid guckst du dann, für jede Spalte, ob du sie verwendest.
Wenn ja, dann musst du den Spaltennamen entsprechend Lagerort anpassen.
Wenn nein, dann TECH = abap_true

Seite 1 von 1

Vergleichbare Themen

4
Antw.
3236
Views
SAP Script dynamische Spalten
von Gast » 24.02.2005 13:19 • Verfasst in ABAP® Core
2
Antw.
1956
Views
Dynamische ausgabe von Spalten
von JasonLief » 03.01.2012 16:20 • Verfasst in ABAP® Core
1
Antw.
2749
Views
Dynamische Spalten einer Tabelle
von toto » 22.12.2005 10:18 • Verfasst in ABAP® Core
4
Antw.
8963
Views
Table Control: Dynamische Ausblendung von Spalten
von ProfDrPi » 02.02.2006 16:24 • Verfasst in Dialogprogrammierung
10
Antw.
12510
Views
Gefüllte dynamische Tabelle um Spalten erweitern
von km216 » 15.09.2011 10:09 • 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

Trennen Strasse und Hausnummer
vor 15 Stunden von msfox 18 / 11113
Dialog-Container mit Toolbar/Status
vor 18 Stunden von black_adept gelöst 27 / 4247
IT0024 Qualifikationen CP-ID
vor 20 Stunden von ArjenR 1 / 172

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

Trennen Strasse und Hausnummer
vor 15 Stunden von msfox 18 / 11113
Dialog-Container mit Toolbar/Status
vor 18 Stunden von black_adept gelöst 27 / 4247
IT0024 Qualifikationen CP-ID
vor 20 Stunden von ArjenR 1 / 172

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 20 Stunden von ArjenR 1 / 172
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3108
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9703