Tengo este codigo de Interbase y cuando lo ejecuto me dice que hay un error en la linea 31,6. Pero no hay ya lo revise, creo yo.
Ayudenme!
Gracias
Att
Julio Tejeda
Código:
SET TERM!!;
CREATE PROCEDURE INS_FACTURA ( CLIENTE NUMERIC(8), CTF_CODIGO NUMERIC(1), DESCUENTO NUMERIC(10,2),
CV_CODIGO NUMERIC(4), GCO_CODIGO NUMERIC(8), TOTAL NUMERIC(12,2),
INVENTARIO NUMERIC(8), CANTIDAD NUMERIC(10,2)
)
AS
DECLARE VARIABLE DECIDE NUMERIC(1);
DECLARE VARIABLE CODTEMP NUMERIC(12);
DECLARE VARIABLE RNCTEMP CHAR(9);
DECLARE VARIABLE GENERA NUMERIC(12);
DECLARE VARIABLE PRECIO NUMERIC(12,2);
DECLARE VARIABLE COSTO NUMERIC(10,2);
BEGIN
SELECT GCL_TIPO FROM G_CLIENTE WHERE GCL_CODIGO = :CLIENTE INTO :DECIDE;
SELECT GEN_ID(TRX_SERIAL,0) FROM C_PAIS INTO :GENERA;
SELECT GI_PRECIO, GI_COSTO FROM G_INVENTARIO WHERE GI_CODIGO = :INVENTARIO INTO :PRECIO, :COSTO;
IF (:DECIDE = 1) THEN
BEGIN
SELECT OFICIAL, RNC FROM PARAMETROS INTO :CODTEMP, :RNCTEMP;
INSERT INTO G_FAC VALUES ((:CODTEMP+1), :CLIENTE, DATE 'NOW',
:CTF_CODIGO, :DESCUENTO, :CV_CODIGO,
:GCO_CODIGO, :TOTAL, :GENERA);
UPDATE G_FAC SET OFICIAL = (:CODTEMP+1) WHERE RNC = :RNCTEMP;
END
ELSE
BEGIN
SELECT NOOFICIAL, RNC FROM PARAMETROS INTO :CODTEMP, :RNCTEMP;
INSERT INTO G_FAC VALUES ((:CODTEMP+1), :CLIENTE, DATE 'NOW',
:CTF_CODIGO, :DESCUENTO, :CV_CODIGO,
:GCO_CODIGO, :TOTAL, :GENERA);
UPDATE G_FAC SET NOOFICIAL = (:CODTEMP+1) WHERE RNC = :RNCTEMP;
END;
INSERT INTO G_FAC_DET VALUES ((:CODTEMP + 1), :GI_CODIGO, :CANTIDAD, :PRECIO, :COSTO, DATE 'NOW', :GENERA);
SELECT GEN_ID(TRX_SERIAL,1) FROM C_PAIS;
SUSPEND;
END !!
SET TERM; !!