Topic 1: SAP Datenmodellanalyse

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Imperative Programmierung
Datenbankdesign mit ACCESS.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Unter- und Oberklassen: Beispiel
der Universität Oldenburg
Datenbankzugriff im WWW (Kommerzielle Systeme)
Projektgruppe SAP R/3 auf Linux Cluster
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
RDF R ESOURCE D ESCRIPTION F RAMEWORK Referentin: Claudia Langer.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
CIDOC-CRM Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung AM 2 Dozent: Prof. Dr. Manfred Thaller Referent: Nelson Marambio.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
Modularisierungstechniken
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
1. Übung ERP-Systeme Grundlagen und einfache ABAP-Programme.
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Explizite und editierbare Metainformationen für Software Muster.
Die Skriptsprache Perl (7)
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Seminar: Verteilte Datenbanken
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Langzeitarchivierung und Metadaten. NAA Preservation Strategy Link: ml.
METS (Metadata Encoding Transmission Standard). Wer und Was Digital Library Federation Vorgänger: MoA II (1997) Standard zur Beschreibung einer Teilmenge.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Visualisierung objektrelationaler Datenbanken
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Einführung in die Programmierung
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Allgemeines zu Datenbanken
Oliver Spritzendorfer Thomas Fekete
PG5 Building Advanced / DDC Suite 2.0 BACnet
Topic 3: Object-Relational Mapping Tutor: Martin Lorenz.
1 SWeb Alarmin Erweitert PG5 Building Advanced / DDC Suite 2.0 SWeb Alarming Erweitert SWeb Alarming Erweitert - Erweitert.
Topic 2: Tabellenclustering Tutor: Martin Lorenz.
1 Mehrsprachigkeit Das Backend von TYPO3 ist mehrsprachig, so dass jeder Redakteur mit TYPO3 Zu einem mehrsprachigen Webauftritt gehört bei einem ausgereiften.
Systemvermessung SAP Basis Release 7.00
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Montag, 9. Juli 2001  ====!"§==Systems = Seite 1 Projekt SAPscript  Dana Stepanek SAPscript  Symbole MitSymbolen können Programm- bzw. Systemdaten oder.
Integritätsbedingungen (Constraints)
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.
Software Engineering Strukturierter Entwurf
2 Datenabstraktion Geheimnisprinzip:
Java-Kurs Übung Besprechung der Hausaufgabe
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Customizing Tools: Benutzerdefinierte Felder und Tabellen
Tutorium Software-Engineering SS14 Florian Manghofer.
Objektorientierte Programmierung Was ist das eigentlich ?
Create Table, Rechte und Rollen
DATIV Ich schreibe meinem Bruder einen Brief.
Implementieren von Klassen
 Präsentation transkript:

Topic 1: SAP Datenmodellanalyse Tutor: Martin Lorenz

Überblick Die SAP Business Suite hat eine Historie von mehr als 30 Jahren Das SAP Datenmodell besteht aus mehr als 75.000 Tabellen mit über 800.000 Feldern Es existiert keine umfassende Dokumentation des Domainmodells

Wie kann man ähnliche Tabellen im System identifizieren? Problemstellung Über die Jahre haben sich aus unterschiedlichen Gründen redundante Datenstrukturen im System angesiedelt. Bsp.: Kunde im CRM-Modul und Kunde im SD-Modul Wie kann man ähnliche Tabellen im System identifizieren?

Voraussetzungen Die SAP Business Suite verfügt über ein sogenanntes Data Dictionary (DDIC), welches Metadaten zum Datenmodell enthält. Das DDIC ist selbst eine Sammlung von Tabellen. TABNAME = OBJ_NAME DEVCLASS = DEVCLASS DD02L (Tables) TADIR (Dev. Obj.) TDEVC (Dev. Class) belongs to package is dev. Obj. (1,1) (1,1) (1,1) (1,*) (1,*) (0,1) (1,*) consists of has parent package (1,1) DD03L (Fields) DD04L (Datatypes) is of type (1,1) (1,*)

Aufgaben Einarbeitung in die Konzepte des Data Dictionary Entwicklung von Ähnlichkeitsmaßen und Matching-Algorithmen, die ähnliche Tabellen identifizieren Entwicklung eines Prototypen, der Matching-Algorithmen auf Basis der Ähnlichkeitsmaße implementiert

DD02L Contains the definitions of tables and structures that exist in the system Tabelle Feldname Kurzbeschreibung Datenelement Feldtyp Feldlänge Prüftabelle DD02L ACTFLAG Aktivierungsflag C 1 APPLCLASS Applikationsklasse für DDObjekte (nicht benutzt) 4 * AS4DATE Datum der letzten Änderung D 8 AS4LOCAL Aktivierungsstand eines RepositoryObjektes AS4TIME Uhrzeit der letzten Änderung T 6 AS4USER Autor der letzten Änderung 12 AS4VERS Version des Eintrags (nicht benutzt) N AUTHCLASS Aktivierungsart AUTHCLASS_ 2 BUFFERED Kennzeichen für Pufferungserlaubnis CLIDEP Kennzeichen, ob mandantenabhängig COMPRFLAG Kennzeichen, ob Felder komprimiert werden COMPREX CONTFLAG Auslieferungsklasse DATAVG Durchschnittliche Anzahl Einträge 10 DATMAX Maximale Anzahl Einträge DATMIN Minimale Anzahl Einträge EXCLASS DD: Ranking about includeand subtypeextention DDRANKING GLOBALFLAG Flag für private DDObjekte (nicht benutzt) LANGDEP Sprachenabhängigekeit MAINFLAG Kennzeichen, ob Pflege über Standardtools erlaubt ist MAINTFLAG MASTERLANG Originalsprache in RepositoryObjekten MULTIPLEX Kennzeichen, ob für eine Tabelle Multiplexing möglich ist PROXYTYPE DD: Ist generiertes ProxyObjekt DDPROXYTY PROZPUFF Prozentzahl für Puffer 3 RESERVETAB SDIC: Reserve für Tabellen SHLPEXI Suchhilfeanbindung an der Tabelle vorhanden SQLTAB Name einer SQLTabelle oder einer appendierenden Tabelle SQLAPPDTAB 30 TABCLASS Tabellenart TABNAME Tabellenname VIEWCLASS Typ eines Views VIEWGRANT Pflegestatus (Änderungsberechtigung) für ViewDaten WRONGCL Erweiterungskategorie ist falsch DDWRONGCL

DD03L Contains all the fields in all tables of the existing system Tabelle Feldname Kurzbeschreibung Datenelement Feldtyp Feldlänge Prüftabelle DD03L ADMINFIELD Schachtelungstiefe bei Includes C 1 ANONYMOUS Anonymisierungskennzeichen (für Benutzer Felder) DDANONYM AS4LOCAL Aktivierungsstand eines RepositoryObjektes AS4VERS Version des Eintrags (nicht benutzt) N 4 CHECKTABLE Prüftabellenname des Fremdschlüssels 30 * COMPTYPE DD: Komponententyp CONROUT Prüfoder Generierungsmodul für Felder 10 DATATYPE Datentyp im ABAP Dictionary DATATYPE_D DBPOSITION Position des Feldes in der Tabelle TABFDPOS DECIMALS Anzahl Dezimalstellen 6 DEPTH DD: Tiefe bei strukturierten Typen TYPEDEPTH 2 DOMNAME Bezeichnung einer Domäne DD01L FIELDNAME INTLEN Interne Länge in Bytes INTTYPE ABAPDatentyp (C,D,N,...) KEYFLAG Kennzeichnet ein Schlüsselfeld einer Tabelle LANGUFLAG DD: Kennzeichen für ein Sprachenfeld DDLANGUFLG LENG Länge (Anzahl der Zeichen) DDLENG MANDATORY Flag: Feld ist obligatorisch (NOT BLANK) NOTNULL Kennzeichen, daß zu diesem Feld NOT NULL erzwungen wird OUTPUTSTYLE DD: Ausgabestil (Outputstyle) für DecfloatTypen POSITION PRECFIELD Name der includierten Tabelle REFFIELD Referenzfeld für Währungsund Mengenfelder REFTABLE Referenztabelle zum Feld REFTYPE Art des referierten Objektes DDREFTYPE ROLLNAME Datenelement (semantische Domäne) DD04L SHLPORIGIN Herkunft einer Eingabehilfe TABLETYPE DD: Flag, ob es sich um eine Tabelle handelt DDTABTYPE TABNAME Tabellenname DD02L

DD04L Contains all the data elements in the existing system Tabelle Feldname Kurzbeschreibung Datenelement Feldtyp Feldlänge Prüftabelle DD04L ACTFLAG Aktivierungsflag DTACTFLAG C 1 APPLCLASS Applikationsklasse für DDObjekte (nicht benutzt) 4 * AS4DATE Datum der letzten Änderung D 8 AS4LOCAL Aktivierungsstand eines RepositoryObjektes AS4TIME Uhrzeit der letzten Änderung T 6 AS4USER Autor der letzten Änderung 12 AS4VERS Version des Eintrags (nicht benutzt) N AUTHCLASS Aktivierungsart AUTHCLASS_ 2 BIDICTRLC DD: Keine Filterung von BIDIFormatierungszeichen DDBIDICTRL CONVEXIT Konvertierungsroutine 5 DATATYPE Datentyp im ABAP Dictionary DATATYPE_D DECIMALS Anzahl Dezimalstellen DEFFDNAME Defaultname für Komponenten, die das Datenelement verwenden 30 DOMNAME Bezeichnung einer Domäne DD01L DTELGLOBAL Flag für private DDObjekte (nicht benutzt) GLOBALFLAG DTELMASTER Originalsprache in RepositoryObjekten MASTERLANG ENTITYTAB Wertetabelle DD02L HEADLEN Maximale Überschriftenlänge LENG Länge (Anzahl der Zeichen) DDLENG LOGFLAG Kennzeichen für das Schreiben von Änderungsbelegen LOWERCASE Kleinbuchstaben erlaubt/nicht erlaubt LTRFLDDIS GrundSchreibrichtung ist festgelegt auf LTR (lefttoright) DDLTRFLDDI MEMORYID Set/GetParamterId 20 TPARA NOHISTORY DD: Flag für Auschalten der EingabeHistorie im DynproFeld DDNOHISTORY OUTPUTLEN Ausgabelänge PROXYTYPE DD: Ist generiertes ProxyObjekt DDPROXYTY REFKIND Art des Dictionary Typs TYPEKIND REFTYPE Art des referierten Objektes DDREFTYPE RESERVEDTE SDIC: Reserve für Datenelemente (nicht benutzt) ROLLNAME Datenelement (semantische Domäne) ROUTPUTLEN SCRLEN1 Max. Länge Feldbezeichner kurz SCRLEN_S SCRLEN2 Max. Länge Feldbezeichner mittel SCRLEN_M SCRLEN3 Max. Länge Feldbezeichner lang SCRLEN_L SHLPFIELD Name eines Suchhilfeparameters SHLPNAME Name einer Suchhilfe SIGNFLAG Anzeige des Vorzeichen bei numerischen Feldern VALEXI Existenz von Festwerten

TADIR Object catalog, containing all repository objects that exist in the system (data elements, tables, etc) Tabelle Feldname Kurzbeschreibung Datenelement Feldtyp Feldlänge Prüftabelle TADIR AUTHOR Verantwortlicher für ein RepositoryObjekt RESPONSIBL C 12 CHECK_CFG Prüfkonfiguration SCC_CFG 30 * CHECK_DATE Prüfdatum SCC_DATE D 8 COMPONENT Softwarekomponente DLVUNIT CPROJECT Interne Verwendung CREATED_ON Anlegedatum des Objekts CREATIONDT CRELEASE R/3 Release SAPRELEASE 10 DELFLAG Löschungskennzeichen OBJDELFLAG 1 DEVCLASS Paket TDEVC EDTFLAG Kennzeichen,ob Objekt nur mit speziellem Editor änderbar ist GENFLAG Generierungskennzeichen KORRNUM Auftrag/Aufgabe bis einschließlich Release 3.0 TRKORR_OLD MASTERLANG Originalsprache in RepositoryObjekten OBJ_NAME Objektname im Objektkatalog SOBJ_NAME 40 OBJECT Objekttyp TROBJTYPE 4 OBJSTABLTY Freigabezustand eines Entwicklungsobjekts PAKNOCHECK Ausnahmekennzeichen für Paketprüfung PGMID ProgrammID in Aufträgen und Aufgaben SRCDEP Reparaturkennzeichen eines RepositoryObjekts REPAIR SRCSYSTEM Originalsystem des Objekts TRANSLTTXT Übersetzung technischer Texte in Entwicklungssprache VERSID VERSIONID 20

TDEVC Contains all development classes and packages Tabelle Feldname Kurzbeschreibung Datenelement Feldtyp Feldlänge Prüftabelle TDEVC ACCESS_OBJECT Name eines Zugriffsobjekts PAK_ACCESS_OBJECT C 30 ALLOW_STATIC Statischen Zugriff a.lok.Generierungsanhangspakete erlauben? PAK_ALLOW_STATIC_ACCESS 1 APPLICAT Anwendungsbereich eines Pakets TRDEVCAPPL 2 AS4USER Verantwortlicher eines Pakets AUTHOR3 12 CHANGED_BY Name des letzten Änderers UNAM CHANGED_ON Änderungsdatum RDIR_UDATE D 8 CHECK_RULE Prüfkonfigurationsregel SCC_RULE_ID * CLI_CHECK Kennzeichen, ob ein Paket eine DCL hat oder nicht PAK_HAS_DCL COMPONENT Anwendungskomponente UFFCTR 20 DF14L CONSYS Veraltetes Feld (nicht verwenden) CONSYS_OLD 10 CREATED_BY Autor CNAM CREATED_ON Erstellungsdatum RDIR_CDATE CTEXT AS4TEXTOLD 60 DCL_ENABLED DEFAULT_INTF Paketschnittstelle SCOMIFNAM DEVCLASS Paket DLVUNIT Softwarekomponente ENCAPSULATION Schutzebene eines Pakets PAK_ENCAPSULATION_LEVEL ENHANCED_PACKAGE ERRSEVRTY Fehlerschwere 4 EXT_ALIAS Alias für Enterprise Extension in Transaktion FIBF EXT_ALIAS 6 INHERIT_CLI_INTF Erlaubt Erben von ClientSchnittstellen des Oberpakets PAK_INHERIT_CLIENT_INTERFACES INTFPREFX Präfix für Paketschnittstellen (Vorschlagswert) INTSYS INTSYS_OLD IS_ENHANCEABLE Ob das Paket erweitert werden kann PAK_IS_ENHANCEABLE KORRFLAG Mit Änderungsaufzeichnung MAINPACK Kennzeichen für Hauptpaket NAMESPACE Namensraum OVERALL_TSTMP UTCZeitstempel in Langform (JJJJMMTThhmmssmmmuuun) TIMESTAMPL P 21 PACKAGE_KIND Typ eines Pakets (z.B. reguläres Paket, Anhangspaket) PAK_PACKAGE_KIND PACKTYPE Pakettyp (erlaubte Objekttypen) PARENTCL Vorgängerpaket PDEVCLASS Transportschicht in der ABAP Workbench DEVLAYER TCETRAL PERMINHER Kennz.: Erbt Verwendungserlaubnisse vom Vorgängerpaket PROJECT_GUID GUID für cPro Projekt PAK_PROJECT_GUID X 16 PROJECT_PASSDOWN Projektzuordnung an Teilpakete vererben PAK_PROJECT_PASSDOWN RESTRICTED Hinzufügen weiterer Objekte zu Paket nicht möglich PACKRESTR SHIPMENT Auslieferungseinheit SRV_CHECK SUB_KEY Subschlüssel für Generierungsanhangspakete PAK_GEN_APPEND_PACKAGE_SUB_KEY SWITCH_ID ID eines Schalters im Switch Framework SFW_SWITCH_ID TECH_CHG_TSTMP TPCLASS Kennzeichen für Kundenauslieferung