Rangetabelle als Feld in einem Tablecontrol

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

Rangetabelle als Feld in einem Tablecontrol

Beitrag von Mukade (ForumUser / 3 / 0 / 0 ) »
Moin,

es geht um darum, ob es möglich ist eine Rangetabelle als Feld in einem Tablecontrol zu hinterlegen.

Kurzer Kontext zum Programm: Es soll ein vorhandenes Programm verändert werden, dies selektiert durch Select-options und weiteren Parametern Daten, die dann auf einem ALV ausgegeben werden. Die Select-Options haben alle den gleichen Typen, werden aber getrennt selektiert und nur durch mehrere hart-codierte Namen getrennt in dem ALV angezeigt.
Dies soll nun dynamisch gestaltet werden. Das heißt es soll möglich sein mehr als nur 4 Rangetabellen mit einem Namen, der frei wählbar ist, zu selektieren.

Daher kam meine Idee mit einem Tablecontrol zu arbeiten und mit Rangetabellen zu bestücken. Ist dies überhaupt möglich oder bin ich da komplett auf dem falschen Weg.

Falls es sogar eine bessere Möglichkeit gibt das umzusetzen, würde ich mich über euren Input freuen.

Gruß
Mukade

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


Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von PeterPaletti (Specialist / 364 / 33 / 99 ) »
Ich habe zwar nicht verstanden, was du eigentlich mit deinem Programm machen willst noch wozu das Ganze gut sein soll, aber in Table Controls kannst du meines Wissens nur Felder und keine (Range-)Tabellen definieren. Du könntest natürlich die Felder SIGN, OPTION, LOW, HIGH der Range-Tabelle im Table Control abbilden, aber ich weiß nicht, ob dir das viel weiterhilft.

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von GastX (Specialist / 280 / 4 / 19 ) »
Vielleicht habe ich die Aufgabenstellung noch nicht verstanden und ich habe noch kein klares Bild von der Anforderung, aber warum arbeitest du nicht mit ALV bzw. dem SALV?
Du kannst dir über CL_ABAP_TYPEDESCR (mit GET_COMPONENTS( ) o.ä.) eine Strukturbeschreibung ziehen und dynamisch zusammenbauen, dann mit CREATE DATA ... TYPE HANDLE ... die entsprechende interne Struktur / Tabelle aufbauen, befüllen und dann z.B. dem CL_SALV_TABLE vorwerfen.
Da muss dann letztlich nahezu nichts hart verdrahtet sein. Flexibilität scheint mir bei einem TableControl schwieriger zu sein.

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von black_adept (Top Expert / 4125 / 130 / 955 ) »
Kannst du erstmal verständlich erklären was dein Programm eingentlich anzeigt. Einerseits selektierst du Daten, die im ALV angezeigt werden, aber dann werden auch noch Range-Tabellen im ALV angezeigt.Bild
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von Mukade (ForumUser / 3 / 0 / 0 ) »
Coding:
" Parameter bzw. select-options

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-012.
SELECT-OPTIONS: s_ktpns FOR glt3-racct. " Namen für die select-options in textelementen definiert
SELECT-OPTIONS: s_ktstr FOR glt3-racct.
SELECT-OPTIONS: s_ktoth FOR glt3-racct.
SELECT-OPTIONS: s_ktmth FOR glt3-racct.
SELECTION-SCREEN END OF BLOCK b3.

"weitere Parameter bzw. select options

Coding ende

Ich möchte die Select-Options die hier angezeigt werden, durch ein flexibler gestalten. Wie hier sieht man, dass die alle den gleichen Typen haben und nur durch den Namen in den textelementen in dem Ausgabe ALV strikt getrennt wird.

Die Namen sollen für die Select-Options sollen auch frei wählbar sein als auch die Möglichkeit mehr Optionen. Ich möchte ungern einfach mehr Select-options ranhängen.

Daher die Mit dem Tablecontrol, aber das geht ja nicht.

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von A6272 (Specialist / 240 / 8 / 36 ) »
Wie sieht denn die where Bedingung aus, bei der die ganzen SELECT-OPTIONS verwendet werden?

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von black_adept (Top Expert / 4125 / 130 / 955 ) »
Moin Mukade,

dein Hauptproblem ist, dass du deine Frage nicht so formulierst, dass man überhaupt weiß, was dein Ziel ist.
Ich habe nach mehrfachem Durchlesen folgendes verstanden:

