Setting a variable in a PowerShell script and passing the value to the next job.
search cancel

Setting a variable in a PowerShell script and passing the value to the next job.

book

Article ID: 188030

calendar_today

Updated On:

Products

ESP Workload Automation

Issue/Introduction

Many times it is necessary to pass the output of one job into the next job.   This process uses the ESPmgr command to set the value in the script. It then uses the WOBDATA  statement to retrieve the value and pass it into the next script as an ARG. 

Environment

All Releases : ESP WORKLOAD AUTOMATION

Resolution

APPL MYAPP                                                           
                                                                        
/*POWERSHELL
/*DATA1 - Creates a variable named MYVAR and assigns a value of "DUMMY" 
/*SETVAR - The script sets a new value for MYVAL.                       
/*USEVAR - job retrieves the value and passes it as an argument into the
/*         script                                                       
                                                                        
DATA_OBJECT DATA1                                                       
  SETVAR MYVAR='DUMMY'                                                  
ENDJOB                                                                  
                                                                        
NT_JOB SETVAR                                                           
  RUN ANY                                                               
  AGENT MYAGENT                                                           
  CMDNAME C:\WINDOWS\SYSTEM32\WINDOWSPOWERSHELL\V1.0\POWERSHELL.EXE     
  ARGS C:\Users\Administrator\Documents\Scripts\ESPMGR.ps1 -            
       "%ESPAPPL..%ESPAPGEN"                                            
  EXITCODE 5 FAILURE                                                    
  RELEASE USEVAR                                                        
ENDJOB                                                                  
                                                                        
NT_JOB USEVAR                                                           
  VALUE = WOBDATA('DATA1','MYVAR')                                      
  RUN ANY                                                               
  AGENT MYAGENT                                                           
  CMDNAME C:\WINDOWS\SYSTEM32\WINDOWSPOWERSHELL\V1.0\POWERSHELL.EXE   
  ARGS /C C:\Users\Administrator\Documents\Scripts\test_args.ps1 -    
         %VALUE                                                      
ENDJOB                                                                

*************************************************************************************************
ESPMGR.ps1
*************************************************************************************************
Set-Location Env:

$APPLGEN = $args[0]
write-host "APPLGEN $APPLGEN"

$Env:ESPAPPLMGR = "name"
$Env:ESPAGENTDIR = "C:\Program Files\CA\WA Agent"

Get-ChildItem ESPAPPLMGR
Start-Process -NoNewWindow -FilePath "C:\Program Files\CA\WA Agent\ESPmgr.exe" -ArgumentList "DATA1/$APPLGEN/MAIN ACTION SET MYVAR(abcde)"

Start-Sleep -s 5

*************************************************************************************************
USEVAR powershell script to show the value of the argument that was passed in.
*************************************************************************************************
Set-Location Env:

$ARGS1 = $args[0]
write-host "ARGS1 $ARGS1"

Start-Sleep -s 10

Additional Information

ESPmgr command

https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-mainframe-software/automation/ca-workload-automation-esp-edition/12-0/reference/commands/espmgr-command-send-message-from-agent-version-2-0-or-higher.html

 

WOBDATA statement

https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-mainframe-software/automation/ca-workload-automation-esp-edition/12-0/reference/statements/wobdata-statement-retrieve-data-from-workload-object.html