Tratamendo de Duplicidade em Bloco Multi Record parte 2

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Velame
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 17 Dez 2007 1:51 pm
Localização: Rio de Janeiro

ola pessoal, sou novato e tenho uma duvida no form abaixo e gostaria de uma ajudinha, pois o meu form não esta garantindo que a minha exclusão funcione normalmente, pois se eu clico com o enter no primeiro elemento ele dia que duplicou e deleta automaticamente e se eu clicar na love tb não funciona, os campos são preenchidos automaticamente

Gostaria de saber o que devo mudar para que isso não continue acontecendo

Selecionar tudo

DECLARE
  V_REC         NUMBER;      -- Variável que receberá posição do registro atual(digitado por último)
  V_UF          VARCHAR2(2); -- UF
  V_DESC_UF     VARCHAR2(50); -- DESC_UF  
  ALERTA        ALERT;
  RET           NUMBER;        

BEGIN
break;
  BEGIN
    SELECT NOM_UF
      INTO :BLK_RELATED_ICMS_ITEM.NOM_UF
      FROM UFEDT001
     WHERE SIG_UF = :BLK_RELATED_ICMS_ITEM.SIG_UF;
  EXCEPTION
    WHEN OTHERS THEN
      NULL;
  END;
   
  V_REC     := :system.cursor_record;
  V_UF      := :BLK_RELATED_ICMS_ITEM.SIG_UF;
  V_DESC_UF := :BLK_RELATED_ICMS_ITEM.NOM_UF;

      FIRST_RECORD;
  LOOP
 
    IF :BLK_RELATED_ICMS_ITEM.SIG_UF = V_UF AND :BLK_RELATED_ICMS_ITEM.NOM_UF = V_DESC_UF  THEN
      ALERTA := FIND_ALERT('DUPLICOU');
      RET := SHOW_ALERT(ALERTA);
      GO_RECORD(V_REC);
        CLEAR_RECORD;
      
    END IF;
    EXIT WHEN :system.cursor_record = V_REC;
    NEXT_RECORD;
  END LOOP;
  NEXT_ITEM;
END;
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

Cara, não estou intendento o porque de você fazer tudo isso..

onde você está usando este código ??
Velame
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 17 Dez 2007 1:51 pm
Localização: Rio de Janeiro

TENHO QUE VERIFICAR EM 2 CAMPOS PARA N SE REPETIREM
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

Intão, cria uma constraint de banco, uma unique ou uma pk mesmo, é mais seguro, e trata o erro no on-error do forms....

tenta inserir um campo que viole essa constraint que vai retornar um erro ORA.. isso é muito mais simples do que ter que fazer esse precesso que você está fazendo...
Velame
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 17 Dez 2007 1:51 pm
Localização: Rio de Janeiro

OK FICOU MELHOR MESMO


VLW
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes