50
Carsten Herbe metafinanz - Informationssysteme GmbH Generiertes OWB Staging inklusive Data Quality Checks

Generiertes OWB Staging inklusive Data Quality Checks - DOAG

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Carsten Herbemetafinanz - Informationssysteme GmbH

Generiertes OWB Staginginklusive Data Quality Checks

Page 2: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 2November 2011©

Wir fokussieren mit unseren Services die Herausforderungen des Marktes und verbinden Mensch und IT

Facing the futureDie Virtualisierung und Digitalisierung der Welt verändert Wertschöpfungsketten und generiert neue Geschäftsmodelle. Ganzheitliche Strategien, das Zusammenspiel zwischen Business und IT sind dabei der Schlüssel zum wertorientierten Wachstumskurs. metafinanz gehört seit über 20 Jahren zu den erfahrensten Software-und Beratungshäusern am Markt. Wir entwickeln intelligente zukunftsorientierte Lösungen für komplexe Herausforderungen.

Wir sind Microsoft Solution Provider sowie Oracle-, Informatica- und SAS-Partner.

Die metafinanz ist ein Unternehmen der Allianz Gruppe.

Data Warehousing

Schulungen

Reporting� Customer Intelligence � Controlling

� BI-Portale

� DWH-Architekturen & -Systeme

� Datenqualität� Oracel Warehouse Builder

� OWB-Schulungen � Oracle DWH-Schulungen

Customer & Channel Mgmt.Risk, Compliance & Finance Mgmt.

Insurance OperationsSupplier Management

IT TransformationIT Innovations

Page 3: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 3November 2011©

Einführung - Generiertes OWB Staging inklusive Data Quality Checks

Anforderung� Einheitliches Vorgehen für alle Schnittstellen � Identifizierung von Datensätzen die korrigiert werden müssen� Einfache Korrekturmöglichkeit für Fachanwender

Idee� Zentrale Definition der Schnittstellen� Generierung der Mappings und Process Flows� Generische Applikation für Korrekturen

Nutzen

� Keine wiederkehrende Tätigkeiten� Bessere Wartbarkeit: neues Generieren bei Änderungen� Einheitliches Vorgehen� Geringere Fehleranfälligkeit

Vortrag� Erfahrungsbericht: Best Practices und Benefits� Anleitung zur Generierung� Inspiration für eigene Generatoren

Page 4: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 4November 2011©

Agenda Generiertes OWB Staging inklusive Data Quality Checks

Staging Prozess

Data Quality Checks

Data Cleansing Application

1

3

2

Generierung4

Fazit5

Page 5: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 5November 2011©

Agenda Generiertes OWB Staging inklusive Data Quality Checks

Staging Prozess

Data Quality Checks

Data Cleansing Application

1

3

2

Generierung4

Fazit5

Page 6: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 6November 2011©

Der Staging Prozess umfasst die Extraktion der Daten aus den Quellen, Standardisierung, Überprüfung der Data Quality Rules und optionale Korrekturen.

Data Extraction� Extraktion aus Quellsystem oder Laden aus Datei� Laden in Staging Area� File Handling (Archivierung Daten, Log-Files etc.)

Data Quality Checks� Überprüfung der Datenqualität anhand definierter Regeln� Aussteuern von fehlerhaften Datensätzen

Data Cleansing� Automatisch: Standardisierung� Manuell: Korrektur von fehlerhaften Datensätzen

Aufgaben Staging & Cleansing Prozess

Page 7: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 7November 2011©

Im Staging Mapping werden die Daten aus der Quelle in die Zieldatenbank geholt. Dann werden sie im Cleansing Mapping geprüft und aufbereitet.

Übersicht Staging ProzessStaging Mapping MAP_STG_XXX

� Lesen aus Flat File oder aus Datenbank in Staging Tabelle

Cleansing Mapping MAP_CLS_XXX

� Lesen der Daten aus der Staging Tabelle

� Typ-Prüfung und -Konvertierung anhand Definition in INTERFACE_DEFINITION

� Code-Übersetzung mit Regeln aus CODE_MAP

� Überprüfung Wertebereich gegen Referenz in LIST_OF_VALUES

MAP_CLS_XXX

CLS_XXX

LIST_OF_VALUES

INTERFACE_DEFINITION

CODE_MAP

DQ_ERROR

ERR_XXX

STG_XXX

DB Link

Flat File

MAP_STG_XXX

Page 8: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 8November 2011©

Übersicht Cleansing Mapping

Cleansing Mapping Details

MAP_CLS_XXX

STG_XXX CLS_XXX

DQ_ERRORLIST_OF_VALUES

