El primer Procedure queda :
Código SQL
[-]CREATE PROCEDURE HORARIO_DIA_PLAZA (
CVEDEPPZA VARCHAR (15) CHARACTER SET ISO8859_1)
AS
DECLARE VARIABLE VSQL VARCHAR(100);
DECLARE VARIABLE VDIAHORPZA INTEGER;
DECLARE VARIABLE VCVECATPER 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
:VDIAHORPZA,:VCVECATPER
do
execute procedure horario_no_checada(:VCVECATPER, :VDIAHORPZA);
SUSPEND;
END
El segundo:
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 VDIAHORPZA Integer;
DECLARE VARIABLE VHORHORPZA TIME;
DECLARE VARIABLE VTURHORPZA INTEGER;
DECLARE VARIABLE VNUMHORPZA INTEGER;
DECLARE VARIABLE VIDEHORPZA 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
VDIAHORPZA,VHORHORPZA,VTURHORPZA,VNUMHORPZA,VIDEHORPZA
do
begin
Update tblhorpza set
NUMHORPZA=:VNChecada
where IDEHORPZA=:VIDEHORPZA;
VNChecada=VNChecada + 1 ;
end
suspend;
END
Los valores que retornan los puse como varibles, les cambie el nombre por comodidad

.
Saludos!! espero que les sirva...