워크플로우 이벤트 관련 기능
워크플로우 이벤트와 관련된 몇 가지 함수가 있습니다.
| 기능 | 설명 | 목적 | 사용 | 스레드 | 소스 |
|---|---|---|---|---|---|
| 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 필드에 기록되는 문자열일 뿐입니다. 활동이 이벤트에 대한 등록을 취소하면 Workflow Executing Activity [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(이벤트 기록, 이벤트 이름) | 특정 워크플로우 실행 활동 [wf_executing] 기록에 이벤트를 전송하는 워크플로우 환경의 기능입니다. eventRecord는 wf_executing 유형의 GlideRecord입니다. |
이 이벤트 호출에는 이벤트 기록(워크플로우 실행 활동 [wf_executing] 테이블)에 표시된 활동의 onMyEvent 이벤트 핸들러가 필요합니다. 워크플로우 활동에서 fireEvent(eventRecord, eventName) 를 호출하면 워크플로우 엔진은 해당 이벤트와 함께 특정 실행 레코드를 큐에 대기시키고 관리할 on<eventName> 핸들러에 대한 활동 정의에 이벤트를 전달합니다. 이 이벤트는 자체 뮤텍스에서 큐에 대기하므로 이 이벤트가 처리되기 전에 현재 큐가 완료됩니다. | 워크플로우 스크립트 포함에는 이에 대한 호출이 포함되어 있습니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 var w = new Workflow(); w.fireEvent(executing, eventName); |
현재 스레드, 현재 뮤텍스 | 워크플로우 스크립트 포함 |
| fireEvent(이벤트 기록 시스템 ID, 이벤트 이름) | 특정 워크플로우 실행 활동 [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(컨텍스트Id, 이벤트 이름) | 상태에 관계 없이 지정된 컨텍스트에서 현재 실행 중인 모든 워크플로우 실행 활동[wf_executing] 기록에 이벤트를 보내는 워크플로우 환경의 기능입니다. | 이는 ID를 수락하고 워크플로우 실행 활동 [wf_executing] 레코드를 반환한다는 점을 제외하고는 위의 fireEvent 와 동일합니다. | 워크플로우 스크립트 포함에는 이에 대한 호출이 포함되어 있습니다. 예를 들어 스크립트 실행 활동 내에서 디자이너는 var w = new Workflow(); w.broadcastEvent(contextId, eventName); |
현재 스레드, 현재 뮤텍스 | 워크플로우 스크립트 포함 |
| broadcastEvent(이벤트 이름) | 상태와 관계없이 현재 컨텍스트에서 현재 실행 중인 모든 워크플로우 실행 활동 [wf_executing] 기록에 이벤트를 보내는 워크플로우 환경의 기능입니다. | 위의 broadcastEvent 와 혼동해서는 안 됩니다. 이 이벤트는 현재 워크플로우 실행 활동 [wf_executing] 기록에만 사용할 수 있습니다. | 이는 현재 컨텍스트의 전역 워크플로우 변수를 통해서만 사용할 수 있습니다. 다음은 활동 정의의 스크립트 내에서 사용하는 예입니다. workflow.broadcastEvent(eventName) |
현재 스레드, 현재 뮤텍스 | 전역 변수 워크플로우 |