INTERFACE_DEFINITION

CODE_MAP

ERR_XXX

Page 9: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 9November 2011©

Cleansing Mapping (1/5): Lesen der Staging Daten, Mapping der Codes und Verknüpfung mit Fehlern (für Korrekturläufe bei denen nur fehlerhaft Datensätze verarbeitet werden).

Page 10: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 10November 2011©

Cleansing Mapping (2/5): Filtern der Delta Sätze, Schreiben in TMP_TEST und Aufruf der Data Quality Table Function.

Page 11: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 11November 2011©

Cleansing Mapping (3/5): Details zum Aufruf der Data Quality Table Function. Als erstes wird der REFCUR von Typ erstellt, dann der eigentliche Aufruf der Table Function.

Page 12: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 12November 2011©

Cleansing Mapping (4/5): Mit dem Construct Object Operator erstellen wir ein Binding zu dem REFCUR in dem Package PCK_DQ_xxx_TFN.

Construct Object Operator

Page 13: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 13November 2011©

Cleansing Mapping (5/5): Die Table Function liefert zwei „Typen“ von Datensätzen: einzelne Attribut-Fehler und den geprüften und konvertierten Staging-Datensatz. Diese laufen in die entsprechenden Tabellen.

Page 14: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 14November 2011©

Agenda Generiertes OWB Staging inklusive Data Quality Checks

Staging Prozess

Data Quality Checks

Data Cleansing Application

1

3

2

Generierung4

Fazit5

Page 15: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 15November 2011©

Cleansing Mapping (3/5): Details zum Aufruf der Data Quality Table Function. Als erstes wird der REFCUR von Typ erstellt, dann der eigentliche Aufruf der Table Function.

Page 16: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 16November 2011©

Die Table-Function liefert AUDIT-Datensätze und DATA-Datensätze für die Cleansing-Tabellen CLS_xxx und Error-Tabellen ERR_xxx und DQ_ERROR

Ausgabe der Table-Function

Pro In-Datensatz (RECORD_ID) werden im Fehlerfall mehrere Out-Datensätze erzeugt

Page 17: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 17November 2011©

Die Table-Function liefert AUDIT-Datensätze und DATA-Datensätze für die Cleansing-Tabellen CLS_xxx und Error-Tabellen ERR_xxx und DQ_ERROR

Ausgabe der Table-Function

Es gibt zwei Arten von Datensätzen: AUDIT-Data und der (standartisierte) eigentliche Datensatz. Unterschieden werden die Datensätze anhand von AUDIT_IS_DATA

Page 18: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 18November 2011©

Die Table-Function liefert AUDIT-Datensätze und DATA-Datensätze für die Cleansing-Tabellen CLS_xxx und Error-Tabellen ERR_xxx und DQ_ERROR

Ausgabe der Table-Function

Pro fehlerhaften Attribut wird ein AUDIT-Datensatz erzeugt. Er enthält Name des Attributes, seinen Wert und den Fehlertext. Die DATA-Felder sind nicht gefüllt.

Page 19: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 19November 2011©

Die Table-Function liefert AUDIT-Datensätze und DATA-Datensätze für die Cleansing-Tabellen CLS_xxx und Error-Tabellen ERR_xxx und DQ_ERROR

Ausgabe der Table-Function

Der DATA Datensatz enthält zusätzlich zu den Daten die Fehlertexte aller seiner Attribute.

Page 20: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 20November 2011©

Für jedes Interface wird ein DQ Package generiert. Es definiert einen REF CURSOR mit allen Attributen des Interfaces und bietet eine Table Function zum Cleansing.

Package PCK_DQ_xxx_TFN

Page 21: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 21November 2011©

Für die Ausgabe der Data Quality Table Function sind Objekt und PL/SQL Table zu definieren.

CREATE OR REPLACE TYPE OBJ_OUT_DQ_TEST AS OBJECT (

RET_RECORD_ID NUMBER,

DQ_AUDIT_ID NUMBER,

DQ_AUDIT_DATE DATE,

DQ_DELIVERY_ENTITY VARCHAR2(50),

DQ_DELIVERY_DATE DATE,

DQ_INTERFACE VARCHAR2(30),

DQ_ATTRIBUTE VARCHAR2(25),

DQ_ERROR VARCHAR2(4000),

DQ_VALUE VARCHAR2(4000),

DQ_RECORD_KEY VARCHAR2(4000),

DQ_RECORD_ID NUMBER,

RET_TESTKEY VARCHAR2(4000),

RET_NUMBER1 NUMBER,

-- alle weiteren Attribute folgen

AUDIT_ERROR_TEXT VARCHAR2(4000),

AUDIT_IS_DATA VARCHAR2(1)

);

