Click or drag to resize

Client Business Rules

This topic discusses ShipExec server side business rules.

Client Business Rules are executed on the shipping client and are configured using ShipExec Management Studio. Business rules are essentially functions defined in a single JavaScript file. Each function represents different events that execute during shipping client activity.

Business Rule Functions

Function

Description

PageLoaded

Business rule event that executes when a new view is loaded in the shipping client.

Keystroke

Business rule event that executes when a key is pressed.

PreShip

Business rule event that executes before the ship call is made to the application tier api.

PostShip

Business rule event that executes after the ship call is made to the application tier api.

PreProcessBatch

PostProcessBatch

PreVoid

PostVoid

PrePrint

PostPrint

PreLoad

PostLoad

PreRate

PostRate

PreCloseManifest

PostCloseManifest

PreTransmit

PostTransmit

PreSearchHistory

PostSearchHistory

NewShipment

PreBuildShipment

PostBuildShipment

RepeatShipment

PreCreateGroup

PostCreateGroup

PreModifyGroup

PostModifyGroup

PreCloseGroup

PostCloseGroup

AddPackage

RemovePackage

CopyPackage

PreviousPackage

NextPackage

Full Client Business Javascript Template
Full Client Business Rule Template
function ClientBusinessRules() {
    this.PageLoaded = function(location) {              
    }

    this.Keystroke = function(shipmentRequest, packageIndex) {        
    }

    this.PreShip = function(shipmentRequest, userParams) {       
    }

    this.PostShip = function(shipmentRequest, shipmentResponse) {
    }

    this.PreProcessBatch = function(batchReference, actions, params, vm) {
    }

    this.PostProcessBatch = function(batchResponse, vm) {
    }

    this.PreVoid = function(pkg, userParams) {
    }

    this.PostVoid = function(pkg) {
    }

    this.PrePrint = function(document, localPort) {
    }

    this.PostPrint = function(document) {
    }

    this.PreLoad = function(loadValue, shipmentRequest, userParams) {  
    }

    this.PostLoad = function(loadValue, shipmentRequest) {
    }

    this.PreRate = function(shipmentRequest, userParams) {
    }

    this.PostRate = function(shipmentRequest, shipmentResponse) {
    }

    this.PreCloseManifest = function(manifestItem, userParams) {
    }

    this.PostCloseManifest = function(manifestItem) {
    }

    this.PreTransmit = function(transmitItem, userParams) {
    }

    this.PostTransmit = function(transmitItem) {
    }

    this.PreSearchHistory = function(searchCriteria) {
    }

    this.PostSearchHistory = function(packages) {
    }

    this.NewShipment = function(shipmentRequest) { 
    }

    this.PreBuildShipment = function(shipmentRequest) {
    }

    this.PostBuildShipment = function(shipmentRequest) {
    }

    this.RepeatShipment = function(currentShipment) {
    }

    this.PreCreateGroup = function(group, userParams) {
    }

    this.PostCreateGroup = function(group) {
    }

    this.PreModifyGroup = function(group, userParams) {
    }

    this.PostModifyGroup = function(group) {
    }

    this.PreCloseGroup = function(group, userParams) {
    }

    this.PostCloseGroup = function(group) {
    }

    this.AddPackage = function(shipmentRequest, packageIndex) {
    }

    this.CopyPackage = function(shipmentRequest, packageIndex) {
    }

    this.RemovePackage = function(shipmentRequest, packageIndex) {
    }

    this.PreviousPackage = function(shipmentRequest, packageIndex) {                
    }

    this.NextPackage = function(shipmentRequest, packageIndex) {        
    }
}