POSSUO UMA BLOCO BASE TABLE,ONDE ALGUNS ITENS APARECEM EM PAGINAS DE GUIAS
DIFERENTES E QUERO QUE quando CRIAR NAQUELA PAGINA DE GUIA OS ITENS QUE ESTAO
LOCALIZADOS NA PAGINA DE GUIA TORNEM-SE OBRIGATORIOS,USANDO POR EXEMPLO A
BUILT-IN SET_ITEM_PROPERTY(REQUIRED=TRUE),já TENTEI USAR EM VARIAS TRIGGERS
COMO WHEN-TAB-PAGE-CHANGED,WHEN-NEW-RECORD-INSTANCE,WHEN-NEW-BLOCK-INSTANCE
E não FUNCIONA,POIS ELE DEIXA SALVAR SEM PREENCHER TODOS OS ITENS NAQUELA
PAGINA DE GUIA
EXEMPLO
FASE1 FASE2 FASE3 FASE4 FASE......
APENAS A FASE 2 SEUS ITENS PERTENCEM A OUTRO BLOCO E já AS OUTRAS PERTENCEM AO
MESMO BLOCO E COMO FALEI SEUS ITENS DESTE APARECEM EM GUIAS DIFERENTES,
ESTOU UTILIZANDO A SEGUINTE LOGICA NAS TRIGGERS QUE CITEI ACIMA
DECLARE
V_NM_TAB_PAGE VARCHAR2(10);
BEGIN
V_NM_TAB_PAGE := :SYSTEM.TAB_NEW_PAGE;
IF V_NM_TAB_PAGE = 'FASE3' THEN
SET_ITEM_PROPERTY('DBK_CQ1400D.STT_SITUACAO_F3',REQUIRED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('DBK_CQ1400D.DSC_AN_CRITICA',REQUIRED,PROPERTY_TRUE);
SET_ITEM_PROPERTY('DBK_CQ1400D.NRO_MESES_AC_F3',REQUIRED,PROPERTY_TRUE);
ELSE
SET_ITEM_PROPERTY('DBK_CQ1400D.STT_SITUACAO_F3',REQUIRED,PROPERTY_FALSE);
SET_ITEM_PROPERTY('DBK_CQ1400D.DSC_AN_CRITICA',REQUIRED,PROPERTY_FALSE);
SET_ITEM_PROPERTY('DBK_CQ1400D.NRO_MESES_AC_F3',REQUIRED,PROPERTY_FALSE);
END IF;
END;
paginas de guias
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Qua, 20 Set 2006 2:41 pm
- Localização: santo andre-sp
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Outra forma de fazer isso é testar as consistências numa trigger WHEN-VALIDATE_RECORD. Nela você testa os campos que você quer manualmente e dá uma mensagem de erro caso algum item não foi preenchido. (ou apenas dá um RAISE FORM_TRIGGER_FAILURE, daí o usuário não conseguirá nem SALVAR nem sair do registro sem que tenha antes informado os campos.)
Algo assim na WHEN-VALIDATE-RECORD:
Lembrando que essa PR_MENSAGEM deve disparar o RAISE mencionado acima.
Algo assim na WHEN-VALIDATE-RECORD:
IF :BLOCO.CAMPO1 IS NULL
THEN PR_MENSAGEM('O campo 1 é obrigatório');
ELSIF :BLOCO.CAMPO2 IS NULL
THEN PR_MENSAGEM('O campo 2 é obrigatório');
END IF;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 17 visitantes