Oracle
 sql >> Base de données >  >> RDS >> Oracle

Procédure d'appel d'Oracle à Crystal Report

il est possible que in_year ne soit pas transmis par Crystal ou transmis comme NULL.

veuillez vérifier cela. vous pouvez ajouter ce code comme vérification rapide :

  if (trim(in_year) is null) or length(in_year != 4))
  then
    raise_application_error(-20000, 'year is invalid: '  || in_year);
  end if;
 inv_date := to_date('31-01-' || in_year || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS');

quelle erreur cela lance-t-il?

comme si l'année était nulle, nous aurions cette erreur :

SQL> declare
  2    inv_date DATE;
  3     in_year varchar2(42) ;
  4  begin
  5   inv_date := to_date('31-01-' || in_year || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS');
  6  end;
  7  /
declare
*
ERROR at line 1:
ORA-01850: hour must be between 0 and 23
ORA-06512: at line 5