PDA

Ver la Versión Completa : SQLStoreProcedure vs StorePoc


Chaja
17-11-2010, 00:14:09
Estimados:

El tema es, estoy sacando los comp. de coneccion de datos que usan BDE y estoy usando los DevExpress.
Todo bien, aparte del laburo que es son mas de 500 Querys y unos cuantos store. Tengo un StoreProcedure, que usando bde andaba joya es mas esta echo desde hace mucho tiempo, ahora usando el SQLStoreProcedure , cuando lo ejecuto me da un error de String Truncation o Numerci Overflow...etc.
el store lo ejecuto asi

DMStoreProcedure.spVerificaPeriodFiscal.Close;
DMStoreProcedure.spVerificaPeriodFiscal.ParamByName('anio').Value := y;
DMStoreProcedure.spVerificaPeriodFiscal.ParamByName('mes').Value := m;
DMStoreProcedure.spVerificaPeriodFiscal.ParamByName('compra_venta').Value:= 'V';
DMStoreProcedure.spVerificaPeriodFiscal.ExecProc;
if DMStoreProcedure.spVerificaPeriodFiscal.ParamByName('estado').AsString='C' Then
begin
ShowMessage('Fecha no Valida, este período fiscal no esta permitido');
CDSVentaCabFECHAVTA.Clear;
Sender.Clear;
end

y el store es este

CREATE PROCEDURE VERIFICA_PERIODO_FISCAL (
ANIO INTEGER,
MES INTEGER,
COMPRA_VENTA CHAR(1))
RETURNS (
ESTADO CHAR(1))
AS
DECLARE VARIABLE V_ANIO INTEGER;
DECLARE VARIABLE V_MES INTEGER;
DECLARE VARIABLE ID INTEGER;
begin
select c.id from control_cierre_fiscal c
where c.compra_venta=:compra_venta and c.anio=:anio and c.mes=:mes
into :id;
if ((:id is null) or (:id=0)) then
begin
estado='A';
end
else
begin
estado='C';
end
/* Procedure Text */
suspend;
END

esto anduvo siempre pero ahora no. el error salta cuando hago Open o Exec del store.
Alguan sugerencia para revisar????

Gracias

Luis Roldan
Mar del Plata
:D:D:D:D