Store Procedure en PB
Publicado por Barzi (28 intervenciones) el 06/09/2005 04:36:15
Hola a todos tengo una tabla llamada ControlTablas (esta tabla tiene dos campos UltimoCodigo varchar(6) y NombreTabla varchar(25) ) bueno esta tabla controla los codigos de mi demas tablas (Empleado , Proveedor, Producto, etc)
Ejemplo...
Tabla: ControlTablas
------------------------------------------
UltimoCodigo NombreTabla
------------------------------------------
EM0002 Empleado
------------------------------------------
PV0005 Proveedor
He creado este Procedimiento Almacenado... para generar un nuevo codigo.....
Create Procedure sp_NuevoCodigo
@UltimoCodigo varchar(6) output,
@Tabla varchar(25)
As
Declare @xCodigo varchar(6), @Dig Numeric, @Ceros Numeric
Select @xCodigo = UltimoCodigo From ControlTablas Where NombreTabla = @Tabla
if @Tabla = 'Empleado'
Set @Dig = Convert(Numeric,Right(@xCodigo,4)) + 1
Set @Ceros = 4 - Len(Convert(varchar, @Dig))
Set @UltimoCodigo = 'EM' + Replicate('0', @Ceros) + Convert (varchar,@Dig)
Update ControlTablas Set UltimoCodigo = @UltimoCodigo Where NombreTabla = @Tabla
/*Ejecutando el procedimiento*/
Declare @@Ultimo varchar(6)
Execute sp_NuevoCodigo @@Ultimo output, @Tabla = 'Emnpleado'
Select * From ControlTablas
Bueno mis consultas son:
1--Cuando no inserto ningun registro a la tabla ControlTablas no me genera nada que me falta en ese codigo para q me permita insertar sin tener nada en la tabla ControlTablas osea q comienza ejemplo:
Tabla: ControlTablas
------------------------------------------
UltimoCodigo NombreTabla
------------------------------------------
EM0001 Empleado
------------------------------------------
2--Tengo una aplicacion en PowerBuilder 9.0 donde existe una ventana ancestro o padre que tiene ventanas hijas (w_empleado, w_proveedor, etc) Como puedo llevar mi procedimiento almacenado a mi apliacion de PB se q todo el sript seria en la ventana padre pero como hago para que me resconosca cuando es w_empleado y inserte EM0002 o cuando es w_proveedor inserte PV0001 y asi sucesivamente para las demas ventanas....
Gracias por su tiempo...!
Si alguien tiene una idea mejor me la puede decir gracias...!
Ejemplo...
Tabla: ControlTablas
------------------------------------------
UltimoCodigo NombreTabla
------------------------------------------
EM0002 Empleado
------------------------------------------
PV0005 Proveedor
He creado este Procedimiento Almacenado... para generar un nuevo codigo.....
Create Procedure sp_NuevoCodigo
@UltimoCodigo varchar(6) output,
@Tabla varchar(25)
As
Declare @xCodigo varchar(6), @Dig Numeric, @Ceros Numeric
Select @xCodigo = UltimoCodigo From ControlTablas Where NombreTabla = @Tabla
if @Tabla = 'Empleado'
Set @Dig = Convert(Numeric,Right(@xCodigo,4)) + 1
Set @Ceros = 4 - Len(Convert(varchar, @Dig))
Set @UltimoCodigo = 'EM' + Replicate('0', @Ceros) + Convert (varchar,@Dig)
Update ControlTablas Set UltimoCodigo = @UltimoCodigo Where NombreTabla = @Tabla
/*Ejecutando el procedimiento*/
Declare @@Ultimo varchar(6)
Execute sp_NuevoCodigo @@Ultimo output, @Tabla = 'Emnpleado'
Select * From ControlTablas
Bueno mis consultas son:
1--Cuando no inserto ningun registro a la tabla ControlTablas no me genera nada que me falta en ese codigo para q me permita insertar sin tener nada en la tabla ControlTablas osea q comienza ejemplo:
Tabla: ControlTablas
------------------------------------------
UltimoCodigo NombreTabla
------------------------------------------
EM0001 Empleado
------------------------------------------
2--Tengo una aplicacion en PowerBuilder 9.0 donde existe una ventana ancestro o padre que tiene ventanas hijas (w_empleado, w_proveedor, etc) Como puedo llevar mi procedimiento almacenado a mi apliacion de PB se q todo el sript seria en la ventana padre pero como hago para que me resconosca cuando es w_empleado y inserte EM0002 o cuando es w_proveedor inserte PV0001 y asi sucesivamente para las demas ventanas....
Gracias por su tiempo...!
Si alguien tiene una idea mejor me la puede decir gracias...!
Valora esta pregunta
0