/

CREATE OR REPLACE TYPE TAB_OUT_DQ_TEST AS TABLE OF OBJ_OUT_DQ_TEST;

/

Page 22: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 22November 2011©

Das Kernstück das generierten Data Quality Packages ist die Table Function TFN_CHECK_xxx. In ihr wird jedes Attribut jedes Datensatzes geprüft.

FUNCTION tfn_check_test(p_row pck_dq_test_tfn.refcur_in_dq_test) RETURN

tab_out_dq_test

PIPELINED IS

l_error VARCHAR2(4000);

l_attr_error VARCHAR2(4000);

l_out_rec obj_out_dq_test := obj_out_dq_test(NULL, ...);

l_in_rec type_in_dq_test;

BEGIN

LOOP

FETCH p_row

INTO l_in_rec;

EXIT WHEN p_row%NOTFOUND;

l_out_rec := obj_out_dq_test(NULL,

.. .);

l_error := NULL;

l_out_rec.audit_is_data := 'N';

l_out_rec.dq_interface := 'TEST';

l_out_rec.dq_record_key := l_in_rec.src_testkey;

l_out_rec.dq_record_id := l_in_rec.src_record_id;

l_out_rec.ret_record_id := l_in_rec.src_record_id;

l_out_rec.dq_attribute := 'TESTKEY';

l_out_rec.dq_value := l_in_rec.src_testkey;

Page 23: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 23November 2011©

Pro Attribute können mehrere Checks ausgeführt werden. Liefert einer oder mehrere einen Fehler, so wird ein Einzel-Fehlersatz für die Tabelle DQ_ERRORS ausgegeben.

-- pro Attribut

l_attr_error := NULL;

l_attr_error := l_attr_error ||

pck_dq.fun_check_not_null_character('TESTKEY',

l_in_rec.src_testkey);

l_attr_error := l_attr_error ||

pck_dq.fun_check_type_character('TESTKEY',

l_in_rec.src_testkey,

30, 'Y');

IF l_attr_error IS NOT NULL THEN

l_out_rec.dq_error := l_attr_error;

PIPE ROW(l_out_rec);

l_error := l_error || l_attr_error;

END IF;

-- alle weiteren Attribute folgen

Page 24: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 24November 2011©

Am Ende wird pro gelesen Datensatz ein Datensatz wieder ausgegeben. Er enthält die konvertierten Werte sowie optional alle gesammelten Fehler der einzelnen Attribute.

l_out_rec.dq_attribute := NULL;

l_out_rec.dq_value := NULL;

l_out_rec.dq_error := NULL;

l_out_rec.audit_is_data := 'Y';

l_out_rec.audit_error_text := l_error;

l_out_rec.ret_testkey := l_in_rec.src_testkey;

l_out_rec.ret_number1 := l_in_rec.src_number1;

-- alle weiteren Attribute werden gefüllt

PIPE ROW(l_out_rec);

END LOOP;

CLOSE p_row;

RETURN;

END tfn_check_test;

Page 25: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 25November 2011©

Der Aufruf der generische Data Quality Checks wird aus der Interface Definition generiert. Dafür stehen Funktionen in dem Framework Package PCK_DQ bereit.

Generische Data Quality Checks

Page 26: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 26November 2011©

Beispiel eines generischen Checks zum Prüfen, ob ein NUMBER Attribut der geforderdenPRECISION und SCALE entspricht.

Beispiel (1/2): FUN_CHECK_TYPE_NUMBER

Page 27: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 27November 2011©

Beispiel eines generischen Checks zum Prüfen, ob das Attribut dem definierten Wertebereich (List-of-Values) entspricht.

Beispiel (2/2) FUN_CHECK_LOV

Page 28: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 28November 2011©

Fachliche Data Quality Checks können nicht generisch erzeugt werden, sie werden manuell in den generierten Code eingefügt.

Fachliche Data Quality Checks� Implementierung direkt in der Table-Function TFN_CHECK_xxx

� Eigentliche Logik sollte in einem extra Package gekapselt werden, damit diese bei einer Neu-Generierung nicht aus Versehen überschrieben werden kann

l_attr_error := l_attr_error || my_pck.fun_my_check('MY_ATTRIBUTE', ...);

Page 29: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 29November 2011©

Agenda Generiertes OWB Staging inklusive Data Quality Checks

Staging Prozess

Data Quality Checks

Data Cleansing Application

1

3

2

Generierung4

Fazit5

Page 30: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 30November 2011©

Auf der Überblicksseite werden alle fehlerhaften Datensätze in komprimierter Form dargestellt.

