改完结果如下:create or replace package body MYLIB IS DEBUG_FLAG BOOLEAN; USER_NAME VARCHAR(30); APPL_NAME VARCHAR2(30) ; MODL_NAME VARCHAR2(30); CONTEXT_PT VARCHAR2(30) ; RUN_DATE DATE ; FUNCTION Bool_to_char(Pbool in BOOLEAN) RETURN VARCHAR2 is STR VARCHAR2(5) ; BEGIN IF (PBOOL) THEN STR := 'TRUE'; ELSIF (NOT PBOOL) THEN STR := 'FALSE'; ELSE STR := 'NULL' ; END IF ; RETURN(STR); END ; FUNCTION CHAR_TO_BOOL(PStr in varchar2) return Boolean is LStr varchar2(32767) ; LBool BOOLEAN := NULL ; BEGIN LSTR := UPPER(LTRIM(RTRIM(PSTR))) ; IF LSTR = 'TRUE' THEN LBool := True ; elsif lstr = 'FALSE' then LBool := False ; end if ; RETURN (LBOOL) ; end char_to_bool ; FUNCTION CHAR_TO_NUMBER(PSTR in VARCHAR2 , PFormat in varchar2 default null) RETURN NUMBER is LNUMBER NUMBER; BEGIN if pformat=null then return(TO_NUMBER(PSTR)); else return (TO_NUMBER(PSTR, PFormat)) ; end if ; EXCEPTION WHEN OTHERS THEN return(null) ; END CHAR_TO_NUMBER; PROCEDURE DEBUG_ON is begin debug_flag := True ; end DEBUG_ON ; PROCEDURE DEBUG_OFF is begin debug_flag := False ; end; ------------- PROCEDURE DEBUG_TOGGLE is begin debug_flag := xor(debug_flag,true) ; end; ----- FUNCTION DEBUG_STATUS RETURN BOOLEAN is begin return(debug_flag) ; end ;
end; HQ.Wang 海清
FUNCTION CHAR_TO_NUMBER(PSTR in VARCHAR2 , PFormat in varchar2 default null) RETURN NUMBER is LNUMBER NUMBER; BEGIN if pformat is null then --is null <> = null return(TO_NUMBER(PSTR)); else return (TO_NUMBER(PSTR, PFormat)) ; end if ; EXCEPTION WHEN OTHERS THEN return(null) ; END CHAR_TO_NUMBER;
DEBUG_FLAG BOOLEAN;
USER_NAME VARCHAR(30);
APPL_NAME VARCHAR2(30) ;
MODL_NAME VARCHAR2(30);
CONTEXT_PT VARCHAR2(30) ;
RUN_DATE DATE ; FUNCTION Bool_to_char(Pbool in BOOLEAN)
RETURN VARCHAR2 is
STR VARCHAR2(5) ;
BEGIN
IF (PBOOL) THEN
STR := 'TRUE';
ELSIF (NOT PBOOL) THEN
STR := 'FALSE';
ELSE
STR := 'NULL' ;
END IF ;
RETURN(STR);
END ; FUNCTION CHAR_TO_BOOL(PStr in varchar2) return Boolean is
LStr varchar2(32767) ;
LBool BOOLEAN := NULL ;
BEGIN
LSTR := UPPER(LTRIM(RTRIM(PSTR))) ;
IF LSTR = 'TRUE' THEN
LBool := True ;
elsif lstr = 'FALSE' then
LBool := False ;
end if ;
RETURN (LBOOL) ;
end char_to_bool ; FUNCTION CHAR_TO_NUMBER(PSTR in VARCHAR2 , PFormat in varchar2 default null)
RETURN NUMBER is
LNUMBER NUMBER;
BEGIN
if pformat=null then
return(TO_NUMBER(PSTR));
else
return (TO_NUMBER(PSTR, PFormat)) ;
end if ;
EXCEPTION
WHEN OTHERS THEN
return(null) ;
END CHAR_TO_NUMBER; PROCEDURE DEBUG_ON is
begin
debug_flag := True ;
end DEBUG_ON ; PROCEDURE DEBUG_OFF is
begin
debug_flag := False ;
end;
-------------
PROCEDURE DEBUG_TOGGLE is
begin
debug_flag := xor(debug_flag,true) ;
end;
-----
FUNCTION DEBUG_STATUS RETURN BOOLEAN is
begin
return(debug_flag) ;
end ;
end;
HQ.Wang 海清
RETURN NUMBER is
LNUMBER NUMBER;
BEGIN
if pformat is null then --is null <> = null
return(TO_NUMBER(PSTR));
else
return (TO_NUMBER(PSTR, PFormat)) ;
end if ;
EXCEPTION
WHEN OTHERS THEN
return(null) ;
END CHAR_TO_NUMBER;