AAIT#31912 -- Koppeling met COM4 aanpassen.
svn path=/Customer/trunk/; revision=26460
This commit is contained in:
123
AA/AAIT/aait.sql
123
AA/AAIT/aait.sql
@@ -1185,6 +1185,9 @@ AS
|
||||
v_actiedatum VARCHAR2 (1000); -- DATE
|
||||
v_actiedatum_d DATE; -- DATE
|
||||
v_status VARCHAR2 (1000);
|
||||
v_soort_call VARCHAR2 (255);
|
||||
v_categorie VARCHAR2 (255);
|
||||
v_subcategorie VARCHAR2 (255);
|
||||
|
||||
-- Overige velden:
|
||||
CURSOR c1
|
||||
@@ -1215,6 +1218,9 @@ BEGIN
|
||||
fac.imp_getfield (v_newline, c_delim, v_actie);
|
||||
fac.imp_getfield (v_newline, c_delim, v_actiedatum);
|
||||
fac.imp_getfield (v_newline, c_delim, v_status);
|
||||
fac.imp_getfield (v_newline, c_delim, v_soort_call);
|
||||
fac.imp_getfield (v_newline, c_delim, v_categorie);
|
||||
fac.imp_getfield (v_newline, c_delim, v_subcategorie);
|
||||
v_aanduiding :=
|
||||
'['
|
||||
|| v_msg_type
|
||||
@@ -1235,6 +1241,7 @@ BEGIN
|
||||
AND UPPER (TRIM (v_actie)) = 'ACTIE'
|
||||
AND UPPER (TRIM (v_actiedatum)) = 'ACTIEDATUM'
|
||||
AND UPPER (TRIM (v_status)) = 'STATUS'
|
||||
AND UPPER (TRIM (v_subcategorie)) = 'SUBCATEGORIE'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
@@ -1311,7 +1318,10 @@ BEGIN
|
||||
externnr,
|
||||
actie,
|
||||
actiedatum,
|
||||
status)
|
||||
status,
|
||||
soort_call,
|
||||
categorie,
|
||||
subcategorie)
|
||||
VALUES (p_import_key,
|
||||
SYSDATE,
|
||||
SUBSTR (v_msg_type, 1, 30),
|
||||
@@ -1319,7 +1329,10 @@ BEGIN
|
||||
SUBSTR (v_externnr, 1, 15),
|
||||
SUBSTR (v_actie, 1, 1000),
|
||||
v_actiedatum_d,
|
||||
SUBSTR (v_status, 1, 100));
|
||||
SUBSTR (v_status, 1, 100),
|
||||
SUBSTR (v_soort_call, 1, 100),
|
||||
SUBSTR (v_categorie, 1, 100),
|
||||
SUBSTR (v_subcategorie, 1, 100));
|
||||
|
||||
v_count_import := v_count_import + 1;
|
||||
EXCEPTION
|
||||
@@ -1389,7 +1402,10 @@ AS
|
||||
externnr,
|
||||
actie,
|
||||
actiedatum,
|
||||
coalesce(status,'Onbekend') status
|
||||
coalesce(status,'Onbekend') status,
|
||||
soort_call,
|
||||
categorie,
|
||||
subcategorie
|
||||
FROM aait_imp_opdrstatusmulti
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY actiedatum, imp_log_timestamp, msg_type DESC, opdrachtnr;
|
||||
@@ -1403,6 +1419,12 @@ AS
|
||||
v_mld_key NUMBER (10) := 0;
|
||||
v_opdr_key NUMBER (10) := 0;
|
||||
v_opdr_status NUMBER (10) := 0;
|
||||
v_prefix INS_SRTDISCIPLINE.INS_SRTDISCIPLINE_PREFIX%TYPE;
|
||||
v_vakgroep INS_TAB_DISCIPLINE.INS_DISCIPLINE_OMSCHRIJVING%TYPE;
|
||||
v_stdmelding MLD_STDMELDING.MLD_STDMELDING_OMSCHRIJVING%TYPE;
|
||||
v_discipline_key INS_TAB_DISCIPLINE.INS_DISCIPLINE_KEY%TYPE;
|
||||
v_stdmelding_key MLD_STDMELDING.MLD_STDMELDING_KEY%TYPE;
|
||||
v_track_info FAC_TRACKING.FAC_TRACKING_OMS%TYPE;
|
||||
BEGIN
|
||||
-- Loop door alle geimporteerde opdrachtstatusberichten en verwerk deze.
|
||||
v_count_tot := 0;
|
||||
@@ -1457,6 +1479,99 @@ BEGIN
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
-- Probeer de melding om te hangen naar de classificatie die COM4IT er aan toegekend heeft.
|
||||
BEGIN
|
||||
IF rec.soort_call IS NOT NULL
|
||||
AND rec.categorie IS NOT NULL
|
||||
AND rec.subcategorie IS NOT NULL
|
||||
THEN
|
||||
v_errormsg := 'Bepalen huidige gegevens.';
|
||||
SELECT 'Melding ' || sd.ins_srtdiscipline_prefix || m.mld_melding_key || ' (' || ins_discipline_omschrijving || '/' || mld_stdmelding_omschrijving || ') is gewijzigd ' || CHR(10)
|
||||
|| 'Melding: ' || std.mld_stdmelding_omschrijving || ' --> '
|
||||
INTO v_track_info
|
||||
FROM mld_stdmelding std,
|
||||
ins_tab_discipline d,
|
||||
ins_srtdiscipline sd,
|
||||
mld_melding m
|
||||
WHERE sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
|
||||
AND d.ins_discipline_key = std.mld_ins_discipline_key
|
||||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||||
AND m.mld_melding_key = v_mld_key;
|
||||
|
||||
v_errormsg := 'Bepalen vakgroeptype.';
|
||||
CASE rec.soort_call
|
||||
WHEN 'Storing' THEN v_prefix := 'ST';
|
||||
WHEN 'Change' THEN v_prefix := 'SA';
|
||||
WHEN 'Informatieverzoek' THEN v_prefix := 'IV';
|
||||
WHEN 'Klacht' THEN v_prefix := 'KL';
|
||||
WHEN 'Wens' THEN v_prefix := 'SA';
|
||||
WHEN 'Onderhoud' THEN v_prefix := 'SA';
|
||||
WHEN 'Project' THEN v_prefix := 'PR';
|
||||
WHEN 'Verkoop' THEN v_prefix := 'SA';
|
||||
END CASE;
|
||||
|
||||
v_errormsg := 'Bepalen vakgroep.';
|
||||
IF INSTR(rec.categorie, '-') = 2 AND FAC.safe_to_number(SUBSTR(rec.categorie,1,1)) IS NOT NULL
|
||||
THEN
|
||||
v_vakgroep := SUBSTR(rec.categorie,3);
|
||||
ELSE
|
||||
v_vakgroep := rec.categorie;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Bepalen stdmelding.';
|
||||
IF INSTR(rec.subcategorie, '-') = 2 AND FAC.safe_to_number(SUBSTR(rec.subcategorie,1,1)) IS NOT NULL
|
||||
THEN
|
||||
v_stdmelding := SUBSTR(rec.subcategorie,3);
|
||||
ELSE
|
||||
v_stdmelding := rec.subcategorie;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Opzoeken vakgroep en stdmelding keys.';
|
||||
SELECT mld_ins_discipline_key, mld_stdmelding_key
|
||||
INTO v_discipline_key, v_stdmelding_key
|
||||
FROM mld_stdmelding std,
|
||||
ins_tab_discipline d,
|
||||
ins_srtdiscipline sd
|
||||
WHERE sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
|
||||
AND d.ins_discipline_key = std.mld_ins_discipline_key
|
||||
AND UPPER(sd.ins_srtdiscipline_prefix) = UPPER(v_prefix)
|
||||
AND UPPER(d.ins_discipline_omschrijving) = UPPER(v_vakgroep)
|
||||
AND UPPER(std.mld_stdmelding_omschrijving) = UPPER(v_stdmelding)
|
||||
AND std.mld_stdmelding_verwijder IS NULL
|
||||
AND d.ins_discipline_verwijder IS NULL
|
||||
AND sd.ins_srtdiscipline_verwijder IS NULL;
|
||||
|
||||
v_errormsg := 'Omhangen vakgroep en stdmelding keys.';
|
||||
UPDATE mld_melding
|
||||
SET mld_stdmelding_key = v_stdmelding_key
|
||||
WHERE mld_melding_key = v_mld_key;
|
||||
|
||||
INSERT INTO fac_tracking (fac_srtnotificatie_key,
|
||||
fac_tracking_oms,
|
||||
fac_tracking_refkey,
|
||||
prs_perslid_key)
|
||||
VALUES ( 28,
|
||||
v_track_info || v_stdmelding,
|
||||
v_mld_key,
|
||||
4);
|
||||
END IF;
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
v_errormsg
|
||||
|| ' ORACLE (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Fout bij omhangen opdrachtstatusbericht.');
|
||||
END;
|
||||
|
||||
-- Sluit opdracht (als msg_type=AFM); de bovenliggende melding wordt
|
||||
-- tevens gesloten als het de laatste opdracht is!
|
||||
IF (rec.msg_type = 'AFM'
|
||||
@@ -2322,7 +2437,7 @@ END;
|
||||
|
||||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||||
/
|
||||
BEGIN fac.registercustversion('AAIT', 49); END;
|
||||
BEGIN fac.registercustversion('AAIT', 50); END;
|
||||
/
|
||||
COMMIT;
|
||||
SPOOL OFF
|
||||
|
||||
Reference in New Issue
Block a user