Que tal saludos, estoy trabajando con Delphi 7 y Firebird 1.5.
Tengo 2 Stored procedure, el primero me devulve los dias de x tabla, ese tiene que llamar a el procedure 2 que hace ciertas operaciones con los dias que devuelve el procedure 1.
primer procedure que da los dias:
Código SQL
[-]CREATE PROCEDURE HORARIO_DIA_PLAZA (
CVEDEPPZA VARCHAR (15) CHARACTER SET ISO8859_1)
AS
DECLARE VARIABLE VSQL VARCHAR(100);
DECLARE VARIABLE RDIAHORPZA INTEGER;
DECLARE VARIABLE RCVECATPER VARCHAR (15);
BEGIN
for select distinct H.DIAHORPZA, PZ.CVECATPER
from TBLHORPZA H, DETDEPPZA PZ
where H.CVEDEPPZA = :CVEDEPPZA and
H.CVEDEPPZA = PZ.CVEDEPPZA and
PZ.STADEPPZA = 1
into
:RDIAHORPZA,:RCVECATPER
do
begin
execute statement 'execute procedure horario_no_checada('||'''CESADM014'||''''||','||2||')';
end
SUSPEND;
END
Este es el segundo stored procedure:
Código SQL
[-]CREATE PROCEDURE HORARIO_NO_CHECADA (
CVECATPER VARCHAR (15) CHARACTER SET ISO8859_1,
DIA INTEGER)
AS
DECLARE VARIABLE VNChecada integer;
DECLARE VARIABLE VDia integer;
DECLARE VARIABLE RDIAHORPZA INTEGER;
DECLARE VARIABLE RHORHORPZA TIME;
DECLARE VARIABLE RTURHORPZA INTEGER;
DECLARE VARIABLE RNUMHORPZA INTEGER;
DECLARE VARIABLE RIDEHORPZA INTEGER;
BEGIN
VNChecada=1;
for select H.DIAHORPZA, H.HORHORPZA,
H.TURHORPZA, H.NUMHORPZA, H.IDEHORPZA
from TBLHORPZA H, DETDEPPZA PZ
where PZ.CVECATPER = :CVECATPER and
H.CVEDEPPZA = PZ.CVEDEPPZA and
PZ.STADEPPZA = 1 and
H.DIAHORPZA =
IA
Order by H.DIAHORPZA, HORHORPZA, TPOHORPZA DESC,H.CVEDEPPZA
into
RDIAHORPZA,RHORHORPZA,RTURHORPZA,RNUMHORPZA,RIDEHORPZA
do
begin
Update tblhorpza set
NUMHORPZA=:VNChecada
where IDEHORPZA=:RIDEHORPZA;
VNChecada=VNChecada + 1 ;
end
suspend;
END
--------
El segundo procedure de acuerdo a los dias que me arroja el primero hace unas operaciones por medio del cursor.
Los dos dicen estar bien en sintaxis, me marca el siguiente error al correr el primero:
Código:
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements message length error (encountered 0, expected 40)
En el primer procedimiento estoy usando el
execute statement
.
Cambie los Stored procedure, lo que hice fue poner los valores de retorno como simples variables. pero sigo sin resolver el problema, me sale el mismo error..
No entiendo muy bien a que se refiere el mensaje

.. saludos!
Gracias, espero que me puedan ayudar.