Power Builder - Declare Procedure

   
Vista:

Declare Procedure

Publicado por pykasu (70 intervenciones) el 18/05/2011 23:08:24
Hola amigos: mi problema es el siguiente:
tengo un procedimiento almacenado (trabajo con firebird y powerbuilder)
este procedimiento recibe 3 parametros (producto, usuario, motivo) numerico, varchar y varchar respectivamente. si lo ejecuto directamente en procedimiento funciona de maravillas.
pero yo necesito que se dispare en un evento en power...
Si al procedimiento le envio 2 parametros me compila sin problemas.... pero cuando le envio los 3 me sale el error q sigue:
Database C0038: SQLSTATE = HY000 Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 1{call}

Mi scrip en power es el que sigue:

decimal ld_prod, ld_sucursal
string ls_usu, ls_valor
ld_prod=tabpage_1.dw_1.getitemnumber(1,'producto')
ls_usu=upper(sqlca.of_getusername( ))
ls_valor=ddlb_ventaperdida.text

declare pb_venta_perdida procedure for SP_VENTA_PERDIDA
(:ld_prod, :ls_usu, :ls_valor);
connect using sqlca;
execute pb_venta_perdida; //ejecutamos el procedimiento
Commit using sqlca;
close pb_venta_perdida;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Declare Procedure

Publicado por pykasu (30 intervenciones) el 28/07/2011 17:38:40
Amigo Pikasu

Tengo el mismo problema que tu.
Trabajo con POWER BUILDER y FIREBIRD, estoy añadiendo por primera vez procedimientos almacenados a mi sistema.

Yo solo le paso 2 argumentos a mi procedimiento que devuelve 3 variables(en base de datos el procedure funciona perfectamente), pero en el power no me acepta colocar las 2 variables de entrada; solo 1 argumento nada mas; si coloco los 2 me sale el mismo mensaje de error que te sale a ti.

Este es mi codigo:

DECLARE pb_acceso_usuario PROCEDURE FOR
SP_ACCESO_VALIDA_DATOS_USUARIO (:gs_cod_usuario,:ls_password);
execute pb_acceso_usuario;

if SQLCA.sqlcode = 0 then
FETCH pb_acceso_usuario INTO :ln_count,:gs_des_usuario,:ls_estado;
CLOSE pb_acceso_usuario;
end if

Lo unico raro es que cuando intento guardar los cambios el POWER BUILDER me pregunta si deseo ingnorar ese error en el procedure, si le doy que SI, me ejecuta normal y me extrae las 3 variables CON NORMALIDAD.
Imagino que el sistema NO DEBERIA TENER NINGUN MENSAJE DE ERROR A IGNORAR...pues a la larga puede tener problemas serios, todo deberia estar sin errores, por eso me preocupa ese mensaje de error...

Por favor indicame SI SOLUCIONASTE EL PROBLEMA QUE TENIAS....

Agradezco de antemano tu respuesta

Saludos desde Perú
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Declare Procedure

Publicado por pykasu (70 intervenciones) el 28/07/2011 18:16:51
La verdad que no llegue a solucionarlo ejecutando mi sp de esta manera... pero allé otro tipo de soluciones... fui por otros lados... hasta ahora no me explico del porque de ese error.... hace muy poco trabajo con firebird... antes lo hacia con SQL SERVER y alli ningun problema.... No se si sabes que puedes llamar tamb a tu sq con un select. Yo lo solucione asi...
SELECT * FROM [NOMBRE DE SP] (PARAMETROS)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Declare Procedure

Publicado por solindeveloper (30 intervenciones) el 28/07/2011 20:14:14
Amigo pykasu

Muchas gracias por el dato del select con el store, ya lo probe y me funciona perfecto sin ningun error. Espero que de esa forma pueda hacer masa ligero el trafico de envio y recepcion de informacion en la red que es lo que busco.

Si en algun momento llegas a tener info sobre como solucionar eso del DECLARE PROCEDURE me avisas por favor.
De mi lado, si consigo la solución también la estaré comunicando.

Gracias

Saludos desde Perú
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Declare Procedure

Publicado por pykasu (70 intervenciones) el 28/07/2011 21:15:21
Que bueno que fue fui ayuda para ti... Mira... puedes unirte a este grupo powerbuilder-ica@googlegroups.com Alli estamos siempre en linea ayudandonos... solicita q te agreguen como miembro, te sera de utilidad. Y te invito a q pases a visitar mi blog... aun tengo pocas cosas pero puede ser de utilidad en algun momento http://fativilla.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar