Merci j'ai corriger, mais j'ai une erreur dans mon body :
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
| CREATE OR REPLACE PACKAGE BODY CREER_COMPTE_EN_LIGNE
AS
function f_controle_cel(
in_refbp IN varchar)
return TAB_CEL IS
vc_refbp varchar(9);
vc_today date;
vc_date_creation date;
vc_flagcel char;
vc_mail char(100);
vc_mailok smallint;
vc_newsok smallint;
vc_date_max date;
vc_total TAB_CEL;
BEGIN
SELECT CLI_FLAGCEL INTO vc_flagcel FROM CLIENT WHERE CLI_REFBP = in_refbp;
SELECT TRUNC(CLI_DATE_CREATION) INTO vc_date_creation FROM CLIENT WHERE CLI_REFBP = in_refbp;
SELECT CLI_MAIL,CLI_MAILOK,CLI_NEWSOK INTO vc_mail,vc_mailok,vc_newsok FROM CLIENT WHERE CLI_REFBP = in_refbp;
--DBMS_OUTPUT.PUT (vc_date_creation);
vc_date_max := vc_date_creation + 15;
vc_today := TRUNC(sysdate);
IF (vc_flagcel = 'v')
THEN
vc_total.code_retour := 0;
return vc_total;
ELSE
IF (vc_flagcel = 'd')
THEN
IF (vc_date_max >= vc_today)
THEN
--DBMS_OUTPUT.PUT ('a temps');
vc_total.refbp := in_refbp;
vc_total.mail := vc_mail;
vc_total.mailok := vc_mailok;
vc_total.newsok := vc_newsok;
vc_total.code_retour := 2;
--DBMS_OUTPUT.PUT (vc_total.refbp);
return vc_total;
ELSE
--DBMS_OUTPUT.PUT ('trop tard');
vc_total.code_retour := 1;
return vc_total;
END IF;
END IF;
END IF;
END;
END CREER_COMPTE_EN_LIGNE;
/ |
cette erreur est :
PLS-00323: Sous-programme ou curseur 'F_CONTROLE_CEL' déclaré dans les spécifications; doit être défini dans le corps.
a la ligne :
sa vien d'ou? je la comprend pas du tout?
Partager