레코드가 열려 있는 동안 다음 네 가지 경우에 후크가 실행됩니다.
데이터베이스에 대한 변경사항을 확약하기 전에 또는 ClearQuest 웹이나 RCP 클라이언트에서 유효성 검증을 요청하는 경우, Rational ClearQuest 소프트웨어는 다음 순서로 후크를 실행하여 레코드의 유효성을 검증합니다.
예를 들어, 패키지를 적용하여 스키마에 추가될 수 있는 조치에 대한 액세스 제어를 수정할 수 있습니다. 그러나 기본 조치에 대한 액세스 제어 제한은 다른 모든 조치에 적용됩니다. 중첩 조치의 경우 액세스 제어 후크가 실행되지 않습니다.
필드 값 변경 후크가 Entity 오브젝트의 SetFieldValue 메소드를 호출하면 SetFieldValue를 호출할 때 해당 필드에 대한 VALUE_CHANGED 후크가 실행됩니다.
Certain는 중첩 조치를 수행하는 동안 액세스 제어 후크 및 모든 알림 후크와 같은 특정 후크가 실행되지 못하게 합니다. 자세한 정보는 IBM Rational ClearQuest API 참조서의 조치 및 액세스 제어 및 중첩 조치의 후크를 참조하십시오.
사용자가 레코드를 편집할 때 다음 순서로 후크를 실행합니다.
목록 한계 옵션이 설정되고 사용자가 허용되지 않는 값을 입력하면 올바르지 않은 필드로 표시됩니다. 다음 후크는 사용자가 올바른 값을 입력한 경우에만 실행됩니다.
필드 값 변경 후크가 SetFieldValue 메소드를 호출하여 다른 필드의 값을 변경하는 경우 각 필드의 필드 값 변경 후크가 즉시 실행됩니다.
선택사항 목록 다시 계산 옵션에서 종속자 필드를 사용하는 경우 모든 변경된 필드가 설정되고 유효성이 검증될 때까지 각 필드에 대해 먼저 필드 유효성 검증 후크가 실행되고 필드 선택사항 목록 후크가 차례로 실행됩니다.
필드가 종속자 필드를 갖는 것으로 표시되지 않으면 사용자가 Submit 조치를 시작할 때에만 필드 후크가 실행됩니다. 후크를 사용하여 웹 세션 발견을 참조하십시오.
데이터베이스에 대한 변경사항을 확약하기 전에 Rational ClearQuest 소프트웨어가 다음 순서로 후크를 실행하여 레코드의 유효성을 검증합니다.
커미트 후크는 데이터베이스가 현재 레코드에 대한 변경사항으로 업데이트된 후 업데이트 트랜잭션이 데이터베이스에 확약되기 전에 실행됩니다. 커미트 후크를 사용하여 현재 레코드를 수정할 수 없습니다. 예를 들어, 커미트 후크에서 필드를 변경할 수 없습니다.
커미트 후크에서 수행된 작업은 데이터베이스에 잠금이 존재하는 동안 수행되며 이러한 잠금으로 인해 다른 사용자가 조회를 실행하거나 새 레코드를 작성하거나 기존 레코드를 수정하지 못할 수 있습니다. 최적의 성능을 얻으려면 커미트 후크에서 수행되는 작업을 최소화하는 것이 가장 좋습니다.
커미트 후크는 기본 조치와 동일한 데이터베이스 트랜잭션에 포함될 다른 레코드에 대한 조치에만 사용하십시오(예를 들어, 상위 결함이 해결될 때 중복 결함 해결). 올바른 컨텍스트에서 올바른 호출을 수행하는지 확인해야 합니다. 예를 들어, 커미트 후크에서 되돌리기를 호출하지 않고 커미트 후크 이외의 조치에서 커미트을 호출하지 않습니다.
레코드를 유효성 검증하면 다음 순서로 실행되는 후크가 데이터베이스에 확약됩니다.
자세한 정보는 IBM Rational ClearQuest API 참조서의 기존 레코드 편집을 참조하십시오.