AAIT#31912 -- Koppeling met COM4 aanpassen.

svn path=/Customer/trunk/; revision=26460
This commit is contained in:
Arthur Egberink
2015-09-23 15:53:34 +00:00
parent ad16c8c361
commit 2e80caf420

View File

@@ -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