워크플로우 이벤트별 기능

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 5분
  • 특히 워크플로우 이벤트와 관련된 몇 가지 기능이 있습니다.

    표 1. 워크플로우 이벤트별 기능
    함수 설명 목적 사용 스레드 소스
    registerForEvent(이벤트 이름) 문자열로 표시된 이벤트를 wf_executing.registered_events 필드에 쓰는 워크플로우 환경의 기능입니다. 워크플로우 이벤트는 문자열일 뿐입니다. 이벤트에 등록된 활동이 실행되면 쉼표로 구분된 이벤트 세트가 워크플로우 실행 활동[wf_executing] 기록과 함께 저장됩니다. 워크플로우 컨텍스트에서 이벤트가 트리거되면 wf_executing 테이블은 wf_executing.registered_events 필드에서 이벤트를 나타내는 문자열을 포함하는 모든 실행 기록을 찾습니다 모든 워크플로우 활동 [wf_activity] 기록에 사용할 수 있는 전역 변수 워크플로우가 호출의 소스입니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 workflow.registerForEvent('myEventName'); 현재 스레드, 현재 뮤텍스 전역 변수 워크플로우
    unRegisterForEvent(이벤트 이름) 워크플로우 환경에서 wf_executing.registered_events 필드에 기록된 이벤트를 나타내는 문자열 값을 제거하는 기능입니다. 워크플로우 이벤트는 wf_executing.registered_events 필드에 기록되는 문자열에 불과합니다. 이벤트에 대한 활동이 등록 취소되면 워크플로우 실행 활동 [wf_executing] 기록에 저장된 쉼표로 구분된 이벤트 집합이 검색되고 해당 문자열이 발견되면 제거됩니다. 모든 워크플로우 활동 [wf_activity] 기록에 사용할 수 있는 전역 변수 워크플로우가 호출의 소스입니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 다음을 작성할 수 있습니다. workflow.unRegisterForEvent('myEventName'); 현재 스레드, 현재 뮤텍스 전역 변수 워크플로우
    fireEvent(이벤트 이름) 워크플로우 환경에서 wf_executing.registered_events 필드의 내용을 검사하여 전달된 eventName 과 해당 내용을 비교합니다. 워크플로우 이벤트는 wf_executing.registered_events 필드에 기록되는 문자열에 불과합니다. 워크플로 활동에서 fireEvent(eventName) 를 호출하면 워크플로 엔진은 등록된 필드에 문자열이 포함된 모든 실행 레코드를 큐에 대기합니다. 모든 워크플로우 활동 [wf_activity] 기록에 사용할 수 있는 전역 변수 워크플로우가 호출의 소스입니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 다음을 작성할 수 있습니다. workflow.fireEvent('myEventName'); 현재 스레드, 현재 뮤텍스 전역 변수 워크플로우
    fireEvent (eventRecord, eventName) 특정 워크플로우 실행 활동 [wf_executing] 기록으로 이벤트를 보내는 워크플로우 환경의 기능입니다. eventRecord는 wf_executing 유형의 GlideRecord입니다. 이 이벤트 호출에는 이벤트 기록(워크플로우 실행 활동 [wf_executing] 테이블)에 표시된 활동에 onMyEvent 이벤트 핸들러가 필요합니다. 워크플로 활동에서 fireEvent(eventRecord, eventName) 를 호출하면 워크플로 엔진은 해당 이벤트와 함께 특정 실행 기록을 큐에 추가하고 on<eventName> 처리기가 관리할 활동 정의에 이벤트를 전달합니다. 이 이벤트는 자체 뮤텍스에서 대기하므로 이 이벤트가 처리되기 전에 현재 큐가 완료됩니다. 워크플로우 스크립트 포함에는 이에 대한 호출이 포함되어 있습니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 다음과 같이 작성할 수 있습니다. var w = new Workflow(); w.fireEvent(executing, eventName); 현재 스레드, 현재 뮤텍스 워크플로우 스크립트 포함
    fireEvent(eventRecordSysId, 이벤트 이름) 특정 워크플로우 실행 활동 [wf_executing] 기록으로 이벤트를 보내는 워크플로우 환경의 기능입니다. eventRecordSysId는 wf_executing 유형의 GlideRecord sys_id입니다. 이는 ID를 받고 워크플로우 실행 활동 [wf_executing] 레코드를 반환한다는 점을 제외하고는 위의 fireEvent 와 동일합니다. 워크플로우 스크립트 포함에는 이에 대한 호출이 포함되어 있습니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 다음과 같이 작성할 수 있습니다. var w = new Workflow(); w.fireEvent(executing, eventName); 현재 스레드, 현재 뮤텍스 워크플로우 스크립트 포함
    fireEvent(eventRecordSysId, eventName, optionalJSONObject) 특정 워크플로우 실행 활동 [wf_executing] 기록으로 이벤트를 보내는 워크플로우 환경의 기능입니다. eventRecordSysId는 wf_executing 유형의 GlideRecord sys_id입니다. 이것은 JSON 객체를 세 번째 매개변수로 받아들인다는 점을 제외하고는 위의 fireEvent 와 동일합니다. 이 객체는 JSON으로 표현할 수 있는 모든 데이터를 지정할 수 있습니다. 워크플로우 활동을 생성할 때 추가 기능을 지정할 수도 있습니다. 워크플로우 스크립트 포함에는 이에 대한 호출이 포함되어 있습니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 다음과 같이 작성할 수 있습니다. var w = new Workflow(); w.fireEvent(executing, eventName, JSONObject); 현재 스레드, 현재 뮤텍스 워크플로우 스크립트 포함
    broadcastEvent (contextId, eventName) 상태에 관계 없이 지정된 컨텍스트에서 현재 실행 중인 모든 워크플로우 실행 활동[wf_executing] 기록에 이벤트를 보내는 워크플로우 환경의 기능입니다. 이는 ID를 받고 워크플로우 실행 활동 [wf_executing] 레코드를 반환한다는 점을 제외하고는 위의 fireEvent 와 동일합니다. 워크플로우 스크립트 포함에는 이에 대한 호출이 포함되어 있습니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 다음과 같이 작성할 수 있습니다. var w = new Workflow(); w.broadcastEvent(contextId, eventName); 현재 스레드, 현재 뮤텍스 워크플로우 스크립트 포함
    broadcastEvent(이벤트 이름) 상태에 관계 없이 현재 컨텍스트에서 현재 실행 중인 모든 워크플로우 실행 활동 [wf_executing] 기록에 이벤트를 보내는 워크플로우 환경의 기능입니다. 위의 broadcastEvent 와 혼동해서는 안 됩니다. 이 이벤트는 현재 워크플로우 실행 활동 [wf_executing] 기록에만 사용할 수 있습니다. 이것은 현재 컨텍스트의 전역 워크플로우 변수를 통해서만 사용할 수 있습니다. 다음은 활동 정의의 스크립트 내에서 사용하는 예제입니다. workflow.broadcastEvent(eventName) 현재 스레드, 현재 뮤텍스 전역 변수 워크플로우