Du hast einen Selektionsschirm und der Anwender darf angeben, dass er n Select-options haben möchte. Jede dieser n Select-options beziehen sich auf das gleiche Feld, aber der User darf jeder dieser Selopts einen eigenen Bezeichner spendieren.

Dann hast du eine ALV-Ausgabe und zu jeder der n Selopts gibt es eine korrespondierende Spalte im Grid, welches irgendwie mit Bezug auf die zugehörige Selopt gefüllt wird und der Spaltenbezeichner entspricht der durch den User vorgegebenen Bezeichnung.

Und das was der User eingibt im Selektionsbild soll wahrscheinlich auch als Variante speicherbar sein.

Irgendwo kommen auch noch Textelemente vor aber selbst das habe ich nicht verstanden, was es damit auf sich hat.

Ist es das was du vorhast?

P.S. Es gibt hier im Form ein Tag </> (siehe Menü oberhalb des Editorfensters ), mit dem man Coding sinnvoll darstellen kann.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von JHM (Top Expert / 1207 / 1 / 200 ) »
black_adept hat geschrieben:
13.03.2025 11:08
Irgendwo kommen auch noch Textelemente vor aber selbst das habe ich nicht verstanden, was es damit auf sich hat.
Die Textelemente werden die Bezeichner für SelOpt/ALV-Spalte sein.
RACCT ist eine Kontonummer, also scheint es Gruppen von Kontonr. zu geben, die über die SelOpt "gebildet" werden.

1. SelOpt = Food
2. SelOpt = NonFood
3. SelOpt = Sonstiges
....

Mit deiner formulierten Anforderung kann man sich schon einen Lösungsweg skizzierren.
Elementar dafür ist aber die Frage:
Kann der Benutzer wirklich mit jedem Programmstart die Anzahl an SelOpts zur Kontogruppenbildung neu vorgeben oder kommt es "nur" immer wieder seitens Fachabteilung zu neuen Anforderungen: Wir brauchen bitte noch eine Gruppe x und ein für y und der Entwickler will sich das Leben leichter machen?
Gruß Hendrik

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von Xilukarim (ForumUser / 68 / 14 / 5 ) »
Als einfachere Möglichkeit (vielleicht etwas quick and dirty) könntest du den Benutzern EINEN Select geben, wo sie mehrere Werte eingeben können.

Wenn du es unbedingt brauchst, dass diese alle als einzelne Selects später behandelt werden sollen, könntest du in deinem Programm dann einfach die einzelnen Selects selber erzeugen in dem du aus jeder Zeile der select-Tabelle dir den nächsten Select rausziehst, in einen einzelnen select reinkopierst und verwendest.

VG
Xilukarim
ECC 6.07
Netweaver 7.40

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von Xilukarim (ForumUser / 68 / 14 / 5 ) »
Was ich noch nicht verstanden habe ist, warum der Benutzer auch den technischen Namen des selects selber festlegen können soll, wofür wäre das denn gut?

Vielleicht hältst du dich aber auch zu sehr an dem vorhandenen Programm fest? Überlege doch mal, wenn du das Programm neu schreiben würdest, wie du es dann umsetzt?
ECC 6.07
Netweaver 7.40

Re: Rangetabelle als Feld in einem Tablecontrol

Beitrag von A6272 (Specialist / 240 / 8 / 36 ) »
ggf. die Fix definierten SELECT-OPTIONS um einen Expertenmodus bestehend aus einer editierbaren ALV-Tabelle bestehend aus Text und Range-Feldern ergänzen? Dann hätten die User beliebige viele Eingabemöglichkeiten bei Bedarf.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
16333
Views
TableControl: Dynpro nachträglich ändern - Feld hinzufügen
von ChrisB » 29.12.2005 11:22 • Verfasst in ABAP® für Anfänger
5
Antw.
2882
Views
In einer Methode auf Rangetabelle zugreifen
von NLengner » 25.04.2019 13:16 • Verfasst in ABAP® für Anfänger
1
Antw.
2172
Views
Suche auf Tablecontrol?
von oliverrill » 28.06.2005 13:51 • Verfasst in Dialogprogrammierung
1
Antw.
2369
Views
Listbox in Tablecontrol
von beedu » 03.06.2005 19:30 • Verfasst in Dialogprogrammierung
2
Antw.
2607
Views
Auslesen TableControl
von msfox » 16.09.2024 14:46 • Verfasst in Dialogprogrammierung

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.