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