sb - 범위 지정, 전역

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 11분
  • sb script include는 구성 기록에 대한 서비스 브리지 작업을 수행할 수 있는 메서드를 제공합니다.

    이 스크립트를 사용하여 작업을 수행할 수 있는 구성 기록에는 세 가지 유형이 서비스 브리지 있습니다.
    • 기초 데이터 동기화(FDS)
    • RRP(원격 기록 생성자)
    • 원격 작업 정의(RTD)
    이러한 구성 기록에 대해 다음 서비스 브리지 작업을 수행할 수 있습니다.
    • 체크 아웃: 지정된 구성 기록의 초안 버전을 작성합니다. 게시된 버전은 고객이 계속 사용할 수 있습니다.
    • 게시: 지정된 구성 기록의 초안 버전을 게시하고 고객이 사용할 수 있도록 합니다.
    • 보관: 지정된 구성 기록의 비활성 버전을 보관하고 고객이 사용할 수 없도록 합니다.
    • 폐기: 지정된 구성 기록의 모든 버전을 폐기하고 고객이 사용할 수 없게 만듭니다.
    • 가상 필드 업데이트: 원격 작업을 사용할 서비스 브리지 때 대상 인스턴스의 작업 테이블에 있는 가상 필드를 채웁니다.

    구성 기록에 대한 서비스 브리지 자세한 내용은 다음 문서를 참조하십시오 Create configuration revisions.

    이 API 서비스 브리지 에 액세스하려면 for Providers 애플리케이션(sn_sb_pro) 및 서비스 브리지 Base(sn_sb) 플러그인이 인스턴스에 설치되어 있어야 합니다.

    sb 스크립트 포함을 사용하여 이 API의 메서드를 호출합니다. 그러나 이러한 메서드의 코드는 PSBPublicAPIUtil 스크립트 포함에 있습니다.

    전역 범위에서 이러한 메서드를 호출하는 경우 다음 구문을 사용합니다.
    sb.checkout(glideRecord);
    sb.publish(glideRecord);
    sb.archive(glideRecord);
    sb.retire(glideRecord);
    범위가 지정된 애플리케이션에서 호출할 때는 다음 구문을 사용합니다.
    global.sb.checkout(glideRecord);
    global.sb.publish(glideRecord);
    global.sb.archive(glideRecord);
    global.sb.retire(glideRecord);

    sb - archive(glideRecord)

    지정된 GlideRecord가 유효한 서비스 브리지 구성 기록인지 검증하고 기록이 "비활성" 상태인지 확인합니다. 이 확인에 통과하면 지정된 구성 기록이 보관되고 동일한 구성 기록의 다른 모든 버전은 그대로 유지됩니다.

    구성 개정 및 관련 상태에 대한 자세한 내용은 다음 문서를 참조하십시오 Create configuration revisions.

    표 1. 매개변수
    이름 유형 설명
    glideRecord GlideRecord 보관할 구성 기록입니다.
    이 기록은 다음 중 하나일 수 있습니다.
    • FDS(기초 데이터 동기화): 기초 데이터 제공자 오퍼링[sn_fds_pro_offering] 테이블에 있는 기록입니다.
    • RRP(원격 기록 생성자): 원격 기록 생성자[sn_sb_pro_remote_record_producer] 테이블에 있는 기록입니다.
    • 원격 작업 정의(RTD): 원격 작업 정의 [sn_sb_pro_remote_task_def] 테이블에 있는 기록입니다.
    표 2. 반환
    유형 설명
    부울 구성 기록이 보관되었는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 구성 기록이 보관되었습니다.
    • false: 오류가 발생했습니다. 구성 기록이 보관되지 않았습니다.

    다음 코드 예제에서는 FDS 구성 레코드의 전역 범위에서 이 메서드를 호출하는 방법을 보여줍니다.

    var grConfig = new GlideRecord('sn_fds_pro_offering’’'); // Configuration table that contains the desired record 
    grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to publish
    var isExecuted = sb.archive(grConfig);

    sb - 체크아웃(glideRecord)

    지정된 GlideRecord가 유효한 서비스 브리지 구성 기록인지 확인하고 기록이 "게시됨" 상태인지 확인합니다. 이 확인에 통과하면 지정된 구성 기록의 새 버전을 만들고 상태 필드를 "초안"으로 설정합니다.

    표 3. 매개변수
    이름 유형 설명
    glideRecord GlideRecord 체크 아웃할 구성 기록입니다.
    이 기록은 다음 중 하나일 수 있습니다.
    • FDS(기초 데이터 동기화): 기초 데이터 제공자 오퍼링[sn_fds_pro_offering] 테이블에 있는 기록입니다.
    • RRP(원격 기록 생성자): 원격 기록 생성자[sn_sb_pro_remote_record_producer] 테이블에 있는 기록입니다.
    • 원격 작업 정의(RTD): 원격 작업 정의 [sn_sb_pro_remote_task_def] 테이블에 있는 기록입니다.
    표 4. 반환
    유형 설명
    GlideRecord 성공하면 상태 필드가 "초안"으로 설정된 새로 작성된 구성 기록을 반환합니다.

    오류가 발생한 경우 null을 반환합니다.

    다음 코드 예제에서는 RTD 구성 레코드의 전역 범위에서 이 메서드를 호출하는 방법을 보여 줍니다.

    var grConfig = new GlideRecord('sn_sb_pro_remote_task_def'); // Configuration table that contains the desired record 
    grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to checkout
    var checkoutGr = sb.checkout(grConfig);

    sb - 게시(glideRecord)

    지정된 GlideRecord가 유효한 서비스 브리지 구성 기록인지 확인하고 기록이 "초안" 상태인지 확인합니다. 이 확인이 통과하면 구성 기록의 초안 버전을 게시합니다.

    표 5. 매개변수
    이름 유형 설명
    glideRecord GlideRecord 게시할 구성 기록입니다.
    이 기록은 다음 중 하나일 수 있습니다.
    • FDS(기초 데이터 동기화): 기초 데이터 제공자 오퍼링[sn_fds_pro_offering] 테이블에 있는 기록입니다.
    • RRP(원격 기록 생성자): 원격 기록 생성자[sn_sb_pro_remote_record_producer] 테이블에 있는 기록입니다.
    • 원격 작업 정의(RTD): 원격 작업 정의 [sn_sb_pro_remote_task_def] 테이블에 있는 기록입니다.
    표 6. 반환
    유형 설명
    부울 구성 기록이 게시되었는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 구성 기록이 게시되었습니다.
    • false: 오류가 발생했습니다. 구성 기록이 게시되지 않았습니다.

    다음 코드 예제는 RRP 구성 레코드의 전역 범위에서 이 메서드를 호출하는 방법을 보여줍니다.

    var grConfig = new GlideRecord('sn_sb_pro_remote_record_producer’'); // Configuration table that contains the desired record 
    grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to publish
    var isExecuted = sb.publish(grConfig);

    SB - 폐기(glideRecord)

    지정된 GlideRecord가 유효한 서비스 브리지 구성 기록인지 검증하고 기록이 유효한 상태인지 검증합니다. 이 확인에 통과하면 동일한 구성 기록의 다른 모든 수정 버전과 함께 지정된 버전의 구성 기록을 폐기합니다.

    구성 개정 및 관련 상태에 대한 자세한 내용은 다음 문서를 참조하십시오 Create configuration revisions.

    표 7. 매개변수
    이름 유형 설명
    glideRecord GlideRecord 폐기할 구성 기록입니다.
    이 기록은 다음 중 하나일 수 있습니다.
    • FDS(기초 데이터 동기화): 기초 데이터 제공자 오퍼링[sn_fds_pro_offering] 테이블에 있는 기록입니다.
    • RRP(원격 기록 생성자): 원격 기록 생성자[sn_sb_pro_remote_record_producer] 테이블에 있는 기록입니다.
    • 원격 작업 정의(RTD): 원격 작업 정의 [sn_sb_pro_remote_task_def] 테이블에 있는 기록입니다.
    표 8. 반환
    유형 설명
    부울 구성 기록이 폐기되었는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 구성 기록이 폐기되었습니다.
    • false: 오류가 발생했습니다. 구성 기록이 폐기되지 않았습니다.

    다음 코드 예제에서는 RTD 구성 레코드의 전역 범위에서 이 메서드를 호출하는 방법을 보여 줍니다.

    var grConfig = new GlideRecord('sn_sb_pro_remote_task_def'); // Configuration table that contains the desired record 
    grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to checkout
    var isExecuted = sb.retire(grConfig);

    sb - updateVirtualField(GlideRecord remoteTaskGr, string virtualField, string virtualValue, string virtualDisplayValue)

    원격 작업을 사용할 서비스 브리지 때 대상 인스턴스의 작업 테이블에 있는 가상 필드를 채웁니다.

    가상 필드는 대상 작업 테이블에는 있지만 소스 작업 테이블에는 존재하지 않는 필드입니다. 이 메서드를 사용하여 소스 인스턴스에서 대상 인스턴스로 가상 필드 값을 전달합니다. 이 메서드는 가상 필드에 대해 지정된 값을 지정된 원격 작업의 양식 섹션에 JSON으로 저장합니다. 그런 다음 이 원격 작업은 대상 작업 테이블의 매핑된 필드에 값이 저장되는 대상 인스턴스와 동기화됩니다.

    가상 필드는 원격 작업 정의에 정의되어 있습니다. 원격 작업 정의에는 소스 및 대상 인스턴스의 작업 테이블 간에 필드를 매핑하는 인바운드 및 아웃바운드 매핑 테이블이 포함되어 있습니다. 소스 테이블에 대상 테이블에 있는 필드가 포함되어 있지 않으면 원격 작업 정의에서 필드가 가상 필드로 구성됩니다. 그런 다음 소비자는 변환 또는 이 방법을 사용하여 서비스 브리지 연결된 대상 작업 기록에서 이러한 가상 필드의 값을 업데이트할 수 있습니다.

    다음 섹션에서는 가상 필드를 구현한 다음 updateVirtualField() 메서드를 사용하여 가상 필드의 값을 채우는 방법에 대한 사용 사례 예를 설명합니다. 이 예에서 원격 작업 정의에 의해 함께 바인딩된 두 작업 테이블은 제공자 케이스 테이블과 소비자 인시던트 테이블입니다. 소비자 인스턴스에서 인시던트 기록이 생성되거나 업데이트되면 제공자 케이스 테이블과 동기화되도록 구성됩니다. 케이스 테이블의 영향을 받는 인스턴스 필드는 필수 필드이지만 인시던트 테이블에는 존재하지 않습니다. 이러한 상황을 처리하려면 영향을 받는 인스턴스 필드를 연결된 원격 작업 정의의 인바운드 매핑에서 가상 필드로 정의해야 합니다.
    1. 제공자는 제공자 케이스 테이블과 소비자 인시던트 테이블에 대한 원격 작업 정의를 생성합니다.
    2. 원격 작업 정의의 관련 링크에 있는 인바운드 필드 탭에서 제공자는 인시던트 테이블과 케이스 테이블 사이의 필드를 매핑합니다.
      영향을 받는 인스턴스 필드를 정의할 때 제공자는 가상 확인란을 선택한 다음 대상 매핑 탭의 대상 필드에서영향을 받는 인스턴스를 선택합니다.
      주:
      가상 필드를 정의할 때 소스 필드가 존재하지 않으므로 정의되지 않습니다.
    3. 그런 다음 제공자는 소비자 인스턴스와 동기화되는 원격 작업 정의를 게시합니다.
    4. 소비자가 인시던트 테이블에 대한 원격 작업을 생성합니다. 가상 필드에 대한 정보를 포함하여 매핑된 필드의 모든 값을 보유하는 JSON 페이로드는 원격 작업의 양식 섹션에 포함됩니다.
    5. 소비자 인스턴스는 인시던트 테이블의 기록이 업데이트될 때 실행되는 비즈니스 규칙에서와 같이 updateVirtualField() 메서드를 호출하여 원격 작업에서 영향을 받는 인스턴스 필드의 값을 설정합니다.
      주:
      언제든지 대상 테이블의 데이터를 채울 수 있지만, 원격 작업을 생산자 인스턴스로 보내기 전에 원격 작업에서 가상 필드로 구성된 필수 필드를 채워야 합니다.
    6. 원격 작업은 제공자 인스턴스와 동기화되고 제공자 인스턴스에 케이스 기록을 생성합니다.

    원격 작업 정의를 생성하는 방법에 대한 자세한 내용은 문서를 참조하십시오 Create a remote task definition in Service Exchange for Providers.

    변환을 만드는 서비스 브리지 방법에 대한 자세한 내용은 문서를 참조하십시오 Transform data with the Service Exchange transform framework.

    경고:
    이 메서드는 호출되는 원격 작업을 업데이트하므로 이전 비즈니스 규칙에서만 호출해야 합니다. 비즈니스 규칙 이후 이 메서드를 호출하는 경우 원격 작업의 가상 필드 업데이트가 비즈니스 규칙을 트리거하지 못하도록 하는 엄격한 조건을 포함해야 합니다. 이렇게 하면 무한 루프가 발생할 수 있습니다.
    표 9. 매개변수
    이름 유형 설명
    원격 작업Gr GlideRecord 지정된 가상 필드 값을 설정할 원격 작업의 GlideRecord 객체입니다.
    가상 필드 문자열 연결 정보를 업데이트할 가상 필드의 필드 이름입니다. 연결된 원격 작업 정의의 아웃바운드 필드 관련 탭에 정의됩니다.
    가상 값 문자열 대상 인스턴스에서 이 필드에 대해 설정할 값입니다.
    가상 디스플레이 값 문자열 대상 인스턴스에서 이 필드에 대해 설정할 표시 값
    표 10. 반환
    유형 설명
    없음

    다음 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    var remoteTaskGr = new GlideRecord("");
    /** Remote Task table name,
    ** Table name vary based on which instance the script is being executed.
    **/
    
    remoteTaskGr.get(""); // Remote Task record sys_id
    
    global.sb.updateVirtualField(remoteTaskGr,"<virtual outbound field name>", "<value to set on target field>", "<display value to set on target field>");