generische Typisierung

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

gar nicht gut!

Beitrag von gse (ForumUser / 97 / 0 / 2 ) »
hi frank,

wenn Du das sagst wird das schon stimmen. :oops:
Ich dachte ich koennte mir hierdurch Erleichterung fuer kuenftige Programme schaffen, indem ich diesen FuBa einfach immer nur mit den richtigen Parametern fuettere und so meine DB-Aktionen realisiere.

Vielleicht hilfst Du mir noch zu verstehen, was an dieser Idee nicht gut ist.
Danke im Voraus! gse

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


Beitrag von Steff (Site Admin / 386 / 0 / 1 ) »
Hi gse,

nur mal so aus Neugier: Wenn Du das realisierst, dann aber nicht für jedes x-beliebige DDIC-Objekt sondern DDIC-Objekt im Sinne einer DB-Tabelle, oder verstehe ich Dich falsch?!

Gruß,
Steff

dynamischer select

Beitrag von gse (ForumUser / 97 / 0 / 2 ) »
hallo liebe leutz,

angenommen ich will jetzt meinen SELECT komplett dynamisch aufbauen, also in einem weiteren import-parameter ein feld benennen, was dann als kriterium in der WHERE-klausel anwendung findet.

beispiel:

Code: Alles auswählen.

SELECT * 
    INTO TABLE l_it_tabname 
    FROM (lv_tabtype)                 "dynam. DDIC-Objekt! 
    WHERE bukrs = '0050' . 
dynamisch sollen dann quasi auch die Felder des DDIC-Objektes mit übergeben werden. also so was aehnliches wie:

Code: Alles auswählen.

SELECT * 
    INTO TABLE l_it_tabname 
    FROM (lv_tabtype)                 "dynam. DDIC-Objekt! 
    WHERE lv_tabtype-schluessel = lv_field. 
lv_tabtype-schluessel waere demnach komponente von lv_tabtype und lv_field ebenfalls importparameter bzw. selektionskriterium.

gruss gse

bingo!

Beitrag von gse (ForumUser / 97 / 0 / 2 ) »
hi steff,

aeeeehhhh......... ja! klar, so hab ich das gemeint!

ahhhh...... Du verstehst mich!;)

gse

dynamische WHERE-Bedingung

Beitrag von gse (ForumUser / 97 / 0 / 2 ) »
wahnsinn,
da hab ich doch glatt mal was selbst gefunden! :o
an dieser stelle mal ein sorry an diejenigen, die ich mit meiner fragerei endlos nerve!

und fuer all die anderen interessierten:

Code: Alles auswählen.


DATA: cond(72) TYPE c,
          itab LIKE TABLE OF cond.

PARAMETERS: city1(10) TYPE c, city2(10) TYPE c.

DATA wa TYPE spfli-cityfrom.

