Name

sn_nb_action.NextBestActionRefQualifiersImpl

Description

All reference qualifiers for recommended actions to be added here.

Script

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

  /*
   * Query to filter decision table records based on the action type of Decision Table Next Best Action Rule
   */
  getDecisionTablesQuery: function(ruleRecord) {
      var gr = new GlideRecordSecure(sn_nb_action.Constants.TBL_DECISION_TABLE);
      var actionTypeRecord = ruleRecord[sn_nb_action.Constants.COL_ACTION_TYPE].getRefRecord();
      var tablename = actionTypeRecord.getValue(sn_nb_action.Constants.COL_TABLE_NAME);
      if (NextBestActionUtil.isValidString(tablename)) {
          gr.addQuery(sn_nb_action.Constants.COL_ANSWER_TABLE, tablename);
      } else {
          gr.addQuery(sn_nb_action.Constants.COL_ANSWER_TABLE, '-1');
      }
      return gr.getEncodedQuery();
  },

  /*
   * Query to filter action input generator when selecting from a Recommended Action Record
   */
  getActionInputGenerator: function(recommendedAction) {
      var gr = new GlideRecordSecure(sn_nb_action.Constants.TBL_ACTION_INPUT_GENERATOR);
      var action = recommendedAction.getValue(sn_nb_action.Constants.COL_ACTION);
      var context = recommendedAction[sn_nb_action.Constants.COL_RULE][sn_nb_action.Constants.COL_RULE_CONTEXT][sn_nb_action.Constants.COL_CONTEXT] + '';
      var hierarchyTables = new GlideTableHierarchy(context);
      var tables = hierarchyTables.getTables();
      if (NextBestActionUtil.isValidString(action) && NextBestActionUtil.isValidString(context)) {
          gr.addQuery(sn_nb_action.Constants.COL_CONTEXT_TABLE, tables);
          gr.addQuery(sn_nb_action.Constants.COL_ACTION, action);
      } else
          gr.addQuery(sn_nb_action.Constants.COL_ACTION, -1);
      return gr.getEncodedQuery();
  },

  type: 'NextBestActionRefQualifiersImpl'
};

Sys ID

53ea3b9353471010763eddeeff7b126b

Offical Documentation

Official Docs: