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

Obtener Fecha y Hora de Servidor Firebird

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

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:

 
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.

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:


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.