Skip to main content

Automatic assignment request splitting

You can use a plugin to break up automatic assignment requests into separate requests; for example to make allocations take place immediately, and de-allocations take place later.

To use an automatic assignment request splitting plugin:

  1. Click Manage the system > Workflow > Options > Automation.

  2. Type the name of the plugin program or PSLang script in the AUTO ASSIGNMENT REQUEST SPLIT field.

  3. Click Update.

There are no shipped plugins for the automatic assignment request splitting plugin point.

Requirements

The plugin must be placed in the \<instance>\plugin\ directory and runs on the Bravura Security Fabric server. See Writing plugins for general requirements.

Execution points

The automatic assignment request splitting plugin is run when end users view requests in the View and update profile (IDR) module and Requests app, and when the autores program executes.

Input

The automatic assignment request splitting plugin receives information about operations to be performed on resources, for example:

  "" "" = {
    "request" "" = {
      // All actions generated to resolve variances from this run
      "resource" "" = {
      ...
      }
      "resource" "" = {
      ...
      }
      ...
    }
    // Existing generated auto assignment requests
    "request" "" = {
      "autoressig" = "..."
      "requestID" = "..."
      // Existing resources in this request
      "resource" "" = {
      ...
      }
      "resource" "" = {
      ...
      }
    }
    ...
    "request" "" = {
      ...
    }
  } 

Output

The automatic assignment request splitting plugin returns changes to the original request:

  "" "" = {
   // Changes are made for existing requests
    "request" "" = {
      "autoressig" = "..."
      "requestID" = "..."
      // Resources should be in this request
      "resource" "" = {
      ...
      }
      "resource" "" = {
      ...
      }
    }
    ...
    // New requests
    "request" "" = {
      "resource" "" = {
      ...
      }
      "resource" "" = {
      ...
      }
    }
    "changed" = "true"/"false"
    // If the requests that are not returned should be retained or removed
    "retainResources" = "true"/"false"
    "retval" = "0"
    "errmsg" = ""
  }