Available with Standard or Advanced license.
Available with Workflow Manager license.
ArcGIS Workflow Manager for Desktop provides several custom steps. The source code for each of these is provided as part of the developer kit. The following outlines the process steps and what they can do.
Steps library
The Steps library contains steps that can be executed in both the desktop and server environments. The steps and their arguments and return codes are outlined below.
- AddJobHoldReturn codes:
JTXSteps.AddJobHold
Adds a hold to the current job.
Hold Type Name: /holdType:<hold type> (required) Hold Comment: /holdComment:<string> (optional)
- 1 = Success
- 0 = Failure
- CheckAOIReturn codes:
JTXSteps.CheckAOI
Checks if a location of interest (LOI) exists for the current job.
No Argument
- 1 = If job has an LOI
- 2 = If job does not have an LOI
- CleanUpReturn codes:
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.
Version Cleanup: /version|v (optional) MXD Cleanup: /mxd|m (optional) Attachment Cleanup: /attachments|a (optional)
- 0 = Success
- CloseJobReturn codes:
JTXSteps.CloseJob
Closes a job as a step, as opposed to it being a manual process once the workflow is completed.
No Argument
- 0 = Success
- CreateJobReturn codes:
JTXSteps.CreateJob
Creates a child job based on the arguments.
Job Type ID: Job Type Name: /jobtypename:<job type name> (required) Assign to Group: /assigngroup:<group to assign to> (optional) Assign to User: /assignuser:<user to assign to> (optional) Job Type ID: /jobtypeid:<job type ID> (deprecated)
- 0 = Success
- CreatePDFReturn codes:
JTXSteps.CreatePDF
Creates a PDF document of the job's basemap and attaches it to the job.
Initial Directory: /initdir:<initial directory> (optional) Do not Attach File To Job: /noattach (optional) Resolution (dpi): /resolution:<dpi> (optional) Attach File To Job: /attach (deprecated)
- 0 = Success
- CreateVersionReturn codes:
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.
/scope:<public|private|protected> (optional)[default:private]
- 0 = Success
- ExecuteGPToolReturn codes:
JTXSteps.ExecuteGPTool
Executes 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.
Toolbox Path (explicit full path to the tbx file combined with toolbox name): /toolboxpath:<toolboxpath> (required) Display Name of the Tool in the toolbox: /tool:<tool> (required) Parameter to override on the tool (can be specified multiple times): /param:<ParamName>:<ParamValue> (optional) Flag to attach the log to the job once the tool has completed: /attach:(optional) Output parameter to use as return value: /outParam:<parameter name>
- 0 = Success
- 1 = Failure
- ExecuteSQLReturn codes:
JTXSteps.ExecuteSQL
Executes an SQL statement.
Database to Send SQL: /database:<jtxsystem|data> (required)SQL Command: /sql:<sql command>
- 0 = Success
- ExecuteURLReturn codes:
JTXSteps.ExecuteURL
Executes a URL without displaying a browser to show the response.For example, you can execute a geoprocessing service or any other web service as a workflow step.
URL to execute: /url:<url> (required) Request Timeout: /timeout:<timeout in seconds> (optional) Proxy Server: /proxy:<proxy> (optional) Flag to add a comment to the job with the response: /addjobcomment(optional) Post Data: /postdata:<data to post> (optional)
- 200 = Success
- ExecuteWorkflowReturn codes:
JTXSteps.ExecuteWorkflow
Executes another workflow associated with a job type.
Job Type Name: /jobtype:<job type name> (required)Flag to not use AOI: /donotuseaoi (optional)Flag to not use version: /donotuseversion (optional)Flag to not copy activities to the parent job's history: /donotcopyactivities (optional)
- 0 = Success
- 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.
Return value: /value:<Extended properties field> (required):
- ReassignJobReturn codes:
JTXSteps.ReassignJob
Reassigns the job.
Assign Type: /assignType:<user|group> (required) Assign To: /assignTo:<user or group name> (required)
- 0 = Success
- SendNotificationReturn codes:
JTXSteps.SendNotification
Sends a notification of the type specified by the argument.
/notifType:<type> (required)
- 0 = Success
- SetVersionReturn codes:
JTXSteps.SetVersion
Sets the job's version to a named version. For example, set the job's version to QC 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.
Version to use as job version: /version:<versionName> (optional)
- 0 = Success
- UpdateExtentFeatureClassReturn codes:
JTXSteps.UpdateExtentFeatureClass
Updates a feature class with job information to provide visual status.
Feature Class to Update (must be in data geodatabase): /fclass:<fully qualified feature class name> (required) Job ID Field (field to put job ID in): /jobfield:<field name> (optional) Date Field (field to put date/time): /datefield:<field name> (optional)
- 0 = Success
- VersionExistsReturn codes:
JTXSteps.VersionExists
Checks if the job already has a geodatabase version.The step supports the traditional data workspace and the feature service data workspace.
No Argument
- 1 = Version exists
- 2 = Version doesn't exist
- 3 = No data workspace selected
DesktopSteps library
The DesktopSteps library contains steps that can be executed only from the desktop because of the pop-up user interfaces. The steps and their arguments and return codes are outlined below.
- AddAttachmentsReturn codes:
JTXDesktopSteps.AddAttachments
Adds a linked, embedded, or URL attachment to the job.
No Argument
- 1 = Success
- 0 = Failure
- CopyFileReturn codes:
JTXDesktopSteps.CopyFile
Copies a file from one location to another.
Source File: /src:<source file path> (optional) Destination File: /dest:<destination file path> (optional) File Title: /title:<file title> (optional)
- 0 = Success
- CreateJobAdvancedReturn codes:
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.
Job Type Name: /jobtypename:<job type name>(required) Assign To Group: /assigngroup:<group to assign to>(optional) Assign To User: /assignuser:<username to assign to> (optional) Dependency will be created and current job held at this step: /dependThisStep (optional) Dependency will be created and current job held at the next step in the workflow: /dependNextStep (optional) Dependency status (current job held until new job reaches this status): /dependStatus:<Status Type Name> (optional) Use the current job's AOI as the new job's AOI: /useparentaoi (optional) Create new jobs based on the overlap between the current job's AOI and this feature class: /aoiOverlapFeatureClassName:<fully qualified feature class name >(optional) Default number of jobs to create: /numberJobs:<number of jobs to create> (optional) A version will be created for the new job(s) based on this selection: /createVersionSetting:<the version to use as the parent version> (optional) A version will be assigned to the new job(s) based on this selection: /assignVersionSetting:<the existing version the job will be assigned to>(optional) New job(s) extended properties value will be set to one of the current job's extended properties values specified by JTX Token) or to the given string value. To set multiple extended properties values at once separate each entry by a semicolon: /setExtendedProps: <ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName= [JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]>; <ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName= [JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]>;...(optional) Due date of the new job: /dueDate:<due date of the new job>(optional) Job duration: /jobDuration:<duration of the new job>(optional) New Job will be created as a child of the existing job: /child(optional)
- 0 = Success
- 1 = Failure
- DefineAOIReturn codes:
JTXDesktopSteps.DefineAOI
Shows a tool to allow the user to define a location of interest.
No Argument
- 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 user to provide required properties. 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 on the job type to be displayed in the pop-up. The extended properties can be selected by opening the argument editor or by typing in the arguments box. All properties selected honor the properties set on the job type, such as visible, editable, and so on. If no arguments are specified, all the extended properties selected on the job type will be displayed when the steps are run.The argument editor displays all the tables and fields configured for all the job types in the repository; however, if properties are selected that are not configured on the job type, they will not be displayed 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 field from the RequestorInformation table, the argument would be /Property: RequestorInformation.RequestorName.
/Property:<Property Name>
- 1 = Success
- LaunchArcMap
For the step JTXDesktopSteps.LaunchArcMap, when executed, ArcMap will start. The layers will be resourced to the job version and the map will be zoomed to the job's location of interest.
Learn more about step arguments for the LaunchArcMap step
Return codes:
- 0 = Success
- LaunchGPToolReturn codes:
JTXDesktopSteps.LaunchGPTool
Executes geoprocessing tools from your 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.
Toolbox Path (explicit path to the tbx file): /toolboxpath:<toolboxpath> (optional) Toolbox Name (if in system toolboxes): /toolbox:<toolbox> (optional) Display Name of the Tool in the toolbox: /tool:<tool> Parameter to override on the tool (can be specified multiple times): /param:<ParamName>:<ParamValue> (optional) Flag to attach the log to the job once the tool has completed: /attach (optional) License enumeration code for any additional license that should be used in the execution of the tool: /license:<enum value> (optional) Output parameter to use as return value: /outParam:<parameter name>
- 1 = Success
- 0 = Cancel
- SelectDataWorkspaceReturn codes:
JTXDesktopSteps.SelectDataWorkspace
Shows a form that allows you to pick the data workspace for your job from a list of already configured data workspaces.
No Argument
- 1 = Success
- 0 = Failure
The LaunchArcMap step
The expected behavior of the LaunchArcMap step with no arguments is detailed in the following table.
Job type map document defined? | LaunchArcMap with data workspace and version | LaunchArcMap with data workspace and no version | LaunchArcMap 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. | 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. |
Basemap layers are not repointed in the map opened by Workflow Manager.
Argument descriptions
The LaunchArcMap step has many optional parameters available, allowing you to customize its execution for your needs without writing code.
Descriptive name | Argument example | Behavior |
---|---|---|
Zoom to LOI. |
or
| 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. Opt |