O objetivo na tela de um cadastro de documentos de pessoa, era não permitir cadastrar o mesmo tipo de documento, e estes estavam dispostos no layout por um Tab Formular.
Veja na imagem abaixo que foi informado um documento que já estava cadastrado, e ao clicar em próximo executou a validação onde informava ao usuário que o documento já existia.
Para a validação criei uma do tipo PL/SQL que retorna um texto de erro.
DECLARE
V_LINHA NUMBER;CURSOR C_ROW IS
SELECT 1
FROM PESSOA P
WHERE P.TPDCP_COD = APEX_APPLICATION.G_F02(:APEX$ROW_NUM)
--TPDCP_COD = Chave primária da tabela Tipo de Documentos
--G_F02 é a coluna que contém a informação
--:APEX$ROW_NUM pega o número da linha
AND P.PESDC_COD <> NVL( APEX_APPLICATION.G_F06(:APEX$ROW_NUM),0)
--G_F06 é onde está o valor da coluna
--PESDC_COD = Chave primária da tabela Documentos da Pessoa
AND P.PES_COD =: P148_PES_COD;
BEGIN
-- Abre o cursor
OPEN C_ROW;
FETCH C_ROW
INTO V_LINHA;
CLOSE C_ROW;
--Verifica se houve resultado
IF V_LINHA IS NOT NULL THEN
RETURN 'Este documento já está cadastrado para esta pessoa.'
END IF;
END;
--Para descobrir o F02...F03 utilize o Firebug do Firefox.
É isso aí... grande Abraço!
Nenhum comentário:
Postar um comentário