-- supression des fonctions pour recréation
 
DROP FUNCTION AF4TEST/TOCHAR6 ;
DROP FUNCTION AF4TEST/TOCHAR10 ;
DROP FUNCTION AF4TEST/TODATE6 ;
DROP FUNCTION AF4TEST/TODATE7 ;
DROP FUNCTION AF4TEST/TODATE8 ;
DROP FUNCTION AF4TEST/TOWEEK ;
DROP FUNCTION AF4TEST/TOWEEK2 ;
 
-- création des fonctions DATE (déclaration SQL des fonctions dans *SRVPGM)
 
-- il faut indiquer le *SRVPGM et la procédure entre ( et )
-- elles retournent toutes NULL si l'un des paramètres est NULL
-- (style de paramètre GENERAL, n'ajoute pas de paramètres propres à SQL)
 
CREATE FUNCTION AF4TEST/TOCHAR6 (DEC(6 , 0) )
RETURNS CHAR(8)
EXTERNAL NAME 'AF4TEST/DT_SQL(DAT6_CHAR8)'
PARAMETER STYLE GENERAL
RETURNS NULL ON NULL INPUT ;
 
CREATE FUNCTION AF4TEST/TOCHAR10 (DEC(6 , 0) )
RETURNS CHAR(10)
EXTERNAL NAME 'AF4TEST/DT_SQL(DAT6_CHAR10)'
PARAMETER STYLE GENERAL
RETURNS NULL ON NULL INPUT ;
 
--
-- SQL sait lui même transformer (caster) la valeur retour
--
 
CREATE FUNCTION AF4TEST/TODATE6 (DEC(6 , 0) )
RETURNS DATE CAST FROM CHAR(10)
EXTERNAL NAME 'AF4TEST/DT_SQL(DAT6_CHAR10)'
PARAMETER STYLE GENERAL
RETURNS NULL ON NULL INPUT ;
 
CREATE FUNCTION AF4TEST/TODATE7 (DEC(7 , 0) )
RETURNS DATE CAST FROM CHAR(10)
EXTERNAL NAME 'AF4TEST/DT_SQL(DAT7_CHAR10)'
PARAMETER STYLE GENERAL
RETURNS NULL ON NULL INPUT ;
|