allgemeine Frage zur dynamischen Tabellenerweiterung???

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alle Fragen rund um Basisthemen
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

allgemeine Frage zur dynamischen Tabellenerweiterung???

Beitrag von TimB ( / / 0 / 3 ) »
Hallo Forum,

zunächst einmal weiß ich nicht genau, ob ich hier richtig bin, aber da es um die Basis geht versuche ich es einfach mal:
Ich habe an sich zwar nichts mit SAP zu tun, aber mein Problem, müsste der SAP-Welt bekannt sein, bzw. gelöst sein.

In einer Datenbank hat ich eine Tabelle mit 5 Spalten, die zur Entwicklungszeit feststehen.
Nun kann es während der Laufzeit passieren, dass weitere Spalten (bzw. Platz für weitere Daten) benötigt werden.
Wie wird das in den aktuellen SAP-Systemen geregelt. Die Tabellen, die ich mal gesehen habe (ich glaube es war im MM Bereich) haben ja ziemlich viele Spalten. Wenn jemand zusätzliche Informationen abspeichern will, wird dann einfach eine möglichst passende Spalte genommen, die schon existiert oder wird eine neue ereugt?
Wie ist das hinterher dann bei der Selektion von Daten?
Wird dann jedesmal der SourceCode angepasst oder ist das ganze so dynamisch gehalten, dass das einzelne Modul einfach alles selektiert was da ist, und das anzeigt, wo Daten vorhanden sind?

Ich hoffe, ich konnte mein Problem halbwegs vernünftig erläutern.
Danke und Gruß
Tim

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


Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hi Tim,

wenn zu einer vorhandenen Tabelle zur Laufzeit eines Programms neue Felder benötigt werden, wie sollen dann andere Programme davon wissen? Also woher sollen andere Programme wissen, 1. dass es die Felder gibt und 2. was in den Feldern steht?

Wenn es um Wertfelder geht, dann kenne ich es so, das 10 (20,30,...) Wertfelder angelegt werden und dann irgendwo definiert wird, was, in den Feldern drinsteht.

eine andere Möglichkeit wäre noch, dass man ein Beschreibungsfeld und ein Datenfeld in die Tabelle aufnimmt.

Im Beschreibungsfeld steht dann z.B. MATNR und in dem Datenfeld die Materialnummer (resp. 'DATUM'/'21.12.2005', 'XWERT'/'ABCD').

