A los parámetros char que pasas como constantes has de definirles el
tipo y tamaño : char('1', 1), char('00000232', 12), al menos en V5R2.
Sí, parece enormemente estúpido tener que hacer esto, pero es lo que
hay. Hasta IBM hace estupideces como ésta de vez en cuando.
Saludos.
Fernando Pérez
Cerámica Saloni. Dpto. Auditoría y
Organización
Carlos Augusto Correa García wrote:
Saludos
amigos del foro, tengo una duda.
*
He creado una función externa de la sgte manera:*
CREATE FUNCTION MYLIB.FX_SCR_CALIFICACIONSBS (
PTIPDOC CHAR(1) ,
PDOCUME CHAR(12) )
RETURNS DECIMAL(1, 0) LANGUAGE RPGLE
SPECIFIC AUCO.FX_SCR_CALIFICACIONSBS
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
DISALLOW PARALLEL
EXTERNAL NAME 'MYLIB/R7401883'
PARAMETER STYLE SQL ;
COMMENT ON SPECIFIC FUNCTION AUCO.FX_SCR_CALIFICACIONSBS
IS 'Devuelve Calificación SBS' ;
*El programa RPG (Programa externo) es el sgte:*
H DATEDIT(*DMY)
*---------------------------------------------------------------*
* APLICACION: Credit Scoring *
TITULO : Devuelve Calificación SBS
*---------------------------------------------------------------*
FFILESBS IF E K DISK C
*ENTRY PLIST
C PARM pTipdoc 1
C PARM pDocume 12
C PARM pCalSBS 1 0
C*---------------------------------------------------------------*
C CLA001 KLIST
C KFLD pTipreg
C KFLD pTipdoc
C KFLD sDocume
C seton LR
C* Hay más codigo ...........................................
*Pero a la hora de ejecutarlo*
SELECT FX_SCR_CALIFICACIONSBS ('1', '00000232')
FROM SYSIBM.SYSDUMMY1
*Me da error, Veamos*
> SELECT FX_SCR_CALIFICACIONSBS ('1', '00000232') FROM
SYSIBM.SYSDUMMY1
Estado de SQL: 42704
Código de proveedor: -204
Mensaje: [SQL0204] FX_SCR_CALIFICACIONSBS en *LIBL de tipo *N no
encontrado. Causa . . . . . : FX_SCR_CALIFICACIONSBS en *LIBL tipo *N
no se ha encontrado. Si se trata de una sentencia ALTER TABLE y el tipo
es *N, no se ha encontrado una restricción o partición. Si no se trata
de una sentencia ALTER TABLE y el tipo es *N, no se ha encontrado una
función, procedimiento o desencadenante. Si no se ha encontrado una
función, FX_SCR_CALIFICACIONSBS es el programa de servicio que contiene
la función. La función no se encontrará si el nombre externo y el
nombre de uso no coinciden exactamente. Examine en las anotaciones de
trabajo para ver si encuentra un mensaje que dé más detalles sobre el
nombre de función que se está buscando y el nombre que no coincide.
Recuperación . : Cambie el nombre y vuelva a intentar la petición.
Si el objeto es un grupo de nodos, asegúrese de que el producto DB2
Multisystem está instalado en el sistema y cree un grupo de nodos con
el mandato CL CRTNODGRP. Si no se ha encontrado la función externa,
asegúrese de que las mayúsculas y minúsculas del EXTERNAL NAME en la
sentencia CREATE FUNCTION coinciden exactamente con las mayúsculas y
minúsculas del nombre exportado por el programa de servicio.
Se ha finalizado el proceso ya que la sentencia resaltada no se ha
completado satisfactoriamente
-----------------------------------------------------------------------------------------------------
En resume
En otras funciones si me ha funcionado porco con solo un parámetro y
con parametros numéricos.
Esta vez me está fallando pues la verdad no he visto mucho del tema
Denme alguna ide pues ya se me agotaron
Saludos
-------------------------------
Carlos Augusto Correa García
Area de Sistemas - Desarrollo
CMAC PIURA S.A.C.
|
begin:vcard
fn;quoted-printable:Fernando P=C3=A9rez
n;quoted-printable:P=C3=A9rez;Fernando
org;quoted-printable:;Auditor=C3=ADa y Organizaci=C3=B3n
email;internet:[EMAIL PROTECTED]
tel;work:Ext. 627
x-mozilla-html:TRUE
version:2.1
end:vcard
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400