CONCATENATE 'CITYFROM = ''' city1 '''' INTO cond.
APPEND cond TO itab.

LOOP AT itab INTO cond.
  WRITE cond.
ENDLOOP.

SELECT  cityfrom
  INTO  wa
  FROM  spfli
  WHERE (itab).

gruss und weiterhin frohes schaffen!

gse

Beitrag von Steff (Site Admin / 386 / 0 / 1 ) »
Hi gse,

wobei Du aber immer noch nicht einen select von einer x-beliebigen Tabelle machen kannst, da Du zur Laufzeit keinen Tabellentyp dynamisch (nur mit Namensbezeichnung) erzeugen kannst (das geht erst ab 610), sondern in Deinem 46B-Release eben nur eine wa. Da hilft nur eins: Upgraden auf 610 ;-)

Gruß,
Steff

Re: gar nicht gut!

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
gse hat geschrieben: Ich dachte ich koennte mir hierdurch Erleichterung fuer kuenftige Programme schaffen, indem ich diesen FuBa einfach immer nur mit den richtigen Parametern fuettere und so meine DB-Aktionen realisiere.

Vielleicht hilfst Du mir noch zu verstehen, was an dieser Idee nicht gut ist.
Einfach und leicht wird es schon sein. Es ist nur falsch.
Denn wenn Du es richtig machen willst, ist es alles andere als einfach.

Woher weißt Du für eine beliebige Tabelle (dynamisch) zur Laufzeit Deines Programms:
-Welches Sperrobjekt Du verwenden mußt, um zu verhindern, daß nicht 2 Transaktionen gleichzeitig Änderungen vornehmen wollen?
-Welche Abhöngigkeiten es gibt, so daß nicht Inkonsistenzen entstehen, die erst Monate später bemerkt werden,
-welche Berechtigung der User braucht, der bestimmte Änderungen vornehmen will
-wie paßt Du Dein dynamisches Update-Programm an, wenn SAP per OSS-Note oder Support package einen Fehler behebt, zusätzliche Prüfungen einbaut, ...
-Wenn man dann mal einen Fehler suchen muß, weiß man gar nicht mehr, wo man noch suchen soll, weil ja im Verwendungsnachweis für Tabelle MARA Dein Programm gar nicht mit vorkommt.

Wolltest Du alles ignorieren? Ach so. Du wolltest Dir das Leben leichter machen 8)

Klappt

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Moinz.

@Steff:
da Du zur Laufzeit keinen Tabellentyp dynamisch (nur mit Namensbezeichnung) erzeugen kannst
Natürlich funzt das bei 46x, und zwar mit der Methode cl_alv_table_create=>create_dynamic_table (hatte ich schon früher mal irgendwo hier gepostet).

@gse:
Die dynamische WHERE-Klausel ist schon ganz nett, es gibt aber zwei Einschränkungen:
1. keine Selektion via interner Tabelle ("FOR ALL ENTRIES IN") :(
2. keine Selektion via RANGE-Tabelle ("WHERE field IN range") :?

Unter 610 funzt das dynamische WHERE wieder anders, es kann sein, dass man dann diese Features auch wieder nutzen kann, habe ich aber noch nicht probiert.

Grüezi,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
Servus Leutz,

Da ist man 3 Tage nicht da, und schon ist hier alles vollgestoft mit posts.
Interessanter Thread.
Was ich hier allgemein fragen wollte: Lohnt es sich dynamisch zu programmieren oder leidet darunter zu sehr die performance...

Hat da schon jemand erfahrungen gemacht?

gruss, Azreal

versuch mach kluch

Beitrag von gse (ForumUser / 97 / 0 / 2 ) »
RESUMEE

hallo liebe gefaehrten,

als verursacher dieses forenbeitrags ziehe ich meinen virtuellen hut vor den teilnehmern dieser "diskussion". vielen dank fuer die anregenden und wertvollen beitraege zu diesem thema!!!

wollt dies noch schnell loswerden, bevor es in vergessenheit geraet!
vielleicht laesst sich ja der eine oder andere gedanke noch zu einem anderen thema weiter ausbauen. ;)

fuer meine zwecke werde ich jetzt erst mal die ergebnisse zusammenzutragen und versuchen das eine oder andere (sperrkonzept, benutzerberechtigung, dynam. tabelle mittels methode) zusaetzlich zu realisieren.

Euch weiterhin frohes schaffen, einen guten start in die neue woche
und vor allem: ein langes leben, viele kinder!:lol:

Euer gse

Vergleichbare Themen

2
Antw.
1561
Views
Typisierung von Formparameter
von RiffRaff » 27.08.2004 09:46 • Verfasst in ABAP® Core
6
Antw.
6092
Views
Dynamische Typisierung?
von cortex » 18.03.2014 09:10 • Verfasst in ABAP Objects®
10
Antw.
5705
Views
Dynamische Typisierung
von Gast » 19.01.2006 10:24 • Verfasst in ABAP® Core
10
Antw.
4585
Views
Problem: Unterprogramm und Parameter(typisierung)
von MacLeod » 25.01.2012 16:31 • Verfasst in ABAP® Core
1
Antw.
1041
Views
Problem bei ASSIGN COMPONENT mit dynamischer Typisierung
von Luca2501 » 17.09.2020 11:09 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 72

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

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 72

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 132
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 166