Achja: Dynamisch ist SAP in der hinsicht eigentlich nur beim Anlegen vor Tabellen (Konditionstabellen, und im Controlling wird ein Ergebnisbereich mit entsptr. Felder gecustomized (was für ein besch&$%* Wort...) und dann wird die Tabelle so angelegt und die Programme dafür generiert. Hinterher kann nix mehr geändert werden.

Gruß,
Enno

Beitrag von meinrad (ForumUser / 67 / 0 / 0 ) »
Hallo,
Unter Laufzeit versteht man eigentlich: während des Laufes eine einzelnen Programmes. Das ist wohl nicht gemeint ?
Während der Benutzung vom SAP-System zwischen zwei Release-Ständen gilt:
SAP ist sehr komplex und auch teilweise dynamisch.
Aber so dynamisch nun auch wieder nicht.
Manche Tabellen werden in hunderten von Programmen angesprochen. Aber es werden natürlich meistens nur einige Felder benötigt.
Oftmals sind in dem einem Unternehmen Felder leer, die in einem anderen gefüllt sind ( CUSTOMIZING )
Was macht das Unternehmen: Äpfel-Verkauf oder AIRBUS.
Sap kann beides.
Es gibt wie so oft mehrere Möglichkeiten:
1. Schlechteste: Modifikation von Programmen, Tabellen und Bildschirmbildern. Das ist grundsätzlich möglich. Fast alle Programme liegen im Quellcode vor. Ungeplante umfangreiche Modifikationen führen zu Schiefständen im System, eingeschränkten Support durch SAP und eingeschränkter Releasewechsel-Fähigkeit. (gesetzliche und technische Neuerungen können nur schwer realisiert werden. Es können sehr viele Programme betroffen sein.
2. Nutzung von SAP-Konformen Erweiterungen und Schnittstellen.
Für Tabellen gibt es die Möglichkeit neue Felder in sogenannten APPEND-Strukturen zur Tabelle zu definieren. Diese Können dann mit Einschränkungen, in den von SAP ausgelieferten Programmen angesprochen werden. Man muss die Programme kennen.
Dort muss dann von SAP ein sogenannter USER-EXIT vorgesehen sein (ist nicht in jedem Programm vorhanden). Das ist eine leere Programm-Routine
die jeder Programmiere mit seinem eigenem Coding füllen kann. Sowohl die APPEND-Struktur als auch der USER-EXIT sind im Prinzip Releasewechselfähig.
Manchmal kann man über das CUSTOMIZING auch noch in SUBSCREENS Zusatzfelder einbauen.
3. Für sehr kleine Arbeitsteilgebite kann man Standard-Programme kopieren und unter eigenem Namen modifizieren. Das gilt vor allem für Auswertungen.

4. Man verwendet wie in der Frage erwähnt passende Felder. Man muss aber wiseen, ob diese Felder nur Info-Felder sind oder, ob sie etwas steuern. Probleme gibt es unter Umständen, wenn neue Funktionalitäten in einem Unternehmen eingeführt werden und dann die Felder mit nicht passenden Daten belegt sind. Im Prinzip eine einfache Möglichkeit.
Prüfungen der Eingaben sind aber oft nicht vollständig möglich.
5. Für die Erfassung im Dialog gibt es auch die Möglichkeit eigene Programme und Bildschirmbilder zu entwerfen und dann über spezielle Techniken (BAPI oder Batch-Input ) die Zusatzfelder zu füllen.
Dann braucht man die unter 2. erwähnten Subcreens nicht aber man braucht die passenden User-Exits und
Append-Strukturen wie unter 2. erwähnt.
Hier kann man dan die Prüfungen selber programmieren.

Wie man vorgeht kommt immer auf das Umfeld und die Aufgabe an.

Eine wirklich gute und einfache Lösung gibt es nicht.
Dazu ist auch die betriebliche Wirklichkeit zu komplex und das Programmieren noch zu umständlich.

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

die ursprüngliche Frage bezieht sich wohl auf die Sicht eines Datenbankadministrators.

Sollten in einer Tabelle neue, bisher nicht vorhandene Informationen abgelegt werden, werden datenbanktechnisch zusätzliche Felder (Spalten) erzeugt und die Daten darin abgelegt.

SAP-technisch geschieht das durch Erweiterung der eigentlichen Tabellendefinition um einzelne Felder oder um das hinzufügen von Appends. Letztendlich bekommt die Datenbanktabelle (ORACLE ...) einfach ein paar weitere Felder.

Mit den neuen Daten können natürlich nur Programme oder Programmteile etwas anfangen, die die neuen Datenfelder kennen (so wie es oben schon beschrieben worden ist).

Gruß
babap

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2102
Views
allgemeine Anfänger Frage
von Gast » 03.01.2005 13:51 • Verfasst in Java & SAP®
1
Antw.
2393
Views
Allgemeine Frage zu JAVA und SAP(ABAP)
von abap-strizi » 29.11.2005 10:50 • Verfasst in Java & SAP®
3
Antw.
2341
Views
Allgemeine Frage Idoc Eingangsrechnung
von Buetzy » 19.12.2007 16:51 • Verfasst in Financials
0
Antw.
1153
Views
Dialogbaustein neu generieren nach Tabellenerweiterung
von zorro » 16.06.2006 08:28 • Verfasst in Basis
1
Antw.
1679
Views
Allgemeine Fragen
von Spookykid » 07.04.2011 14:58 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

RFC FuBa Call - Korrupte Daten
vor einer Stunde von a-dead-trousers 4 / 45
alv_grid aktualisieren
vor 2 Stunden von Egzon gelöst 4 / 79
SELECT CHAR16 in CHAR12-Feld
vor 11 Stunden von Shortcut IT 3 / 42

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

RFC FuBa Call - Korrupte Daten
vor einer Stunde von a-dead-trousers 4 / 45
alv_grid aktualisieren
vor 2 Stunden von Egzon gelöst 4 / 79
SELECT CHAR16 in CHAR12-Feld
vor 11 Stunden von Shortcut IT 3 / 42

Unbeantwortete Forenbeiträge

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