Power Builder - Procedimientos Almacenados OutPut

 
Vista:

Procedimientos Almacenados OutPut

Publicado por Ricardo (9 intervenciones) el 01/03/2002 19:41:53
Agradeceria mucho si me pudieran ayudar,

Trabajo con PB 7.0 y SQL 7.0 el problema es que cree un procedimiento almacenado que retornar un valor tipo integer y cuando lo llamo desde pb me sale un error de tipo de conversion , pero todos los datos son del mismo tipo, a lo mejor lo estoy llamnando mal

DECLARE proc PROCEDURE FOR 'nom_proc;1'
@status = :n_salida out;

lo probe desde sql y me funciona normal el problema es desde pb
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

RE:Procedimientos Almacenados OutPut

Publicado por Marcelo Robles (78 intervenciones) el 02/03/2002 23:24:20
Probá con: este codigo de ejemplo
a) Fijate que no se hace @status = :n_salida out.
b) A los parámetros de output no los declares en PB, sino que hacé un select al final del sp, y capturalo en el fetch.

/*-------------Comienzo de código-------------*/
integer li_id_impuesto_tipo
string ls_descripcion, ls_descripcions
li_id_impuesto_tipo = this.GetItemNumber(row,"id_impuesto_tipo",buffer,false)
ls_descripcion = this.GetItemString(row,"descripcion",buffer,false)
ls_descripcions = this.GetItemString(row,"descripcions",buffer,false)
//------END Carga de las variables de ram

DECLARE SPA_IDU PROCEDURE FOR "spa_idu_t_mun_impuesto_tipo"
:ls_qidu_opcion,:ls_sp_llamador,:ls_sp_titulo,:ls_sp_mensaje,
/*Datos de la tabla*/
:li_id_impuesto_tipo,:ls_descripcion,:ls_descripcions
USING SQLCA;

//------BEG Ejecución del SP

EXECUTE SPA_IDU ;
IF sqlca.sqlcode <> 0 THEN
CHOOSE CASE sqlca.sqlcode
CASE -1
//Envia el sqldbcode
f_seg_mensajes(sqlca.sqldbcode,"","",0,ls_sp_llamador)
CASE 100
f_seg_mensajes(0,"El SP, esperaba parámetros de salida","Contáctese con el administrador",1,ls_sp_llamador)
END CHOOSE
ELSE
//------BEG Obtención de los parámetros de output
FETCH SPA_IDU INTO :ll_status , :ls_sp_mensaje, :ls_sp_llamador;
CLOSE SPA_IDU;
IF ll_status <> 0 THEN
//Muestra el msg de error segun status
f_seg_mensajes(ll_status,
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

RE:Procedimientos Almacenados OutPut

Publicado por Ricardo (9 intervenciones) el 04/03/2002 09:12:13
La verdad es que ya hice esa prueba pero no me sale, tuve que crear ub objeto transaction para poder declarar algunos SP, todo me sale a pedir de boca cuando uso una conexion ODBC, el problema es cuando uso una conexion OLE DB me sale un erro de "Tipo de parametro no valido",
a manera de prueba jugue con todos los tipos de datos, imaginaba que con el entero no tendria errores pero no fue asi... estoy como loco.!!!!

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

RE:Procedimientos Almacenados OutPut

Publicado por Jaime Rojas (1 intervención) el 04/04/2002 11:06:18
hey marcelo me ha servido a mi la la respuesta de los procedimientos output
cualquier consulta me interesaria preguntarte a vos primero
hey gracias

Jaime Rojas EL Salvador
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