You are here

SSP Nightly Batch Suite

The SSP Nightly Batch Suite (NBS) is a configurable set of applications intended to keep a geodatabase performing optimally while giving management the information they need to make decisions. The product includes a batch framework which allows for batch applications to be easily configured and scheduled for nightly, weekly, or monthly execution.

There are a number of product applications that are included with the NBS and the framework also provides customers with a reusable implementation pattern for adding custom batch applications. These often include custom GIS update applications or systems integration points for batch updates between the GIS and other common utility systems. This whiteboard video explains the basics of how the NBS will support your ongoing GIS operations:

The most popular NBS product applications include:

Full State Tree Reconciliation

Purpose: Reconciles the entire ArcSDE state tree from SDE.Default down to all versions in the most effective order. If any conflicts or errors are found in individual versions they are logged and emailed out to a configured list using the Version Conflict Notification task.

Benefits: Performance can be affected by the size of the Esri state table which tracks outstanding edits across all versions. By reconciling all posted edits in an optimal order from SDE.Default down into the outstanding versions allows an ArcSDE compress to be more effective in minimizing the size of the Esri state table.

Version Conflict Notification

Purpose: Reports on version conflicts by either posting a report to an intranet website or emailing a configured list of users with a list of conflict versions to be resolved.

Benefits: Provides notification by email or intranet website of versions in conflict on a nightly basis. Versions in conflict need to be resolved in a timely manner since these versions are unable to be reconciled. Continuing to ignore versions that are unable to be reconciled will impact the size of the Esri state table thus impacting performance.

PX/Orphaned Version Cleanup (ArcFM™ Sessions, Designer™ Designs, and JTX Jobs)

 Purpose: Compares all ArcFM™ Sessions, Designer™ Designs, and JTX Jobs in the geodatabase (GDB) against the PX/ JTX tables. For any sessions, designs, jobs that are "complete", the batch task deletes the corresponding version in the GDB. For any sessions, designs, jobs that do not have a corresponding PX/JTX object hence "orphaned", the batch task deletes the corresponding version in the GDB.

Benefits: Versions that are "complete" and/or "orphaned" are deleted to ensure there are not any extra versions in the system which might impact system performance. The lower amount of versions in the system means potentially less records in the delta tables which should result in better performance.

Automated Posting of Configured Versions

Purpose: Reconciles and posts configured versions to SDE.Default from a specific XML file. This is typically used whenever a batch application makes updates to an ArcSDE version to post those changes to SDE.Default. Ensures the version is in sync with SDE.Default before processing is executed. The version name must match a valid version in the system and is case sensitive for Oracle.

Benefits: Automated posting of configured versions helps simplify edit operations, reduces the overhead of version administration, and makes sure all edits performed in the configured versions are automatically posted to SDE.Default.

ArcSDE Compresses

Purpose: Compressing the ArcSDE state tree removes each state that is not currently referenced by a version and is not the parent of multiple child states. This task takes all posted data that has been reconciled to all versions and moves it from the delta tables into the base tables.

Benefits: The ArcSDE compress minimizes the size of the state tree, shortening the lineage and improving query performance.

ArcSDE Add/Delete Table Statistics & Reporting

Purpose: The Add & Delete (A&D) Table Statistics Report is a report that graphically shows the table counts for all A&D tables in the geodatabase that are above a configured threshold.

Benefits: This report explains trends in system performance and can be used to diagnose problems in the geodatabase. It is most often deployed as a web module available to administrators.

Oracle/SQL Server Indexing & Statistics

Purpose: The batch database indexing and statistics application rebuilds the indices and updates the statistics for all GIS tables to improve performance.

Benefits: Database management systems (DBMS's) determine the most efficient way to execute the queries sent to them based on database statistics. Therefore, for optimal performance of datasets created within an ArcSDE geodatabase, you need to keep the statistics current by frequently updating the database statistics.

Session Aging Report

Purpose: The Session Aging Report is a report that details out all outstanding sessions in the database organized by the number of days the sessions have been in progress.

Benefits: This is an important report for GIS management because performance will decrease as the number of sessions/designs in the system goes up. GIS management can use this report to see how long various sessions/designs have been sitting in their current status for a specified length of time. If a work request with a design version is found to have been sitting in the early design statues for too long, GIS management can contact engineering to see if that work request should be closed out or if it will be worked at some point in the future.

Permissions Report

Purpose: The Permissions Report details out each of the database edit/view roles and provide a list of users that have that role. Alternatively it can be configured to report on the delta changes from month to month.

Benefits: This report is used by management to review security access to the geodatabase.

System Interface Management

Purpose: Most often GIS implementations must maintain interfaces to many other enterprise systems. The batch system interface application checks a configuration file for the specific interfaces that will be executed. Each interface is run, the results logged, and any errors sent to a list of configured parties.For example, a CIS tracks attribute information for every site where services are installed. This information includes address and location information. The CIS contains transaction tables that accumulate changes to this site information during the day. Then, each night the transactions are moved from the CIS transaction table into the GIS Interface CIS Site table which contains current data for all CIS Site records. This information is then utilized within the GIS for querying, validation, reporting, and analysis.

Benefits: The batch system interface keeps the GIS synchronized with other enterprise systems.

ArcGIS Domain Sorting/Synchronization

Purpose: When developing ASP.Net applications the developer should use standard .Net controls to gather user input. In following standard .Net development concepts, these controls should be data-bound directly to a lookup table in the database. Unfortunately, Esri stores its domain values in a binary format that cannot be directly bound to standard COM or .Net controls. So, this domain synchronization application has been written to synchronize configured Esri domains into standard flat database tables on a nightly basis. In addition, Esri coded-value domains are not sorted in ArcGIS which results in inefficient editing by GIS Users. So, this domain sorting application has been written to sort coded-value domain descriptions. The application looks for a configuration file that lists the coded-value domains in the geodatabase to be sorted by the description field. For each coded-value domain listed the application updates the domain with sorted descriptions and associated codes.

Benefits: Synchronization of Esri domains to flat database tables supports ASP.Net development best practices by enabling user input controls to be data-bound directly to a lookup table in the database. Sorting of Esri coded-value domains description values improves the efficiency of GIS Users that regularly work with domain lists that contain several unsorted description values.


The Nightly Batch Suite is sold for a reasonable investment price and a minimal installation is required. Contact us to discuss how this valuable tool might provide more efficiency at your utility!