일반적으로 타임라인은 CER의 클라이언트가 규칙 외부에서 작성하며 지정 메커니즘을 사용하여 CER 속성의 값을 채우는 데 사용합니다.
그러나 CER에는 CER 규칙에서 직접 타임라인을 작성하는 다음과 같은 표현식도 포함되어 있습니다.
타임라인은 우선 간격 목록을 명시적으로 작성한 다음 타임라인을 작성하는 데 이 목록을 사용하여 CER 규칙에서 고유하게 작성할 수 있습니다.
실제로 이러한 고정 타임라인은 사용자가 규칙 세트를 구체화하는 동안 임시 척도로만 사용할 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?> <RuleSet name="Example_Timeline" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "http://www.curamsoftware.com/CreoleRulesSchema.xsd"> <Class name="CreateTimelines"> <!-- 이 예에서는 <initialvalue>를 사용하여 시작 시간으로부터 유효한 값을 설정합니다. --> <Attribute name="aNumberTimeline"> <type> <javaclass name="curam.creole.value.Timeline"> <javaclass name="Number"/> </javaclass> </type> <derivation> <Timeline> <intervaltype> <javaclass name="Number"/> </intervaltype> <!-- 시작 시간의 값 --> <initialvalue> <Number value="0"/> </initialvalue> <!-- 나머지 간격 --> <intervals> <fixedlist> <listof> <javaclass name="curam.creole.value.Interval"> <javaclass name="Number"/> </javaclass> </listof> <members> <Interval> <intervaltype> <javaclass name="Number"/> </intervaltype> <start> <Date value="2001-01-01"/> </start> <value> <Number value="10000"/> </value> </Interval> <Interval> <intervaltype> <javaclass name="Number"/> </intervaltype> <start> <Date value="2004-12-01"/> </start> <value> <Number value="12000"/> </value> </Interval> </members> </fixedlist> </intervals> </Timeline> </derivation> </Attribute> <!-- 이 예는 <initialvalue>를 사용하지 않습니다. --> <Attribute name="aStringTimeline"> <type> <javaclass name="curam.creole.value.Timeline"> <javaclass name="String"/> </javaclass> </type> <derivation> <Timeline> <intervaltype> <javaclass name="String"/> </intervaltype> <!-- 간격 목록에는 null 날짜(시작 시간)로부터 유효한 한 날짜가 포함되어야 합니다. 그렇지 않으면 이 표현식을 평가하는 경우 런타임 시 오류가 발생합니다. --> <intervals> <fixedlist> <listof> <javaclass name="curam.creole.value.Interval"> <javaclass name="String"/> </javaclass> </listof> <members> <Interval> <intervaltype> <javaclass name="String"/> </intervaltype> <start> <!-- "시작 시간으로부터" --> <null/> </start> <value> <String value="Start of time string"/> </value> </Interval> <Interval> <intervaltype> <javaclass name="String"/> </intervaltype> <start> <Date value="2001-01-01"/> </start> <value> <String value="2001-only String"/> </value> </Interval> <Interval> <intervaltype> <javaclass name="String"/> </intervaltype> <start> <Date value="2002-01-01"/> </start> <value> <String value="2002-onwards String"/> </value> </Interval> </members> </fixedlist> </intervals> </Timeline> </derivation> </Attribute> </Class> </RuleSet>
일부 비즈니스 오브젝트에는 자연스럽게 발생하는 시작 날짜 및 종료 날짜가 있으며 이러한 날짜를 함께 사용하여 비즈니스 오브젝트의 존재 기간이 지정됩니다. 시작 날짜 및 종료 날짜 중 하나 또는 둘 모두가 선택사항이 될 수 있습니다. 이 경우 비즈니스 오브젝트의 존재 기간은 조정이 가능하게 됩니다.
예에는 다음이 포함될 수 있습니다.
비즈니스 오브젝트의 시작 및 종료 날짜는 시간을 다음 세 가지 기간(시작 날짜나 종료 날짜가 공백인 경우 보다 적은 수)으로 구분하는 데 사용할 수 있습니다.
비즈니스 시작 날짜(시작 날짜가 있는 경우) 이전의 기간입니다.
비즈니스 시작 날짜부터 비즈니스 종료 날짜까지의 기간입니다.
비즈니스 종료 날짜(종료 날짜가 있는 경우) 이후의 기간입니다.
비즈니스 오브젝트의 각 기간에 서로 다른 값을 할당하고 이러한 값에서 타임라인을 작성하면 편리한 경우가 종종 있습니다. CER에는 선택적인 시작 날짜와 종료 날짜에 따른 존재 전/존재/존재 후 값으로 구성된 타임라인을 작성하는 existencetimeline 표현식이 포함되어 있습니다.
시작 날짜가 없는 경우 타임라인에 존재 전 간격이 없습니다. 예를 들어, 자산에 구매 날짜가 기록되지 않은 경우 실효값은 기간이 "0 값"인 시작 시간부터 적용됩니다.
종료 날짜가 없는 경우 타임라인에 존재 후 간격이 없습니다. 예를 들어, 자산에 판매 날짜가 없으면 추후에 통보될 때까지(즉, 임의로 먼 미래에) 자산의 가치가 보유됩니다.
CER 편집기에서 존재 타임라인을 사용하는 방법에 대한 세부사항은 존재 타임라인의 내용을 참조하십시오.