porque não esta rolando ?
na program unit esta dando erro..
mas eu preciso primeiro fazer um select count, validar esse count e depois entrar no cursor....
begin
select count(1)
into v_cont_reg
from restr_produ_ramo_categ rprc
where rprc.cd_caracteristica_bem_segur = nvl(:controle_empresarial.cd_carac_bem_segur,rprc.cd_caracteristica_bem_segur)
and rprc.cd_ramo = nvl(:controle_empresarial.cd_ramo,rprc.cd_ramo)
and rprc.cd_produto = nvl(:controle_empresarial.cd_produto,rprc.cd_produto);
end;
if v_cont_reg <> 0 then
cursor cur1 is
PROCEDURE PROD7060_061
(p_mens in out varchar2) IS
--
v_spool text_io.file_type;
v_registro varchar2(190);
v_saida_anormal exception;
v_indica_erro number(02) := 0;
v_cont_reg number;
begin
select count(1)
into v_cont_reg
from restr_produ_ramo_categ rprc
where rprc.cd_caracteristica_bem_segur = nvl(:controle_empresarial.cd_carac_bem_segur,rprc.cd_caracteristica_bem_segur)
and rprc.cd_ramo = nvl(:controle_empresarial.cd_ramo,rprc.cd_ramo)
and rprc.cd_produto = nvl(:controle_empresarial.cd_produto,rprc.cd_produto);
end;
if v_cont_reg <> 0 then
cursor cur1 is
select xyz!!
gera o txt
else
mensagem para usuario
end if;
PROCEDURE prod7060_061 (p_mens IN OUT VARCHAR2)
IS
--
v_spool text_io.file_type;
v_registro VARCHAR2 (190);
v_saida_anormal EXCEPTION;
v_indica_erro NUMBER (02) := 0;
v_cont_reg NUMBER;
BEGIN
BEGIN
SELECT COUNT (1)
INTO v_cont_reg
FROM restr_produ_ramo_categ rprc
WHERE rprc.cd_caracteristica_bem_segur =
NVL (:controle_empresarial.cd_carac_bem_segur,
rprc.cd_caracteristica_bem_segur )
AND rprc.cd_ramo = NVL (:controle_empresarial.cd_ramo, rprc.cd_ramo)
AND rprc.cd_produto = NVL (:controle_empresarial.cd_produto, rprc.cd_produto);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Erro no Primeiro Select - sqlerrm: '|| SQLERRM);
END;
IF v_cont_reg <> 0
THEN
FOR cur1 IN (SELECT 'xyz!!' a
FROM DUAL)
LOOP
DBMS_OUTPUT.put_line ('gera o txt ' || cur1.a);
END LOOP;
ELSE
DBMS_OUTPUT.put_line (' mensagem para usuario ');
END IF;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ( 'Erro na PROCEDURE prod7060_061 - sqlerrm: '|| SQLERRM);
END;