Power Builder - llamadas a SP no me funcionan

 
Vista:

llamadas a SP no me funcionan

Publicado por Molon (67 intervenciones) el 06/08/2003 10:01:32
Hola a todos. Ahora tengo otro problema y es que no me funcionan mis llamadas a funciones externas y en este caso a procedimientos almacenados (stored procedure) de mi BD.
YO lo que hago es lo siguiente:
1- Declaro en mi zona "local external functions" la sgte funcion externa
SUBROUTINE Proc2() RPCFUNC;
Deberia llamar a un SP de mi BD llamada Proc2 que realiza una insercion de un registro en una tabla.

AHora, en el evento click de un boton quiero que me funcione la llamada mediante el codigo:
SQLCA.Proc2();
No me deja compilarlo y me da el error "Unknowd Function name proc2".HAber si me puede alguien ayudar please.
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

hay 2 formas de hacerlo

Publicado por Milson Cardona (613 intervenciones) el 06/08/2003 16:25:54
Un saludo especial desde COLOMBIA

el llamado a los SP de la DB se puede hacer de 2 maneras..

1- declarando en el código el SP y llamandolo inmediatamente despues
//este código va todo en el evento CLICK de tu boton
//se declara el SP
DECLARE nombre_alias_SP PROCEDURE FOR nombre_SP_DB USING vble_transaccional;

NOTA: es recomendable cuando solo necesitas llamar 1 SP 1 ó 2 veces en toda tu aplicación... pocos SP con pocas llamadas

//se llama al SP
EXECUTE nombre_alias_SP;

2- La segunda opción es un poco mas complicada pero mas óptima:
- que crees un objeto tipo transaccion, llamemoslo UO_TRANSACTION
- crees una variable GLOBAL de ese tipo de objeto y llamemosla CONEXION
uo_transaction conexion
- en el OBJETO ue_transaction hacemos la definición de los SP que vayas a utilizar en tu aplicacion ... esto se hace en LOCAL EXTERNAL FUNCTIONS
subroutine nombre_alias_SP(string parametros) RPCFUNC ALIAS FOR "nombre_sp_db"

- en el evento OPEN de tu objeto APLICATION debes crear la variable CONEXION que definiste como GLOBAL
conexion = CREATE uo_transaction

-tambien en el evento OPEN de tu objeto APLICATION debes hacer la conexion a la DB usando la vble CONEXION en vez de la que viene por defecto SQLCA

- ahora puedes llamar al SP desde cualquier parte de tu aplicacion
conexion.nombre_alias_SP(parametros)

NOTA: la segunda opción es muy recomendable cuando en tu aplicación vas a llamar a muchos SP o Funciones repetidas veces, ya que solo haces la declaración una sola vez en LOCAL EXTERNAL FUNCTIONS y luego los llamas cuantas veces quieras de forma muy sencilla.
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:MUCHAS GRACIAS

Publicado por Molon (67 intervenciones) el 08/08/2003 12:28:25
Muchas gracias!!!!
de la segunda forma que me comentas me funciona perfectamente, ademas de que es la forma mas fina para hacerlo!!!!

mil gracias!!!!
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