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

WorkflowExecutionResult

  • Summary
  • Discussion
  • Properties
  • Code sample

Summary

The WorkflowExecutionResult object provides the result of executing a step in the workflow.

Discussion

The WorkflowExecutionResult object provides the return code, which indicates the status of the step's execution. Each step has its own valid return codes and they can be used to guide the path of the workflow.

Properties

PropertyExplanationData Type
returnCode
(Read Only)

The code returned after executing a step in the workflow. It indicates whether the step was successful or failed and may be used to drive the workflow execution.

Integer

Code sample

WorkflowExecutionResult example

The following script shows how a return code can be obtained from a step's execution.

import arcpy
import sys
import traceback


# Define the callback response function. In this case it will prompt the user using the console to respond.
def callback(question, responses):

    # Print out the expected responses
    for resp in responses:
        print("[%i] %s" + (resp[1], resp[0]))

    # Prompt the user to respond
    val = int(input("%s - %s: " % (question[1], question[0])))

    # Return their response. Currently only returning the value, but could also return a note (for questions) and the name of the response
    return val, "", ""


# Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

# Get a Job for Execution
job = conn.getJob(77601)

try:
    # Execute the current Step in the Job - a LaunchArcmap step without Proceed to Next enabled
    result = job.executeStep(callback=callback)

    # A Launch ArcMap step will not finish automatically it will be complete after the user indicates it is.
    if not result.finished:
        t = input("Please press any key and hit enter when finished step") 

        # Finish the step and Mark as Complete
        result.finishStep(callback=callback) 
        job.markStepAsComplete(callback=callback)

        # Run the next step in the workflow
        result = job.executeStep(callback=callback)

    print("Executing a 2nd step returned %i" % result.returnCode)
    
    # Mark the step as complete
    job.markStepAsComplete(callback=callback) 

except wmx.WorkflowExecutionStepError as e:
    print("Step failed to execute:")
    print("-"*60)
    traceback.print_exc()

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