---
sourceDocument: Gestão estratégica de portfólios de Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/it-business-management

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Gestão estratégica de portfólios de Yokohama

ft:clusterId :

    - itbm

bundleId :

    - itbm

workflow :

    - Technology


---

# Script de automação de destino para planos de benefícios

# Script de automação de destino para planos de benefícios {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 min. de leitura

Use o script de planos de benefícios predefinidos como uma origem de destino para automatizar o valor real de suas metas a partir dos planos de benefícios de itens de trabalho relevantes.
Use o script de planos de benefícios predefinidos a seguir para configurar a origem de destino para seus destinos. O script busca os dados necessários para planos de benefícios monetários ou não monetários e atualiza o valor real da meta. Você pode usar este script como está ou você também pode modificá-lo de acordo com sua necessidade. Você também pode criar variáveis de contexto e configurá-las para esta origem de destino (planos de benefícios).

    result = '';
    var benefitPlans = new GlideRecord(sn_gfa.GFAdvancedConstants.BENEFIT_PLAN_TABLE);
    benefitPlans.addQuery('sys_id', 'IN', benefit_plan);
    benefitPlans.query();

    var nonMonetaryBenefitSum = 0;
    var monetaryBenefitSum = 0;
    var hasMonetary = false;
    var hasNonMonetary = false;
    while (benefitPlans.next() && !(hasMonetary && hasNonMonetary)) {
        if (!gs.nil(benefitPlans.getValue('currency'))) {
            monetaryBenefitSum += parseInt(benefitPlans.getValue('actual_benefit'));
            hasMonetary = true;
        } else {
            nonMonetaryBenefitSum += parseInt(benefitPlans.getValue('nm_actual_benefit'));
            hasNonMonetary = true;
        }
    }

    if (hasMonetary && hasNonMonetary)
        gs.addErrorMessage(gs.getMessage('The Benefit Plan list can contain either monetary or non-monetary benefit plans.'));
    else
        result = hasMonetary ? monetaryBenefitSum : nonMonetaryBenefitSum;


