Para obtener la fecha del servidor Firebird creamos una función (Function Object):
$PBExportHeader$f_fecha_servidor.srf
global type f_fecha_servidor from function_object
end type
forward prototypes
global function datetime f_fecha_servidor ()
end prototypes
global function datetime f_fecha_servidor ();
// -------------------------------------------------------------------------------------
// Funcion : f_fecha_servidor
// Proposito: Devuelve la fecha y hora del servidor Firebird
// Creador : Jorge A. Barzola Rosadio
// Fecha : 16/07/2015
// -------------------------------------------------------------------------------------
DateTime ldt_DateTime
SetNull(ldt_DateTime)
SELECT CURRENT_TIMESTAMP
INTO :ldt_DateTime
FROM RDB$DATABASE;
RETURN ldt_DateTime
end function
Mostrando entradas con la etiqueta Firebird. Mostrar todas las entradas
Mostrando entradas con la etiqueta Firebird. Mostrar todas las entradas
domingo, 24 de enero de 2016
domingo, 1 de noviembre de 2015
Ejecutar Stored Procedure Firebird en PowerBuilder
En este post ya habiamos visto como usar un Stored Procedure de Firebird en un DataWindow:
http://desarrolladorpowerbuilder.blogspot.pe/2015/10/usando-stored-procedure-firebird-en.HTML
Ahora veremos como ejecutar un Stored Procedure de Firebird desde PowerScript.
Primer Ejemplo:
En Firebird tenemos un Stored Procedure que nos devuelve el ultimo numero de un documento sumándole uno.
Vamos a PowerBuilder y debemos ejecutar el Stored Procedure con el siguiente PowerScript:
SELECT NRO_SER,
NRO_ACT
INTO :ls_Serie, :li_Numero
FROM USP_SEL_DOCUMENTO_NUMERACION(gs_Empresa, gs_Sucursal, gs_Terminal, ls_Documento);
Segundo Ejemplo:
En Firebird tenemos un Stored Procedure que actualiza el ultimo numero de un documento sumándole uno.
Vamos a PowerBuilder
Para ejecutar este Stored Procedure Firebird tenemos que declararlo como una función externa en un Standard Class de tipo Transaction, siguiendo estos pasos:
1. New, clic en Standard Class, OK:
http://desarrolladorpowerbuilder.blogspot.pe/2015/10/usando-stored-procedure-firebird-en.HTML
Ahora veremos como ejecutar un Stored Procedure de Firebird desde PowerScript.
Primer Ejemplo:
En Firebird tenemos un Stored Procedure que nos devuelve el ultimo numero de un documento sumándole uno.
Vamos a PowerBuilder y debemos ejecutar el Stored Procedure con el siguiente PowerScript:
SELECT NRO_SER,
NRO_ACT
INTO :ls_Serie, :li_Numero
FROM USP_SEL_DOCUMENTO_NUMERACION(gs_Empresa, gs_Sucursal, gs_Terminal, ls_Documento);
Segundo Ejemplo:
En Firebird tenemos un Stored Procedure que actualiza el ultimo numero de un documento sumándole uno.
Vamos a PowerBuilder
Para ejecutar este Stored Procedure Firebird tenemos que declararlo como una función externa en un Standard Class de tipo Transaction, siguiendo estos pasos:
1. New, clic en Standard Class, OK:
2. Seleccionar Transaction, clic en OK.
3. Guardamos el objeto.
4. En propiedades del objeto Application dar clic en el botón Additional Properties
5. Ubicamos la pestaña Variable Types y en la caja SQLCA, digitamos el nombre del objeto Transaction, luego clic en OK.
6. Abrimos el objeto de tipo Transaction y ubicar Local External Functions.
7. Declaramos el Stored Procedure Firebird
8. Por ultimo las siguientes líneas deben estar dentro del evento o función donde se va ejecutar el Stored Procedure Firebird:
SQLCA.USP_UPD_DOCUMENTO_NUMERACION(gs_Empresa, gs_Sucursal, gs_Terminal, ls_Documento);
lunes, 26 de octubre de 2015
Crear campo generador en Firebird
Muchas veces necesitamos tener un código que sea secuencial o autonumerico, en Firebird se llama generador y se crea con el siguiente código:
CREATE GENERATOR GEN_CLIENTE_DIRECCION;
Luego creamos un trigger el cual incrementara en 1 usando la funcion GEN_ID el generador, este es el código:
CREATE TRIGGER BI_CLIENTE_DIRECCION_ID_DIR FOR CLIENTE_DIRECCION
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
IF (NEW.ID_TABLA IS NULL OR NEW.ID_TABLA = 0) THEN
NEW.ID_TABLA = GEN_ID(GEN_CLIENTE_DIRECCION, 1);
END;
En PowerBuilder no se necesita programar nada y se incrementara cada vez que se haga Update al DataWindow.
CREATE GENERATOR GEN_CLIENTE_DIRECCION;
Luego creamos un trigger el cual incrementara en 1 usando la funcion GEN_ID el generador, este es el código:
CREATE TRIGGER BI_CLIENTE_DIRECCION_ID_DIR FOR CLIENTE_DIRECCION
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
IF (NEW.ID_TABLA IS NULL OR NEW.ID_TABLA = 0) THEN
NEW.ID_TABLA = GEN_ID(GEN_CLIENTE_DIRECCION, 1);
END;
En PowerBuilder no se necesita programar nada y se incrementara cada vez que se haga Update al DataWindow.
domingo, 18 de octubre de 2015
Usando Stored Procedure Firebird en DataWindow
El siguiente post es la respuesta a las preguntas que he recibido de como usar un Stored Procedure creado en Firebird en un DataWindow.
Primero: El siguiente Stored Procedure en Firebird
CREATE PROCEDURE USP_LISTA_RUTA(
v_RUTA VARCHAR(25))
RETURNS( COD_RUT VARCHAR(4) ,
NOM_RUT VARCHAR(25))
AS
BEGIN
FOR SELECT COD_RUT,
NOM_RUT
FROM RUTA
WHERE NOM_RUT CONTAINING :v_RUTA
INTO :COD_RUT,
:NOM_RUT
DO SUSPEND;
END;
Segundo: En PowerBuilder
1. Creamos un nuevo objeto DataWindow:
Primero: El siguiente Stored Procedure en Firebird
CREATE PROCEDURE USP_LISTA_RUTA(
v_RUTA VARCHAR(25))
RETURNS( COD_RUT VARCHAR(4) ,
NOM_RUT VARCHAR(25))
AS
BEGIN
FOR SELECT COD_RUT,
NOM_RUT
FROM RUTA
WHERE NOM_RUT CONTAINING :v_RUTA
INTO :COD_RUT,
:NOM_RUT
DO SUSPEND;
END;
Segundo: En PowerBuilder
1. Creamos un nuevo objeto DataWindow:
2. Elegimos SQL Select, clic en Next.
3. Clic en el botón Cancel.
4. Clic en Convert To Syntax de la opción Design
6. Creamos un argumento
8. Debemos escribir lo siguiente:
9. Clic en Next
10. Clic en Finish
Nota:
1. Para el ejemplo usamos un Stored Procedure Firebird seleccionable (porque contiene el comando SUSPEND).
2. Se ejecuta un Stored Procedure Firebird como si fuera una tabla.
sábado, 28 de agosto de 2010
Conexión a Firebird desde PowerBuilder
Para conectarse a Firebird desde PowerBuilder se debe instalar primero el controlador odbc que lo podemos conseguir de la web oficial de Firebird:
http://www.firebirdsql.org/index.php?op=files&id=odbc
Descargamos la versión que corresponde, luego configuramos en:
Panel de control - Herramientas administrativas - Origenes de datos ODBC.
Una vez instalado y configurado el odbc, vamos a PowerBuilder:
Verificamos si la conexión es satisfactoria luego de haber ingresado los datos respectivos en la pestaña Connection.
Espero sea de gran utilidad.















