1 CM
Corporate
Memory
-------------------------------------
Hier wordt historie opgebouwd van brontabellen. Dit is
optioneel.
Alleen gebruiken indien er een conrete vraag naar historie
is. Deze WofkFlow niet weggooien als historie niet nodig is, maar overslaan bij
het uitvoeren. Het kan namelijk zijn dat er in de toekomst wel een behofte
ontstaat om historie vast te leggen.
Als de bron geldigheidsdata levert, deze gebruiken. Streven
is om CM_GELDIG_VAN te vullen met een relevante datum uit de bron (bijvoorbeeld
een wijzigingsdatum).
!!!Let op: Doel table niet legen voor het laden!!!

Deze dataflow wordt gebruikt voor zowel een CM tabel met als
zonder historie.
Indien er geen historie is, dan dient de de variabele
$G_TRUNC_CM op 1 te worden gezet en dienen de desbetreffende doeltabellen te
worden opgenomen in script SC_TRUNC_TABLES
Deze dataflow is zo gemaakt dat in geval van deleted records
er in de doeltabel een nieuw actueel record wordt aangemaakt met status
verwijderd=1 en actief =1. Als gevolg hiervan is de dataflow uitgebreid met de
onderste stroom om de verwijderde records te detecteren en opnieuw aan te
bieden.
De table compare transform kan weliswaar ook verwijderde
items detecteren maar dan worden de records icm met de historie preservering
transform beeindigd met verwijderd = 1 en actief =0 en ontstaat er geen nieuw
record. Het nadeel hiervan is dat er geen actuele status meer bekend van de
business key op een zeker moment in de tijd.
Een ander nadeel is dat er gaten ontstaan indien de business key op een
later tijdstip opnieuw wordt aangeboden. Een derde nadeel is dat het onlogisch
is dat het record wat nog als laatste geldig was, de indicatie verwijderd
krijgt. Deze nadelen zorgen vaak voor extra complexiteit in de BTL laag waar
eventuele tabellen met elkaar samengevoegd worden of snapshots worden gemaakt
op een bepaald tijdstip.
1.1.1 Stappenplan CM
1)
replicate deze dataflow
2) neem je nieuwe bron tabel twee keer op aan de linker kant
als bron
3) neem je doeltabel op 1 keer als bron aan de linkerkant en
gewoon 1 keer als doel
Hoe maak je doeltabel.
Gebruik sql van CM_dummy
CREATE
TABLE "BODS_USER"."CM_DUMMY"
( "MTA_SID"
NUMBER(28,0) NOT NULL ENABLE,
"MTA_BKEY"
VARCHAR2(128 CHAR),
"MTA_GELDIG_VAN_DATUMTIJD"
DATE,
"MTA_GELDIG_TOT_DATUMTIJD"
DATE,
"MTA_AANMAAK_DATUMTIJD"
DATE,
"MTA_GEWIJZIGD_DATUMTIJD"
DATE,
"MTA_ACTIEF_INDICATIE"
NUMBER(*,0),
"MTA_VERWIJDERD_INDICATIE"
NUMBER(*,0),
"MTA_BRON_CODE"
VARCHAR2(128 CHAR),
"MTA_AUDIT_SID"
VARCHAR2(128 CHAR),
"KEY" NUMBER(28,0),
"ATTR1" VARCHAR2(40
CHAR),
"ATTR2" VARCHAR2(40
CHAR),
CONSTRAINT "CM_DUMMY_PK" PRIMARY KEY
("MTA_SID") ENABLE
)
En voeg velden toe mbt brontabel en maak dan in SQL Develop
de doeltabel
3A) In
QY_CM

Het veld KEY en ATTR mogen vervangen worden door de
specifieke namen. Bijv xBeschiktevoorzieningnummer wordt de naam van de KEY en
mta.bkey wordt gevuld met de waarde van dit veld.
4) in transform QY_STG_DEL alleen output kolom MTA_BKEY vullen
5) in transform QY_CM_DEL gewoon alle velden overnemen als
output
6) in transform QY_DELETED het FROM en WHERE tabblad NIET
aanpassen, MTA_VERDWIJDERD_IND op 1 zetten, en andere attributen concatten met
'Del_'
Mapping voor attributen ===> ifthenelse(QY_CM_DEL.MTA_VERWIJDERD_INDICATIE=1,QY_CM_DEL.RVOORZIENINGSTATUS,'Del_'
|| QY_CM_DEL.RVOORZIENINGSTATUS)
Mapping voor veld dat BK is (bijv
xbeschiktevoorzieningnr) gewoon doorzetten
ð Zo laat je visueel zien dat het veld deleted is, voor de business , als ze bijv de
verwijderd_indicatie. je hoeft niet alle
attributen te doen
7) in TC niet checken op verwijderde records, als input
primary kolom MTA_BKEY selecteren, filter MTA_AKTIEF_INDICATIE=1 en als compare
kolommen alleen de gewone attributen en MTA_VERWIJDERD_IND
PS MTA_VERWIJDERD_INDICATIE OOK
MEENEMEN BIJ COMPARE COLUMS
8 in HP in compare columns alleen je eigen attributen zetten
EN MTA_VERWIJDERD_IND
PS MTA_VERWIJDERD_INDICATIE OOK
MEENEMEN BIJ COMPARE COLUMS
9) in MAP transform niks veranderen
10) Key generation transform de kolom MTA_SID van de
doeltabel selecteren
Geen opmerkingen:
Een reactie posten