In dit scherm kun je attribuutregels registreren en wijzigen. Open Scherm
Een attribuutregel is een specificatie van een bedrijfsregel. Er worden twee soorten attribuutregels onderscheiden:
•controles op geldigheid: attribuutregels die eisen stellen aan de gegevens om ze goed te keuren. Voorbeelden zijn ‘het bedrag op de factuurregel moet ongelijk 0 zijn’ of ‘de gebruiker die proceshouder is moet de proceshouderindicator aangevinkt hebben’.
•acties: acties zijn stukjes programmatuur die uitgevoerd worden onder bepaalde condities.
Binnen acties onderscheiden we twee soorten acties:
•acties die uitgevoerd worden voordat een gewijzigd gegeven wordt vastgelegd, bijvoorbeeld voor het vullen van default of vaste waarden in velden.
•acties die uitgevoerd worden nadat een gewijzigd gegeven vastgelegd is, bijvoorbeeld voor het versturen van een e-mail.
Het registreren van attribuutregels is een typische activiteit voor applicatieontwikkelaars. Zie de waarschuwing onder Applicatieontwikkeling.
De betekenis van de invulvelden is:
Toepassing |
De toepassing waar de attribuutregel onderdeel van uitmaakt. |
Tabelcode |
De tabel en bijbehorende businessview waar de attribuutregel onderdeel van uitmaakt. |
Code |
De unieke code voor de attribuutregel. |
Sorteervolgorde |
Een numerieke waarde waar de referentiële regels op gesorteerd worden qua volgorde van uitvoering. |
Soort Gebeurtenis |
Het soort gebeurtenis dat er voor zorgt dat de attribuutregel verwerkt wordt. De volgende gebeurtenissen worden onderscheiden: •A: Elke gebeurtenis (wijzigen, toevoegen of verwijderen) •M: Mutatie (wijzigen of toevoegen) •I: toevoegen •U: wijzigen •D: verwijderen |
Actiecategorie |
De actiecategorie. De volgende soorten acties worden onderscheiden: •E: geldigheidscontrole. •A: actie. |
Actiemoment |
Heeft alleen betekenis als de actie categorie ‘Actie’ gekozen is. Het moment waarop een actie uitgevoerd wordt: voor of na het uitvoeren van de gebeurtenis. |
Invoeren |
Aangevinkt indien de attribuutregel opgenomen moet worden in de bedrijfslaag. |
Specificatie |
Randvoorwaarde die moet gelden naast het soort gebeurtenis, uitgedrukt als SQL where clause. Er kan gerefereerd worden aan de betrokken rij uit de tabel met de volgende teksten: •‘:old’: de waarde van de rij voor de gebeurtenis (leeg bij toevoegen). •‘:new’: de waarde van de rij na de gebeurtenis (leeg bij verwijderen) •‘:last’: de laatst bekende waarde van de rij (gelijk aan ‘:new’ in het geval van toevoegen of wijzigen en gelijk aan ‘:old’ in het geval van verwijderen). •‘:event’: het soort gebeurtenis, waarbij de volgende waardes mogelijk zijn: ‘insert’, ‘update’ en ‘delete’. |
Actiespecificatie |
Heeft alleen betekenis als de actiecategorie ‘Actie’ gekozen is. Specificatie in PL/SQL van de uit te voeren actie. Er kan gerefereerd worden aan de betrokken rij uit de tabel met de volgende teksten: •‘:old’: de waarde van de rij voor de gebeurtenis (leeg bij toevoegen). •‘:new’: de waarde van de rij na de gebeurtenis (leeg bij verwijderen) •‘:last’: de laatst bekende waarde van de rij (gelijk aan ‘:new’ in het geval van toevoegen of wijzigen en gelijk aan ‘:old’ in het geval van verwijderen). •‘:event’: het soort gebeurtenis, waarbij de volgende waardes mogelijk zijn: ‘insert’, ‘update’ en ‘delete’. |
Gebruikersmelding |
Heeft alleen betekenis als de actiecategorie ‘Geldigheidscontrole’ gekozen is. De melding die gegeven moet worden indien de rij niet voldoet aan de geldigheidscontrole. |
Documentatie |
Documentatie over de attribuutregel. |
Attribuutregels bieden veel mogelijkheden. Onderstaand enkele voorbeelden.
Actiecategorie: E
Specificatie: :last.odt_bedrag_verlening is null or :last.odt_bedrag_verlening<>0
Overige: Geen.
Actiecategorie: E
Specificatie: :last.isg_seq = 1
Overige: Maak een unieke index op de kolom ‘seq’.
Actiecategorie: E
Specificatie: :last.rol_alle_prjctn_wijzigen_vlag = ‘N’ or ( :last.rol_alle_prjctn_wijzigen_vlag = ‘Y’ and :last.rol_alle_prjctn_zien_vlag = ‘Y’)
Overige: Geen.
Actiecategorie: E
Specificatie: :last.pjt_projectvorm_ind in (‘S’, ‘I’) or ( :last.pjt_projectvorm_ind = ‘M’ and not exists ( select 1 from bubs_kostenplaatsen_v where pjt_id = :last.pjt_id ) )
Overige: Geen.
Actiecategorie: E
Specificatie: (:last.pjt_projectvorm_ind in (‘M’, ‘I’) or ( :last.pjt_projectvorm_ind = ‘S’ and not exists ( /* Another subproject of the same master project with the same prefix. */ select 1 from bubs_projecten_v where pjt_projectvorm_ind =‘S’ and pjt_code <> :last.pjt_code and hpt_code = :last.hpt_code and pjt_volgnummer_prefix = :last.pjt_volgnummer_prefix)))
Overige: Geen.
Actiecategorie: A
Actiemoment: B
Specificatie: 1=1
Actiespecificatie: :new.atg_afgesloten_vlag := ‘N’;
Overige: Geen.
Actiecategorie: A
Actiemoment: A
Specificatie: 1=1
Actiespecificatie: bubs#processen.send_message(:old, :new, :last);
Overige: Geen.
Actiecategorie: A
Actiemoment: B
Specificatie: 1=1
Actiespecificatie: update bubs_background_jobs_v set bjb_status_ind=‘P’ where 1=1 and bjb_status_ind=‘F’ and bjb_id = :new.bjb_id;
Overige: Geen.