Name

sn_risk.setAppetiteValuesForRiskStatement

Description

Implements extension point sn_risk_advanced.setAppetiteValues

Script

var setAppetiteValuesForRiskStatement = Class.create();
setAppetiteValuesForRiskStatement.prototype = {
  initialize: function() {},

  setAppetiteValues: function(appetiteInfo) {
      var appetiteStatusFields = appetiteInfo.appetiteStatusFields;
      var appetiteFields = appetiteInfo.appetiteFields;

      var riskStatement = new GlideRecord('sn_risk_definition');
      if (!gs.nil(appetiteInfo.query))
          riskStatement.addEncodedQuery(appetiteInfo.query);
      for (var column in appetiteStatusFields) {
          riskStatement.setValue(column, appetiteStatusFields[column]);
      }
      for (var col in appetiteFields) {
          riskStatement.setValue(col, appetiteFields[col]);
      }
      var columns = ['risk_appetite_statement', 'override_appetite', 'next_review_date', 'ram_status_calculation'];
      for (var i = 0; i < columns.length; i++) {
          if (appetiteInfo[columns[i]])
              riskStatement.setValue(columns[i], appetiteInfo[columns[i]]);
      }
      riskStatement.setWorkflow(false);
      riskStatement.updateMultiple();
  },

  copyOverallAppetitStatus: function(appetiteStatusColumn) {
      var appetiteUtils = new sn_risk_advanced.RiskAppetiteUtils();

      var riskStatement = new GlideRecord('sn_risk_definition');
      riskStatement.addQuery(appetiteStatusColumn, appetiteUtils.withInAppetiteStatusId);
      riskStatement.setValue('overall_appetite_status', appetiteUtils.withInAppetiteStatusId);
      riskStatement.setWorkflow(false);
      riskStatement.updateMultiple();

      riskStatement = new GlideRecord('sn_risk_definition');
      riskStatement.addQuery(appetiteStatusColumn, appetiteUtils.outsideAppetiteStautusId);
      riskStatement.setValue('overall_appetite_status', appetiteUtils.outsideAppetiteStautusId);
      riskStatement.setWorkflow(false);
      riskStatement.updateMultiple();

      riskStatement = new GlideRecord('sn_risk_definition');
      riskStatement.addQuery(appetiteStatusColumn, appetiteUtils.outsideToleranceStautusId);
      riskStatement.setValue('overall_appetite_status', appetiteUtils.outsideToleranceStautusId);
      riskStatement.setWorkflow(false);
      riskStatement.updateMultiple();
  },


  type: 'setAppetiteValuesForRiskStatement'
};

Sys ID

f550b39a53261110bad1ddeeff7b12e2

Offical Documentation

Official Docs: