ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Workflow Manager (Classic) custom steps

Available with Standard or Advanced license.

Available with Workflow Manager license.

  • All Platforms library
  • ArcGIS Pro and ArcGIS Desktop only library
  • ArcGIS Desktop only library
  • Import/Launch Mapping Items step

ArcGIS Workflow Manager (Classic) Desktop provides several custom steps. The source code for each of these is provided as part of the developer kit. The following outlines the steps and what they can do.

All Platforms library

The All Platforms library contains steps that can be run in ArcMap, ArcCatalog, ArcGIS Pro, and ArcGIS Server. The following sections describe the steps, their arguments, and return codes.

AddJobHold—JTXSteps.AddJobHold

Adds a hold to the current job.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/holdType:<hold type>

The name of the hold type

Required

/holdComment:<string>

The comment to add for the hold type

Optional

Return codes

The following is a list of return codes:

  • 1 = Success
  • 0 = Failure

CheckAOI—JTXSteps.CheckAOI

Checks if a location of interest (LOI) exists for the current job.

Arguments

The step doesn't require any arguments.

Return codes

The following is a list of step return codes:

  • 1 = The job has an LOI.
  • 2 = The job does not have an LOI.

CleanUp—JTXSteps.CleanUp

Cleans up the job based on the arguments. Enable the Administration system settings to allow users to delete versions owned by other users. This will prompt for a user name and password.

Note:

When deleting a version owned by a different user, you must specify the geodatabase super user's credentials.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/version|v

Cleans up versions

Optional

/mxd|m

Cleans up MXDs

Optional

/attachments|a

Cleans up attachments

Optional

Return codes

The step returns 0 if the step was successful.

CloseJob—JTXSteps.CloseJob

Closes a job as a step, as opposed to it being a manual process once the workflow is completed.

Arguments

The step doesn't require any arguments.

Return codes

The step returns 0 if the step was successful.

CreateJob—JTXSteps.CreateJob

Creates a child job based on the arguments.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/jobtypename:<job type name>

The name of the job type

Required

/assigngroup:<group to assign to>

The group to whom the job will be assigned

Optional

/assignuser:<user to assign to>

The user to whom the job will be assigned

Optional

Return codes

The step returns 0 if the step was successful.

CreatePDF—JTXSteps.CreatePDF

Creates a PDF document of the job’s basemap and attaches it to the job.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/initdir:<initial directory>

The location to which to PDF will be saved.

Optional

/noattach

Don’t attach the PDF to the job.

Optional

/resolution:<dpi>

The resolution of the PDF.

Optional

Return codes

The step returns 0 if the step was successful.

CreateVersion—JTXSteps.CreateVersion

Creates the version for the job. The protection level of the version is specified by one of the following arguments: Version, Access, or Scope. The step supports the traditional data workspace and the feature service data workspace.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/scope:<public|private|protected>

The protection level of the version. The default is private.

Optional

Return codes

The step returns 0 if the step was successful.

ExecuteGPTool—JTXSteps.ExecuteGPTool

Runs a geoprocessing tool, model, or script without displaying the geoprocessing dialog box. The integer output from a tool can be used as a return code to guide the path of the workflow upon the tool's completion.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/toolboxpath:<toolboxpath>

The full path to the toolbox .tbx file and tool name

Required

/tool:<tool>

The display name of the tool in the toolbox

Required

/param:<ParamName>:<ParamValue>

The parameter to override on the tool (can be specified multiple times)

Optional

/attach

Attaches the log to the job once the tool has finished running

Optional

/outParam:<parameter name>

The output parameter to use as a return value

Optional

Return codes

The following is a list of step return codes:

  • 0 = Success
  • 1 = Cancel
Note:

When the /outParam argument is used, the success return code is the value of the specified geoprocessing tool’s output parameter and the Cancel return code is -1.

ExecuteSQL—JTXSteps.ExecuteSQL

Runs an SQL statement.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/database:<jtxsystem|data>

The database to which the query will be sent

Required

/sql:<sql command>

The SQL query to send to the database

Required

Return codes

The step returns 0 if the step was successful.

ExecuteURL—JTXSteps.ExecuteURL

Opens a URL without displaying a browser to show the response. For example, you can run a geoprocessing service or any other web service as a workflow step.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/url:<url>

The URL to open

Required

/timeout:<timeout in seconds>

The time-out for the request, in seconds

Optional

/proxy:<proxy>

The proxy server to use

Optional

/addjobcomment

Adds a comment to the job with the response

Optional

/postdata:<data to post>

The data to send when the URL is opened

Optional

Return codes

The step returns 200 if the step was successful.

ExecuteWorkflow—JTXSteps.ExecuteWorkflow

Runs another workflow associated with a job type.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/jobtype:<job type name>

The name of the job type.

Required

/donotuseaoi

Doesn’t use the job AOI.

Required

/donotuseversion

Doesn’t use the job version.

Optional

/donotcopyactivities

Doesn’t copy activities to the parent job’s history.

Optional

Return codes

The step returns 0 if the step was successful.

ReturnValue—JTXSteps.ReturnValue

Retrieves the value of the extended property or token passed, which is the return code for the next path in the workflow.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/value:<extended properties field>

The extended properties field from which you want to retrieve a return value

Required

Return codes

The step returns the value of the specified extended property field.

ReassignJob—JTXSteps.ReassignJob

Reassigns the job.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/assignType:<user|group>

Reassign the job to a user or a group.

Required

/assignTo:<user or group name>

The user or group to whom the job will be assigned

Required

Return codes

The step returns 0 if the step was successful.

SendNotification—JTXSteps.SendNotification

Sends a notification of the type specified by the argument.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/notifType:<type>

The type of notification to send

Required

Return codes

The step returns 0 if the step was successful.

SetVersion—JTXSteps.SetVersion

Sets the job's version to a named version. For example, set the job's version to “Quality Control version” to validate edits that were posted in that version. If there is no step argument, the job version will be reset to the original version. The step supports the traditional data workspace and the feature service data workspace.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/version:<versionName>

The version to use as the job version

Optional

Return codes

The step returns 0 if the step was successful.

UpdateExtentFeatureClass—JTXSteps.UpdateExtentFeatureClass

Updates a feature class with job information to provide visual status.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/fclass:<fully qualified feature class name>

The feature class to update (must be in the data geodatabase)

Required

/jobfield:<field name>

The field in which the job ID will be stored

Optional

/datefield:<field name>

The field in which the date and time will be stored

Optional

Return codes

The step returns 0 if the step was successful.

VersionExists—JTXSteps.VersionExists

Checks if the job already has a geodatabase version. The step supports the traditional data workspace and the feature service data workspace.

Arguments

The step doesn't require any arguments.

Return codes

The following is a list of step return codes:

  • 1 = Version exists
  • 2 = Version doesn't exist
  • 3 = No data workspace selected

ArcGIS Pro and ArcGIS Desktop only library

The ArcGIS Pro and ArcGIS Desktop only library contains steps that can only be run in ArcGIS Pro, ArcMap, and ArcCatalog. The following sections describe the steps, their arguments, and return codes.

AddAttachments—JTXDesktopSteps.AddAttachments

Adds a linked, embedded, or URL attachment to the job.

Arguments

The step doesn't require any arguments.

Return codes

The following is a list of return codes:

  • 1 = Success
  • 0 = Failure

CreateJobAdvanced—JTXDesktopSteps.CreateJobAdvanced

Creates a job and allows you to define the parent/child relationship with dependencies on the job. When creating a child job, the start date, due date, data workspace, and priority are copied from the parent job, while the job assignment is copied from the job type's default properties if a value is not specified in the step arguments. The step supports creating a version for the job with a traditional data workspace and a feature service data workspace. When the child job is set with a feature service data workspace, the parent version can only be sde.Default.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/jobtypename:<job type name>

The name of the job type.

Required

/assigngroup:<group to assign to>

The group to whom the job will be assigned.

Optional

/assignuser:<username to assign to>

The user to whom the job will be assigned.

Optional

/dependThisStep

Creates a dependency and holds the current job at this step.

Optional

/dependNextStep

Creates a dependency and holds the current job held at the next step in the workflow.

Optional

/dependStatus:<Status Type Name>

The name of the dependency status type (current job is held until new job reaches this status).

Optional

/useparentaoi

Uses the current job's AOI as the new job's AOI.

Optional

/aoiOverlapFeatureClassName:<fully qualified feature class name >

Creates new jobs based on the overlap between the current job's AOI and the specified feature class.

Optional

/numberJobs:<number of jobs to create>

The default number of jobs to create.

Optional

/createVersionSetting:<the version to use as the parent version>

The version to use when creating new jobs.

Optional

/assignVersionSetting:<the existing version the job will be assigned to>

The existing version to use when creating new jobs.

Optional

/setExtendedProps:<ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName=[JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]>; <ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName=[JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]>;...

The extended properties value will be set to one of the current job's extended properties values (specified by a JTX token) or to the given string value when creating new jobs.

To set multiple extended properties values, separate each entry with a semicolon.

Optional

/dueDate:<due date of the new job>

The due date for the new jobs.

Optional

/jobDuration:<duration of the new job>

The duration for the new jobs.

Optional

/child

Creates the new job as a child of the existing job.

Optional

Return codes

The following is a list of return codes:

  • 0 = Success
  • 1 = Failure

DefineAOI—JTXDesktopSteps.DefineAOI

Shows a tool to allow the user to define a location of interest.

Arguments

The step doesn't require any arguments.

Return codes

The following is a list of return codes:

  • 1 = Success
  • 0 = Failure

EditExtendedProperties—JTXDesktopSteps.EditExtendedProperties

Displays the job's one-to-one (1-1) extended properties as a pop-up form to allow the required properties to be defined. This step can be included multiple times in the workflow, with different extended properties to be opened at different stages of the workflow. This gives you the ability to choose only some extended properties configured for the job type to be displayed in the pop-up form. The extended properties can be chosen by opening the argument editor or by typing in the arguments box. All chosen properties honor the properties set on the job type, such as visible, editable, and so on. If no arguments are specified, all the extended properties chosen on the job type will be displayed when the steps are run. The argument editor contains all the tables and fields configured for all the job types in the repository; however, if properties are chosen that are not configured for the job type, they will not appear in the pop-up form. The argument is composed of the extended property table name and field name. For example, if you want to display the RequestorName<fieldName> field from the RequestorInformation table, the argument would be /Property: RequestorInformation.RequestorName.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/Property:<Property Name>

The extended property table name and field name

Required

Return codes

The step returns 1 if the step was successful.

Import/Launch Mapping Items—JTXDesktopSteps.LaunchArcMap

Starts ArcGIS Pro or ArcMap, resources layers to the job version, and zooms the map to the job's location of interest.

Arguments

Refer to the Import/Launch Mapping Items step section for more information on step arguments.

Return codes

The step returns 0 if the step was successful.

LaunchGPTool—JTXDesktopSteps.LaunchGPTool

Runs geoprocessing tools from a workflows. The integer output from a tool can be used as a return code to guide the path of the workflow upon the tool's completion.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/toolboxpath:<toolboxpath>

The full path to the toolbox .tbx file and tool name

Optional

/toolbox:<toolbox>

The name of the toolbox, if it’s in the system toolboxes

Optional

/tool:<tool>

The display name of the tool in the toolbox

Required

/param:<ParamName>:<ParamValue>

The parameter to override on the tool (can be specified multiple times)

Optional

/attach

Attaches the log to the job once the tool has finished running

Optional

/license:<enum value>

The license code for any additional licenses that should be used to run the tool

Optional

/outParam:<parameter name>

The output parameter to use as a return value

Optional

Return codes

The following is a list of step return codes:

  • 0 = Success
  • 1 = Cancel
Note:

When the /outParam argument is used, the success return code is the value of the specified tool’s output parameter and the Cancel return code is -1.

SelectDataWorkspace—JTXDesktopSteps.SelectDataWorkspace

Shows a form that allows you to pick the data workspace for your job from a list of preconfigured data workspaces.

Arguments

The step doesn't require any arguments.

Return codes

The following is a list of return codes:

  • 1 = Success
  • 0 = Failure

ArcGIS Desktop only library

The ArcGIS Desktop only library contains steps that can only be run from ArcMap and ArcCatalog. The following sections describe the steps, their arguments, and return codes.

CopyFile—JTXDesktopSteps.CopyFile

Copies a file from one location to another.

Arguments

The following table contains a list of step arguments:

ArgumentDescriptionArgument type

/src:<source file path>

The file to copy

Optional

/dest:<destination file path>

The destination for the file that’s being copied

Optional

/title:<file title>

The title for the file being copied

Optional

Return codes

The step returns 0 if the step was successful.

Import/Launch Mapping Items step

The expected behavior of the Import/Launch Mapping Items step with no arguments is detailed in the following table.

Job type map document defined?Launch mapping items with data workspace and versionLaunch mapping items with data workspace and no versionLaunch mapping items with no data workspace

Yes

ArcMap is opened using the map document defined. Layers are resourced to the job's version based on the feature class's short name. The map is zoomed to the area of interest.

Note:

The short name is the feature class name, not the fully qualified name. For example, Streets instead of NIS.Streets. Also note that no matter how the basemap was originally defined, any short name matches should be resourced.

This works the same as the scenario when a version exists, except the default version for the data workspace is used for resourcing the layers.

No changes are made to the layer sources. The map is zoomed to the LOI.

No

ArcMap opens with a blank document. In this case, since no map exists, there are no layers to resource. Once layers are added to the map, the Add Data button on the Workflow Manager toolbar will take you directly to the version defined for the job or the default version for the selected data workspace.

This works the same as the scenario when a version exists.

ArcMap opens with a blank document. The Add Data button on the Workflow Manager toolbar is unavailable. If an LOI exists for the job, the Zoom To LOI tool can be used.

This describes the expected behavior for the Import/Launch Mapping Items step provided with Workflow Manager (Classic).

Basemap layers are not repointed in the map opened by Workflow Manager (Classic).

Note:

The JTXMxLaunch.exe executable for opening ArcMap is no longer included with the Workflow Manager (Classic) installation. Upgrade any steps that use that utility to open ArcMap to use the custom step object JTXDesktopSteps.LaunchArcMap.

Caution:

If an ArcGIS Pro map (.mapx) is stored in the Workflow Manager (Classic) repository and an ArcGIS Pro map (.mapx), layout (.pagx), or web map stored in ArcGIS Online or Portal for ArcGIS is used with Job Types and steps configured for ArcGIS Desktop, it will not open and an error message will be displayed. Furthermore, if the step is run with a feature service data workspace in ArcGIS Desktop, it will not open and an error message will be displayed.

Argument descriptions

The Import/Launch Mapping Items step has many optional parameters available, allowing you to customize its execution for your needs without writing code.

Launch ArcMap dialog box with default behavior configuration
The Launch ArcMap argument editor and the step type Execution tab are shown with the default behavior configured.

Note:

The layers in the map must reference data from a data workspace in your Workflow Manager (Classic) system for the version and user connection information to be repointed. If the map layers reference data from a data workspace in your Workflow Manager (Classic) system, but there is no job version specified for the job, the map layers are repointed to the default database version for the data workspace. The map layers are not repointed in the following scenarios:

  • If the job map is not defined, a blank map will open because there are no layers to repoint.
  • If the step is configured to change only the version and the layers in a job map are not from a data workspace, the layers are displayed with a broken data source.
  • If the layers are not from a data workspace and are selected for repointing in the job type properties, the layers are displayed with a broken data source.
  • If the layers are not from a data workspace and are not selected for repointing in the job type properties, the layers are repointed to the default database version.

Learn more about maps and versioning

Descriptive nameArgument exampleBehavior

Zoom to LOI.

/aoifactor:3

or

/nozoomloi

With the default behavior, the map is panned to the job's AOI and zoomed by a factor of 1 to the shape's geometry.

Optionally, you can choose to not pan or zoom the map using the /nozoomloi option. Or you can zoom to the AOI with a greater zoom factor using the /aoifactor argument.

The zoom factor does not apply to a POI. For a single POI, the map will be zoomed to 1:2,000, and for multiple POIs, the map will zoom to their extent.

Do not change any connection information.

/norepoint

The default behavior, when /norepoint is not used, changes all the layers in the map to the current data workspace and, optionally, the job's version.

Change only the version for job's data workspace.

/changeversiononly

If you choose to use the /changeversiononly option, the version of the layers in the job type's map document will be changed. The data user and connection information will be left as they were originally configured. All layers from the data workspace will be repointed regardless of whether they are selected for repointing in the job type properties or not. The layers that are not from the data workspace are displayed with a broken data source.

Note:

When using individual logins, this option does not repoint the map layers and they point to the default version.

Save MXDs.

/nosavemxd

The default behavior, when the /nosavemxd argument is not used, saves the job's map document in the Workflow Manager (Classic) database. Thus, every time you open the job's map document using this step in the workflow, the last saved map from the database is retrieved.

However, if you choose to use the /nosavemxd option, the job's map document will not be saved in the Workflow Manager (Classic) database. Thus, if you change the extent of the job map and close it, the new extent will not be saved, and the next time, the map will still open with the original extent.

Note:

ArcMap displays a message to save the map every time a map is closed, but with /nosavemxd, the map is not saved even when you click Yes on the ArcMap message.

If your map documents are large, you may need to adjust the MAXBLOBSIZE SDE configuration setting.

This option also allows you to switch jobs in ArcMap without clearing out the map document.

Clip Data Frame to AOI.

/cliptoaoi

The default behavior, when the /cliptoaoi argument is not used, shows all the data in the map document that can be viewed.

When the /cliptoaoi option is used, the data frame in the job's map document is clipped to the shape of the AOI.

Note:

This does not create a definition query on the layers. All features in the layers on the map are still accessible through their respective tables.

Wait for ArcMap to close (suspend Workflow Manager (Classic)).

/nowait

The default Workflow Manager (Classic) application behavior, when the /nowait argument is not used, is to hide while the ArcMap process is running. This means that the user cannot interact with the Workflow Manager (Classic) application while working in ArcMap.

When the /nowait option is used, ArcMap is launched in a separate process, allowing the user to interact with the Workflow Manager (Classic) application while ArcMap is running.

Note:

This option was added because the Launch process asynchronously option for workflow steps is not available for Custom Step Objects.

Use existing ArcMap session.

/useexisting

The default behavior, when the /useexisting argument is not configured, is to open a new ArcMap session during the execution of the step.

With the /useexisting option, if an ArcMap session is open when the step is run, Workflow Manager (Classic) opens the job's map document in that existing session. If there isn't an ArcMap session open, Workflow Manager (Classic) will open a new one.

Store MXDs in shared location.

/mxdfolder:"D:\Data\JTXMapDocuments"

With the default behavior, no alternative location is configured, and the job's map documents are stored in the Workflow Manager (Classic) database. If your map documents are large, you may need to adjust the MAXBLOBSIZE SDE configuration setting.

If you choose to store the map documents in an alternative location, Workflow Manager (Classic) will not save the map documents in the database but will save them to that location for future use.

Use Alternative MXD.

/mxd:"D:\Data\JTXTemplates\Editing.mxd"

With the default behavior, the step uses the job type's default map document as the basemap document for LaunchArcMap.

If you choose to use this option, Workflow Manager (Classic) will load the map document or template configured for the argument.

Note:

ArcGIS Pro maps (.mapx) can be used as an alternative to an MXD for steps configured for ArcGIS Pro.

Run ArcMap Command.

/guid:esriArcMapUI.AddDataCommand

Once ArcMap has finished loading, the specified command runs.

Load Task Assistant workflow.

/taworkflow:"LotSplit"

With this argument configured, once ArcMap is opened, Workflow Manager (Classic) opens the Task Assistant workflow configured. The workflow name passed in is the alias of the Task Assistant workflow stored in the Workflow Manager (Classic) system.

Multiple workflows can be passed in by adding additional /taworkflow entries or by choosing the workflows in the argument editor.

Store Task Assistant History in Job History.

/storetahistory

With this argument configured, the Task Assistant workflow is added to the job history by default. You can still choose to attach this as a text file using the Workflow Manager (Classic) tools.

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2021 Esri. | Privacy | Legal