<WHEN>, <WHENNOT> 및 <WHENCHANGED> 조건 사용
업데이트: 2007년 11월
WHEN, WHENNOT, WHENCHANGED 및 WHENNOTCHANGED 요소를 사용하여 조건에 따라 실행되는 규칙을 정의할 수 있습니다. 이러한 규칙은 정의된 절이 True인 경우 실행되는 요소를 정의합니다. 예를 들어 자세한 보안 또는 사용자 지정 동작을 제공하기 위해 종속 선택 목록을 만들 수 있습니다. 다음은 WHEN 절을 사용하는 간단한 예제입니다.
<FIELD . . . >
<WHEN field="refname" value="yyy">
</FIELD>
이 절은 refname 필드의 값이 "yyy"인 경우 이 FIELD 요소 내의 내용이 모두 적용됨을 나타냅니다. 필드는 올바른 필드 참조 이름이어야 합니다. 자세한 내용은 필드 참조 이름을 참조하십시오.
참고: |
---|
value 특성은 대/소문자를 구분하지 않습니다. 따라서 refname 필드에 'YYY'가 있으면 일치 항목에 "yyy" 또는 "YYY" 둘 다 포함됩니다. |
예제
종속 선택 목록
다음 예제에서는 Problem Type에 허용되는 값이 제한되는 경우 ProblemCharacteristic 값을 기준으로 종속 선택 목록을 보여 줍니다.
<FIELD refname="MyCorp.ProblemType" name="Problem Type" type="String">
<WHEN field="MyCorp.ProblemCharacteristic" value="Documentation">
<ALLOWEDVALUES>
<LISTITEM value="Spelling Error" />
<LISTITEM value="Bad Format" />
<LISTITEM value="Missing Info" />
</ALLOWEDVALUES>
</WHEN>
</FIELD>
필수 필드
다음 예제에서는 필수 필드의 변경을 보여 줍니다. 이 시나리오에서는 고객이 버그를 보고하는 경우 심각도를 입력해야 합니다. 고객이 버그를 보고하지 않은 경우에는 심각도가 필요하지 않습니다.
WHEN
<WHEN>
예제
<FIELD refname="MyCorp.Severity" name="Customer Severity" type="String">
<ALLOWEDVALUES>
<LISTITEM value="Blocking" />
<LISTITEM value="Major" />
<LISTITEM value="Minor" />
</ALLOWEDVALUES>
<WHEN field="MyCorp.CustomerReported" value="true">
<REQUIRED />
</WHEN>
</FIELD>
조건 Customer Reported 필드의 값이 true인 경우 이 요소 내의 모든 내용이 적용됩니다.
WHENNOT
<WHENNOT>
예제
<WHENNOT field="refname" value="yyy">
</WHENNOT>
조건 refname 필드의 값이 yyy를 제외한 다른 값인 경우 이 요소 내의 모든 내용이 적용됩니다.
WHENCHANGED
<WHENCHANGED>
예제
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<WHENCHANGED field="MyCorp.State">
<COPY from="clock" />
</WHENCHANGED>
</FIELD>
<!-- Clear the status field whenever someone changes the state -->
<FIELD refname="MyCorp.Status" name="Status" type="String">
<WHENCHANGED field="MyCorp.State">
<COPY from="value" value="">
</WHENCHANGED>
</FIELD>
조건 사용자가 refname 필드를 수정한 경우 이 요소 내의 모든 내용이 적용됩니다.
WHENNOTCHANGED
<WHENNOTCHANGED>
예제
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<!-- Make the State field readonly when the StateDate field is not changed -->
<WHENNOTCHANGED field="MyCorp.State">
<READONLY />
</WHENNOTCHANGED>
</FIELD>
조건refname 필드가 변경되지 않은 경우 이 요소 내의 모든 내용이 적용됩니다.