Estou com erros em uma procedure e não consigo solucionar:
ORA-06550: linha 1, coluna 7:
PLS-00905: o objeto ADM45.SPR_MAR_STATUS é inválido
ORA-06550: linha 1, coluna 7:
PL/SQL: Statement ignored
Por favor, ajudem-me!!!
Obrigada
dmbs
ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS';
/
create or replace procedure SPR_TESTE_STATUS
(
sdDateI datetime,
sdDateF datetime,
sOrgUnit varchar(255),
sDescend varchar(03),
sCategory varchar(25),
sUID varchar2,
sReqType varchar(25),
sRequest varchar(25)
)
as
sRStatus varchar(25);
sdOpenDate datetime;
sCurrStatus varchar(25);
sFromStatus varchar(25);
sLastStatus varchar(25);
sdLastStatus datetime;
sdActDate datetime;
siMinutes integer;
sContract varchar(25);
sLocation varchar(50)
begin
CREATE GLOBAL TEMPORARY TABLE tmp_TimeStatus
(
REQUEST varchar(25) COLLATE database_default,
RSTATUS varchar(25) COLLATE database_default,
MINUTES integer
)
-- tempo de permanencia nos status
declare CURSOR curActions is
select FROMSTATUS, CURRSTATUS, ACTDATE
from ACTION
where REQUEST := sRequest
and STCHANGED := 1
order by SEQUENCE
open CURSOR curActions
fetch next from curActions into sFromStatus, sCurrStatus, sdActDate
set sLastStatus := sRStatus
set sdLastStatus := sdOpenDate
while (@@fetch_status <> -1) loop
begin
set sLastStatus := sFromStatus
-- Obtem a diferença em minutos respeitando o periodo de trabalho
execute spr_ReqDateDiff sContract, sLocation, sdLastStatus, sdActDate, 0, siMinutes output
insert into tmp_TimeStatus(REQUEST,RSTATUS,MINUTES) values(sRequest, sLastStatus, iMinutes);
commit;
set sLastStatus := sCurrStatus
set sdLastStatus := sdActDate
fetch next from curActions into sFromStatus, sCurrStatus, sdActDate
end
end loop;
close CURSOR curActions;
deallocate CURSOR curActions;
select REQUEST AS 'Chamado', RSTATUS as 'Status', SUM(MINUTES) as 'Minutos' from TABLE tmp_TimeStatus
group by REQUEST, RSTATUS;
end SPR_TESTE_STATUS;
/