sb - 범위, 전역

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 11분
  • sb 스크립트 포함은 구성 기록에 대한 서비스 교환 작업을 수행할 수 있는 메서드를 제공합니다.

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

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

    이 API에 액세스하려면 서비스 교환 제공자 애플리케이션(sn_sb_pro) 및 서비스 교환 기본(sn_sb) 플러그인이 인스턴스에 설치되어 있어야 합니다.

    sb script include를 사용하여 이 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 - 보관(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: 구성 기록이 보관되었습니다.
    • 아니오: 오류가 발생했습니다. 구성 기록이 보관되지 않았습니다.

    다음 코드 예제는 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: 구성 기록이 게시되었습니다.
    • 아니오: 오류가 발생했습니다. 구성 기록이 게시되지 않았습니다.

    다음 코드 예제는 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: 구성 기록이 폐기되었습니다.
    • 아니오: 오류가 발생했습니다. 구성 기록이 폐기되지 않았습니다.

    다음 코드 예제에서는 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, 문자열 virtualField, 문자열 virtualValue, 문자열 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>");