Bonjour,
j'essaie de lancer cette procédure mais il m'affiche toujours la même erreur..
ORA-01401: valeur insérée trop grande pour colonne
ORA-06512: à "PIXI.PKG_PIXI_TAG", ligne 116
ORA-06512: à ligne 2
merci d'avance de m'éclairer
PROCEDURE PROC_TAG_DDD_DELAI
IS
BEGIN
DECLARE
V_DATE_reference DATE;
c_DATE_DEBUT DATE:=SYSDATE;
NBRE INT;
V_ETAPE INT:=0;
BEGIN
PKG_PIXI_GLOBAL.PIXI_RAPPORT(SYSDATE,SYSDATE,'I',NULL,'PKG_PIXI_TAG.PROC_TAG_DDD_DELAI - Début',NULL);
V_ETAPE := 1;
DELETE FROM
TAG_DDD_DELAI
WHERE TAG_DDD_DELAI.NUMBERPRGN in
(select TMP_DDD.NUMBERPRGN
from
TMP_DDD);
nbre := SQL%RowCount;
COMMIT;
PKG_PIXI_GLOBAL.PIXI_RAPPORT(c_DATE_DEBUT,SYSDATE,'T',nbre,'PKG_PIXI_TAG.PROC_TAG_DDD_DELAI- 1/2 - Suppression des lignes de la table _TAG_DDD_DELAI à partir de la table TMP_DDD',NULL);
c_DATE_DEBUT := SYSDATE; --Mise à jour de la date pour la prochaine étape
V_ETAPE := 2;
INSERT INTO TAG_DDD_DELAI(
NUMBERPRGN,
DDD_DELAI_1,
DDD_DELAI_2,
SYSMODTIME)
SELECT
TFA_DDD.NUMBERPRGN,
(CASE
WHEN TFA_DDD.SFR_DDD_DATE_FIN IS NOT NULL
AND TFA_DDD.SFR_DDD_DT_A_QUIT_A_COMPL IS NOT NULL
THEN TFA_DDD.SFR_DDD_DATE_FIN - TFA_DDD.SFR_DDD_DT_A_QUIT_A_COMPL - DEL1_SUM_JR_NON_OUV
END)DDD_DELAI_1,
(CASE
WHEN TFA_DDD.SFR_DDD_DATE_FIN IS NOT NULL
AND TFA_DDD.UPDATE_DATE IS NOT NULL
THEN TFA_DDD.SFR_DDD_DATE_FIN - TFA_DDD.UPDATE_DATE - DEL2_SUM_JR_NON_OUV
END)DDD_DELAI_2,
TRUNC(TFA_DDD.SYSMODTIME,'MM')
FROM TFA_DDD
INNER JOIN (
SELECT count(TDI_BITOOL_CAL1.CPT_J_WE) DEL1_SUM_JR_NON_OUV
, TDI_BITOOL_CAL1.DATE_D
FROM
TDI_BITOOL_CAL TDI_BITOOL_CAL1
WHERE
TDI_BITOOL_CAL1.CPT_J_FER=1
group by TDI_BITOOL_CAL1.DATE_D)dat1
ON (dat1.DATE_D between TFA_DDD.SFR_DDD_DT_A_QUIT_A_COMPL AND TFA_DDD.SFR_DDD_DATE_FIN)
INNER JOIN (
SELECT
count(TDI_BITOOL_CAL2.CPT_J_WE) DEL2_SUM_JR_NON_OUV,
TDI_BITOOL_CAL2.DATE_D
FROM
TDI_BITOOL_CAL TDI_BITOOL_CAL2
WHERE
TDI_BITOOL_CAL2.CPT_J_FER=1
GROUP BY TDI_BITOOL_CAL2.DATE_D) DEL2
ON (DEL2.DATE_D BETWEEN TFA_DDD.UPDATE_DATE AND TFA_DDD.SFR_DDD_DATE_FIN)
INNER JOIN (
SELECT TMP_DDD.NUMBERPRGN
FROM TMP_DDD) TD
ON (TD.NUMBERPRGN = TFA_DDD.NUMBERPRGN)
WHERE TFA_DDD.SFR_DDD_A_QUIT_A_COMPL = 1;
nbre := SQL%RowCount;
COMMIT;
PKG_PIXI_GLOBAL.PIXI_RAPPORT(c_DATE_DEBUT,SYSDATE,'T',nbre,'PKG_PIXI_TAG.PROC_TAG_DDD_DELAI- 2/2 - Insertion des délais dans la table TAG_DDD_DELAI à partir de la table TMP_DDD',NULL);
PKG_PIXI_GLOBAL.PIXI_RAPPORT(SYSDATE,SYSDATE,'I',NULL,'PKG_PIXI_TAG.PROC_TAG_DDD_DELAI - Fin',NULL);
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
PKG_PIXI_GLOBAL.PIXI_RAPPORT(c_DATE_DEBUT,SYSDATE,'E',NULL,'PKG_PIXI_TAG.PROC_TAG_DDD_DELAI : SQLEXCEPTION à l''étape ' ||V_ETAPE ,SQLERRM);
RAISE;
END;
END PROC_TAG_DDD_DELAI;
Partager