Existem quatro pontos de execução de gancho enquanto um registro é aberto:
Quando um usuário inicia uma ação, os ganchos são executados na seguinte ordem:
Você pode modificar o controle de acesso para ações, incluindo ações que podem ser incluídas em seu esquema aplicando pacotes. Entretanto, quaisquer restrições de controle de acesso colocadas em ações base aplicam-se a todas as outras ações. Para ações aninhadas, um gancho de controle de acesso não é executado.
Se um gancho Field Value Changed chamar o método SetFieldValue do objeto Entity, o gancho VALUE_CHANGED para esse campo será executado no momento da chamada de SetFieldValue.
Determinados ganchos não são executados enquanto uma ação aninhada está em andamento, incluindo a execução dos ganchos de controle de acesso e todos os ganchos de notificação. Para obter informações adicionais, consulte Controle de ações e de acesso e Ganchos em ações aninhadas em IBM Rational ClearQuest API Reference.
Quando um usuário edita um registro, os ganchos são executados na seguinte ordem:
Se a opção Limite para Lista estiver configurada e o usuário inserir um valor que não é permitido, o campo é marcado como inválido. O gancho seguinte é executado somente quando o usuário inserir um valor válido.
Se o gancho Valor do Campo Alterado chamar o método SetFieldValue para alterar o valor de um outro campo, o gancho Valor do Campo Alterado para o outro campo é executado imediatamente.
Se você utilizar campos dependentes com a opção Recalcular Lista de Opções, o gancho Validação de Campo é executado primeiro e, em seguida, o gancho Lista de Opções do Campo para cada campo é executado, até que todos os campos alterados sejam configurados e validados.
Os ganchos Campo são executados somente quando o usuário inicia a ação Submeter, a menos que o campo esteja marcado como possuidor de campos dependentes. Consulte o Utilizando Ganchos para Detectar uma Sessão da Web.
Antes de consolidar as alterações no banco de dados, o software Rational ClearQuest valida o registro executando ganchos na seguinte ordem:
O gancho Consolidação é executado após o banco de dados ser atualizado com as alterações no registro atual, mas antes da transação de atualização ser consolidada no banco de dados. Você não pode utilizar um gancho Consolidação para modificar o registro atual (por exemplo, você não pode realizar alterações em um campo de um gancho Consolidação).
O trabalho em um gancho Consolidação é concluído enquanto existem bloqueios no banco de dados, e esses bloqueios podem impedir que outros usuários executem consultas, criem novos registros ou modifiquem registros existentes. Por motivos de desempenho, é melhor minimizar o trabalho desempenhado em um gancho Consolidação.
Utilize um gancho Commit apenas para ações em outros registros que você deseja que façam parte da mesma transação do banco de dados que a ação principal (por exemplo, resolver um defeito duplicado quando o defeito pai é resolvido). Você deve assegurar que esteja colocando as chamadas apropriadas no contexto correto. Por exemplo, você não chama Reverter a partir de um gancho Consolidação, nem chama Consolidar de nenhuma ação diferente de um gancho Consolidação.
Após a validação de um registro, ele é consolidado no banco de dados por ganchos que executam na seguinte ordem:
Para obter informações adicionais, consulte Editando um Registro Existente no IBM Rational ClearQuest API Reference.