하위 플로우 - 범위 지정 (사용하지 않음)

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • 하위 플로우 API는 게시된 워크플로우 스튜디오 하위 플로우를 실행하기 위한 메서드를 제공합니다.

    이 API는 더 이상 사용되지 않으며 FlowAPI - 범위가 지정됨, 전역.

    하위 플로우 API는 서버 스크립트에서만 사용할 수 있습니다.

    sn_fd 네임스페이스를 사용하여 하위 플로우 API에 액세스합니다.

    하위 플로우 API를 사용하여 하위 플로우와 상호작용하기 전에 먼저 인터페이스에서 하위 플로우를 워크플로우 스튜디오 작성하고 게시해야 합니다. 하위 플로우 API는 사전 구축된 하위 플로우와만 상호작용하므로 클래스에 대한 생성자가 없습니다.

    주:
    인스턴스 성능을 최적화하려면 비동기 비즈니스 규칙 스크립트에서 이러한 메서드를 호출하지 마십시오. 대신 UI 내에서 워크플로우 스튜디오 예약된 작업 기록을 생성합니다.

    하위 플로우 - startAsync(String, scopeName.subflowName, 맵 입력)

    게시된 하위 플로우를 비동기식으로 실행합니다.

    비동기 호출은 비차단이므로 클라이언트가 하위 흐름이 완료될 때까지 기다릴 필요 없이 스크립트의 다른 코드를 실행할 수 있습니다.

    표 1. 매개변수
    이름 유형 설명
    scopeName.subflowName 문자열 하위 플로우의 애플리케이션 범위와 실행할 하위 플로우의 내부 이름입니다. scopeName이 포함되지 않은 경우 현재 로그인한 사용자의 범위가 사용됩니다. 방문 페이지의 내부 이름 열을 워크플로우 스튜디오 사용하여 하위 플로우의 내부 이름을 검색합니다.
    입력 지도 하위 플로우 입력을 정의하는 이름-값 쌍. 하위 플로우에 필수 입력이 포함되어 있는 경우 이를 포함해야 합니다. 참조 또는 문서 ID 필드 유형 입력의 경우 GlideRecord 객체를 값으로 사용합니다.
    표 2. 반환
    유형 설명
    객체 다음 속성을 포함하는 PlanResponse 객체입니다.
    • contextId: 실행된 하위 플로우에 대한 실행 상세 정보 기록의 Sys_id. 의 워크플로우 스튜디오 플로우 실행 탭으로 이동하고 sys_id별로 필터링하여 실행 상세 정보에 액세스합니다.
    하위 플로우가 다음과 같은 경우 예외가 발생합니다.
    • 지정된 애플리케이션 범위 내에 존재하지 않거나 하위 플로우 또는 범위 이름의 철자가 잘못되었습니다.
    • 이(가) 게시되지 않았습니다.
    • 하위 플로우 입력과 일치하지 않는 입력 객체가 전달됩니다.
    • 시스템 속성에 의해 설정된 재귀 제한을 초과합니다 com.glide.hub.flow_engine.indirect_recursion_limit . 기본값은 3입니다.
    //Run a subflow that takes two inputs: user, a sys_user record, and laptop_welcome_message, a string.
    (function startSubflowAsync() {
    
      try {
        var userToProvisionFor = new GlideRecord('sys_user');
        userToProvisionFor.get('62826bf03710200044e0bfc8bcbe5df1');
    
        var inputs = {};
        inputs['user'] = userToProvisionFor;
        inputs['laptop_welcome_message'] = 'Welcome Onboard!!';
    
        var result = sn_fd.Subflow.startAsync('sn_devstudio.provisionlaptop', inputs);
    
        //The Sys ID of a flow execution (contextId)
        var contextId = result.contextId;
    
      } catch (ex) {
        var message = ex.getMessage();
        gs.error(message);
      }
    
    })();