hi
This is issue occurs 'sometimes' and is not reproduceable.
When I do a toad compare I get wrong code on my target database:
My source trigger code is:
CREATE OR REPLACE TRIGGER MINERVA_DAO.act_account_groepen_iio
instead of insert
ON MINERVA_DAO.ACT_ACCOUNT_GROEPEN_TV
for each row
declare
l_agp_u t_act_account_groepen_u := t_act_account_groepen_u();
l_agp_u_fni t_act_account_groepen_ufn := t_act_account_groepen_ufn();
begin
/* Make a text-reference to all columns to force source-change (dependencies in release process)
id nar_id srcsystem_lst wmj_id externalid type_lst naam begindatum einddatum nummer kil_format_lst
created_by created_on changed_by changed_on ssn_id
*/
-- new values to local
l_agp_u.nar_id := :new.nar_id;
l_agp_u.srcsystem_lst := :new.srcsystem_lst;
l_agp_u.wmj_id := :new.wmj_id;
l_agp_u.externalid := :new.externalid;
l_agp_u.type_lst := :new.type_lst;
l_agp_u.naam := :new.naam;
l_agp_u.begindatum := :new.begindatum;
l_agp_u.einddatum := :new.einddatum;
l_agp_u.nummer := :new.nummer;
l_agp_u.kil_format_lst := :new.kil_format_lst;
-- handle null values
l_agp_u_fni.setAllTrue();
act_agp_tapi.ins
( p_agp_u => l_agp_u
, p_agp_u_fni => l_agp_u_fni
);
end;
/
My dest trigger is:
-- Run this script in MINERVA_DAO@MINERVA-T to make it look like MINERVA_DAO@ORCL.
-- Please review the script before using it to make sure it won't cause any unacceptable data loss.
-- MINERVA_DAO@MINERVA-T schema extracted by user MINERVA_ADMIN
-- MINERVA_DAO@ORCL schema extracted by user MINERVA_ADMIN
-- "Set define off" turns off substitution variables.
Set define off;
Prompt Trigger ACT_ACCOUNT_GROEPEN_IIO;
Prompt Trigger ACT_ACCOUNT_GROEPEN_IIO;
-- ACT_ACCOUNT_GROEPEN_IIO (Trigger)
-- Dependencies:
-- ACT_ACCOUNT_GROEPEN_TV (View)
-- ACT_AGP_TAPI (Package)
-- T_ACT_ACCOUNT_GROEPEN_U (Type)
-- T_ACT_ACCOUNT_GROEPEN_UFN (Type)
-- STANDARD (Package)
CREATE OR REPLACE TRIGGER MINERVA_DAO.act_account_groepen_iio
instead of insert
ON MINERVA_DAO.ACT_ACCOUNT_GROEPEN_TV
for each row
declare
l_adl_u t_act_account_details_u := t_act_account_details_u();
l_adl_u_fni t_act_account_details_ufn := t_act_account_details_ufn();
begin
/* Make a text-reference to all columns to force source-change (dependencies in release process)
id act_id afwijkend_adl_id fac_ads_id fac_ads_id_inh off_ads_id off_ads_id_inh fpt_id fpt_id_inh ftr_mst_id
ftr_mst_id_inh tou_wmj_id tou_wmj_id_inh type_lst btw_plichtig_lst btw_plichtig_lst_inh btw_absoluut_lst
btw_absoluut_lst_inh elect_fact_geweigerd_lst elect_fact_geweigerd_lst_inh taal_lst taal_lst_inh domicilieringsnummer
domicilieringsnummer_inh iban_nr iban_nr_inh bic_code bic_code_inh krediet_termijn_ref_lst krediet_termijn_ref_lst_inh
krediet_termijn_dagen krediet_termijn_dagen_inh begin_boekjaar begin_boekjaar_inh einde_boekjaar einde_boekjaar_inh
facturatie_vaste_tekst facturatie_vaste_tekst_inh facturatie_tav facturatie_tav_inh fact_extra_adres_rgl1
fact_extra_adres_rgl1_inh fact_extra_adres_rgl2 fact_extra_adres_rgl2_inh facturatie_email_adres facturatie_email_adres_inh
pro_forma_email_adres pro_forma_email_adres_inh referentie_type_r1_oms referentie_type_r1_oms_inh
referentie_type_r2_oms referentie_type_r2_oms_inh referentie_type_r3_oms referentie_type_r3_oms_inh
referentie_type_po_oms referentie_type_po_oms_inh verzend_kanaal_lst verzend_kanaal_lst_inh iban_nummer_isabel
iban_nummer_isabel_inh iban_nummer_zoomit iban_nummer_zoomit_inh identificatie_nr_verz_ka identificatie_nr_verz_ka_inh
ob10_nummer ob10_nummer_inh ariba_nummer ariba_nummer_inh volgt_fpr_bedrijf_lst volgt_fpr_bedrijf_lst_inh
facturatie_bedrijf_lst facturatie_bedrijf_lst_inh facturatie_methode_lst facturatie_methode_lst_inh
reden_validatie_lst reden_validatie_lst_inh memo_validatie memo_validatie_inh reden_pro_forma_lst
reden_pro_forma_lst_inh memo_pro_forma memo_pro_forma_inh adl_id_btw adl_id_btw_inh created_by created_on
changed_by changed_on ssn_id
*/
-- new values to local
l_adl_u.act_id := :new.act_id;
l_adl_u.afwijkend_adl_id := :new.afwijkend_adl_id;
l_adl_u.fac_ads_id := :new.fac_ads_id;
l_adl_u.fac_ads_id_inh := :new.fac_ads_id_inh;
l_adl_u.off_ads_id := :new.off_ads_id;
l_adl_u.off_ads_id_inh := :new.off_ads_id_inh;
l_adl_u.fpt_id := :new.fpt_id;
l_adl_u.fpt_id_inh := :new.fpt_id_inh;
l_adl_u.ftr_mst_id := :new.ftr_mst_id;
l_adl_u.ftr_mst_id_inh := :new.ftr_mst_id_inh;
l_adl_u.tou_wmj_id := :new.tou_wmj_id;
l_adl_u.tou_wmj_id_inh := :new.tou_wmj_id_inh;
l_adl_u.type_lst := :new.type_lst;
l_adl_u.btw_plichtig_lst := :new.btw_plichtig_lst;
l_adl_u.btw_plichtig_lst_inh := :new.btw_plichtig_lst_inh;
l_adl_u.btw_absoluut_lst := :new.btw_absoluut_lst;
l_adl_u.btw_absoluut_lst_inh := :new.btw_absoluut_lst_inh;
l_adl_u.elect_fact_geweigerd_lst := :new.elect_fact_geweigerd_lst;
l_adl_u.elect_fact_geweigerd_lst_inh := :new.elect_fact_geweigerd_lst_inh;
l_adl_u.taal_lst := :new.taal_lst;
l_adl_u.taal_lst_inh := :new.taal_lst_inh;
l_adl_u.domicilieringsnummer := :new.domicilieringsnummer;
l_adl_u.domicilieringsnummer_inh := :new.domicilieringsnummer_inh;
l_adl_u.iban_nr := :new.iban_nr;
l_adl_u.iban_nr_inh := :new.iban_nr_inh;
l_adl_u.bic_code := :new.bic_code;
l_adl_u.bic_code_inh := :new.bic_code_inh;
l_adl_u.krediet_termijn_ref_lst := :new.krediet_termijn_ref_lst;
l_adl_u.krediet_termijn_ref_lst_inh := :new.krediet_termijn_ref_lst_inh;
l_adl_u.krediet_termijn_dagen := :new.krediet_termijn_dagen;
l_adl_u.krediet_termijn_dagen_inh := :new.krediet_termijn_dagen_inh;
l_adl_u.begin_boekjaar := :new.begin_boekjaar;
l_adl_u.begin_boekjaar_inh := :new.begin_boekjaar_inh;
l_adl_u.einde_boekjaar := :new.einde_boekjaar;
l_adl_u.einde_boekjaar_inh := :new.einde_boekjaar_inh;
l_adl_u.facturatie_vaste_tekst := :new.facturatie_vaste_tekst;
l_adl_u.facturatie_vaste_tekst_inh := :new.facturatie_vaste_tekst_inh;
l_adl_u.facturatie_tav := :new.facturatie_tav;
l_adl_u.facturatie_tav_inh := :new.facturatie_tav_inh;
l_adl_u.fact_extra_adres_rgl1 := :new.fact_extra_adres_rgl1;
l_adl_u.fact_extra_adres_rgl1_inh := :new.fact_extra_adres_rgl1_inh;
l_adl_u.fact_extra_adres_rgl2 := :new.fact_extra_adres_rgl2;
l_adl_u.fact_extra_adres_rgl2_inh := :new.fact_extra_adres_rgl2_inh;
l_adl_u.facturatie_email_adres := :new.facturatie_email_adres;
l_adl_u.facturatie_email_adres_inh := :new.facturatie_email_adres_inh;
l_adl_u.pro_forma_email_adres := :new.pro_forma_email_adres;
l_adl_u.pro_forma_email_adres_inh := :new.pro_forma_email_adres_inh;
l_adl_u.referentie_type_r1_oms := :new.referentie_type_r1_oms;
l_adl_u.referentie_type_r1_oms_inh := :new.referentie_type_r1_oms_inh;
l_adl_u.referentie_type_r2_oms := :new.referentie_type_r2_oms;
l_adl_u.referentie_type_r2_oms_inh := :new.referentie_type_r2_oms_inh;
l_adl_u.referentie_type_r3_oms := :new.referentie_type_r3_oms;
l_adl_u.referentie_type_r3_oms_inh := :new.referentie_type_r3_oms_inh;
l_adl_u.referentie_type_po_oms := :new.referentie_type_po_oms;
l_adl_u.referentie_type_po_oms_inh := :new.referentie_type_po_oms_inh;
l_adl_u.verzend_kanaal_lst := :new.verzend_kanaal_lst;
l_adl_u.verzend_kanaal_lst_inh := :new.verzend_kanaal_lst_inh;
l_adl_u.iban_nummer_isabel := :new.iban_nummer_isabel;
l_adl_u.iban_nummer_isabel_inh := :new.iban_nummer_isabel_inh;
l_adl_u.iban_nummer_zoomit := :new.iban_nummer_zoomit;
l_adl_u.iban_nummer_zoomit_inh := :new.iban_nummer_zoomit_inh;
l_adl_u.identificatie_nr_verz_ka := :new.identificatie_nr_verz_ka;
l_adl_u.identificatie_nr_verz_ka_inh := :new.identificatie_nr_verz_ka_inh;
l_adl_u.ob10_nummer := :new.ob10_nummer;
l_adl_u.ob10_nummer_inh := :new.ob10_nummer_inh;
l_adl_u.ariba_nummer := :new.ariba_nummer;
l_adl_u.ariba_nummer_inh := :new.ariba_nummer_inh;
l_adl_u.volgt_fpr_bedrijf_lst := :new.volgt_fpr_bedrijf_lst;
l_adl_u.volgt_fpr_bedrijf_lst_inh := :new.volgt_fpr_bedrijf_lst_inh;
l_adl_u.facturatie_bedrijf_lst := :new.facturatie_bedrijf_lst;
l_adl_u.facturatie_bedrijf_lst_inh := :new.facturatie_bedrijf_lst_inh;
l_adl_u.facturatie_methode_lst := :new.facturatie_methode_lst;
l_adl_u.facturatie_methode_lst_inh := :new.facturatie_methode_lst_inh;
l_adl_u.reden_validatie_lst := :new.reden_validatie_lst;
l_adl_u.reden_validatie_lst_inh := :new.reden_validatie_lst_inh;
l_adl_u.memo_validatie := :new.memo_validatie;
l_adl_u.memo_validatie_inh := :new.memo_validatie_inh;
l_adl_u.reden_pro_forma_lst := :new.reden_pro_forma_lst;
l_adl_u.reden_pro_forma_lst_inh := :new.reden_pro_forma_lst_inh;
l_adl_u.memo_pro_forma := :new.memo_pro_forma;
l_adl_u.memo_pro_forma_inh := :new.memo_pro_forma_inh;
l_adl_u.adl_id_btw := :new.adl_id_btw;
l_adl_u.adl_id_btw_inh := :new.adl_id_btw_inh;
-- handle null values
l_adl_u_fni.act_id := gen_boolean.toGenboolean( p_boolean => updating('act_id') );
l_adl_u_fni.afwijkend_adl_id := gen_boolean.toGenboolean( p_boolean => updating('afwijkend_adl_id') );
l_adl_u_fni.fac_ads_id := gen_boolean.toGenboolean( p_boolean => updating('fac_ads_id') );
l_adl_u_fni.fac_ads_id_inh := gen_boolean.toGenboolean( p_boolean => updating('fac_ads_id_inh') );
l_adl_u_fni.off_ads_id := gen_boolean.toGenboolean( p_boolean => updating('off_ads_id') );
l_adl_u_fni.off_ads_id_inh := gen_boolean.toGenboolean( p_boolean => updating('off_ads_id_inh') );
l_adl_u_fni.fpt_id := gen_boolean.toGenboolean( p_boolean => updating('fpt_id') );
l_adl_u_fni.fpt_id_inh := gen_boolean.toGenboolean( p_boolean => updating('fpt_id_inh') );
l_adl_u_fni.ftr_mst_id := gen_boolean.toGenboolean( p_boolean => updating('ftr_mst_id') );
l_adl_u_fni.ftr_mst_id_inh := gen_boolean.toGenboolean( p_boolean => updating('ftr_mst_id_inh') );
l_adl_u_fni.tou_wmj_id := gen_boolean.toGenboolean( p_boolean => updating('tou_wmj_id') );
l_adl_u_fni.tou_wmj_id_inh := gen_boolean.toGenboolean( p_boolean => updating('tou_wmj_id_inh') );
l_adl_u_fni.type_lst := gen_boolean.toGenboolean( p_boolean => updating('type_lst') );
l_adl_u_fni.btw_plichtig_lst := gen_boolean.toGenboolean( p_boolean => updating('btw_plichtig_lst') );
l_adl_u_fni.btw_plichtig_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('btw_plichtig_lst_inh') );
l_adl_u_fni.btw_absoluut_lst := gen_boolean.toGenboolean( p_boolean => updating('btw_absoluut_lst') );
l_adl_u_fni.btw_absoluut_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('btw_absoluut_lst_inh') );
l_adl_u_fni.elect_fact_geweigerd_lst := gen_boolean.toGenboolean( p_boolean => updating('elect_fact_geweigerd_lst') );
l_adl_u_fni.elect_fact_geweigerd_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('elect_fact_geweigerd_lst_inh') );
l_adl_u_fni.taal_lst := gen_boolean.toGenboolean( p_boolean => updating('taal_lst') );
l_adl_u_fni.taal_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('taal_lst_inh') );
l_adl_u_fni.domicilieringsnummer := gen_boolean.toGenboolean( p_boolean => updating('domicilieringsnummer') );
l_adl_u_fni.domicilieringsnummer_inh := gen_boolean.toGenboolean( p_boolean => updating('domicilieringsnummer_inh') );
l_adl_u_fni.iban_nr := gen_boolean.toGenboolean( p_boolean => updating('iban_nr') );
l_adl_u_fni.iban_nr_inh := gen_boolean.toGenboolean( p_boolean => updating('iban_nr_inh') );
l_adl_u_fni.bic_code := gen_boolean.toGenboolean( p_boolean => updating('bic_code') );
l_adl_u_fni.bic_code_inh := gen_boolean.toGenboolean( p_boolean => updating('bic_code_inh') );
l_adl_u_fni.krediet_termijn_ref_lst := gen_boolean.toGenboolean( p_boolean => updating('krediet_termijn_ref_lst') );
l_adl_u_fni.krediet_termijn_ref_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('krediet_termijn_ref_lst_inh') );
l_adl_u_fni.krediet_termijn_dagen := gen_boolean.toGenboolean( p_boolean => updating('krediet_termijn_dagen') );
l_adl_u_fni.krediet_termijn_dagen_inh := gen_boolean.toGenboolean( p_boolean => updating('krediet_termijn_dagen_inh') );
l_adl_u_fni.begin_boekjaar := gen_boolean.toGenboolean( p_boolean => updating('begin_boekjaar') );
l_adl_u_fni.begin_boekjaar_inh := gen_boolean.toGenboolean( p_boolean => updating('begin_boekjaar_inh') );
l_adl_u_fni.einde_boekjaar := gen_boolean.toGenboolean( p_boolean => updating('einde_boekjaar') );
l_adl_u_fni.einde_boekjaar_inh := gen_boolean.toGenboolean( p_boolean => updating('einde_boekjaar_inh') );
l_adl_u_fni.facturatie_vaste_tekst := gen_boolean.toGenboolean( p_boolean => updating('facturatie_vaste_tekst') );
l_adl_u_fni.facturatie_vaste_tekst_inh := gen_boolean.toGenboolean( p_boolean => updating('facturatie_vaste_tekst_inh') );
l_adl_u_fni.facturatie_tav := gen_boolean.toGenboolean( p_boolean => updating('facturatie_tav') );
l_adl_u_fni.facturatie_tav_inh := gen_boolean.toGenboolean( p_boolean => updating('facturatie_tav_inh') );
l_adl_u_fni.fact_extra_adres_rgl1 := gen_boolean.toGenboolean( p_boolean => updating('fact_extra_adres_rgl1') );
l_adl_u_fni.fact_extra_adres_rgl1_inh := gen_boolean.toGenboolean( p_boolean => updating('fact_extra_adres_rgl1_inh') );
l_adl_u_fni.fact_extra_adres_rgl2 := gen_boolean.toGenboolean( p_boolean => updating('fact_extra_adres_rgl2') );
l_adl_u_fni.fact_extra_adres_rgl2_inh := gen_boolean.toGenboolean( p_boolean => updating('fact_extra_adres_rgl2_inh') );
l_adl_u_fni.facturatie_email_adres := gen_boolean.toGenboolean( p_boolean => updating('facturatie_email_adres') );
l_adl_u_fni.facturatie_email_adres_inh := gen_boolean.toGenboolean( p_boolean => updating('facturatie_email_adres_inh') );
l_adl_u_fni.pro_forma_email_adres := gen_boolean.toGenboolean( p_boolean => updating('pro_forma_email_adres') );
l_adl_u_fni.pro_forma_email_adres_inh := gen_boolean.toGenboolean( p_boolean => updating('pro_forma_email_adres_inh') );
l_adl_u_fni.referentie_type_r1_oms := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_r1_oms') );
l_adl_u_fni.referentie_type_r1_oms_inh := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_r1_oms_inh') );
l_adl_u_fni.referentie_type_r2_oms := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_r2_oms') );
l_adl_u_fni.referentie_type_r2_oms_inh := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_r2_oms_inh') );
l_adl_u_fni.referentie_type_r3_oms := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_r3_oms') );
l_adl_u_fni.referentie_type_r3_oms_inh := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_r3_oms_inh') );
l_adl_u_fni.referentie_type_po_oms := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_po_oms') );
l_adl_u_fni.referentie_type_po_oms_inh := gen_boolean.toGenboolean( p_boolean => updating('referentie_type_po_oms_inh') );
l_adl_u_fni.verzend_kanaal_lst := gen_boolean.toGenboolean( p_boolean => updating('verzend_kanaal_lst') );
l_adl_u_fni.verzend_kanaal_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('verzend_kanaal_lst_inh') );
l_adl_u_fni.iban_nummer_isabel := gen_boolean.toGenboolean( p_boolean => updating('iban_nummer_isabel') );
l_adl_u_fni.iban_nummer_isabel_inh := gen_boolean.toGenboolean( p_boolean => updating('iban_nummer_isabel_inh') );
l_adl_u_fni.iban_nummer_zoomit := gen_boolean.toGenboolean( p_boolean => updating('iban_nummer_zoomit') );
l_adl_u_fni.iban_nummer_zoomit_inh := gen_boolean.toGenboolean( p_boolean => updating('iban_nummer_zoomit_inh') );
l_adl_u_fni.identificatie_nr_verz_ka := gen_boolean.toGenboolean( p_boolean => updating('identificatie_nr_verz_ka') );
l_adl_u_fni.identificatie_nr_verz_ka_inh := gen_boolean.toGenboolean( p_boolean => updating('identificatie_nr_verz_ka_inh') );
l_adl_u_fni.ob10_nummer := gen_boolean.toGenboolean( p_boolean => updating('ob10_nummer') );
l_adl_u_fni.ob10_nummer_inh := gen_boolean.toGenboolean( p_boolean => updating('ob10_nummer_inh') );
l_adl_u_fni.ariba_nummer := gen_boolean.toGenboolean( p_boolean => updating('ariba_nummer') );
l_adl_u_fni.ariba_nummer_inh := gen_boolean.toGenboolean( p_boolean => updating('ariba_nummer_inh') );
l_adl_u_fni.volgt_fpr_bedrijf_lst := gen_boolean.toGenboolean( p_boolean => updating('volgt_fpr_bedrijf_lst') );
l_adl_u_fni.volgt_fpr_bedrijf_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('volgt_fpr_bedrijf_lst_inh') );
l_adl_u_fni.facturatie_bedrijf_lst := gen_boolean.toGenboolean( p_boolean => updating('facturatie_bedrijf_lst') );
l_adl_u_fni.facturatie_bedrijf_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('facturatie_bedrijf_lst_inh') );
l_adl_u_fni.facturatie_methode_lst := gen_boolean.toGenboolean( p_boolean => updating('facturatie_methode_lst') );
l_adl_u_fni.facturatie_methode_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('facturatie_methode_lst_inh') );
l_adl_u_fni.reden_validatie_lst := gen_boolean.toGenboolean( p_boolean => updating('reden_validatie_lst') );
l_adl_u_fni.reden_validatie_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('reden_validatie_lst_inh') );
l_adl_u_fni.memo_validatie := gen_boolean.toGenboolean( p_boolean => updating('memo_validatie') );
l_adl_u_fni.memo_validatie_inh := gen_boolean.toGenboolean( p_boolean => updating('memo_validatie_inh') );
l_adl_u_fni.reden_pro_forma_lst := gen_boolean.toGenboolean( p_boolean => updating('reden_pro_forma_lst') );
l_adl_u_fni.reden_pro_forma_lst_inh := gen_boolean.toGenboolean( p_boolean => updating('reden_pro_forma_lst_inh') );
l_adl_u_fni.memo_pro_forma := gen_boolean.toGenboolean( p_boolean => updating('memo_pro_forma') );
l_adl_u_fni.memo_pro_forma_inh := gen_boolean.toGenboolean( p_boolean => updating('memo_pro_forma_inh') );
l_adl_u_fni.adl_id_btw := gen_boolean.toGenboolean( p_boolean => updating('adl_id_btw') );
l_adl_u_fni.adl_id_btw_inh := gen_boolean.toGenboolean( p_boolean => updating('adl_id_btw_inh') );
act_adl_tapi.upd
( p_pk => t_act_account_details_pk(:new.id)
, p_adl_u => l_adl_u
, p_adl_u_fni => l_adl_u_fni
);
end;
/
SHOW ERRORS;
--> Is looks like a mix of 2 views my source view is ACT_ACCOUNT_GROEPEN_TV but the trigger code is for another view act_account_details_tv. (the spec part:
<<
CREATE OR REPLACE TRIGGER MINERVA_DAO.act_account_groepen_iio
instead of insert
ON MINERVA_DAO.ACT_ACCOUNT_GROEPEN_TV
for each row
is correct the trigger body is wrong.
Any idea what might be the cause?
Regards
Christophe