dinsdag 30 juni 2020

BODS CM template

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