Darauf läuft sein Ansatz ja letztlich hinaus, denn auch ein "Kunden-Exit" ist ein Stück Programmcode.Ich würde das nicht ohne expliziten Auftrag dynamisch machen, denn auf jeden Fall muss die Empfangsstruktur / Tabelle um neue Felder erweitert werden, dann muss das Programm eben auch angepasst werden.
Ja aber er muss die Empfangsstruktur anpassen, dann kann man auch ans Programm ran und braucht das Customizing nicht, in dass er den Feldvorrat aller JOIN-Tabellen aufnehmen müsste. Bei Freitextangaben kann man was Falsches eingeben was zum Abbruch führt. Und man hat den Verwendungsnachweis auf Feldebene nicht.DeathAndPain hat geschrieben: ↑24.09.2019 11:16Darauf läuft sein Ansatz ja letztlich hinaus, denn auch ein "Kunden-Exit" ist ein Stück Programmcode.Ich würde das nicht ohne expliziten Auftrag dynamisch machen, denn auf jeden Fall muss die Empfangsstruktur / Tabelle um neue Felder erweitert werden, dann muss das Programm eben auch angepasst werden.
Für mich ist das weder Fisch noch Fleisch, sondern das Schlechteste von beidem. Er macht es dynamisch und coded die Felder trotzdem hart.
@autohandel: Wenn, dann solltest Du das ordentlich mit einer dafür vorgesehenen Customizingtabelle machen, in die man die gewünschten Felder dann eintragen kann und die Du in Deinem Code ausliest. Dann hast Du das Ziel erreicht, dass eine Anpassung ohne Codeänderung möglich ist.
Die Reihenfolge der Felder hat nichts mit Geschwindigkeit zu tun.autohandel7 hat geschrieben: ↑24.09.2019 11:22Danke für Antwort,
hard kodiere ich in Kunden include, das heisst mein Standard programm bleibt nicht geändert.
Meine Frage war, selkt felder soll in Reinfolge von Tabelle sein oder egal welche reinfolge von Feldern beim Select, besondere bei Join.
nachfühlung von Tabelle mit coresponding ist für mich klar, aber selection ohne Reinfolge ist mit geschwindigkeit verbunden oder nein?
Folgende Benutzer bedankten sich beim Autor deejey für den Beitrag:
autohandel7
Richtig, aber auch eine Programmänderung im Kunden-Include ist eine Programmänderung. Customizingtabellen sind die bessere Lösung, wann immer möglich.hard kodiere ich in Kunden include, das heisst mein Standard programm bleibt nicht geändert.
Nur wenn ganze Tabellen der Suche hinzugefügt werden müssen. Ich habe ihn so verstanden, dass die Tabellen feststehen und es nur sein kann, dass er später noch das eine oder andere zusätzliche Feld daraus benötigt. Das aber würde sich gut mit einer Customizingtabelle machen lassen.Ja aber er muss die Empfangsstruktur anpassen, dann kann man auch ans Programm ran und braucht das Customizing nicht, in dass er den Feldvorrat aller JOIN-Tabellen aufnehmen müsste.
Ich weiß was du meinst, aber nicht jede Lösung braucht diese Flexibilität, bis das alles steht hat man 35 neue Felder nach und nach eingefügt und transportiert, es ist halt eine Aufwandsfrage.DeathAndPain hat geschrieben: ↑24.09.2019 14:49Nur wenn ganze Tabellen der Suche hinzugefügt werden müssen. Ich habe ihn so verstanden, dass die Tabellen feststehen und es nur sein kann, dass er später noch das eine oder andere zusätzliche Feld daraus benötigt. Das aber würde sich gut mit einer Customizingtabelle machen lassen.
Die empfangende Struktur in ABAP kann man dynamisch programmieren, so dass sie sich anhand der Customizingtabelle aufbaut.
Wir haben hier ein Programm, da geht das sogar noch weiter. Da hast Du eine Customizingtabelle aller Zielfelder, die zu jedem Zielfeld auch die Info enthält, wo der Inhalt herkommt. Bei jedem Zielfeld kann man entweder ein Feld einer Standardtabelle angeben (wobei man dabei nur aus bestimmten Standardtabellen lesen kann, deren Zugriffsweise im Programmzusammenhang klar ist), oder man gibt eine Programmroutine (in dem Fall ein FB; man könnte auch eine Methode verwenden) an, die das betreffende Feld liest. Das Programm baut sich die Empfangsstruktur daraus auf und schaut für jedes Feld, wo sein Inhalt herkommt.
Natürlich sind die FBs dann für sich betrachtet auch Programmänderungen (außerhalb des Kernprogramms), aber man hat im Customizing dennoch eine wunderbare Übersicht, welche Felder in welcher Reihenfolge es gibt und wo ihr Inhalt herkommt. Das finde ich bedeutend besser, als das alles direkt in einem Stück includierten Code zu verschwurbeln.