노드 이름 계산 및 저장

요청 중에 노드 이름을 계산한 다음, 요청이 완료되고 닫힐 때 해당 값을 저장하는 표현식을 정의할 수 있습니다.

계산된 이름은 노드 속성 또는 계층 내 노드 위치를 기반으로 할 수 있습니다.

예제 사용 사례

  • 순번을 기반으로 노드 이름을 계산할 수 있습니다. 예를 들어 노드를 추가할 때 자동으로 CC_0034, CC_0035 등의 이름이 지정되도록 "CC_" 같은 접두어를 시퀀스와 연결할 수 있습니다.
  • 속성을 기반으로 노드 이름을 계산할 수 있습니다. 예를 들어 사용자정의 노드 데이터 유형 속성을 함께 연결할 수 있습니다. 이후에 속성을 정의할 때 노드 이름이 자동으로 계산됩니다. 따라서 사용자정의 속성 1 = 120, 사용자정의 속성 2 = 200, 사용자정의 속성 3 = 340인 경우 120-200-340의 노드 이름이 자동으로 계산됩니다.

    Tip:

    120-200-340의 노드 이름을 대신 추가하는 경우 각 속성의 값이 각각 120, 200, 340으로 파생되도록 노드 데이터 유형 속성에서 표현식을 설정하여 해당 값을 파생할 수도 있습니다. 파생 및 저장 속성를 참조하십시오.

  • 상위, 하위, 동의 등의 계층 구조 정보를 기반으로 노드 이름을 계산할 수 있습니다. 예를 들어 상위 이름 및 노드 설명을 연결할 수 있습니다.
  • 계산된 노드 이름을 사용하여 새 노드 추가 시 기본 이름을 사용자정의할 수도 있습니다. 예를 들어 사용자가 엔티티 노드 유형의 노드를 추가하는 경우, 이름을 기본값인 "새 엔티티 노드"로 설정하는 대신 "CC_####"의 계산된 이름을 반환하고 사용자가 ####에 적절한 값을 수동으로 입력하도록 할 수 있습니다.

고려 사항

  • 다음 작업 중에 노드 이름을 계산할 수 있습니다.
    • 대화식으로 노드 추가
    • 노드 복사 또는 노드에 따라 모델링
    • 요청 파일 로드
    • 구독을 통해 노드 동기화
  • 요청에서 추가 작업 중에 노드가 변경될 때마다 노드 이름이 재계산됩니다.

    Note:

    노드 이름이 동위 목록을 기반으로 계산되는 경우(예를 들어 마지막 동위를 찾고 여기에 1을 추가해서) 계산 후에 다른 동위가 추가된 후 원래 노드가 업데이트되면 노드 이름이 변경될 수 있다는 점에 유의하십시오.

    또한 요청 컨텍스트에 따라 표현식에서 node.previousSibling 객체를 사용하여 노드 이름을 계산하면 예기치 않은 결과가 발생할 수 있습니다. 최상의 결과를 얻으려면 대신 node.siblings.max를 사용하십시오.

  • 요청에서 계산된 노드 이름을 표시하는 경우:
    • 노드 이름 표현식이 값을 반환하는 경우 해당 값은 계산됨의 원본과 함께 표시됩니다.
    • 표현식이 널 값을 반환하는 경우 계산된 이름 키워드 <cn ####>(여기서 ####은 요청 항목 생성 타임스탬프의 해시임)는 계산됨의 원본과 함께 표시됩니다. 계산된 이름 키워드 이해를 참조하십시오.
  • 이름을 수동으로 입력하여 노드 이름을 덮어쓸 수 있습니다. 원본에는 정의됨이 표시됩니다.
  • 요청에 추가되는 노드의 경우 지우기 작업을 사용하여 수동으로 입력된 이름을 지우고 계산된 이름으로 돌아가며, 재설정 작업을 사용하여 현재 위치를 기본 위치로 설정하고(기본 위치 이해 참조) 표현식을 기반으로 노드 이름을 재계산합니다. 계산된 값 지우기 및 재설정을 참조하십시오.
  • 요청이 완료되고 닫힌 후 계산된 노드 이름이 저장되고 원본에는 정의됨이 표시됩니다. 파생 및 저장 속성과는 달리 원본은 계산 및 저장으로 유지되지 않습니다.
  • 계산된 노드 이름이 포함된 요청의 컨텍스트에서 실행되는 검증은 현재 계산된 이름을 사용합니다. 예를 들어 표현식이 현재 null을 반환하는 경우 검증에 대한 노드 이름은 "<cn ####>"입니다.
  • 요청에서 노드를 검색하는 경우 계산된 이름이 포함된 새 노드에 대해 추가 작업의 현재 이름이 사용됩니다. 예를 들어 표현식이 현재 null을 반환하는 경우 노드 이름에서 "<cn ####>"를 검색할 수 있습니다.
  • 요청 파일을 로드하는 경우 요청 로드 파일의 이름 열에서 <cn> 또는 <cn ####> 키워드를 사용하거나(Core.Name 속성에 대한 표현식이 구성된 경우), 이름 열을 비워두고 해당 노드 이름의 값을 계산합니다. 계산된 이름을 사용하여 요청 파일 처리를 참조하십시오.

