delphi 调用 oracle 函数出现的报错,该怎么处理

delphi 调用 oracle 函数出现的报错
oracle函数代码:CREATE OR REPLACE FUNCTION X_ZTE_TIME
--(YTIME date)

RETURN VARCHAR2 IS

TYPE GROUPONE IS VARRAY(300) OF VARCHAR2(23);
AA GROUPONE ;
PT VARCHAR2(20);
BB VARCHAR2 (1);

BEGIN
  PT:=to_char(sysdate,'yyyy');
 IF substr(PT,3,1) =0
  THEN
  BB:=substr(PT,4,1);
  END IF;
 IF substr(PT,3,1) <>0
  THEN
  AA := GROUPONE('A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','T','U','V','W','X','Y');
  BB:= AA(MOD(MOD(PT,100)-10,22)+1);
  END IF;
  RETURN (BB);
  END;

在PL/SQL中执行是没问题的

但是在delphi中一调用就出现了:ORA-06553:PLS-306:wrong number or types of arguments in call to ‘X_ZTE_time’

不知道到底是哪里出现问题了,求解。。。。。。

------解决方案--------------------
日期跟数值? 警告不是错误结果对了也没关系的。
------解决方案--------------------
wrong number or types of arguments in call to ‘X_ZTE_time’

提示错误的参数类型,你DELPHI是怎么调用的?把DLEPHI调用过程写出来看看