SELECT-OPTIONS ... FOR TYPE?!?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
20 Beiträge • Vorherige Seite 2 von 2 (current)
20 Beiträge Vorherige Seite 2 von 2 (current)

Re: SELECT-OPTIONS ... FOR TYPE?!?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
ST22 hat geschrieben:
03.12.2020 16:53
...und ich finde, damit öffnet man wieder Tor und Tür, da man ja auch wieder einen globalen Datenbereich definiert...
Ich versuche konsequent drauf zu verzichten und nehme etwas Mehrarbeit in Kauf. Ist ja auch wieder so ne Glaubensfrage ;-).
SAP macht aber im Dynpro beim Feldtransport im PAI und PBO eine Zuweisung auf im Programm gleich benannte global erreichbare Felder. Somit kommt man sobald man mit Dynpros arbeitet eigentlich gar nicht drum herum irgendwo so einen globalen Datenbereich vorzuhalten - egal ob es sich um ein Tables, Data oder statisches Attribut einer Klasse handelt.
Und wie a-d-t schon bemerkte. Wenn man auf im DDIC bekannte Strukturen mittels TABLES referenziert bekommt man an diversen Stellen Sachen geschenkt die man sonst mühselig selbst programmieren müsste. Ich glaube selbst ein "DATA: mara type mara" verhält sich nicht gleich der "TABLES: mara" Anweisung in irgendwelchen Spezialfällen obwohl die beiden sich vom Type her eigentlich nicht unterscheiden.

P.S. Meine Vorgehensweise recht häufig: Für alle Felder eines Dynpros im DDIC eine Struktur mit Namen "<progname>_<dynnr>" anlegen und diese als TABLES im Programm zu definieren.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

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


Re: SELECT-OPTIONS ... FOR TYPE?!?

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
ST22 hat geschrieben:...und ich finde, damit öffnet man wieder Tor und Tür, da man ja auch wieder einen globalen Datenbereich definiert...
Ich versuche konsequent drauf zu verzichten und nehme etwas Mehrarbeit in Kauf. Ist ja auch wieder so ne Glaubensfrage ;-).
Ja, aber nicht immer ist das möglich, auch mit Blick auf den einen oder anderen alten Zopf, den es in SAP halt noch gibt.
adt hat geschrieben:Ich möchte meine Aussage doch noch etwas "aufweichen":
... zur Kommunikation (PAI/PBO) mit Dynpros (und auch nur dafür) ...
Ich möchte die Aussage noch weiter aufweichen. Wenn man im HCM beispielsweise eine sog. Dynamische Maßnahme programmiert und dort eine Formroutine hinterlegt, dann muss man in dem Subroutinenpool dieser Formroutine bestimmte TABLES-Befehle angeben, um benötigte Werte von und zur aufrufenden Dynamischen Maßnahme transportieren zu können. Das mag einem gefallen oder nicht, aber die SAP hat das so designt.

Auch wenn man in einem Report oder bestimmten User-Exits (z.B. ZXPADU02) die Struktur SSCRFIELDS nutzen möchte, etwa zur Prüfung des UCOMM, muss man diese per TABLES-Befehl zugänglich machen.

Also es gibt schon noch den einen oder anderen Anwendungsfall für den TABLES-Befehl. Man sollte ihn halt nur nicht mehr nutzen, um routinemäßige Workareas für Datenbanktabellen zu deklarieren.
black_adept hat geschrieben:P.S. Meine Vorgehensweise recht häufig: Für alle Felder eines Dynpros im DDIC eine Struktur mit Namen "<progname>_<dynnr>" anlegen und diese als TABLES im Programm zu definieren.
Das finde ich eine ganz schreckliche Herangehensweise. Programmspezifische Felder haben nach meiner Überzeugung im DDIC nichts verloren und müllen dieses nur voll. Dynprofelder kann man problemlos als globale Felder im Dynproprogramm deklarieren. Wenn man sich auf ein Feld einer DDIC-Tabelle bezieht, dann erbt das Feld meines Wissens auch alle Attribute. Man muss nur darauf achten, dass man über ein Feld einer DDIC-Tabelle (oder DDIC-Struktur) typisiert und nicht über ein Datenelement, denn die Fremdschlüssel usw. sind nur in der Tabelle definiert.

Also DATA g_matnr TYPE mara-matnr.
und nicht DATA g_matnr TYPE matnr.

Re: SELECT-OPTIONS ... FOR TYPE?!?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
@D&P: Es geht um Erleichterungen - zumindest mal original in diesem Thread. Wenn man im Screenpainter für ein programmglobales strukturiertes Feld alle oder gezielt Komponenten holen möchte kann man die auswählen und SAP fügt die ein. Allerdings ohne zugehörigen Bezeichner. Wenn ich hingegen ein Feld aus dem DDIC hole sind die Bezeichner dabei - aber ich muss halt ein programmglobales Feld haben das genau so heißt wie das DDIC Feld.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: SELECT-OPTIONS ... FOR TYPE?!?

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Dann würde ich lieber ein solches anlegen als eine programmbezogene Krücke im DDIC.

Re: SELECT-OPTIONS ... FOR TYPE?!?

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
DeathAndPain hat geschrieben:
04.12.2020 16:28
Dann würde ich lieber ein solches anlegen als eine programmbezogene Krücke im DDIC.
???
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Vergleichbare Themen

5
Antw.
7692
Views
TYPE Select-options bei Importingparameter
von abap-strizi » 12.12.2005 09:49 • Verfasst in ABAP Objects®
0
Antw.
1760
Views
select-options depend on select-options.
von dragospirnut1 » 19.07.2017 09:54 • Verfasst in ABAP® Core
4
Antw.
17877
Views
Select nach Parameter & Select-Options
von doeme » 10.07.2012 16:37 • Verfasst in ABAP® für Anfänger
10
Antw.
5789
Views
2 Select-Options zu einem für Select zusammenfügen
von manuk » 23.03.2005 11:02 • Verfasst in ABAP® Core
2
Antw.
3427
Views
SELECT - Options & SELECT Abfrage
von Mavrix » 14.05.2007 08:41 • Verfasst in ABAP® für Anfänger

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141