Note:

계산 및 저장된 속성 정의

  1. Core.Name 속성 정의를 검사합니다.
  2. 노드 이름을 계산하려는 애플리케이션 또는 노드 유형을 선택합니다.
  3. 기본 유형에서 계산 및 저장을 선택합니다.
  4. 기본값에서 표현식 버튼(표현식 정의)을 누릅니다.
  5. 노드 이름을 계산하는 표현식을 정의하고 적용을 누릅니다. 표현식을 사용하여 사용자정의 비즈니스 논리 정의를 참조하십시오.

기본 위치 이해

노드를 추가한 후 동일한 노드를 여러 다른 위치에 삽입하는 경우 내부적으로 노드가 추가되는 계층의 첫번째 위치가 기본 위치로 지정되고 해당 위치를 사용하여 노드 이름이 계산됩니다. 노드가 삽입되는 모든 후속 위치는 첫번째 위치의 계산된 이름을 사용합니다.

Note:

노드가 추가되는 첫번째 위치가 목록에 있는 경우 기본 위치는 계층에 처음 삽입될 때 설정됩니다.

예를 들어 노드 상위 이름을 노드에 대한 속성과 연결하여 노드 이름을 계산한 표현식이 있다고 가정합니다(이 예제에서 해당 속성의 값은 ABC임). 상위 111 아래에 노드를 추가하면 이름은 111-ABC로 계산됩니다. 그런 다음, 상위 222 아래에 노드를 삽입하는 경우 이름은 여전히 111-ABC입니다. 111이 기본 위치이기 때문입니다.

노드의 기본 위치를 변경하는 여러 가지 방법은 다음과 같습니다.

  • 요청의 노드를 기본 위치에서 이동하면 새 위치가 기본 위치가 되고 이름이 재계산됩니다.

  • 요청 중에 기본 위치에서 노드를 제거하면 노드가 삽입된 다음 위치가 기본 위치가 됩니다.

  • 한 노드가 여러 위치에 있을 때 기본 위치를 수동으로 변경하려면 재설정 작업을 사용합니다. 계산된 값 지우기 및 재설정을 참조하십시오.

계산된 값 지우기 및 재설정

지우기를 사용하여 정의된 이름을 수동으로 지우고 계산된 이름으로 돌아갑니다. 기본 유형인 계산 및 저장으로 이 요청에 추가되었고 수동으로 입력된 이름을 사용하는 노드에 대해서만 지우기 작업을 사용할 수 있습니다.

재설정을 사용하여 계산된 이름의 기본 위치를 현재 위치로 설정하고(기본 위치 이해 참조) 현재 위치를 기반으로 노드 이름을 재계산합니다. 기본 유형인 계산 및 저장으로 이 요청에 추가되었고 수동으로 입력된 이름을 사용하지 않는 노드에 대해서만 재설정 작업을 사용할 수 있습니다.

노드 이름에 영향을 주는 작업을 노드 외부에서 수행한 경우(예를 들어 상위 속성을 변경하고 새 속성을 기반으로 노드 이름을 재계산하려는 경우) 재설정을 사용하여 노드 이름을 재계산할 수도 있습니다.

검증 및 계산된 노드 이름

요청이 검증되는 경우 추가 작업의 현재 이름은 계산된 이름이 포함된 새 노드에 사용됩니다. 한 가지 예외는 다음과 같습니다. 현재 이름이 키워드(<cn> 또는 <cn ####>) 중 하나인 경우에는 최소 및 최대 길이 검증을 건너뜁니다. 이렇게 하면 승인자 또는 강화자가 이름을 계산하는 데 필요한 정보를 추가할 수 있도록 제출자는 키워드 중 하나를 이름에 포함하여 요청을 제출할 수 있습니다.

최소 및 최대 길이 검증은 요청이 승인 또는 커밋될 때 실행됩니다.

계산된 이름 및 구독

계산된 이름을 사용하여 구독을 설정하는 경우 이름은 소스 뷰포인트에서 계산되고 결과 이름은 구독 요청으로 타겟 뷰포인트에 전달됩니다. 타겟 뷰포인트에서 노드 이름을 계산하려면 노드 유형 변환기에서 구독에 대한 속성 변환을 설정하여 (노드 유형 변환기 작업 참조) 이름을 빈 값으로 변환하거나 계산된 이름 키워드(<cn>(추가의 경우 ) 또는 <cn ####>, 여기서 ####은 삽입이 포함된 추가에 대한 고유 식별자 문자열임) 중 하나로 변환할 수 있습니다. 계산된 이름 키워드 이해를 참조하십시오.

Note:

사용가능할 때 대체 이름을 사용하려면 이름을 빈 값으로 변환합니다. 타겟 뷰포인트에서 계산된 이름을 항상 사용하려면 이름을 키워드 중 하나로 변환합니다.