Data Cleansing Application: APEX GUI: Overview

Page 31: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 31November 2011©

In der Cleansing-Maske können die Werte überschrieben werden. Per Trigger wird der Wert des entsprechenden Attributes in der Staging Tabelle korrigiert.

Data Cleansing Application: APEX GUI: Cleansing

Page 32: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 32November 2011©

Der Trigger auf der Error-Tabelle DQ_ERROR ruft die Funktion PRO_CORRECT_STG_ATTRIBUTE in dem Package PCK_DQ auf.

Data Cleansing Application: Funktionsweise

Page 33: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 33November 2011©

In der Funktion PCK_DQ.PRO_CORRECT_STG_ATTRIBUTE wird ein dynamisches SQL zur Korrektur der Daten in der Staging Tabelle erzeugt.

Data Cleansing Application: Funktionsweise

Page 34: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 34November 2011©

Agenda Generiertes OWB Staging inklusive Data Quality Checks

Staging Prozess

Data Quality Checks

Data Cleansing Application

1

3

2

Generierung4

Fazit5

Page 35: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 35November 2011©

Für die Generierung wie auch zur Laufzeit wird eine minimale Infrastruktur benötigt. Die Logik ist in dem Package PCK_OWB_GENERATOR, die Definition in der Tabelle INTERFACE_DEFINITION.

Infrastruktur für die Generierung

Page 36: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 36November 2011©

Die Schnittstelle wird definiert, PL/SQL-Code wird generiert und in den OWB importiert. Im OWB werden weitere Objekte per OMB*Plus generiert und schließlich deployt.

Generierung OWB Objekte

Generierung Datenbankobjekte

Definition Schnittstellen

Deployment der generierten Objekte

Import von Datenbankobjekten

PL/SQL package PCK_DQ_xxx

OWB table CLS_XXX

OWB table ERR_XXX

OWB table STG_XXX

OWB mapping MAP_CLS_XXX

Generierte Objekte (DB & OWB)Generierungsschritte

1

2

3

4

5

OWB table TMP_XXX

Generierung Schritt-für-Schritt

Types [OBJ,TAB]_OUT_DQ_TEST

Page 37: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 37November 2011©

Als erstes ist in der Tabelle MAINT_INTERFACE die Schnittstelle anzulegen. Dies kann einfach per APEX Anwendung geschehen.

Anlegen von Schnittstellen

1 Definition Schnittstellen

Page 38: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 38November 2011©

In der Tabelle MAIN_INTERFACE_DEFINTION werden alle Schnittstellen auf Attribut-Ebene definiert.

1

Jedes Attribut der Schnittstelle muss definiert werden

� INTERFACE: Name der Schnittstelle

� ATTRIBUTE: Name des Attributes

� DATA_TYPE: [CHARACTER|NUMERIC|DATE|TIMESTAMP]

� LENGTH: Länge des Datentyps CHARACTER

� PRECISION: Precision des Datentyps NUMERIC

� SCALE: Scale des Datentyps NUMERIC

� THRESHOLD: Prozentsatz ein numerischer Wert darf sich im Vergleich zur letzten Lieferung ändern

� FORMAT: Zahlen- bzw. Datumsformat (nur für Konvertierung). Hat keine Auswirkung wenn die Staging Tabelle per DB-Link geladen wird.

� LOV_DOMAIN: Domain einer List-of-Values welcher die gültigen Wertausprägungen für dieses Attribut enthält.

� NOT_NULL: NULL-Wert erlaubt (N) oder nicht (Y).

� IS_KEY: Attribut ist (Teil) des Primary Keys (fachlicher Schlüssel)

� DESCRIPTION: Beschreibung (nur zur Dokumentation).

Definition Schnittstellen

Page 39: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 39November 2011©

Die Daten in der Tabelle der Tabelle INTERFACE_DEFINITION sind Basis für die Generierung verwendet.

1

Daten in der Tabelle INTERFACE_DEFINITION

Definition Schnittstellen

Page 40: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 40November 2011©

In der Tabelle CODE_MAPPING können mehrere Quell-Werte auf einen Zielwert gemapptwerden. Jedes dieser Mappings ist einer Domain zugeordnet.

1

Mapping von Codes in der Tabelle CODE_MAPPING

Definition Schnittstellen

Page 41: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 41November 2011©

Die Tabelle LIST_OF_VALUE enthält erlaubte Werte für verschieden Domains.

Wertebereiche

1

Wertebereiche in der Tabelle LIST_OF_VALUE

Definition Schnittstellen

Page 42: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 42November 2011©

Interface Generation Guide

2

