Ver Mensaje Individual
  #28  
Antiguo 27-04-2010
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Reputación: 22
sierraja Va por buen camino
EL SP, me parece buenisimo:


Código SQL [-]
SET TERM ^ ;
CREATE PROCEDURE "UPDATE" (
X_TIPO_TARIFA VARCHAR(30),
X_TIPO_FACTURA VARCHAR(10),
X_MES INTEGER,
X_YEAR INTEGER)
AS
begin
update facturacion
set base_imponible = cloaca
where tipo_tarifa=:x_tipo_tarifa and tipo_factura=:x_tipo_factura and extract(month from fecha)=:x_mes and extract(year from fecha)=:x_year;
update facturacion
set excento = consumo_agua
where tipo_tarifa=:x_tipo_tarifa and tipo_factura=:x_tipo_factura and extract(month from fecha)=:x_mes and extract(year from fecha)=:x_year;
suspend;
end^
SET TERM ; ^
GRANT SELECT,UPDATE ON FACTURACION TO PROCEDURE "UPDATE";
GRANT EXECUTE ON PROCEDURE "UPDATE" TO SYSDBA;





========================
Código:
/******************************************************************************/
/****            Generated by IBExpert 26/04/2010 07:19:48 p.m.            ****/
/******************************************************************************/
SET SQL DIALECT 3;
SET NAMES NONE;
 
/******************************************************************************/
/****                                Tables                                ****/
/******************************************************************************/
 
CREATE TABLE FACTURACION (
    ID_SUSCRIPTOR           VARCHAR(30),
    STATUS_FACTURA          VARCHAR(15),
    RUTA                    INTEGER,
    NUMERO_FACTURA          INTEGER,
    NUMERO_FACTURA_A        VARCHAR(30),
    NUMERO_FACTURA_IMPRESA  INTEGER,
    CODIGO_SUSCRIPTOR       INTEGER,
    CODIGO_SUSCRIPTOR_A     VARCHAR(30),
    LECTURA_ANTERIOR        INTEGER,
    LECTURA_ACTUAL          INTEGER,
    CONSUMO                 NUMERIC(15,2),
    FECHA_INICIO            DATE,
    FECHA_INICIO_A          VARCHAR(20),
    FECHA_FIN               DATE,
    FECHA_FIN_A             VARCHAR(20),
    FECHA_FACTURACION       DATE,
    FECHA_FACTURACION_A     VARCHAR(20),
    FECHA_VENCIMIENTO       DATE,
    FECHA_VENCIMIENTO_A     VARCHAR(20),
    MONTO_TARIFA            NUMERIC(15,2),
    MONTO_TARIFA_EXCESO     NUMERIC(15,2),
    ALICUOTA_IVA            NUMERIC(15,2),
    CARGO_FIJO              NUMERIC(15,2),
    CARGO_VARIABLE          NUMERIC(15,2),
    CARGO_EXCESO_CONSUMO    NUMERIC(15,2),
    CONSUMO_AGUA            NUMERIC(15,2),
    CLOACA                  NUMERIC(15,2),
    PORCENTAJE_CLOACA       NUMERIC(15,2),
    MONTO_CONCEPTO          NUMERIC(15,2),
    MONTO_FACTURADO         NUMERIC(15,2),
    MONTO_IVA               NUMERIC(15,2),
    DEUDA_ANTERIOR          NUMERIC(15,2),
    TIPO_TARIFA             VARCHAR(30),
    ESTADO                  VARCHAR(20),
    AVISO_CORTE             VARCHAR(2),
    FECHA_PAGO_FACTURA      DATE,
    FECHA_PAGO_FACTURA_A    VARCHAR(20),
    FORMA_PAGO              VARCHAR(20),
    PORCENTAJE_DESCUENTO    NUMERIC(15,2),
    MONTO_DESCUENTO         NUMERIC(15,2),
    DESCUENTO_AUTORIZADO    VARCHAR(30),
    NUMERO_CHEQUE           VARCHAR(30),
    CUENTA_CHEQUE           VARCHAR(30),
    NOMBRE_BANCO            VARCHAR(30),
    USUARIO                 VARCHAR(10),
    FECHA                   DATE,
    FECHA_A                 VARCHAR(10),
    PRECIO_UNITARIO         NUMERIC(15,2),
    SUB_TOTAL               NUMERIC(15,2),
    CONTADOR                INTEGER,
    LITERAL_EXCENTO         VARCHAR(10),
    MONTO_PAGADO            NUMERIC(15,2),
    VUELTO                  NUMERIC(15,2),
    NUMERO_TARJETA          VARCHAR(30),
    TIPO_TARJETA_CREDITO    VARCHAR(30),
    NOMBRE_BANCO_TARJETA    VARCHAR(30),
    TIPO_FACTURA            VARCHAR(10),
    RECIBO                  VARCHAR(2),
    PRECIO                  NUMERIC(15,2),
    BASE_IMPONIBLE          NUMERIC(15,2),
    FACTURAR_LOTE           VARCHAR(10),
    CODIGO_STATE_ACCOUNT    VARCHAR(10),
    EXCENTO                 NUMERIC(15,2),
    STATUS_TARIFA           VARCHAR(20),
    CAMPO1                  VARCHAR(50),
    CAMPO2                  VARCHAR(100),
    STATUS_2                VARCHAR(30),
    STATUS_3                VARCHAR(30),
    STATUS                  VARCHAR(30),
    CODIGO_LECTURA          INTEGER,
    PENDIENTES              INTEGER
);
 
 
/******************************************************************************/
/****                               Indices                                ****/
/******************************************************************************/
CREATE INDEX FACTURACION_CODIGO_CLIENTE ON FACTURACION (CODIGO_SUSCRIPTOR);
CREATE INDEX FACTURACION_IDX1 ON FACTURACION (DEUDA_ANTERIOR);
 
/* Fields descriptions */
DESCRIBE FIELD STATUS_FACTURA TABLE FACTURACION
'Si indica "Si" es que esta facturado';
DESCRIBE FIELD FECHA_INICIO TABLE FACTURACION
'  fecha inicio de periodo a facturar';
DESCRIBE FIELD FECHA_FIN TABLE FACTURACION
' fecha fin de periodo a facturar';
DESCRIBE FIELD CARGO_FIJO TABLE FACTURACION
' cargo fijo para la tarifa comercial';
DESCRIBE FIELD CARGO_VARIABLE TABLE FACTURACION
'cargo variable tarifa comercial';
DESCRIBE FIELD CARGO_EXCESO_CONSUMO TABLE FACTURACION
' cargo consumo tarifa comercial';
DESCRIBE FIELD CONSUMO_AGUA TABLE FACTURACION
' consumo mas tarifa mensual';
DESCRIBE FIELD MONTO_CONCEPTO TABLE FACTURACION
' monto por concepto debito o credito de la facturacion mensual';
DESCRIBE FIELD MONTO_FACTURADO TABLE FACTURACION
'  monto facturado es la suma de agua,cloaca, exceso, cargo fijo, debido o credito';
DESCRIBE FIELD ESTADO TABLE FACTURACION
'status operacional= 1 activo, 2 cortado, 3 suspendido';
DESCRIBE FIELD AVISO_CORTE TABLE FACTURACION
'Verdadero si y falso no';
 
/******************************************************************************/
/****                              Privileges                              ****/
/******************************************************************************/
Responder Con Cita