1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| PROCEDURE ENREG_INTERV IS
CURSOR Cur_interv IS --curseur qui selectionne le numero de tous les clients
select DISTINCT(num_interv)
from intervention1;
num_interv number(6);
bool BOOLEAN;
alert number;
BEGIN
:SYSTEM.MESSAGE_level:=5;
OPEN Cur_interv;
bool:=FALSE;
LOOP -- verification de l'existance du code
FETCH Cur_interv INTO num_interv;
EXIT WHEN Cur_interv%NOTFOUND;
IF num_interv =:tx_num_interv THEN
bool:=TRUE; -- Cas ou l'enregistrement existe
EXIT;
END IF;
END LOOP;
IF bool=TRUE THEN
-- code client existant';--Message d'erreur
alert := show_alert('isertion impossible');
ELSE
-- Debut de l'enregistrement
IF :tx_num_interv IS NOT NULL THEN
INSERT INTO INTERVENTION1(
CODE_UNITE ,
DESIGNATION_ZONE,
NUM_INTERV ,
SECTION ,
LOTS ,
PARCELLE ,
RANG ,
NOM ,
PRENOM ,
DATE_PAN_DECL,
DATE_CONSTAT ,
HEURE_CONSTAT ,
MIN_CONSTAT ,
DATE_TRANSMISSION ,
HEURE_TRANSMISSION ,
MIN_TRANSMISSION ,
DATE_INTERV_PAN ,
HEURE_INTERV,
MIN_INTERV ,
NOM_CHEF_EQ ,
PRENOM_CHEF_EQ ,
NAT_PAN_SIGN ,
NAT_PANNE_CONSTATE ,
OBSERVATION ,
CLOTURE,
HEURE_TEMPS_MIS,
MIN_TEMPS_MIS )
VALUES(
:TX_CODE_UNITE,
:TX_DESIGNATION_ZONE,
:TX_NUM_INTERV,
:TX_SECTION,
:TX_LOTS,
:TX_PARCELLE,
:TX_RANG,
:TX_NOM,
:TX_PRENOM,
:TX_DATE_PAN_DECL,
:TX_DATE_CONSTAT,
:TX_HEURE_CONSTAT,
:TX_MIN_CONSTAT,
:TX_DATE_TRANSMISSION,
:TX_HEURE_TRANSMISSION ,
:TX_MIN_TRANSMISSION,
:TX_DATE_INTERV_PAN,
:TX_HEURE_INTERV,
:TX_MIN_INTERV,
:TX_NOM_CHEF_EQ ,
:TX_PRENOM_CHEF_EQ ,
:TX_NAT_PAN_SIGN,
:TX_NAT_PANNE_CONSTATE,
:TX_OBSERVATION ,
:TX_CLOTURE,
:TX_HEURE_TEMPS_MIS,
:TX_MIN_TEMPS_MIS
);
COMMIT;
--REINITIALISATION DES DIFFERENTS CHAMPS
--go_item('');
--:aff_msg:='Saisissez un nouvel Enregistrement ';
ELSE
alert:=SHOW_alert('inser_impos');
--GO_ITEM
END IF;
END IF;
CLOSE Cur_interv;
:SYSTEM.message_level:=0;
END; |
Partager