select pck_owb_generator.fun_generate_plsql('DEMO') from dual;

� Als erstes ist mit dem Package PCK_OWB_GENERATOR der PL/SQL-Code zu generieren:

� Das Query liefert den Code für das Package PCK_DQ_xxx:

� Dieser Code ist per Copy&Paste im Target Schema auszuführen

CREATE OR REPLACE PACKAGE PCK_DQ_DEMO AS

FUNCTION FUN_CHECK_DEMO (

[...]

END PCK_DQ_DEMO;

/

CREATE OR REPLACE PACKAGE body PCK_DQ_DEMO AS

FUNCTION FUN_CHECK_DEMO (

[...]

END PCK_DQ_DEMO;

/

Generierung Datenbankobjekte

Page 43: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 43November 2011©

Interface Generation Guide

3 Import von Datenbankobjekten

Page 44: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 44November 2011©

Interface Generation Guide

4

select pck_owb_generator.fun_generate_omb('DEMO') from dual;

� Als erstes ist mit dem Package PCK_OWB_GENERATOR der OMB-Code zu generieren:

� Das Query liefert einen CLOB mit dem OMB-Code

� Dieser Code ist per Copy&Paste im OMB*Plus Fenster des OWB Design Centers auszuführen

OMBCC '/DWH_DEMO/STG_DEMO'

# drop and create mapping

catch {OMBDROP MAPPING 'MAP_CLS_DEMO'}

OMBCREATE MAPPING 'MAP_CLS_DEMO'

OMBALTER MAPPING 'MAP_CLS_DEMO' SET PROPERTIES (GENERATION_LANGUAGE)

VALUES ('PLSQL')

[...]

Generierung OWB Objekte

Page 45: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 45November 2011©

Das Mapping kann per Parameter auf zwei Arten ausgeführt werden: zur Verarbeitung aller Daten in der Staging Tabelle oder als Delta mit fehlerhaften Datensätzen.

declare

l_status varchar2(4000);

begin

l_status := pck_dq.fun_run_cleansing(

PS_INTERFACE => 'TEST',

ps_delivery_entity=>'demo OE',

pd_delivery_date => to_date('24.05.2011', 'dd.mm.yyyy'),

ps_delta => 'N'); -- oder Y

dbms_output.put_line(l_status);

commit;

end;

/

Page 46: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 46November 2011©

Durch das Deployment werden in dem Zielschema die Tabellen und das Mapping angelegt.

5

Generierte OWB Objekte

Deployment der generierten Objekte

Page 47: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 47November 2011©

Agenda Generiertes OWB Staging inklusive Data Quality Checks

Staging Prozess

Data Quality Checks

Data Cleansing Application

1

3

2

Generierung4

Fazit5

Page 48: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 48November 2011©

Bei vielen Schnittstellen (bzw. Änderungen) lohnt sich der Aufwand. Die Definition per APEX ist wie die Generierung komfortabel.

Fazit

Aufwand

� Implementierung Framework (bzw. Einbindung vorhandenes Metadaten-Repository)

� Implementierung Generator� Erstellung APEX-Anwendung

Handhabung� Einmalige Definition

� Schnittstellen, Code-Maps, List-of-Values� Generierung überwiegend automatisiert

Nutzen

� Zentrale Definition der Schnittstellen � Zeitersparnis bei vielen Schnittstellen/Änderungen� Einheitliches Vorgehen & Geringere Fehleranfälligkeit� Einfache Neugenerierung bei (funktionaler) Prozesserweiterung

Page 49: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Generiertes OWB Staging inklusive Data Quality Checks Seite 49November 2011©

Data Quality ist leicht zu implementieren. Die Herausforderungen liegen in dem Gesamt-Prozess mit seinen fachlichen und organisatorischen Anforderungen.

Vor der IT-Umsetzung …

Data Quality Prozess

� Definition des Data Quality Prozess� Beteiligte: IT, Fachbereich, Compliance, Datenlieferanten

Fachlich

� Welche Daten können überhaupt korrigiert werden?� Welche Daten sollten nur markiert werden?� Dürfen Teil-Lieferungen ohne fehlerhafte Daten

weiterverarbeitet werden?� …

Organisatorisch

� Zuständigkeit: Wer korrigiert die Daten?� (Bis) Wann müssen die Daten korrigiert werden?� Closed-Loop: Wie werden die Daten im Quellsystem korrigiert?� …

Page 50: Generiertes OWB Staging inklusive Data Quality Checks - DOAG

Herzlichen Dank!

metafinanz Informationssysteme GmbHLeopoldstr. 146Phone: +49 89 360531-0Fax: +49 89 350531-5015Email: [email protected]