sb - com escopo, global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 9 min. de leitura
  • A inclusão de script sb fornece métodos que permitem executar operações em registros de configuração Central de controle de serviços.

    Existem três tipos de registros de configuração Central de controle de serviços nos quais você pode executar operações usando esta inclusão de script:
    • Sincronização de dados de base (FDS)
    • Produtores de registros remotos (RRP)
    • Definição de tarefa remota (RTD)
    Você pode executar qualquer uma das seguintes Central de controle de serviços operações nesses registros de configuração:
    • Check-out: cria uma versão de rascunho de um registro de configuração especificado. Qualquer versão publicada ainda está disponível para uso do cliente.
    • Publicar: publica a versão de rascunho de um registro de configuração especificado e o disponibiliza para uso do cliente.
    • Arquivar: arquiva uma versão inativa de um registro de configuração especificado e o torna indisponível para os clientes.
    • Descontinuar: descontinua todas as versões de um registro de configuração especificado e as torna indisponíveis para os clientes.
    • Atualizar campo virtual: preenche campos virtuais em uma tabela de tarefas em uma instância de destino ao usar Central de controle de serviços tarefas remotas.

    Para obter informações adicionais sobre Central de controle de serviços registros de configuração, consulte Create configuration revisions.

    Para acessar esta API, a aplicação Central de controle de serviços para provedores (sn_sb_pro) e os plug-ins Central de controle de serviços Base (sn_sb) devem ser instalados em sua instância.

    Você chama os métodos nesta API usando a inclusão de script sb. O código para esses métodos, no entanto, reside na inclusão de script PSBPublicAPIUtil.

    Ao chamar esses métodos do escopo global, use a seguinte sintaxe:
    sb.checkout(glideRecord);
    sb.publish(glideRecord);
    sb.archive(glideRecord);
    sb.retire(glideRecord);
    Ao chamá-los de uma aplicação com escopo, use esta sintaxe:
    global.sb.checkout(glideRecord);
    global.sb.publish(glideRecord);
    global.sb.archive(glideRecord);
    global.sb.retire(glideRecord);

    sb - archive (glideRecord)

    Valida se o GlideRecord especificado é um registro de configuração Central de controle de serviços válido e verifica se o registro está no estado "inativo". Se esta validação for aprovada, arquivará o registro de configuração especificado, deixando todas as outras versões do mesmo registro de configuração inalteradas.

    Para obter informações adicionais sobre revisões de configuração e seus estados associados, consulte Create configuration revisions.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    glideRecord GlideRecord Registro de configuração a ser arquivado.
    Este registro pode ser um dos seguintes:
    • Sincronização de dados de base (FDS): registros localizados na tabela Oferta do provedor de dados de base [sn_fds_pro_offering].
    • Produtores de registros remotos (RRP): registros localizados na tabela Produtores de registros remotos [sn_sb_pro_remote_record_producer].
    • Definição de tarefa remota (RTD): registros localizados na tabela Definição de tarefa remota [sn_sb_pro_remote_task_def].
    Tabela 2. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o registro de configuração foi arquivado.
    Valores possíveis:
    • verdadeiro: o registro de configuração foi arquivado.
    • falso: ocorreu um erro; O registro de configuração não foi arquivado.

    O exemplo de código a seguir mostra como chamar este método do escopo global em um registro de configuração de 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 - check-out (glideRecord)

    Valida se o GlideRecord especificado é um registro de configuração Central de controle de serviços válido e verifica se o registro está no estado "publicado". Se esta validação for aprovada, criará uma nova versão do registro de configuração especificado e definirá o campo de estado como "rascunho".

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    glideRecord GlideRecord Registro de configuração para check-out.
    Este registro pode ser um dos seguintes:
    • Sincronização de dados de base (FDS): registros localizados na tabela Oferta do provedor de dados de base [sn_fds_pro_offering].
    • Produtores de registros remotos (RRP): registros localizados na tabela Produtores de registros remotos [sn_sb_pro_remote_record_producer].
    • Definição de tarefa remota (RTD): registros localizados na tabela Definição de tarefa remota [sn_sb_pro_remote_task_def].
    Tabela 4. Retornos
    Tipo Descrição
    GlideRecord Se for bem-sucedido, retornará o registro de configuração recém-criado com o campo de estado definido como "rascunho".

    Se ocorreu um erro, retorna nulo.

    O exemplo de código a seguir mostra como chamar este método do escopo global em um registro de configuração de 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 – publicar (glideRecord)

    Valida se o GlideRecord especificado é um registro de configuração Central de controle de serviços válido e verifica se o registro está no estado "rascunho". Se esta validação for aprovada, publica a versão de rascunho do registro de configuração.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    glideRecord GlideRecord Registro de configuração a ser publicado.
    Este registro pode ser um dos seguintes:
    • Sincronização de dados de base (FDS): registros localizados na tabela Oferta do provedor de dados de base [sn_fds_pro_offering].
    • Produtores de registros remotos (RRP): registros localizados na tabela Produtores de registros remotos [sn_sb_pro_remote_record_producer].
    • Definição de tarefa remota (RTD): registros localizados na tabela Definição de tarefa remota [sn_sb_pro_remote_task_def].
    Tabela 6. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o registro de configuração foi publicado.
    Valores possíveis:
    • verdadeiro: o registro de configuração foi publicado.
    • falso: ocorreu um erro; O registro de configuração não foi publicado.

    O exemplo de código a seguir mostra como chamar este método do escopo global em um registro de configuração de 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 - retirar (glideRecord)

    Valida se o GlideRecord especificado é um registro de configuração Central de controle de serviços válido e verifica se o registro está em um estado válido. Se esta validação for aprovada, descontinuará a versão especificada do registro de configuração junto com todas as outras revisões desse mesmo registro de configuração.

    Para obter informações adicionais sobre revisões de configuração e seus estados associados, consulte Create configuration revisions.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    glideRecord GlideRecord Registro de configuração a ser descontinuado.
    Este registro pode ser um dos seguintes:
    • Sincronização de dados de base (FDS): registros localizados na tabela Oferta do provedor de dados de base [sn_fds_pro_offering].
    • Produtores de registros remotos (RRP): registros localizados na tabela Produtores de registros remotos [sn_sb_pro_remote_record_producer].
    • Definição de tarefa remota (RTD): registros localizados na tabela Definição de tarefa remota [sn_sb_pro_remote_task_def].
    Tabela 8. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o registro de configuração foi descontinuado.
    Valores possíveis:
    • verdadeiro: o registro de configuração foi descontinuado.
    • falso: ocorreu um erro; O registro de configuração não foi descontinuado.

    O exemplo de código a seguir mostra como chamar este método do escopo global em um registro de configuração de 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)

    Preenche campos virtuais em uma tabela de tarefas em uma instância de destino ao usar Central de controle de serviços tarefas remotas.

    Um campo virtual é um campo que existe em uma tabela de tarefas de destino, mas não existe na tabela de tarefas de origem. Você usa este método para passar os valores de um campo virtual da instância de origem para a instância de destino. Este método armazena os valores especificados para o campo virtual como JSON na seção de formulário da tarefa remotaespecificada. Esta tarefa remota é então sincronizada com a instância de destino em que os valores são armazenados no campo mapeado na tabela de tarefas de destino.

    Campos virtuais são definidos em definições de tarefa remota. As definições de tarefa remota contêm tabelas de mapeamento de entrada e saída que mapeiam campos entre tabelas de tarefas em instâncias de origem e de destino. Quando uma tabela de origem não contém um campo que existe em uma tabela de destino, o campo é configurado na definição de tarefa remota como um campo virtual. O consumidor pode usar transformações Central de controle de serviços ou este método para atualizar os valores desses campos virtuais no registro de tarefa de destino associado.

    A seção a seguir descreve um exemplo de caso de uso sobre como implementar campos virtuais e usar o método updateVirtualField() para preencher valores no campo virtual. Neste exemplo, as duas tabelas de tarefas que estão vinculadas por uma definição de tarefa remota são a tabela Caso do provedor e a tabela Incidente do consumidor. Quando um registro de incidente é criado ou atualizado na instância do consumidor, ele é configurado para sincronizar com a tabela Caso do provedor. O campo Instâncias afetadas na tabela Caso é obrigatório, mas não existe na tabela Incidente. Para lidar com essa situação, o campo Instâncias afetadas deve ser definido como um campo virtual no mapeamento de entrada da definição de tarefa remota associada.
    1. O provedor cria uma definição de tarefa remota para a tabela Caso do provedor e a tabela Incidente do consumidor.
    2. Na guia Campos de entrada nos Links relacionados da definição de tarefa remota, o provedor mapeia os campos entre a tabela Incidente e a tabela Caso.
      Ao definir o campo Instâncias afetadas, o provedor marca a caixa de seleção Virtual e seleciona Instâncias afetadas no campo Destino na guia Mapeamento de destino.
      Nota:
      Ao definir um campo virtual, nenhum campo de origem é definido, pois ele não existe.
    3. O provedor publica a definição de tarefa remota, que é sincronizada com a instância do consumidor.
    4. O consumidor cria uma tarefa remota para a tabela Incidente. Uma carga JSON que contém todos os valores dos campos mapeados, incluindo as informações sobre campos virtuais, é incluída em uma seção de formulário na tarefa remota.
    5. A instância do consumidor chama o método updateVirtualField(), como em uma regra de negócio que é executada quando os registros na tabela Incident são atualizados, para definir os valores do campo Instâncias afetadas na tarefa remota.
      Nota:
      Mesmo que você possa preencher os dados na tabela de destino a qualquer momento, os campos obrigatórios configurados como campos virtuais devem ser preenchidos na tarefa remota antes que a tarefa remota seja enviada para a instância do produtor.
    6. A tarefa remota é sincronizada com a instância do provedor e cria um registro de caso na instância do provedor.

    Para obter informações sobre como criar uma definição de tarefa remota, consulte Create remote task definitions in Service Bridge for Providers.

    Para obter informações sobre como criar uma transformação Central de controle de serviços, consulte Transform data with the Service Bridge transform framework.

    Aviso:
    Você só deve chamar este método em uma regra de negócio anterior, pois ele atualiza a tarefa remota em que é chamado. Se você chamar este método em uma regra de negócio posterior, deverá incluir condições estritas que impeçam a atualização do campo virtual na tarefa remota de acionar a regra de negócio, pois isso pode causar um loop infinito.
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    remoteTaskGr GlideRecord Objeto GlideRecord da tarefa remota para a qual os valores de campos virtuais especificados serão definidos.
    campovirtual Cadeia de caracteres Nome do campo virtual para o qual as informações associadas serão atualizadas. Definido na guia relacionada Campos de saída da definição de tarefa remota associada.
    virtualValue Cadeia de caracteres Valor a ser definido para este campo na instância de destino.
    VirtualDisplayValue Cadeia de caracteres Valor de exibição a ser definido para este campo na instância de destino
    Tabela 10. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como chamar este método.

    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>");