FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)

svn path=/Database/trunk/; revision=66196
This commit is contained in:
Erik Groener
2024-09-13 10:02:21 +00:00
parent a0ba8f4a76
commit d7977c2d32
4 changed files with 148 additions and 128 deletions

View File

@@ -6852,37 +6852,44 @@ AS
v_aanduiding VARCHAR2(1000);
-- De importvelden:
v_srtdiscipline_omschrijving VARCHAR2(255); -- C30
v_srtdiscipline_prefix VARCHAR2(255); -- C3
v_srtdiscipline_alg VARCHAR2(255); -- N1
v_srtdiscipline_ins VARCHAR2(255); -- N1
v_srtdiscipline_bes VARCHAR2(255); -- N1
v_srtdiscipline_prefix VARCHAR2(255); -- C3
v_srtdiscipline_alg VARCHAR2(255); -- N1
v_srtdiscipline_ins VARCHAR2(255); -- N1
v_srtdiscipline_bes VARCHAR2(255); -- N1
v_discipline_omschrijving VARCHAR2(255); -- C60
v_stdmelding_omschrijving VARCHAR2(255); -- C30
v_stdmelding_groep VARCHAR2(255); -- C30
v_stdmelding_kostensoort VARCHAR2(255); -- C60
v_stdmelding_urgentie VARCHAR2(255); -- N4,2
v_stdmelding_uitvoertijd VARCHAR2(255); -- N3
v_stdmelding_uitvoertijd1 VARCHAR2(255); -- N3
v_stdmelding_uitvoertijd2 VARCHAR2(255); -- N3
v_stdmelding_uitvoertijd4 VARCHAR2(255); -- N3
v_discipline_directklaar VARCHAR2(255); -- N1
v_stdmelding_accepttijd VARCHAR2(255); -- N12,5
v_stdmelding_accepttijd1 VARCHAR2(255); -- N12,5
v_stdmelding_accepttijd2 VARCHAR2(255); -- N12,5
v_stdmelding_accepttijd4 VARCHAR2(255); -- N12,5
v_stdmelding_uitvoertijd VARCHAR2(255); -- N12,5
v_stdmelding_uitvoertijd1 VARCHAR2(255); -- N12,5
v_stdmelding_uitvoertijd2 VARCHAR2(255); -- N12,5
v_stdmelding_uitvoertijd4 VARCHAR2(255); -- N12,5
v_discipline_directklaar VARCHAR2(255); -- N1
v_dienst VARCHAR2(255);
v_stdmelding_notfrontend VARCHAR2(255); -- N1
v_onrgoed_niveau VARCHAR2(255); -- C1
v_stdmelding_notfrontend VARCHAR2(255); -- N1
v_onrgoed_niveau VARCHAR2(255); -- C1
v_typeopdr_omschrijving VARCHAR2(255); -- C30
v_stdmelding_hint VARCHAR2(1000); -- C1000
v_stdmelding_kopieerbaar VARCHAR2(255); -- N1
v_stdmelding_afmeldtext VARCHAR2(255); -- N1
v_stdmelding_doublecheck VARCHAR2(255); -- N4
v_stdmelding_slabewaken VARCHAR2(255); -- N1
v_discipline_image VARCHAR2(255); -- C255
v_stdmelding_image VARCHAR2(255); -- C255
-- Overige velden (alleen gebruikt voor numeriek-validatie)
v_stdmelding_urgentie_n mld_stdmelding.mld_stdmelding_t_accepttijd.tijdsduur%TYPE;
v_stdmelding_hint VARCHAR2(1000); -- C1000
v_stdmelding_kopieerbaar VARCHAR2(255); -- N1
v_stdmelding_afmeldtext VARCHAR2(255); -- N1
v_stdmelding_doublecheck VARCHAR2(255); -- N4
v_stdmelding_slabewaken VARCHAR2(255); -- N1
v_discipline_image VARCHAR2(255); -- C255
v_stdmelding_image VARCHAR2(255); -- C255
-- Gebruikt voor numeriek-validatie en conversie
v_stdmelding_accepttijd_n mld_stdmelding.mld_stdmelding_t_accepttijd.tijdsduur%TYPE;
v_stdmelding_accepttijd1_n mld_stdmelding.mld_stdmelding_t_accept_pr1.tijdsduur%TYPE;
v_stdmelding_accepttijd2_n mld_stdmelding.mld_stdmelding_t_accept_pr2.tijdsduur%TYPE;
v_stdmelding_accepttijd4_n mld_stdmelding.mld_stdmelding_t_accept_pr4.tijdsduur%TYPE;
v_stdmelding_uitvoertijd_n mld_stdmelding.mld_stdmelding_t_uitvoertijd.tijdsduur%TYPE;
v_stdmelding_uitvoertijd1_n mld_stdmelding.mld_stdmelding_t_uitvtijd_pr1.tijdsduur%TYPE;
v_stdmelding_uitvoertijd2_n mld_stdmelding.mld_stdmelding_t_uitvtijd_pr2.tijdsduur%TYPE;
v_stdmelding_uitvoertijd4_n mld_stdmelding.mld_stdmelding_t_uitvtijd_pr4.tijdsduur%TYPE;
-- Overige velden (alleen gebruikt voor numeriek-validatie)
v_typeopdr_key mld_stdmelding.mld_typeopdr_key%TYPE;
--
CURSOR c1
@@ -6915,7 +6922,10 @@ BEGIN
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_omschrijving);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_groep);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_kostensoort);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_urgentie); -- acceptatietijd
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_accepttijd);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_accepttijd1);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_accepttijd2);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_accepttijd4);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_uitvoertijd);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_uitvoertijd1);
fac.imp_getfield (v_newline, c_fielddelimitor, v_stdmelding_uitvoertijd2);
@@ -6943,7 +6953,10 @@ BEGIN
v_stdmelding_omschrijving := TRIM(v_stdmelding_omschrijving);
v_stdmelding_groep := TRIM(v_stdmelding_groep);
v_stdmelding_kostensoort := TRIM(v_stdmelding_kostensoort);
v_stdmelding_urgentie := TRIM(v_stdmelding_urgentie);
v_stdmelding_accepttijd := TRIM(v_stdmelding_accepttijd);
v_stdmelding_accepttijd1 := TRIM(v_stdmelding_accepttijd1);
v_stdmelding_accepttijd2 := TRIM(v_stdmelding_accepttijd2);
v_stdmelding_accepttijd4 := TRIM(v_stdmelding_accepttijd4);
v_stdmelding_uitvoertijd := TRIM(v_stdmelding_uitvoertijd);
v_stdmelding_uitvoertijd1 := TRIM(v_stdmelding_uitvoertijd1);
v_stdmelding_uitvoertijd2 := TRIM(v_stdmelding_uitvoertijd2);
@@ -6961,58 +6974,35 @@ BEGIN
v_discipline_image := TRIM(v_discipline_image);
v_stdmelding_image := TRIM(v_stdmelding_image);
--
v_aanduiding :=
'|'
|| v_srtdiscipline_omschrijving
|| '|'
|| v_srtdiscipline_prefix
|| '|'
|| v_srtdiscipline_alg
|| '|'
|| v_srtdiscipline_ins
|| '|'
|| v_srtdiscipline_bes
|| '|'
|| v_discipline_omschrijving
|| '|'
|| v_stdmelding_omschrijving
|| '|'
|| v_stdmelding_groep
|| '|'
|| v_stdmelding_kostensoort
|| '|'
|| v_stdmelding_urgentie
|| '|'
|| v_stdmelding_uitvoertijd
|| '|'
|| v_stdmelding_uitvoertijd1
|| '|'
|| v_stdmelding_uitvoertijd2
|| '|'
|| v_stdmelding_uitvoertijd4
|| '|'
|| v_discipline_directklaar
|| '|'
|| v_dienst
|| '|'
|| v_stdmelding_notfrontend
|| '|'
|| v_onrgoed_niveau
|| '|'
|| v_typeopdr_omschrijving
|| '|'
|| v_stdmelding_hint
|| '|'
|| v_stdmelding_kopieerbaar
|| '|'
|| v_stdmelding_afmeldtext
|| '|'
|| v_stdmelding_doublecheck
|| '|'
|| v_stdmelding_slabewaken
|| '|'
|| v_discipline_image
|| '|'
v_aanduiding := '|'
|| v_srtdiscipline_omschrijving || '|'
|| v_srtdiscipline_prefix || '|'
|| v_srtdiscipline_alg || '|'
|| v_srtdiscipline_ins || '|'
|| v_srtdiscipline_bes || '|'
|| v_discipline_omschrijving || '|'
|| v_stdmelding_omschrijving || '|'
|| v_stdmelding_groep || '|'
|| v_stdmelding_kostensoort || '|'
|| v_stdmelding_accepttijd || '|'
|| v_stdmelding_accepttijd1 || '|'
|| v_stdmelding_accepttijd2 || '|'
|| v_stdmelding_accepttijd4 || '|'
|| v_stdmelding_uitvoertijd || '|'
|| v_stdmelding_uitvoertijd1 || '|'
|| v_stdmelding_uitvoertijd2 || '|'
|| v_stdmelding_uitvoertijd4 || '|'
|| v_discipline_directklaar || '|'
|| v_dienst || '|'
|| v_stdmelding_notfrontend || '|'
|| v_onrgoed_niveau || '|'
|| v_typeopdr_omschrijving || '|'
|| v_stdmelding_hint || '|'
|| v_stdmelding_kopieerbaar || '|'
|| v_stdmelding_afmeldtext || '|'
|| v_stdmelding_doublecheck || '|'
|| v_stdmelding_slabewaken || '|'
|| v_discipline_image || '|'
|| v_stdmelding_image;
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
-- de juiste kolomkop. Ik controleer alleen de verplichte kolommen, ik zou ze ook
@@ -7089,7 +7079,10 @@ BEGIN
END IF;
--
BEGIN
v_stdmelding_urgentie_n := fac.safe_to_number (v_stdmelding_urgentie);
v_stdmelding_accepttijd_n := fac.safe_to_number (v_stdmelding_accepttijd);
v_stdmelding_accepttijd1_n := fac.safe_to_number (v_stdmelding_accepttijd1);
v_stdmelding_accepttijd2_n := fac.safe_to_number (v_stdmelding_accepttijd2);
v_stdmelding_accepttijd4_n := fac.safe_to_number (v_stdmelding_accepttijd4);
EXCEPTION
WHEN OTHERS
THEN
@@ -7101,8 +7094,10 @@ BEGIN
'W',
v_aanduiding,
'Importregel kan niet worden ingelezen. Ongeldige acceptatietijd ['
|| v_stdmelding_urgentie
|| ']'
|| v_stdmelding_accepttijd || '/'
|| v_stdmelding_accepttijd1 || '/'
|| v_stdmelding_accepttijd2 || '/'
|| v_stdmelding_accepttijd4 || ']'
);
END;
--
@@ -7122,14 +7117,10 @@ BEGIN
'W',
v_aanduiding,
'Importregel kan niet worden ingelezen. Ongeldige uitvoertijd(en) ['
|| v_stdmelding_uitvoertijd
|| '/'
|| v_stdmelding_uitvoertijd1
|| '/'
|| v_stdmelding_uitvoertijd2
|| '/'
|| v_stdmelding_uitvoertijd4
|| ']'
|| v_stdmelding_uitvoertijd || '/'
|| v_stdmelding_uitvoertijd1 || '/'
|| v_stdmelding_uitvoertijd2 || '/'
|| v_stdmelding_uitvoertijd4 || ']'
);
END;
--
@@ -7239,11 +7230,14 @@ BEGIN
mld_stdmelding_omschrijving,
mld_stdmelding_groep,
mld_stdmelding_kostensoort,
mld_stdmelding_urgentie, /* BEWUST */
mld_stdmelding_uitvoertijd, /* BEWUST */
mld_stdmelding_uitvoertijd1, /* BEWUST */
mld_stdmelding_uitvoertijd2, /* BEWUST */
mld_stdmelding_uitvoertijd4, /* BEWUST */
mld_stdmelding_accepttijd,
mld_stdmelding_accepttijd1,
mld_stdmelding_accepttijd2,
mld_stdmelding_accepttijd4,
mld_stdmelding_uitvoertijd,
mld_stdmelding_uitvoertijd1,
mld_stdmelding_uitvoertijd2,
mld_stdmelding_uitvoertijd4,
mld_discipline_directklaar,
prs_dienst,
mld_stdmelding_notfrontend,
@@ -7267,11 +7261,14 @@ BEGIN
v_stdmelding_omschrijving,
v_stdmelding_groep,
v_stdmelding_kostensoort,
SUBSTR(v_stdmelding_urgentie,1,6), /* BEWUST */
v_stdmelding_uitvoertijd, /* BEWUST */
v_stdmelding_uitvoertijd1, /* BEWUST */
v_stdmelding_uitvoertijd2, /* BEWUST */
v_stdmelding_uitvoertijd4, /* BEWUST */
v_stdmelding_accepttijd_n,
v_stdmelding_accepttijd1_n,
v_stdmelding_accepttijd2_n,
v_stdmelding_accepttijd4_n,
v_stdmelding_uitvoertijd_n,
v_stdmelding_uitvoertijd1_n,
v_stdmelding_uitvoertijd2_n,
v_stdmelding_uitvoertijd4_n,
v_discipline_directklaar,
v_dienst,
v_stdmelding_notfrontend,
@@ -7889,7 +7886,9 @@ IS
IS
SELECT *
FROM fac_imp_mld sm
ORDER BY 1, 6 ,7;
ORDER BY ins_srtdiscipline_omschrijving
, ins_discipline_omschrijving
, mld_stdmelding_omschrijving;
teller INTEGER;
discipline_key NUMBER (10);
@@ -7994,29 +7993,26 @@ IS
END IF;
v_errmes := 'Toevoegen mld_stdmelding';
v_errmes :=
' (discipline_key = '
|| TO_CHAR (discipline_key)
|| '| rec.mld_stdmelding_omschrijving = '
|| rec.mld_stdmelding_omschrijving
|| '| KOSTENSOORT_KEY'
|| TO_CHAR (kostensoort_key)
|| 'NVL (TO_NUMBER (rec.mld_stdmelding_urgentie), NULL) = '
|| TO_CHAR (NVL (TO_NUMBER (rec.mld_stdmelding_urgentie), 0))
|| 'NVL (rec.mld_stdmelding_uitvoertijd, 0) = '
|| TO_CHAR (NVL (rec.mld_stdmelding_uitvoertijd, 0))
|| ')';
v_errmes := ' (discipline_key = ' || TO_CHAR (discipline_key)
|| '| rec.mld_stdmelding_omschrijving = ' || rec.mld_stdmelding_omschrijving
|| '| KOSTENSOORT_KEY' || TO_CHAR (kostensoort_key)
|| 'NVL (TO_NUMBER (rec.mld_stdmelding_accepttijd), NULL) = ' || TO_CHAR (NVL (TO_NUMBER (rec.mld_stdmelding_accepttijd), 0))
|| 'NVL (rec.mld_stdmelding_uitvoertijd, 0) = ' || TO_CHAR (NVL (rec.mld_stdmelding_uitvoertijd, 0))
|| ')';
INSERT INTO mld_stdmelding
(mld_ins_discipline_key,
mld_stdmelding_omschrijving,
mld_stdmeldinggroep_key,
prs_kostensoort_key,
mld_stdmelding_t_accepttijd, --mld_stdmelding_urgentie,
mld_stdmelding_t_uitvoertijd, --mld_stdmelding_uitvoertijd,
mld_stdmelding_t_uitvtijd_pr1, --mld_stdmelding_uitvoertijd_pr1,
mld_stdmelding_t_uitvtijd_pr2, --mld_stdmelding_uitvoertijd_pr2,
mld_stdmelding_t_uitvtijd_pr4, --mld_stdmelding_uitvoertijd_pr4,
mld_stdmelding_t_accepttijd,
mld_stdmelding_t_accept_pr1,
mld_stdmelding_t_accept_pr2,
mld_stdmelding_t_accept_pr4,
mld_stdmelding_t_uitvoertijd,
mld_stdmelding_t_uitvtijd_pr1,
mld_stdmelding_t_uitvtijd_pr2,
mld_stdmelding_t_uitvtijd_pr4,
prs_dienst_key,
mld_stdmelding_notfrontend,
alg_onrgoed_niveau,
@@ -8032,7 +8028,12 @@ IS
rec.mld_stdmelding_omschrijving,
stdmeldinggroep_key,
kostensoort_key,
MLD_T_UITVOERTIJD(rec.mld_stdmelding_urgentie, 'U'),
MLD_T_UITVOERTIJD(rec.mld_stdmelding_accepttijd, 'U'), -- acceptatietijden vullen we altijd in in uren.
MLD_T_UITVOERTIJD(rec.mld_stdmelding_accepttijd1, 'U'),
MLD_T_UITVOERTIJD(rec.mld_stdmelding_accepttijd2, 'U'),
MLD_T_UITVOERTIJD(rec.mld_stdmelding_accepttijd4, 'U'),
-- Uitvoertijden worden in de importsheet en exportview altijd ingevuld in dagen.
-- Is de uitvoertijd kleiner dan 1 dag, dan slaan we het in mld_stdmelding op in uren.
MLD_T_UITVOERTIJD(CASE
WHEN COALESCE(rec.mld_stdmelding_uitvoertijd, 2) > 0 AND COALESCE(rec.mld_stdmelding_uitvoertijd, 2) < 1
THEN COALESCE(rec.mld_stdmelding_uitvoertijd, 2) * 24 -- Uren

View File

@@ -1069,12 +1069,15 @@ CREATE_TABLE(fac_imp_mld, 0)
, mld_stdmelding_omschrijving VARCHAR2(60)
, mld_stdmelding_groep VARCHAR2(30)
, mld_stdmelding_kostensoort VARCHAR2(60)
, mld_stdmelding_urgentie VARCHAR2(6)
, mld_stdmelding_uitvoertijd NUMBER(3)
, mld_stdmelding_accepttijd NUMBER(12,5)
, mld_stdmelding_accepttijd1 NUMBER(12,5)
, mld_stdmelding_accepttijd2 NUMBER(12,5)
, mld_stdmelding_accepttijd4 NUMBER(12,5)
, mld_stdmelding_uitvoertijd NUMBER(12,5)
, mld_stdmelding_uitvoertijd1 NUMBER(12,5)
, mld_stdmelding_uitvoertijd2 NUMBER(12,5)
, mld_stdmelding_uitvoertijd4 NUMBER(12,5)
, mld_discipline_directklaar NUMBER(1)
, mld_stdmelding_uitvoertijd1 NUMBER(3)
, mld_stdmelding_uitvoertijd2 NUMBER(3)
, mld_stdmelding_uitvoertijd4 NUMBER(3)
, prs_dienst VARCHAR2(60)
, mld_stdmelding_notfrontend VARCHAR2(1)
, alg_onrgoed_niveau VARCHAR2(1)

View File

@@ -223,7 +223,7 @@ AS
-- import: FIP: 5-Aanvullen servicedesk
-- importsheet: Inventarisatie Meldingen
-- importtabel: fac_imp_mld
CREATE OR REPLACE VIEW fac_v_exp_mld
CREATE OR REPLACE FORCE VIEW fac_v_exp_mld
AS
SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
, sd.ins_srtdiscipline_prefix prefix
@@ -234,11 +234,14 @@ SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
, sm.mld_stdmelding_omschrijving standaardmelding
, mg.mld_stdmeldinggroep_naam groep
, ks.prs_kostensoort_oms kostensoort
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accepttijd, 'U')) acceptatietijd
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvoertijd, 'D')) uitvoertijd
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr1, 'D')) uitvoertijd_kritiek
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr2, 'D')) uitvoertijd_hoog
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr4, 'D')) uitvoertijd_laag
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accepttijd, 'U'), ',', '.') acceptatietijd
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accept_pr1, 'U'), ',', '.') acceptatietijd_kritiek
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accept_pr2, 'U'), ',', '.') acceptatietijd_hoog
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accept_pr4, 'U'), ',', '.') acceptatietijd_laag
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvoertijd, 'D'), ',', '.') uitvoertijd
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr1, 'D'), ',', '.') uitvoertijd_kritiek
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr2, 'D'), ',', '.') uitvoertijd_hoog
, REPLACE(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr4, 'D'), ',', '.') uitvoertijd_laag
, mp.mld_disc_params_directklaar directklaar
, pd.prs_dienst_omschrijving dienst
, sm.mld_stdmelding_notfrontend notfrontend
@@ -251,7 +254,7 @@ SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
, mld_stdmelding_slabewaken sla_bewaken
, md.ins_discipline_image disc_image
, sm.mld_stdmelding_image stdm_image
, sm.mld_stdmelding_externnr externnr
, sm.mld_stdmelding_externnr externnr
FROM mld_stdmelding sm
, mld_discipline md
, ins_srtdiscipline sd
@@ -261,7 +264,7 @@ SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
, prs_kostensoort ks
, mld_typeopdr mt
WHERE sm.mld_ins_discipline_key = md.ins_discipline_key
AND sm.mld_ins_discipline_key = mp.mld_disc_params_key
AND sm.mld_ins_discipline_key = mp.mld_disc_params_key(+)
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND sm.mld_stdmeldinggroep_key = mg.mld_stdmeldinggroep_key(+)
AND sm.prs_kostensoort_key = ks.prs_kostensoort_key(+)

View File

@@ -208,6 +208,19 @@ UPDATE fac_setting
ALTER TABLE res_activiteit
ADD (res_activiteit_color VARCHAR2 (60 CHAR));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83767
ALTER TABLE fac_imp_mld MODIFY ( mld_stdmelding_uitvoertijd NUMBER(12,5)
, mld_stdmelding_uitvoertijd1 NUMBER(12,5)
, mld_stdmelding_uitvoertijd2 NUMBER(12,5)
, mld_stdmelding_uitvoertijd4 NUMBER(12,5)
);
ALTER TABLE fac_imp_mld ADD ( mld_stdmelding_accepttijd NUMBER(15,5)
, mld_stdmelding_accepttijd1 NUMBER(12,5)
, mld_stdmelding_accepttijd2 NUMBER(12,5)
, mld_stdmelding_accepttijd4 NUMBER(12,5)
);
ALTER TABLE fac_imp_mld DROP COLUMN mld_stdmelding_urgentie;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')