Legacy: 상태 모델에 상태 추가

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 5분
  • 조직의 요구 사항에 따라 다양한 변경 유형에 대해 기존 상태 모델에 새 상태를 추가할 수 있습니다.

    시작하기 전에

    주:
    릴리스 이후 Quebec 변경 상태 기능이 변경 모델로 대체되었습니다. 자세한 내용은 변경 모델 생성 문서를 참조하십시오.

    필요한 역할: script_include_admin, ui_policy_admin, ui_action_admin 또는 admin

    이 태스크 정보

    상태 모델 플러그인은 기본적으로 활성화되어 있습니다. 변경 요청의 기본 시스템 상태에 대한 자세한 내용은 다음 문서를 참조하십시오 Legacy: 상태 모델 및 전환.

    프로시저

    1. 다음으로 이동 모두 > 변경 > 새로 작성 그리고 다음 단계를 완료하여 선택 목록에 선택 항목을 추가합니다.
      1. 상태 필드를 마우스 오른쪽 버튼으로 클릭하고 딕셔너리 구성을 클릭합니다.
      2. 선택 관련 목록에서 [Table] [is] [change_request]에 대한 필터를 실행합니다.
      3. 새로 만들기를 클릭하고 다음 정보로 새 상태를 추가합니다.
        • 테이블: 변경 요청 [change_request]
        • 레이블: 새 상태의 이름
        • : 기존 상태 선택에 아직 할당되지 않은 숫자 값
        • 시퀀스: 상태 목록에 표시할 위치에 해당하는 번호입니다. 다른 선택과 동일한 일련 번호를 할당하면 다른 선택 아래에 표시됩니다.
      4. 제출을 클릭합니다.
    2. 다음으로 이동 시스템 정의 > 스크립트 포함.
      이름에 포함된 SNC 스크립트 포함 기록은 읽기 전용입니다. 다음 단계를 완료하면 수정할 올바른 스크립트 포함을 선택해야 합니다. 예를 들어, 수정하지 ChangeRequestStateHandler 마십시오 ChangeRequestStateHandlerSNC.
      주:
      확장 스크립트 포함(제외 SNC)에는 SNC에 해당하는 모든 기능이 포함됩니다. 기본 스크립트 포함( 추가 SNC)을 수정하면 시스템 업그레이드 중에 더 이상 업데이트되지 않습니다.
    3. 스크립트를 ChangeRequestStateHandler 열어 다음 편집을 수행합니다.
      • 새로 추가된 상태의 값을 포함하도록 이 스크립트 포함을 시작할 때 상태 처리기 상수 섹션을 업데이트합니다. 예:
        ChangeRequestStateHandler.MY_NEW_STATE = "mynewstate";
      • 초기화 함수가 끝날 때 새로 추가된 상태의 숫자 값을 포함하도록 STATE_NAMES 맵을 업데이트합니다. 예:
        this.STATE_NAMES["-6"] = ChangeRequestStateHandler.MY_NEW_STATE;
        주:
        STATE_NAMES 맵은 기억하기 쉬운 이름으로 변경 요청의 상태 필드에 저장된 숫자 값 간의 매핑을 제공합니다. 이 매핑을 사용하면 기억하기 쉬운 이름을 상태 모델 스크립트 포함에서 사용할 수 있습니다.
    4. 적절한 스크립트 포함을 편집하여 새 상태를 관련 변경 요청 유형에 대한 모델에 통합합니다.
      각 유형의 변경 요청에는 변경 요청 유형의 값이 여기에 있는 해당 <type> 스크립트 포함 ChangeRequestStateModel_<type>이 있습니다. 예를 들어, ChangeRequestStateModel_normal 일반 유형을 사용하여 변경 요청에 대한 상태 모델을 정의합니다.
      각 상태 모델 스크립트 포함은 다음 정보를 지정하는 개체를 정의합니다.
      • 사용할 수 있는 상태입니다.
      • 사용 가능한 각 상태의 다음 상태 또는 상태입니다.
      • 해당 상태(moving)로 이동하는 과정의 일부로 실행할 함수와 함께 해당 전환을 사용할 수 있는지 여부(canMove)를 결정하는 각 상태 전환에 대한 함수입니다.

      다음 예시는 스크립트 포함에서 ChangeRequestStateModel_normal 가져온 것입니다.

      변경 요청 상태 스크립트 변경
    5. UI 작업을 만들어 변경 요청을 신규 상태로 진행하는 버튼을 제공합니다.
      1. 삽입 및 유지를 사용하여 구현과 같은 기본 UI 작업 중 하나의 복사본을 만듭니다.
      2. 양식에서 다음 필드를 업데이트합니다.
        필드 이름 업데이트
        이름 새 상태의 이름과 일치하도록 업데이트합니다.
        작업 이름 이름 끝에 있는 상태를 새 상태로 바꿉니다.
        힌트 새 상태를 참조하도록 텍스트를 업데이트합니다.
        클릭 시 새 상태와 일치하도록 함수 이름을 바꿉니다.
        조건 호출을 새 상태로 isNext 함수로 업데이트합니다.
        스크립트
        • Onclick 필드에 지정된 함수 이름과 일치하도록 함수 이름을 업데이트합니다.
        • ga.addParam("sysparm_state_name",...으로 시작하는 줄을 업데이트하여 새 상태의 이름을 addParam 함수의 두 번째 매개변수로 입력합니다.
        • gsftSubmit로 시작하는 줄을 업데이트하고 작업 이름 필드에 입력한 값과 일치하도록 이 함수 호출의 세 번째 매개변수를 수정합니다.

        다음 예시에서는 UI 구현 작업을 사용하여 업데이트할 값을 표시합니다.

        수정된 UI 작업
        스크립트 포함에는 ChangeRequestStateHandler 변경 요청의 현재 상태에 따라 UI 작업이 표시되는지 여부를 결정하는 데 사용되는 두 개의 기능이 포함되어 있습니다.
        • isNext(stateName): 이 함수는 매개변수로 전달된 변경 stateName 요청의 현재 상태에 대한 다음 상태로 사용할 수 있는지만 확인합니다.
        • canMoveTo(stateName): 이 함수는 함수와 isNext 동일한 검사를 수행합니다. 그러나 현재 상태에서 매개 변수로 전달된 함수로 stateName 전환하기 위해 적절한 canMoveTo 함수를 호출한 결과도 확인합니다. 이 함수는 필드에 특정 값이 포함되어 있는지 확인하는 것과 같은 함수에 canMove 추가 검사가 있는 경우에 사용됩니다.
    6. 프로세스 흐름 구성을 업데이트하여 새 변경 상태를 통합하려면 다음 단계를 완료합니다.
      프로세스 흐름은 변경 요청 양식의 맨 위에 표시되며 다양한 프로세스 흐름 기록에서 구성됩니다.
      프로세스 흐름에 새 상태가 표시됨
      1. 다음으로 이동 시스템 UI > 프로세스 흐름 모듈 및 [Table] [is] [change_request]에 대한 필터입니다.
      2. 기록을 열고 삽입 및 유지를 사용하여 복사본을 만듭니다.
      3. 양식에서 다음 필드를 업데이트합니다.
        필드 이름 업데이트
        이름 새 상태의 이름과 일치하도록 업데이트합니다.
        레이블 새 상태의 이름과 일치하도록 업데이트합니다. 이 값은 변경 요청 양식의 맨 위에 있는 프로세스 흐름에 포함되어 있습니다.
        순서 다른 상태에 대한 기존 프로세스 흐름 기록과 함께 새 상태가 올바른 순서로 되어 있도록 이 숫자를 업데이트합니다.
        조건 새 상태와 일치하도록 필터를 업데이트합니다.
      4. 업데이트를 클릭합니다.

    다음에 수행할 작업

    새 상태가 예상대로 작동하도록 하려면 기본 워크플로우를 검토합니다. 필요에 따라 워크플로우에 새 상태를 추가합니다.

    Legacy: 기본 워크플로우 검토

    상태 모델을 수정하면 변경 요청에 대한 기본 워크플로우에 영향을 줄 수 있습니다.

    시작하기 전에

    주:
    릴리스 이후 Quebec 변경 상태 기능이 변경 모델로 대체되었습니다. 자세한 내용은 변경 모델 생성 문서를 참조하십시오.

    필요한 역할: 관리자

    이 태스크 정보

    각 변경 유형에는 기본 워크플로우가 있습니다. 상태 모델에 대한 변경이 워크플로우에 나쁜 영향을 주지 않도록 하려면 각 기본 워크플로우를 검토해야 합니다.

    프로시저

    수정된 각 ChangeRequestStateModel_<유형> 스크립트 포함에 대한 워크플로우를 검토합니다.
    표 1. 변경 요청 기본 워크플로우
    유형 변경 스크립트 포함 이름 워크플로우
    정상 ChangeRequestStateModel_normal 변경 요청 - 일반
    표준 ChangeRequestStateModel_standard 변경 요청 - 표준
    응급 ChangeRequestStateModel_emergency 변경 요청 - 긴급

    각 변경 유형에 대한 기본 워크플로우 수정은 상태 시퀀스에서 새 상태가 추가되는 위치에 따라 다릅니다.