ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

438
ActiveBatch ® Reference Manual Version 6 The Cross-Platform Enterprise Job Management and Scheduling System Advanced Systems Concepts, Inc. http://www.advsyscon.com

Transcript of ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Page 1: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual Version 6

The Cross-Platform Enterprise Job Management and Scheduling System

Advanced Systems Concepts, Inc. http://www.advsyscon.com

Page 2: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

V6 SP2: January 2008 First Printing V6: April 2007 First Printing V5: January 2005 First Printing V4: September 2002

First Printing V3: January 1999

The information in this document is subject to change without notice and should not be construed as a commitment by Advanced Systems Concepts, Inc. (ASCI). ASCI assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under license, and may only be used or copied in accordance with the terms of such license. The terms and conditions of the license are furnished with the product in both hard copy as well as electronic form.

ASCI logo, ActiveBatch and XLNT are registered trademarks of Advanced Systems Concepts, Inc. ASCI, ActiveBatch logo and XLNT logo are trademarks of Advanced Systems Concepts, Inc. Microsoft, Windows, Windows NT and Systems Management Server are trademarks of Microsoft Corporation. Oracle is a registered trademark of the Oracle Corporation. Intel is a registered trademark of the Intel Corporation. Crystal Reports is a trademark of Business Intelligence. Other marks, as indicated, are owned by their respective companies.

Copyright © 1999-2008, Advanced Systems Concepts, Inc., Parsippany, New Jersey, 07054 All Rights Reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage and retrieval system, without the written permission of Advanced Systems Concepts, Inc.

Page 3: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

1

Table of Contents

1  INTRODUCTION ............................................................................................................................................................ 15 

1.1  PRODUCT COMPONENTS ............................................................................................................................................. 16 

2  ACTIVEBATCH TERMS AND CONCEPTS .............................................................................................................. 17 

2.1  ARCHITECTURE ........................................................................................................................................................... 18 2.2  NAMESPACE ................................................................................................................................................................ 19 2.3  OBJECTS ..................................................................................................................................................................... 19 

2.3.1  Reference ............................................................................................................................................................ 19 2.3.2  Queue ................................................................................................................................................................. 19 2.3.3  Plan .................................................................................................................................................................... 20 2.3.4  Job ...................................................................................................................................................................... 20 2.3.5  Variables and Properties ................................................................................................................................... 21 2.3.6  Triggers .............................................................................................................................................................. 21 

2.3.6.1  Schedule ........................................................................................................................................................................... 21 2.3.6.2  Events .............................................................................................................................................................................. 21 

2.3.7  Constraints ......................................................................................................................................................... 22 2.3.7.1  Calendar ........................................................................................................................................................................... 22 2.3.7.2  Job/Plan Instance ............................................................................................................................................................. 22 2.3.7.3  File ................................................................................................................................................................................... 22 2.3.7.4  Time ................................................................................................................................................................................. 22 2.3.7.5  Resource .......................................................................................................................................................................... 22 2.3.7.6  Variable ........................................................................................................................................................................... 22 

2.3.8  Alert Object ........................................................................................................................................................ 22 2.3.9  User Account Object .......................................................................................................................................... 22 

3  USING ACTIVEBATCH WITH ABATADMIN .......................................................................................................... 25 

3.1  ABATADMIN TERMS AND CONCEPTS ........................................................................................................................ 26 3.1.1  Bars, Panes and Views ....................................................................................................................................... 29 3.1.2  Menu Operations ................................................................................................................................................ 30 3.1.3  Object Selection ................................................................................................................................................. 30 3.1.4  ActiveBatch Icons ............................................................................................................................................... 30 3.1.5  ActiveBatch Hot-Keys ........................................................................................................................................ 32 

3.1.5.1  Global Keys (applies to all views) ................................................................................................................................... 32 3.1.5.2  Operators/Designers Tree (a.k.a. Navigation) .................................................................................................................. 32 3.1.5.3  Report Lists (Instances / Daily Activity / Browse) .......................................................................................................... 32 

3.1.6  ActiveBatch Error Messages .............................................................................................................................. 33 3.1.7  Property Dialogs ................................................................................................................................................ 34 

3.2  NAVIGATION ............................................................................................................................................................... 35 3.2.1  Object/View Navigation ..................................................................................................................................... 35 

3.2.1.1  Daily Activity .................................................................................................................................................................. 36 3.2.1.2  Gantt Chart ...................................................................................................................................................................... 37 3.2.1.3  Runbook ........................................................................................................................................................................... 38 3.2.1.4  System View .................................................................................................................................................................... 39 3.2.1.5  Queue Counters View ...................................................................................................................................................... 40 3.2.1.6  Instance View .................................................................................................................................................................. 41 3.2.1.7  Design View .................................................................................................................................................................... 42 

3.2.2  Administration .................................................................................................................................................... 43 3.2.2.1  Navigation – Administration ............................................................................................................................................ 43 3.2.2.2  ActiveBatch Services ....................................................................................................................................................... 43 3.2.2.3  Active Directory .............................................................................................................................................................. 43 3.2.2.4  High Availability Manager .............................................................................................................................................. 43 3.2.2.5  Policies and Configuration ............................................................................................................................................... 44 

3.3  REPORTING FACILITY ................................................................................................................................................. 45 3.4  SLIDER NOTIFICATION ................................................................................................................................................ 46 

Page 4: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

2

3.5  TOOLS ......................................................................................................................................................................... 47 3.5.1  Refresh and Refresh Pane .................................................................................................................................. 47 3.5.2  WMI Updates ..................................................................................................................................................... 47 3.5.3  Reset ................................................................................................................................................................... 47 3.5.4  Search ................................................................................................................................................................ 47 3.5.5  Options ............................................................................................................................................................... 49 

3.5.5.1  Options – General ............................................................................................................................................................ 49 3.5.5.2  Options – Runbook .......................................................................................................................................................... 51 3.5.5.3  Options – Gantt ................................................................................................................................................................ 52 3.5.5.4  Options – System View ................................................................................................................................................... 53 3.5.5.5  Options – Print ................................................................................................................................................................. 54 3.5.5.6  Options – Notification...................................................................................................................................................... 55 3.5.5.7  Options – User Role Panes .............................................................................................................................................. 56 

3.6  HELP ........................................................................................................................................................................... 57 3.7  ABATADMIN AND WMI ............................................................................................................................................ 58 

4  GETTING STARTED WITH ACTIVEBATCH .......................................................................................................... 59 

4.1  STARTING THE ACTIVEBATCH ADMIN APPLICATION .................................................................................................. 59 4.2  LEAVING ACTIVEBATCH ADMIN APPLICATION .......................................................................................................... 60 4.3  JOB SCHEDULER ......................................................................................................................................................... 61 

4.3.1  Connecting to a Job Scheduler .......................................................................................................................... 61 4.3.1.1  Basic Connection ............................................................................................................................................................. 61 4.3.1.2  Advanced Connection ...................................................................................................................................................... 62 4.3.1.3  Firewall Connection ......................................................................................................................................................... 63 

4.3.2  Disconnecting from a Job Scheduler ................................................................................................................. 64 4.3.3  Job Scheduler Licensing .................................................................................................................................... 64 4.3.4  Find Objects ....................................................................................................................................................... 65 

4.3.4.1  Search .............................................................................................................................................................................. 65 4.3.4.2  Object in Tree .................................................................................................................................................................. 65 4.3.4.3  View Property Sheet of Object ........................................................................................................................................ 65 

4.3.5  Job Scheduler Properties ................................................................................................................................... 66 4.3.5.1  Variables .......................................................................................................................................................................... 67 4.3.5.2  Alerts ............................................................................................................................................................................... 68 4.3.5.3  Counters ........................................................................................................................................................................... 69 4.3.5.4  Audits .............................................................................................................................................................................. 70 4.3.5.5  History ............................................................................................................................................................................. 71 4.3.5.6  Security ............................................................................................................................................................................ 72 

5  DESIGNING THE ACTIVEBATCH SYSTEM ........................................................................................................... 73 

5.1  JOB SCHEDULER NAMESPACE ..................................................................................................................................... 73 5.2  COMMON OBJECT PROPERTIES ................................................................................................................................... 74 5.3  QUEUES ...................................................................................................................................................................... 76 

5.3.1  Creating an Execution Queue ............................................................................................................................ 76 5.3.1.1  Queue – General .............................................................................................................................................................. 77 5.3.1.2  Queue – Properties ........................................................................................................................................................... 78 5.3.1.3  Execution Queue – Properties .......................................................................................................................................... 79 5.3.1.4  Execution Queue – Characteristics .................................................................................................................................. 81 5.3.1.5  Queue – Alerts ................................................................................................................................................................. 82 5.3.1.6  Queue – Counters............................................................................................................................................................. 84 5.3.1.7  Queue – Audits ................................................................................................................................................................ 85 5.3.1.8  Queue – Security .............................................................................................................................................................. 86 5.3.1.9  Add Security Dialog ........................................................................................................................................................ 88 5.3.1.10  Add User Characteristic (Queue) ..................................................................................................................................... 89 

5.3.2  Creating a Generic Queue ................................................................................................................................. 90 5.3.3  Associating/Disassociating a Member Execution Queue ................................................................................... 92 5.3.4  Modifying a Queue ............................................................................................................................................. 92 5.3.5  Built-in Queues .................................................................................................................................................. 93 5.3.6  VariableQueue ................................................................................................................................................... 93 

Page 5: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

3

5.3.7  OnDemand Queue .............................................................................................................................................. 93 5.4  JOBS AND PLANS ......................................................................................................................................................... 95 

5.4.1  What is a Job? .................................................................................................................................................... 95 5.4.2  What is a Plan? .................................................................................................................................................. 95 

5.5  PLAN DEFINITION ....................................................................................................................................................... 96 5.5.1  Plan – General ................................................................................................................................................... 96 5.5.2  Plan – Variables................................................................................................................................................. 98 5.5.3  Plan – Triggers/Scheduling ................................................................................................................................ 99 5.5.4  Plan – Triggers/Event ...................................................................................................................................... 101 5.5.5  Plan – Constraints/General ............................................................................................................................. 102 5.5.6  Plan – Constraints/Date-Time ......................................................................................................................... 103 5.5.7  Plan – Execution/General ................................................................................................................................ 104 5.5.8  Plan – Monitoring/Run-Time ........................................................................................................................... 105 5.5.9  Plan – Alerts .................................................................................................................................................... 107 5.5.10  Plan – Completion – Properties ....................................................................................................................... 108 5.5.11  Plan – Completion – Completion Rule ............................................................................................................. 110 5.5.12  Plan – Completion Rule ................................................................................................................................... 111 5.5.13  Plan – Completion – Completion Triggers ...................................................................................................... 112 5.5.14  Plan – Counters ............................................................................................................................................... 113 5.5.15  Plan – Audits .................................................................................................................................................... 114 5.5.16  Plan – History .................................................................................................................................................. 115 5.5.17  Plan – Security ................................................................................................................................................. 116 5.5.18  Plan – Policies ................................................................................................................................................. 118 

5.5.18.1  Defaults .......................................................................................................................................................................... 118 5.5.18.2  Auditing ......................................................................................................................................................................... 119 

5.5.19  Plans: How Best to Organize your Objects ...................................................................................................... 124 5.5.20  Publishing a Plan ............................................................................................................................................. 127 

5.6  JOB DEFINITION ........................................................................................................................................................ 128 5.6.1  Batch Job Security Requirements ..................................................................................................................... 128 5.6.2  Batch Job Files and Run-Time Considerations ................................................................................................ 130 5.6.3  Job Types ......................................................................................................................................................... 132 

5.6.3.1  E-Mail ............................................................................................................................................................................ 132 5.6.3.2  FileSystem ..................................................................................................................................................................... 132 5.6.3.3  FTP/SFTP ...................................................................................................................................................................... 132 5.6.3.4  Job Library ..................................................................................................................................................................... 132 5.6.3.5  Process ........................................................................................................................................................................... 132 5.6.3.6  Script .............................................................................................................................................................................. 132 

5.6.4  Creating a Job .................................................................................................................................................. 133 5.6.4.1  Job – General ................................................................................................................................................................. 134 5.6.4.2  Job – Job Properties ....................................................................................................................................................... 136 

5.6.4.2.1  Process Job Properties .............................................................................................................................................. 136 5.6.4.2.2  E-Mail Job Properties .............................................................................................................................................. 140 5.6.4.2.3  FTP/SFTP Job Properties ......................................................................................................................................... 141 5.6.4.2.4  FileSystem Job Properties ........................................................................................................................................ 142 5.6.4.2.5  Jobs Library Properties ............................................................................................................................................ 144 5.6.4.2.6  Script Job Properties ................................................................................................................................................ 145 

5.6.4.3  Job – Generic Queue Properties ..................................................................................................................................... 147 5.6.4.3.1  Job – Machine Characteristics ................................................................................................................................. 148 5.6.4.3.2  Job – User Characteristics ........................................................................................................................................ 150 

5.6.4.4  Job – Variables .............................................................................................................................................................. 151 5.6.4.5  Job – Triggers/Scheduling ............................................................................................................................................. 154 5.6.4.6  Job – Triggers/Event ...................................................................................................................................................... 156 5.6.4.7  Job – Constraints/General .............................................................................................................................................. 157 5.6.4.8  Job – Constraints/Date-Time ......................................................................................................................................... 159 5.6.4.9  Job – Execution/General ................................................................................................................................................ 161 5.6.4.10  Job – Execution/User Credentials .................................................................................................................................. 163 5.6.4.11  Job – Execution/Logging ............................................................................................................................................... 165 5.6.4.12  Job – Monitoring/Run-Time .......................................................................................................................................... 167 5.6.4.13  Job – Monitoring/CPU-Time ......................................................................................................................................... 169 

Page 6: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

4

5.6.4.14  Job – Alerts .................................................................................................................................................................... 171 5.6.4.15  Job – Completion/Properties .......................................................................................................................................... 172 5.6.4.16  Job – Completion/Completion Triggers ......................................................................................................................... 174 5.6.4.17  Job – Counters ............................................................................................................................................................... 175 5.6.4.18  Job – Audits ................................................................................................................................................................... 176 5.6.4.19  Job – History .................................................................................................................................................................. 177 5.6.4.20  Job – Security ................................................................................................................................................................ 178 5.6.4.21  Job – Add Security Dialog ............................................................................................................................................. 180 

5.7  JOBS LIBRARY .......................................................................................................................................................... 181 5.7.1  Job Type ........................................................................................................................................................... 181 5.7.2  Job Type Properties ......................................................................................................................................... 183 5.7.3  Job Step ............................................................................................................................................................ 191 5.7.4  Context Variables ............................................................................................................................................. 192 

5.8  MODIFYING/VIEWING PLAN AND JOB PROPERTIES ................................................................................................... 193 5.9  PLAN AND JOB INSTANCE ......................................................................................................................................... 194 

5.9.1  View Batch Run ................................................................................................................................................ 195 5.9.1.1  List View ....................................................................................................................................................................... 195 5.9.1.2  Gantt View ..................................................................................................................................................................... 196 5.9.1.3  Graphical View .............................................................................................................................................................. 197 

5.9.2  Instance ............................................................................................................................................................ 198 5.9.2.1  History ........................................................................................................................................................................... 198 5.9.2.2  Variables ........................................................................................................................................................................ 200 5.9.2.3  Audits ............................................................................................................................................................................ 203 5.9.2.4  Log ................................................................................................................................................................................. 204 5.9.2.5  Properties ....................................................................................................................................................................... 205 

5.10  REFERENCE OBJECTS ................................................................................................................................................ 206 5.10.1  Reference – General Properties ....................................................................................................................... 208 5.10.2  Reference – Properties ..................................................................................................................................... 209 

5.11  PLAN AND JOB OPERATIONS FOR DESIGNERS ........................................................................................................... 210 5.11.1  Drag and Drop ................................................................................................................................................. 210 5.11.2  Show Dependent Objects .................................................................................................................................. 211 5.11.3  Copy/Paste Object ............................................................................................................................................ 212 5.11.4  Cut/Paste Object .............................................................................................................................................. 212 5.11.5  Delete a Plan or Job ........................................................................................................................................ 212 5.11.6  Hold/ Release a Plan or Job ............................................................................................................................ 213 5.11.7  Export/Import Objects ...................................................................................................................................... 214 

5.11.7.1  Export ............................................................................................................................................................................ 214 5.11.7.2  Import ............................................................................................................................................................................ 215 

5.11.8  Create Trigger Script ....................................................................................................................................... 215 5.11.9  Take Ownership ............................................................................................................................................... 215 5.11.10  Revision History ............................................................................................................................................... 216 

5.12  VARIABLES ............................................................................................................................................................... 218 5.12.1  Definition of Variables ..................................................................................................................................... 218 5.12.2  Use of Variables in Jobs and Plans ................................................................................................................. 218 5.12.3  Active Variable Data Sources .......................................................................................................................... 219 5.12.4  Built-in ActiveBatch Variables ......................................................................................................................... 220 5.12.5  Advanced Variable Usage ................................................................................................................................ 222 

5.13  TRIGGERS ................................................................................................................................................................. 223 5.13.1  Schedule Definition .......................................................................................................................................... 223 

5.13.1.1  Schedule – General ........................................................................................................................................................ 225 5.13.1.2  Schedule – Time Specification ...................................................................................................................................... 226 5.13.1.3  Schedule – Day Specification/General ........................................................................................................................... 227 5.13.1.4  Schedule – Exact Dates .................................................................................................................................................. 229 5.13.1.5  Schedule – Range Specification ..................................................................................................................................... 230 5.13.1.6  Schedule – Audits .......................................................................................................................................................... 231 5.13.1.7  Schedule – Security ....................................................................................................................................................... 232 5.13.1.8  Copying a Schedule ....................................................................................................................................................... 234 5.13.1.9  Editing a Schedule ......................................................................................................................................................... 234 

Page 7: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

5

5.13.1.10  Deleting a Schedule ....................................................................................................................................................... 234 5.13.1.11  Associate/Disassociate ................................................................................................................................................... 235 

5.13.2  Event Triggers .................................................................................................................................................. 236 5.13.2.1  Event Privileges ............................................................................................................................................................. 239 5.13.2.2  Advanced Event Settings ............................................................................................................................................... 240 

5.13.3  Plan/Job Completion Trigger .......................................................................................................................... 241 5.14  CONSTRAINTS ........................................................................................................................................................... 242 

5.14.1  Instance Constraint .......................................................................................................................................... 244 5.14.2  File Constraint ................................................................................................................................................. 245 5.14.3  Variable Constraint .......................................................................................................................................... 247 5.14.4  Resource Constraint ......................................................................................................................................... 248 5.14.5  Day/Time Constraint ........................................................................................................................................ 249 

5.14.5.1  Exclusion List Constraint ............................................................................................................................................... 249 5.14.5.2  Maximum Dispatch Time .............................................................................................................................................. 250 5.14.5.3  Calendar Constraint ....................................................................................................................................................... 250 

5.14.6  Calendars ......................................................................................................................................................... 251 5.14.6.1  Calendar – General ........................................................................................................................................................ 252 5.14.6.2  Calendar – Properties ..................................................................................................................................................... 253 5.14.6.3  Calendar – Audits .......................................................................................................................................................... 254 5.14.6.4  Calendar – Security ........................................................................................................................................................ 255 

5.14.7  Resources ......................................................................................................................................................... 256 5.14.7.1  Resource – General ........................................................................................................................................................ 257 5.14.7.2  Resource – Properties .................................................................................................................................................... 258 5.14.7.3  Resource – Audits .......................................................................................................................................................... 259 5.14.7.4  Resource – Security ....................................................................................................................................................... 260 

5.15  ALERT OBJECTS ........................................................................................................................................................ 261 5.15.1  Alert Object – General ..................................................................................................................................... 261 5.15.2  Alert Object – Properties ................................................................................................................................. 262 5.15.3  Alert – Audits ................................................................................................................................................... 266 5.15.4  Alert – Security................................................................................................................................................. 267 

5.16  USER ACCOUNT NAME OBJECTS .............................................................................................................................. 269 5.16.1  User Account – General ................................................................................................................................... 270 5.16.2  User Account – Properties ............................................................................................................................... 271 5.16.3  User Account – Audits ...................................................................................................................................... 272 5.16.4  User Account – Security ................................................................................................................................... 273 5.16.5  Using a User Account Object ........................................................................................................................... 274 

5.17  DESIGN VIEW ........................................................................................................................................................... 275 5.17.1  Find Job (Design View) ................................................................................................................................... 278 5.17.2  Printing (Design View) .................................................................................................................................... 279 5.17.3  Creating a Plan/Job in Design View ................................................................................................................ 280 5.17.4  Adding a Trigger .............................................................................................................................................. 281 5.17.5  Adding a Job Constraint .................................................................................................................................. 284 5.17.6  Modifying Triggers and Constraints ................................................................................................................ 286 

5.18  PASSING PARAMETERS AND/OR VARIABLES ............................................................................................................. 288 5.19  JOB CHECKPOINT, RESTART AND PROGRESS INDICATOR .......................................................................................... 289 

6  OPERATING THE ACTIVEBATCH SYSTEM ........................................................................................................ 291 

6.1  MONITORING ACTIVEBATCH OPERATIONS ............................................................................................................... 291 6.1.1  Filters ............................................................................................................................................................... 291 6.1.2  Daily Activity ................................................................................................................................................... 293 6.1.3  Gantt Chart ...................................................................................................................................................... 294 6.1.4  Properties Window ........................................................................................................................................... 295 6.1.5  Favorites Window ............................................................................................................................................ 296 6.1.6  Runbook ........................................................................................................................................................... 297 6.1.7  System View ..................................................................................................................................................... 298 

6.2  MANAGING QUEUES ................................................................................................................................................. 299 6.2.1  Deleting a Queue ............................................................................................................................................. 299 

Page 8: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

6

6.2.2  Starting and Stopping a Queue ........................................................................................................................ 300 6.2.3  Open and Close a Queue.................................................................................................................................. 302 6.2.4  Flush Instances on a Queue ............................................................................................................................. 303 

6.3  MANAGING JOBS AND PLANS .................................................................................................................................... 304 6.3.1  Instance Operations ......................................................................................................................................... 305 

6.3.1.1  Change Queue Priority ................................................................................................................................................... 305 6.3.1.2  Constraint (Dependency) Status ..................................................................................................................................... 305 6.3.1.3  Force Run ...................................................................................................................................................................... 306 6.3.1.4  Override Completion Status ........................................................................................................................................... 306 6.3.1.5  Pause and Resume a Plan/Job ........................................................................................................................................ 307 6.3.1.6  Restart Plan/Job Execution ............................................................................................................................................ 307 6.3.1.7  Moving a Job from/to a Queue ...................................................................................................................................... 308 

6.3.2  Definition Operations ...................................................................................................................................... 309 6.3.2.1  Test Run ......................................................................................................................................................................... 309 6.3.2.2  Trigger Plan/Job Execution ............................................................................................................................................ 311 6.3.2.3  Copy and Paste a Plan/Job ............................................................................................................................................. 314 6.3.2.4  Cut and Paste a Plan/Job ................................................................................................................................................ 314 6.3.2.5  Browse ........................................................................................................................................................................... 315 

6.3.3  Definition and Instance Operations ................................................................................................................. 316 6.3.3.1  Abort/Delete a Plan/Job ................................................................................................................................................. 316 6.3.3.2  Abort Batch .................................................................................................................................................................... 317 6.3.3.3  Hold and Release a Plan/Job .......................................................................................................................................... 317 6.3.3.4  Printing ActiveBatch Objects......................................................................................................................................... 318 

6.4  RESOURCE OPERATION ............................................................................................................................................. 319 6.5  SYSTEM VIEW ........................................................................................................................................................... 320 

6.5.1  System View Overview ..................................................................................................................................... 320 6.5.2  System View Shapes ......................................................................................................................................... 322 6.5.3  System View Colors .......................................................................................................................................... 323 6.5.4  System View Job/Plan Operations ................................................................................................................... 325 6.5.5  System View Operations ................................................................................................................................... 327 

6.5.5.1  Find Job (System View) ................................................................................................................................................. 328 6.5.5.2  Printing (System View).................................................................................................................................................. 329 6.5.5.3  Miscellaneous Operations (System View) ..................................................................................................................... 330 

6.6  TROUBLESHOOTING .................................................................................................................................................. 331 6.6.1  Audits ............................................................................................................................................................... 332 6.6.2  Job Output Logging ......................................................................................................................................... 333 

6.6.2.1  User Managed Logging.................................................................................................................................................. 333 6.6.2.2  Centrally Managed Logging .......................................................................................................................................... 334 

7  REPORTING ................................................................................................................................................................. 335 

7.1  REPORTING OVERVIEW ............................................................................................................................................. 335 7.2  CREATING A REPORTING FILE ................................................................................................................................... 337 

7.2.1  Column Selection ............................................................................................................................................. 339 7.2.2  Search Column Criteria ................................................................................................................................... 340 7.2.3  Date Specification ............................................................................................................................................ 342 7.2.4  Custom SQL ..................................................................................................................................................... 342 

7.3  VERSION 4 REPORTING FILES ................................................................................................................................... 343 7.4  GENERATING A REPORT ............................................................................................................................................ 344 

7.4.1  Interactive Report Generation ......................................................................................................................... 345 7.4.2  Non-Interactive Report Generation ................................................................................................................. 347 7.4.3  Third-Party Tools/Report Writers .................................................................................................................... 348 

8  DATE ARITHMETIC ................................................................................................................................................... 349 

8.1  INTRODUCTION AND SYNTAX ................................................................................................................................... 349 8.1.1  Commands ........................................................................................................................................................ 349 8.1.2  Qualifiers ......................................................................................................................................................... 350 

8.2  CUSTOM SCHEDULE SPECIFICATION ......................................................................................................................... 351 

Page 9: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

7

8.3  VARIABLES AND PROCESS/SCRIPT INPUT PARAMETERS ........................................................................................... 352 8.4  FISCAL CALENDAR AND USER DATE TAGS ............................................................................................................... 352 8.5  DATE ARITHMETIC CALENDAR ADMINISTRATION .................................................................................................... 353 

8.5.1  Creating a Date Arithmetic Calendar .............................................................................................................. 353 8.5.2  Assigning Dates to a Date Tag ......................................................................................................................... 355 8.5.3  Managing Date Tags ........................................................................................................................................ 358 8.5.4  Save, Save As and Compile .............................................................................................................................. 358 8.5.5  Import ............................................................................................................................................................... 358 8.5.6  Printable View.................................................................................................................................................. 358 

8.6  DATE ARITHMETIC COM FACILITY .......................................................................................................................... 359 8.6.1  Date Arithmetic COM Example ....................................................................................................................... 360 

8.7  DATE ARITHMETIC TEST UTILITY ............................................................................................................................. 362 8.8  STAND-ALONE DATE ARITHMETIC SUBSTITUTION UTILITY ...................................................................................... 363 

9  USING THE ACTIVEBATCH COMMAND-LINE INTERFACE .......................................................................... 365 

9.1  CONVENTIONS .......................................................................................................................................................... 366 9.1.1  Absolute Time ................................................................................................................................................... 366 9.1.2  Delta Time ........................................................................................................................................................ 366 9.1.3  Combination Time ............................................................................................................................................ 368 

9.2  ABATAVLMGR ..................................................................................................................................................... 369 9.3  ABATCHKPT .......................................................................................................................................................... 370 9.4  ABATDATESUB .................................................................................................................................................... 371 9.5  ABATDBPWD ........................................................................................................................................................ 372 9.6  ABATEXECSQL ..................................................................................................................................................... 373 9.7  ABATPTY ................................................................................................................................................................... 374 9.8  ABATRPTGEN (DIRECT DATABASE METHOD) ...................................................................................................... 375 9.9  ABATRPTGEN (COM METHOD) ............................................................................................................................ 376 9.10  ABATSET ............................................................................................................................................................... 377 9.11  ABATUPDPWD ...................................................................................................................................................... 378 9.12  ABAT COMMANDS................................................................................................................................................... 379 

9.12.1  CLOSE/QUEUE ............................................................................................................................................... 379 9.12.2  DELETE/JOB ................................................................................................................................................... 380 9.12.3  DELETE/QUEUE ............................................................................................................................................ 381 9.12.4  FLUSH/QUEUE ............................................................................................................................................... 382 9.12.5  HOLD ............................................................................................................................................................... 383 9.12.6  INITIALIZE Queue ........................................................................................................................................... 384 9.12.7  MODIFY/JOB .................................................................................................................................................. 386 9.12.8  MODIFY/QUEUE ............................................................................................................................................ 391 9.12.9  OPEN/QUEUE................................................................................................................................................. 393 9.12.10  PAUSE ............................................................................................................................................................. 394 9.12.11  RELEASE ......................................................................................................................................................... 395 9.12.12  REQUEUE ....................................................................................................................................................... 396 9.12.13  RESTART ......................................................................................................................................................... 397 9.12.14  RESUME .......................................................................................................................................................... 398 9.12.15  SET BATCH ..................................................................................................................................................... 399 9.12.16  SHOW JOB ...................................................................................................................................................... 401 9.12.17  SHOW QUEUE ................................................................................................................................................ 403 9.12.18  START/QUEUE ................................................................................................................................................ 405 9.12.19  STOP/QUEUE ................................................................................................................................................. 406 9.12.20  SUBMIT ........................................................................................................................................................... 407 9.12.21  SYNCHRONIZE ............................................................................................................................................... 412 9.12.22  TRIGGER ......................................................................................................................................................... 413 

10  ACTIVEBATCH SCRIPTING AND PROGRAMMING .......................................................................................... 415 

10.1  ACTIVEBATCH OBJECT TOPOLOGY .......................................................................................................................... 416 

Page 10: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

8

11  ACTIVEBATCH MESSAGES ..................................................................................................................................... 417 

12  INDEX............................................................................................................................................................................. 433 

Table of Figures

Figure 1 – ActiveBatch Architecture 18 Figure 2 – ABATAdmin Initial Usage and Connection Dialog 26 Figure 3 – AbatAdmin After Connection 28 Figure 4 – Job Properties Navigation 34 Figure 5 – Daily Activity List 36 Figure 6 – Gantt Chart 37 Figure 7 – Runbook View 38 Figure 8 – System View 39 Figure 9 – Queue Counters View 40 Figure 10 – Instances 41 Figure 11 – Design View 42 Figure 12 – Reporting Facility 45 Figure 13 – Slider Notification 46 Figure 14 – ActiveBatch Search Object Dialog 47 Figure 15 – Search Results 48 Figure 16 – Options (General) 49 Figure 17 – Options (Runbook) 51 Figure 18 – Options (Gantt Chart) 52 Figure 19 – Options (Design/System View) 53 Figure 20 – Options (Print) 54 Figure 21 – Options (Notifications) 55 Figure 22 – Options (User Role Panes) 56 Figure 23 – On-Line Help 57 Figure 24 – ActiveBatch Admin Utility (Initial) 59 Figure 25 – AbatAdmin on the System Tray 60 Figure 26 – Connect Dialog (Basic) 61 Figure 27 – Connect Dialog (Advanced) 62 Figure 28 – Connect through Firewall 63 Figure 29 – Find Object in Tree (by ID) 65 Figure 30 – Job Scheduler Properties 66 Figure 31 – Job Scheduler Variables 67 Figure 32 – Job Scheduler Alerts 68 Figure 33 – Job Scheduler Performance Counters 69 Figure 34 – Job Scheduler Audits 70 Figure 35 – Job Scheduler History 71 Figure 36 – Job Scheduler Security 72 Figure 37 – Queue (General) 77 

Page 11: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

9

Figure 38 – Queue (Properties) 78 Figure 39 – Execution Queue (Properties) 79 Figure 40 – Execution Queue (Characteristics) 81 Figure 41 – Queue Alerts 82 Figure 42 – Queue Counters 84 Figure 43 – Queue Audits 85 Figure 44 – Queue Security Tab 86 Figure 45 – Add Security Dialog (Queue) 88 Figure 46 – Execution Queue (Add User Characteristic) 89 Figure 47 – New Generic Queue (Properties) 90 Figure 48 – Associating/Disassociating an Execution Queue Dialog 92 Figure 49 – Plan (General) 96 Figure 50 – Plan (Variables) 98 Figure 51 – Plan (Triggers/Scheduling) 99 Figure 52 – Plan (Triggers/Events) 101 Figure 53 – Plan – Constraints/General Dialog 102 Figure 54 – Plan – Constraints/Date-Time Dialog 103 Figure 55 – Plan – Execution/General Dialog 104 Figure 56 – Plan – Monitoring/RunTime 105 Figure 57 – Plan – Alerts 107 Figure 58 – Plan – Completion/Properties 108 Figure 59 – Plan – Completion/Completion Rule 110 Figure 60 – Plan Completion Rule Dialog 111 Figure 61 – Plan – Completion/Completion Triggers 112 Figure 62 – Plan – Counters 113 Figure 63 – Plan Audits 114 Figure 64 – Plan History 115 Figure 65 – Plan Security Dialog 116 Figure 66 – Object Policy Defaults 118 Figure 67 – Plan Auditing 120 Figure 68 – Trigger Operation with Audit 122 Figure 69 – Virtual Root Properties 126 Figure 70 – Adding the BatchLogon Right 129 Figure 71 – Job Definition Navigation 133 Figure 72 – Job – General 134 Figure 73 – Job – Job Properties (Process) 136 Figure 74 – Success Code Rule (Search String Setup) 138 Figure 75 – Job – Job Properties (E-Mail) 140 Figure 76 – Job – Job Properties (FTP) 141 Figure 77 – Job – Job Properties (FileSystem) 142 Figure 78 – File System Operation Dialog 143 Figure 79 – Job – Job Properties (Jobs Library) 144 Figure 80 – Job – Job Properties (Script) 145 Figure 81 – Job – Generic Queue Characteristics 147 Figure 82 – Machine Characteristic Dialog 148 Figure 83 – Select User Characteristics 150 

Page 12: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

10

Figure 84 – Job – Variables 151 Figure 85 – Variable Properties 152 Figure 86 – Active Variable Data Source Menu 153 Figure 87 – Job – Scheduling 154 Figure 88 – Job – Triggers/Events 156 Figure 89 – Job – Constraint/General Dialog 157 Figure 90 – Job – Constraints/DateTime 159 Figure 91 – Job – Execution/General Dialog 161 Figure 92 – Job – Execution/User Credentials 163 Figure 93 – Job – Execution/Logging 165 Figure 94 – Job – Monitoring/Run-Time 167 Figure 95 – Job – Monitoring/CPU-Time 169 Figure 96 – Job – Alerts 171 Figure 97 – Job – Completion Properties 172 Figure 98 – Job – Completion Triggers 174 Figure 99 – Job – Counters 175 Figure 100 – Job Properties – Audits 176 Figure 101 – Job History 177 Figure 102 – Job Security Dialog 178 Figure 103 – Job Add Security Dialog Box 180 Figure 104 – Job Types Listing (Partial list) 181 Figure 105 – Job Types, Sub-Types and Properties 190 Figure 106 – SQL Block (Job Type) 191 Figure 107 – Modifying a Job 193 Figure 108 – Instance Menu 194 Figure 109 – View Batch Run (List View) 195 Figure 110 – View Batch Run (Gantt) 196 Figure 111 – View Batch Run (Graphical View) 197 Figure 112 – Instance Information 198 Figure 113 – Instance (Job) Variables 200 Figure 114 – MOF Text (File Trigger) 201 Figure 115 – MOF Text (WMI) 202 Figure 116 – Instance (Job) Audits 203 Figure 117 – Instance (Job) Log 204 Figure 118 – Instance (Job) Properties 205 Figure 119 – Reference – General 208 Figure 120 – Reference – Properties 209 Figure 121 – Show Dependent Objects 211 Figure 122 – Queue Dependent Objects 211 Figure 123 – Delete a Template Plan Dialog 212 Figure 124 – Hold/Release a Plan or Job 213 Figure 125 – Export Filter Dialog 214 Figure 126 – Revision History (Initial) 216 Figure 127 – Revision History (Comparison) 217 Figure 128 – Variable – List of Active Sources 219 

Page 13: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

11

Figure 129 – Schedule List Dialog 223 Figure 130 – Schedule General 225 Figure 131 – Schedule Time Specification 226 Figure 132 – Schedule Day Specification (General) 227 Figure 133 – Schedule Day Specification (Exact Dates) 229 Figure 134 – Schedule Range Specification 230 Figure 135 – Schedule Audits 231 Figure 136 – Schedule Security 232 Figure 137 – Associations Dialog 235 Figure 138 – Event Trigger Dialog 236 Figure 139 – Expected Date/Time (Initial) 238 Figure 140 – Daily Activity (Expected Date/Time Example) 238 Figure 141 – WMI Event Privilege Settings 239 Figure 142 – Event Advanced Settings 240 Figure 143 – Plan/Job Completion Dialog 241 Figure 144 – Constraint Tab Dialog 242 Figure 145 – Adding a Job Constraint Dialog 244 Figure 146 – Adding a File Constraint Dialog 245 Figure 147 – Variable Constraint (Active) 247 Figure 148 – Resource Constraint 248 Figure 149 – Date/Time Constraint Properties 249 Figure 150 – Calendar – General 252 Figure 151 – Defining a Business Calendar 253 Figure 152 – Calendar Audits 254 Figure 153 – Calendar Security 255 Figure 154 – Resource – General 257 Figure 155 – Resource – Properties 258 Figure 156 – Resource Audits 259 Figure 157 – Resource Security 260 Figure 158 – Alert Objects 261 Figure 159 – Managing Job Alert Objects 262 Figure 160 – Job Alert Dialog 263 Figure 161 – Notifications Menu 264 Figure 162 – Alert Object Audits 266 Figure 163 – Alert Object Security 267 Figure 164 – Execution User Credentials 269 Figure 165 – User Account (General) 270 Figure 166 – User Account (Properties) 271 Figure 167 – User Account Audits 272 Figure 168 – User Account Security 273 Figure 169 – Design View (Overview) 275 Figure 170 – Operations 277 Figure 171 – Design View (Find Job) 278 Figure 172 – Design View (Print) 279 Figure 173 – Completion Trigger Dialog 282 Figure 174 – Add Instance Constraint Dialog Box 284 

Page 14: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

12

Figure 175 – Constraint Tool Tip 286 Figure 176 – Edit a Constraint 287 Figure 177 – Instance Filter Bar 291 Figure 178 – Instance State Selection 291 Figure 179 – Instance Filter Bar (Date and Time) 292 Figure 180 – Daily Activity List 293 Figure 181 – Gantt Chart 294 Figure 182 – Properties Window 295 Figure 183 – Add To Favorites Menu Selection 296 Figure 184 – Favorites Window 296 Figure 185 – Runbook 297 Figure 186 – System View Filter 298 Figure 187 – Delete Queue Confirmation 299 Figure 188 – Stopping/Starting a Queue 300 Figure 189 – Stopping a Queue (Timed) 301 Figure 190 – Opening or Closing a Queue 302 Figure 191 – Restrict Job Submission (Timed) 302 Figure 192 – Flush Instances on a Queue 303 Figure 193 – System View (Job Menu) 304 Figure 194 – Constraint Status 305 Figure 195 – Force Run Menu 306 Figure 196 – Override Completion Status 306 Figure 197 – Pause/Resume a Plan/Job 307 Figure 198 – Requeue Operation 308 Figure 199 – Test Run Plan (Initial) 309 Figure 200 – Test Run Plan (After) 310 Figure 201 – Triggering a Job 311 Figure 202 – Trigger Job Dialog 312 Figure 203 – Browse Plan 315 Figure 204 – Abort an Instance Dialog 316 Figure 205 – Delete a Job Dialog 316 Figure 206 – Hold/Release a Plan/Job 317 Figure 207 – Print Queue Operation 318 Figure 208 – Sample Print Queue 318 Figure 209 – Resource - Evaluate Now 319 Figure 210 – System View (Tool Tip) 321 Figure 211 – System View (Job/Plan Operations) 325 Figure 212 – System View (Active Instance Menu) 326 Figure 213 – System View Operations 327 Figure 214 – System View (Find Job) 328 Figure 215 – System View (Print) 329 Figure 216 – Job Instance History 331 Figure 217 – Reporting Facility 335 Figure 218 – Report Files Dialog 336 Figure 219 – Enter Report Filename 337 

Page 15: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

13

Figure 220 – Report Filter 338 Figure 221 – Property Column Selection 339 Figure 222 – Selecting/Sorting Columns 340 Figure 223 – Property Search Criteria 340 Figure 224 – Report Date Specification 342 Figure 225 – Converting a Prior Release Report file 343 Figure 226 – Generate Report 345 Figure 227 – Advanced Report Generation 345 Figure 228 – Sample Report 346 Figure 229 – Creating a new Date Arithmetic Calendar 353 Figure 230 – Specifying a Fiscal Year 354 Figure 231 – Date Arithmetic Date Tagging 355 Figure 232 – Create Date Tag 356 Figure 233 – Date Arithmetic Test Utility 362 Figure 234 – ActiveBatch Object Relationship 416 

Page 16: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

14

Tables

Table 1 – Job Scheduler Alerts 68 Table 2 – Queue States 74 Table 3 – Job States and Sub-States 75 Table 4 – Queue Alerts 83 Table 5 – Queue Security Access 87 Table 6 – Plan Security Access 117 Table 7 – Audit Operations 121 Table 8 – Operating System Batch Job Considerations 130 Table 9 – Environment Variables for Job Steps 131 Table 10 – Date/Time Parameter Format Codes 137 Table 11 – Machine Characteristics 149 Table 12 – Job Security Access 179 Table 13 – Job Types and Supported Platforms 182 Table 14 – Drag and Drop Operations 210 Table 15 – Job Scheduler Built-in Variables 220 Table 16 – Job/Plan Built-in Variables 221 Table 17 – Event Built-in Variables 221 Table 18 – Variable Date/Time Format 222 Table 19 – Schedule Access 233 Table 20 – Constraint Logic Operators 243 Table 21 – Calendar Access 255 Table 22 – Resource Access 260 Table 23 – Plan/Job Alerts 264 Table 24 – Alert Access 268 Table 25 – User Account Security 273 Table 26 – Date Arithmetic Commands 350 Table 27 – Date Arithmetic Qualifiers 350 Table 28 – Format Qualifier 351 Table 29 – Calendar Date Arithmetic Tags 352 Table 30 – ActiveBatch Messages (Alphabetical) 424 Table 31 – ActiveBatch Messages (Numeric) 431 

Page 17: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

15

1 INTRODUCTION

ActiveBatch® is a distributed Job Scheduling and Management System that allows you to execute tasks in an unattended or background mode. With ActiveBatch you can:

• Define Jobs with pre/post job steps. Job types include: E-Mail, FileSystem, FTP/SFTP/FTPS, Process, Script and Built-in Jobs Library. This means you can utilize proven and reliable ActiveBatch built-in facilities rather than having to write a program or script.

• Define Plans with property classes and variables. Plans give you the ability to create a workspace for your jobs and other ActiveBatch objects. Plans provide a tightly integrated set of policies for related jobs.

• Variables allow for data passing between related jobs and plans. Variables can be constants or active. Active Variables can use a variety of data sources (including SQL Query, Registry, WMI’s WQL, XML files, etc). Variables have hierarchical global or local scope.

• Fiscal and Gregorian Date Arithmetic and substitution supported. ActiveBatch provides four (4) levels of support in which date calculations can be performed for job scheduling and/or job run-time usage.

• Define Jobs with constraints (dependencies). Constraints include: Job Instance, File, Time, Variable and Resource.

• Trigger Plan(s) or Job(s) for execution based on Events. Events include File operations and System Events.

• Trigger Job(s) or Plan(s) for execution based on Date/Time Schedule (including Fiscal Schedules).

• Execute a job on a specific machine or a class of machines.

• Execute a job on a virtual machine in which a specific machine is chosen based on workload or other characteristics.

• Execute a job on different hardware and software platforms.

• Job History can be retrieved individually or within the context of a Plan run (so related job instances can be viewed together).

• Obtain a complete audit trail of the submitted job including a log of the output of the job. Auditing is also extended to the management of ActiveBatch objects. Each time a modification is made to an object an audit is produced as well as a revision id.

• Specify monitoring and alert capability to ensure that jobs run properly and as expected. Alerts can send e-mail (including pager and BlackBerry™ support (client is additional)), trigger events, event log and SNMP. ActiveBatch supports Microsoft’s System Operations/MOM and HP OpenView (including Network Node Manager).

Page 18: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

16

1.1 Product Components ActiveBatch consists of three (3) major components:

Client

As you would expect the Client component is the main user interaction point to the ActiveBatch system. ActiveBatch provides three (3) client interfaces depending on the type of user you are and what mode of interaction you require. Most users will execute the ActiveBatch Admin (ABATAdmin) utility. This Windows GUI-based component provides the user with the ability to create and manage job(s). ActiveBatch provides a complete set of command-line utilities so users can script ActiveBatch operations. As ActiveBatch is COM based, a programmatic interface is also available. Object-oriented scripting languages can directly access ActiveBatch’s objects, properties and methods through the various constructs of those languages.

Job Scheduler

The ActiveBatch Job Scheduler is the heart of the job management system. Clients communicate with a Job Scheduler, which is responsible for creating all of the various objects that make up ActiveBatch. As its name implies, the Job Scheduler is the component that keeps track of all jobs and determines when a job is to execute. The Job Scheduler may be limited in terms of the number and type of Execution Agent(s) it can support. Any limitations are noted in the next section on Product Editions.

Execution Agent

Once a job is ready to execute, the Job Scheduler communicates with a machine’s Execution Agent. This is the component that is responsible for actually running the job. The Execution Agent is the cross-platform component of the ActiveBatch system. Each Execution Agent is licensed for use. TCP/IP is used for communications between the Job Scheduler and its Execution Agents.

Note: ActiveBatch is a cross-platform product that supports many releases of Microsoft Windows products. For ease of reference the following conventions apply (unless otherwise noted). When Windows is specified that implies support for Windows 2000 (All Editions), Windows XP and Windows Server 2003 (All Editions) on an Intel 32-bit compatible processor.

Page 19: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

17

2 ACTIVEBATCH TERMS AND CONCEPTS

ActiveBatch is a Job Management and Scheduling System. The Batch portion of ActiveBatch refers to the concept of submitting a script or program for non-interactive processing. Simply stated, this means that you don't have to log into Windows or remain logged in for your non-interactive script to execute. When a script or program is submitted to ActiveBatch for processing that script or program is said to become a Batch Job. Batch jobs allow for work to be scheduled and the results of the job to be analyzed. Batch jobs also offer the potential of utilizing your machines during their off-hours when interactive usage is presumably at its lowest.

Page 20: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

18

2.1 Architecture

Figure 1 – ActiveBatch Architecture

ActiveBatch is entirely client-server based and all aspects of ActiveBatch can be fully distributed. ActiveBatch consists of three major components: the ActiveBatch UI clients, the ActiveBatch Job Scheduler and the ActiveBatch Execution Agent. All of these components could reside on a single machine or on multiple machines and each component can have multiple instances. The ActiveBatch UI is the user-interface portion of the ActiveBatch system and provides the ability for users to command various aspects of the product. Two (2) UI components are provided. All UI components communicate with one or more selected Job Scheduler(s). The ABATAdmin program is a standard Windows GUI program that provides a windows interface for working with ActiveBatch. The ABAT program is a command-line based user interface that allows

Page 21: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 2 - ActiveBatch Terms and Concepts

19

access to the product in either an interactive or non-interactive fashion. The ActiveBatch UI clients communicate with the ActiveBatch Job Scheduler component.

2.2 Namespace When you connect to an ActiveBatch Job Scheduler you are actually connecting to a Namespace. A Namespace is where all ActiveBatch objects reside for a given scheduler. Similar to a file system, the ActiveBatch Namespace contains objects that can be end-nodes or containers. A container may contain zero or more other objects including other containers. Continuing with the file system analog, you specify the container name(s) when searching for a specific object. If the context is such where the current container (i.e. current directory) has been set, ActiveBatch will use that context and search that container. The purpose of a Namespace is to catalog objects for later retrieval.

2.3 Objects The ActiveBatch Job Scheduler is responsible for the maintenance and overall operation of the ActiveBatch system and its databases. The Job Scheduler manages several types of objects and all objects are securable. All the objects reside in a Namespace and the namespace resides in a database. Every object must be uniquely labeled, as it exists within the namespace. This doesn’t mean that every object must be uniquely named. Rather you can’t have two objects that have the same name at the same point in the namespace. This is analogous to a file system in which you can have 2 files named the same existing in different folders but not 2 files named the same in the same folder.

Every object has both common and unique properties that pertain to that object. Common properties include the name, label, description, and object-state of the object. An object’s name is what you want the object to be displayed as. While it’s a good idea to uniquely name objects to avoid confusion, ActiveBatch makes no such requirement. An object’s label, however, must be unique within the namespace. An object’s label is typically used when scripting ActiveBatch operations. For example, if you write a script to manipulate ActiveBatch objects it will most likely be the “label” that you reference, not the name. Since the object’s label will be used for namespace retrieval the characters used within the label are subject to stricter content rules. The label can contain alphanumeric (A-Z, a-z, 0-9) and underscore (_) characters. A label must also not begin with a number. ActiveBatch does allow you to search for objects using either the label or the name properties. An object’s state is either enabled or disabled for use.

2.3.1 Reference A Plan or Job object in ActiveBatch can be referenced. For example, let’s say you’ve created a Job “A” under “Plan “Alpha” and you’d like the same job to also be used under a different plan named “Beta”. Rather than copy Job “A” and create an entirely new job (which you can do), you can create a reference to Job “A” under “Plan “Beta”. Creating a reference is analogous, in Windows, to creating a “shortcut”. While the shortcut itself is an object, the shortcut references a file. In ActiveBatch, a reference object references another ActiveBatch object (in this example, a Job). The advantage to referencing an object is that all references actually use the same object. Reference objects do have several properties that are specific to the object. Two (2) properties, in particular, are important and must be mentioned. One, you can individually secure the referenced object. Two, you can disable a reference without disabling the object itself. ActiveBatch provides two levels of enabling and disabling of an object. You can enable/disable an object reference through the Enable/Disable operation. You can globally enable/disable an object (regardless of references) through the object’s Enable property (that’s the object-state property above).

2.3.2 Queue In ActiveBatch a queue represents a non-volatile priority ordered object in which jobs reside waiting for execution. Two types of user-defined queues are available: Execution and Generic. Two other types of system-defined queues are also available: OnDemand and VariableQueue.

An Execution Queue is a named object in which jobs wait for execution for a specific machine. ActiveBatch allows you

Page 22: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

20

to create multiple execution queues and associate each execution queue with a given machine. You can also create multiple execution queues for a single machine. When a batch job is ready to execute, the ActiveBatch Execution Agent, residing on the named machine, is responsible for running the job.

A Generic Queue is essentially a “virtual” machine. A Generic Queue represents one or more Execution Queues. This abstraction is very useful in that the actual machine selected to run the job can be determined dynamically versus the static assignment used when submitting a job to a specific Execution Queue. When a job is ready to be executed, characteristics specified with the job are compared to characteristics specified with the Execution Queues. In addition, Generic Queues can employ “scheduling algorithms” to further refine where the job is to be run.

The OnDemand Queue is a special ActiveBatch built-in queue that is neither a Generic or an Execution queue. The purpose of the OnDemand queue is to allow a job author to place a job into the ActiveBatch system and defer where the job is to actually execute until a later time. This provides some very interesting benefits that we will cover in Section 5.3.6.

The VariableQueue is another special ActiveBatch built-in queue that allows a Job Designer to defer the association of job-to-queue to execution time via the built-in variable #queue. This facility means that a job can designate which queue a downstream job will actually execute on at run-time.

2.3.3 Plan A Plan is an object container. A Plan can contain all of the ActiveBatch objects within it. The purpose of a Plan is to provide a workspace where properties can be inherited and where resources and objects can be referenced. An additional benefit of a Plan is to provide isolation between the various objects stored within the Plan and other objects within the ActiveBatch Namespace. A typical use of a Plan would be to store various related job(s) and/or plans. For example, let’s say you wanted to execute 3 jobs serially. You would create a Plan and specify any properties that were to be shared among the 3 jobs. You would then create the 3 jobs linking them in a fashion to cause them to execute serially. Triggering the Plan would then trigger the execution of the 3 jobs within the plan. Since Plans can be triggered, Plan instances are also created allowing you to track the complete history of a particular stream of job execution.

2.3.4 Job A Job represents some type of process that is to be executed in a non-interactive1 manner. Jobs are run under the security context of the submitting user (unless different authentication credentials are provided). ActiveBatch supports many different types of jobs. Each job type is discussed in more detail in Section 5.6.3.

E-Mail This type of job allows the creation and sending of e-mail.

FileSystem This type of job allows you to execute a series of file system operations (n.b. copy, delete, etc) in an operating system independent fashion.

FTP/SFTP This type of job allows you to execute a series of FTP/SFTP commands.

Jobs Library This type of job allows you to invoke existing ActiveBatch logic in order to execute a given feature.

Process This is the typical ActiveBatch job and consists of either a script file or an executable image.

Script This type of job is similar to a Process Job except that the script information is embedded within the job and not referenced through an external script.

The “Process” job type executes an executable image or a script. The script itself can be written using any scripting language installed on the execution machine. The only requirement is that the script extension be registered on the 1 ActiveBatch jobs are executed non-interactively from the point-of-view that the system’s desktop or console need not be logged on. The term “non-interactive” is not meant to imply that an ActiveBatch job cannot query or execute applications that may be interactive in nature.

Page 23: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 2 - ActiveBatch Terms and Concepts

21

Execution Machine and associated with an actual program or system that is supporting the script. For Unix based systems, the first line of the script typically indicates which command shell is to be used. Jobs are submitted for eventual execution and can be triggered to run in a variety of ways. A trigger is an action that causes a job to begin execution. The most typical trigger is date and time and the most typical date and time trigger is “scheduled” execution. This means that a job is connected to one or more schedules that indicate the day/date and time the job is expected to run. In the ActiveBatch system, jobs are submitted or queued for execution by specifying a named Queue that indirectly indicates the machine the job will execute on. Jobs may also have constraints that prevent a job from executing until one or more conditions have been met. While many job properties depend on the job type you select, many properties are also common to all jobs.

Since Jobs can be executed in a recurring or non-recurring fashion, several new terms must be introduced. A Job Definition is never actually executed but rather describes the job (or plan). An instance is the actual executing job. A single instance job is a non-recurring job. This type of job runs and when it completes it’s essentially done and becomes history. A template job is a recurring (or potentially recurring) job. This type of job runs on either a schedule or is triggered through events or other aspects of the ActiveBatch system. A template job will cause an instance of the job to be created when a trigger is activated (for example, when the scheduled execution time is met). A template job can support one or more instances of the job. Some operations require that you confirm with ActiveBatch whether the operation is intended for the template and/or the instance.

2.3.5 Variables and Properties Variables allow a job designer the ability to pass data from job/plan to job/plan. Variables can be initialized via a constant or a data source. Variables set via a data source are referred to as activeVariables. Variables are established in a hierarchical fashion meaning that jobs can inherit plan variables. Variable substitution is supported almost anywhere a string can be specified. Substitution is performed by enclosing the variable name in curly braces preceded by the dollar sign symbol. For example, ${app_path}test.bat could be an input filename string where “app_path” is defined as “c:\scripts\” in an upper level plan. Variables can also be used as a constraining pre-condition for job execution. You can also designate variables to be exported to the running job by marking it as an “environment variable”.

Plan and Jobs consist of a number of built-in variables that represent the various properties of a Plan or Job. Variables which begin with an at-sign (@) or dollar-sign ($) are ActiveBatch built-in variables. Variable substitution of object properties provides a great deal of run-time customization.

2.3.6 Triggers An action that causes a job to become eligible for execution is called a Trigger. Triggers are arranged as objects as well as operations within ActiveBatch. A job may be started via one or more trigger objects as well as through the job’s Trigger operation. It is important to note that while a job may be triggered for execution, a job will only execute if any/all of the job’s constraints have been met.

2.3.6.1 Schedule

A Schedule represents some recurring date and time trigger. One or more schedules can be associated with a Job or Plan and one or more jobs can share a schedule. Schedules can be public or private. A private schedule can only be associated with one job and when the job’s template is deleted so is the schedule. Schedules can operate on a calendar and/or fiscal date basis.

2.3.6.2 Events

Events are represented as either ActiveBatch or Windows Management Instrumentation (WMI) generated. The event facility enables the triggering of a job without polling for a specific condition to occur. For example, a job can be triggered when a new file is created.

Page 24: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

22

2.3.7 Constraints A Constraint is used to filter triggers such that certain actions or properties must be true to allow the Job or Job Plan to actually execute.

2.3.7.1 Calendar

ActiveBatch supports the concept of “Business Dates.” A Business Date is a day when business will be conducted. To determine a business day requires that the Job be assigned to a Calendar. A Calendar contains rules for determining holidays and non-working days. When a Job is assigned to a Calendar, the Calendar “filters” any Schedule triggers and ensures that the job can only execute on a “business day” (the Trigger command/method can override this). The advantage of filtering triggers with a calendar is that the job author need not create special “business” schedules. Also, an administrator can still execute administrative jobs, which are typically scheduled without regard to business days, and use existing schedules. The job, in this case, would run without an assigned calendar. A Calendar is also a securable entity.

2.3.7.2 Job/Plan Instance

A Job/Plan Instance constraint (formerly called a “Job Dependency”) allows you to specify which previous job(s) or plan(s) must have executed before this job can execute.

2.3.7.3 File

A File constraint (formerly called a “File Dependency”) allows you to specify one or more files which must meet certain criteria before this job can execute.

2.3.7.4 Time

A Time constraint allows you to further refine when a job may run (regardless of when the job is triggered).

2.3.7.5 Resource

A Resource constraint allows you to indicate what resource(s) must be present and available (usable) before the job can execute. The resource itself can be static (initialized when the Job Scheduler is started) or dynamic and subject to external change.

2.3.7.6 Variable

A Variable constraint allows you to check external data prior to allowing a job to run. An ActiveBatch variable can be static or dynamic, for example, a variable can be tied to a SQL operation and the results of the operation can be established as a constraint. Variables are typically used to pass information from job to job as part of a Job Plan.

2.3.8 Alert Object An Alert Object represents one or more ActiveBatch alert actions that may be performed. You may assign an alert object to one or more queues, jobs or plans. An Alert object is a securable entity.

2.3.9 User Account Object A User Account object represents a username/password combination that may be used when executing a job. All ActiveBatch jobs require some type of security credentials for execution. The Account object allows you to create a Username/Password reference and then associate that reference to one or more jobs. The advantage of the Account object (like the Alert object) is that a change to the object (for example, a new password) is automatically affects every

Page 25: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 2 - ActiveBatch Terms and Concepts

23

job assigned to the object. For Windows Server 2003 (or later) systems, ActiveBatch supports Kerberos impersonation. This feature allows ActiveBatch to impersonate a user without the password requirement. This avoids the audit and password change issues when associating a password with an account. The Account object is a securable entity.

Page 26: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6
Page 27: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

25

3 USING ACTIVEBATCH WITH ABATADMIN

The “ActiveBatch User’s Guide” discusses various ActiveBatch terms and concepts using an easy-to-understand case study approach. The case studies begin with simple technical problems and advance to more difficult issues that require more discussion and planning. For first-time or novice users, your ActiveBatch Administrator can setup a sample database for you to use.

This chapter will completely describe all the aspects of the ActiveBatch system in terms of usage. If you have questions concerning installation, as in what product edition to install or what component(s) can be installed please read the ActiveBatch Installation and Administrator’s Guide for more information.

Page 28: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

26

3.1 ABATAdmin Terms and Concepts

The ABATAdmin application is the user’s main interface point into ActiveBatch. You can start ABATAdmin by either clicking on its desktop icon or by selecting the program through the ActiveBatch program menu. ActiveBatch begins by displaying a “splash” screen identifying its version and registered owner. ABATAdmin continues the initialization process by connecting to all Job Schedulers you were previously connected to. ABATAdmin follows the general rule that whatever you were looking at on program exit you should be looking at when the program comes up. If this is the first time you’re running the program, AbatAdmin will display a connect dialog using “localhost” for the machine name. This is appropriate only if the Job Scheduler machine is on the same machine as the client. This is likely in an evaluation or proof-of-concept setting. This is unlikely in a production setting.

Figure 2 – ABATAdmin Initial Usage and Connection Dialog

Page 29: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

27

Clicking the Connect button produces this message.

If the connection was not successful you’ll receive a message box similar to the one here.

In which case the Connect dialog will reappear and ask for a new machine to connect to.

If you attempt to connect to a V5 Job Scheduler you will receive this error. By default, the V6 AbatAdmin GUI can only connect to a V6 Job Scheduler.

Page 30: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

28

If the connection was successful, you’ll see the following similar display.

Figure 3 – AbatAdmin After Connection

Page 31: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

29

3.1.1 Bars, Panes and Views

Figure 3 shows the initial ABATAdmin screen with a single connected Job Scheduler. Like any Windows GUI program, ABATAdmin has a menu bar. The menu bar consists of the following menus: ActiveBatch, View, Tools and Help. The menu bar is one method for specifying operations (like “Connect” to a Job Scheduler). Beneath the menu bar is the tool bar. The tool bar is a type of shortcut that allows you to quickly select one of the different views that ABATAdmin is capable of displaying. Simply place the cursor over a tool for a quick reminder as to what the tool provides.

The leftmost window beneath the tool bar is the Navigation Pane. This window, through tabs at the bottom, allows you to select the overall navigation you need. ActiveBatch provides two (2) primary types of navigation: Object and View Navigation (selectable through the Navigation tab) and Administration. Object/View Navigation is most appropriate when you want to either navigate the ActiveBatch namespace or you want to retrieve run-time information from one of the ActiveBatch views. Administration is most appropriate for configuration and other administrative aspects of the ActiveBatch system. Users who consider themselves Designers or Operators will most likely use the Object/View Navigation and Administrators will use the Administration tab.

When you select a view (for example, System View or Daily Activity list) the Main Window is activated. The main window is multi-tabbed with the actual view as part of the tab. While you can create multiple views (and tabs), only one view is active and can be in focus. Each tab is listed along the top of the main window. The information presented in the main window is, of course, based on the view that you selected. For example, in the Daily Activity List you would be shown a list of job instances for the specified date. That’s fine but sometimes more information is needed. For example, what if you wanted to see previous instance history for this job or plan. To satisfy instance information, the Instances window is used. This window, by default, appears at the bottom of the screen.

The Properties window (not to be confused with each object’s properties dialog) provides a quick and easy facility for viewing the most important properties of an object without having to issue a Properties operation.

The Favorites window provides an easy way for you to quickly access your most critical plans and jobs. Rather than always using the Navigation Pane, the Favorites window allows you to categorize and save your favorite objects (similar to the Favorites menu operation found on most web browsers). To add a favorite object to the Favorites window, right-click on the object and select Advanced/Add to Favorites (or press Ctrl/D). This operation will display a small dialog box that allows you to name your favorite (the default is the object’s name).

Almost all views and panes support dynamic real-time display. This is great when you want to watch your plans or jobs as they execute and complete. You can disable this feature on a window basis or globally. When you disable this feature, a brief annotation appears indicating that you are no longer looking at live data.

The tab at the very bottom is the Log View window and contains all informational, success and error messages concerning your use of ActiveBatch. A button to the far right of the window allows you to clear the log.

Many of the windows and panes feature a small “pin”. This pin allows you to indicate whether you want the window to always be displayed or to display the window only when you hover your mouse cursor over the tab. You’ll notice that the “Log Viewer” window is displayed through the hover concept. Many of the panes also allow to you to move them to another location, detaching it from the main window.

Page 32: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

30

3.1.2 Menu Operations Menu’s are provided to allow you to perform an operation appropriate to the object. You select a menu from either the menu bar, tool bar or by right-clicking on an object. The menu that is shown is always appropriate to the object and in context. For example, if an object is disabled, then a menu operation to enable is provided.

3.1.3 Object Selection AbatAdmin supports the selection of one or more job objects for the purpose of performing a single operation. Left click on a desired object to select it. Depending on the view you’re selection may cause a change in the display within several panes. For example, if you needed to Hold several unrelated jobs you can select each job using the typical Windows select operations (Shift or Ctrl key combination).

3.1.4 ActiveBatch Icons As you look through the various ABATAdmin menus and views you’ve probably noticed many icons. ActiveBatch makes very liberal use of icons and this section describes each icon you will see in the system. ActiveBatch icons do not use color to denote object type. So even on a black and white monitor you will be able to differentiate between a queue and a job. The icons do use color to denote state information (but text is also provided in case you’re color challenged).

Green is considered a “good” state. Red indicates either some type of problem or a user specified operation that acts to inhibit further operations (for example, stopping a queue will result in the queue being colored red). Any object that is disabled will be colored grey. Job and Plan definitions do not observe the red/green convention since a defined plan/job does not actually run. Plan and Job instances, however, do observe the red/green convention (with “purple” indicating that the instance was cancelled or aborted).

represents an execution queue whose state is started. The green color adds to the visual indication of a “good” state.

represents a generic queue (note the multiple machine figures).

represents an execution queue whose state is stopped and closed.

represents a schedule.

represents a calendar.

represents a user account object.

represents a resource object.

represents an alert object.

represents a plan object (with no policy defaults).

represents a plan object (with policy Defaults).

represents a plan object (with Auditing policy).

represents a reference plan.

represents a reference job.

Page 33: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

31

represents a “process” type job.

represents an “e-mail” type job.

represents an “FTP/SFTP/FTPS” type job.

represents a “file system” type job.

represents a “script” type job.

represents a “jobs library” type job.

Page 34: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

32

3.1.5 ActiveBatch Hot-Keys ABATAdmin supports the use of “hot-keys” for those advanced users who would prefer to use the keyboard for faster product interaction than your mouse. The three (3) sections below describe what hot keys are supported and where.

3.1.5.1 Global Keys (applies to all views)

Key Description F5 Refresh all views in the GUI CTRL + F5 Refresh currently selected view only F4 Connect to a Job Scheduler F11 Toggle Full Screen mode (a.k.a. View->FullScreen) F10 Options (a.k.a. Tools->Options) CTRL + D Favorite/Bookmark selected object in GUI CTRL + F Find/Search for object(s) by Name or Label CTRL + G Find object by ID or Full Path in Tree

3.1.5.2 Operators/Designers Tree (a.k.a. Navigation)

Key Description

CTRL + C

Copy selected object - copies Full Path of selected object to clipboard also

CTRL + X

Cut selected object - copies Full Path of selected object to clipboard also

CTRL + V

Paste Copy/Cut object(s)

DELETE

Delete selected object (a.k.a. RightClick->Delete)

*

Expand all tree nodes under selected object

ENTER

Show Properties of selected object (a.k.a. RightClick->Properties)

F2

Edit Name/Label (based on option "Options->General->Editing Name/Label in Explorer Tree")

3.1.5.3 Report Lists (Instances / Daily Activity / Browse)

Key Description CTRL + C Copy selected object(s) - copies selected text data to clipboard also CTRL + X Cut selected object(s) - copies selected text data to clipboard also CTRL + V Paste Copy/Cut object(s) DELETE Delete selected object (a.k.a. RightClick->Delete) * Expand all tree nodes under selected object CTRL + A Select all rows in report list view CTRL + P Print all rows in report list view CTRL + SHIFT + G Sync to Tree. i.e. Find Template in tree.

Page 35: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

33

3.1.6 ActiveBatch Error Messages As you use ActiveBatch you may, from time to time, see an error message box similar to this:

Most of the time we hope the error message sufficiently describes the error condition encountered. In the event it does not you may press the “Online Help” button. If your system has access to the Internet, you will be connected to our web site where more information concerning the specific error you encountered may be available.

Page 36: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

34

3.1.7 Property Dialogs

Figure 4 – Job Properties Navigation

Every object has properties and several ActiveBatch objects have a great many properties. To prevent “feature overload”, where an object has so many features that you just can’t find them, we’ve arranged the property dialog as a series of categories that appear on the left side of the dialog. By default, some of the more advanced categories are shown in a collapsed view. For example, for the Plan/Job objects, the “Monitoring” category contains two (2) sub-category displays; one for Run-Time monitoring and one for CPU monitoring. To display these sub-categories, simply click on the main category (in this example, clicking on “Monitoring” first expands the category to show its sub-categories and another click collapses the sub-categories back into the main category. This feature allows us to hide more advanced categories for novice users and avoid unnecessary confusion. A preference option also allows you to control whether certain advanced categories should be collapsed (the default) or expanded.

Page 37: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

35

3.2 Navigation The ActiveBatch User Interfaces, particularly AbatAdmin, have been designed to support three (3) types of people who need to use ActiveBatch. Sometimes a single person may assume more than one role. Designers are those individuals who create the various objects that make up an ActiveBatch implementation. Designers create queues, plans and jobs that are expected to implement the business or system requirements that a company may have. Operators are those individuals who are expected to manage the ActiveBatch system and ensure that all plans and jobs operate with successful results. Administrators are those individuals who manage the components and services that make up an ActiveBatch system. By matching functional requirements to an individual’s role, ActiveBatch ensures that the right tools are made available to the right person.

ActiveBatch provides two (2) primary navigation tabs that implement the functionality you need based on what you need to do. The Object/View Navigation satisfies those users who need to navigate the ActiveBatch namespace and/or request run-time information from one of its views. The Administration tab provides access to information that an administrator would need to properly maintain the ActiveBatch system.

3.2.1 Object/View Navigation Object/View Navigation is the primary navigation used by ActiveBatch Designers and Operators. The Object/View Navigation (or Pane) contains all the various objects that have been created on a given Job Scheduler(s). Once you’ve created some objects you’ll notice that ActiveBatch will automatically catalog them under their respective folders.

The Object/View navigation pane allows for easy navigation through ActiveBatch objects. You can select objects and perform various operations. By default, the objects are arranged in their family categories (all queues are listed within the Queue folder, Jobs and Plans are listed together, etc). Clicking on a category produces a listing of all the related objects. For example, clicking on Calendars produces a list displaying common properties of all the calendar objects. Clicking on Plans and Jobs also produces a list of common properties, with Plans displayed using the familiar tree notation for expansion and collapse of contained Plans and Jobs within.

If you click on the Alphabetic icon the objects are arranged in alphabetic order.

You will also note that if you click on an individual Plan or Job object, the Instances pane may be activated. The Instances pane will display the common properties of any active/completed instances for the Plan or Job selected.

Remember that a navigation pane does not replace any other user view(s) present within ActiveBatch but is meant to simplify navigation (or finding objects) requirements when using the ActiveBatch system.

Page 38: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

36

3.2.1.1 Daily Activity

The Daily Activity list provides a dynamic real-time display, in list fashion, of what jobs have completed, are executing and will execute on a given day. By default, the current day is displayed. The ability to change the date is also provided. Daily Activity displays all jobs and plans in ascending time fashion (although the display order can be changed by clicking on an information column). Plans are color coded for ease of separation and all completed jobs and plans are color-coded based on whether they succeeded or failed.

Figure 5 – Daily Activity List

You can drill down into a plan by clicking on the plus sign at the start of the plan row. The information displayed provides a snapshot of the critical items that would normally be needed to manage and/or monitor jobs.

Page 39: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

37

3.2.1.2 Gantt Chart

In the Gantt chart view, the “time of day” listed at the top and horizontally scrollable. As you scroll horizontally backwards or forwards, the date will change as appropriate. A Calendar control is also available so you can select days other than today. The Jobs themselves are displayed vertically with a graphic rendition of their expected elapsed times. You can perform selected operations on a job by simply right-clicking on the job. All jobs are displayed using a common coding scheme in which color is used to visually identify the states of job instances.

Figure 6 – Gantt Chart

Page 40: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

38

3.2.1.3 Runbook

The Runbook provides a dynamic display in which the jobs are listed in a diary fashion by ascending time within a specific date. You can obtain more information about a given job or plan by clicking within the Runbook and obtaining a Runbook list. If the job has completed you can also obtain instance information in the “Runbook Instances” pane.

Figure 7 – Runbook View

Page 41: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

39

3.2.1.4 System View

System View is, typically, the real-time graphical dynamic display of Plans and/or Jobs. As these Plans and/or Jobs execute you can see the various shapes representing the objects change color. If multiple instances of the same Plan or Job execute, the Instances pane will display each unique batch run. When System View is launched through the Navigation pane, System View will automatically select the latest instance. You can manually select an instance to view through the Instances pane. When all the instances have completed, an accent stripe appearing on the right side of the shape let’s you know how the latest instance performed.

Note: For V4 customers who may have many objects at the root level you can enable the Filter facility and de-clutter the view by suppressing objects on a queue and/or group basis. This facility is disabled by default. To enable see the “Options\System View” dialog.

Figure 8 – System View

Page 42: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

40

3.2.1.5 Queue Counters View

Queue Counters View provides a list of all queues present within the connected Job Scheduler and their respective counters.

Figure 9 – Queue Counters View

The view is list oriented with each queue and its associated counters on a separate row. The queues are shown in color to denote their current state and this view consolidates all queues (regardless of root or plan location) within a single view. This information presented in this view is static, however, a convenient Refresh button has been provided to refresh the counters.

Page 43: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

41

3.2.1.6 Instance View

If you launch System View through the Instances pane, the display will only track the selected instance. That is why this view, while very similar to System View, is called Instance View. Only the instance you are interested in tracking is displayed. New instances are not tracked and the color of the shapes always indicates the completion of the job’s instance.

Figure 10 – Instances

Page 44: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

42

3.2.1.7 Design View

Selecting Design View allows you to switch to a graphical mode. This view allows you to create and manipulate the various ActiveBatch objects. Design View is where you will create Plans and their Jobs. Jobs and Plans can be linked together such that when one completes another Job is triggered. In Design View, your Jobs and their relationships to other Jobs in the system can be visually seen and graphically managed.

Figure 11 – Design View

Design View, as its name implies, allows you to create and other maintain jobs and perform job operations. System View is very similar Design View with one important exception. Design View displays no information concerning job instances. In Design View, only job definitions are displayed. In System View, a real-time dynamic display of scheduled jobs and their instances (if any) are shown. From System View you can sit back and watch the display change as jobs are run.

Page 45: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

43

3.2.2 Administration The Administration tab is meant for the administration of the ActiveBatch system itself. Administration of Plans and Jobs is part of operations. An Administrator is charged with the responsibility for the proper installation of ActiveBatch, its overall maintenance and the security of the various objects that make up the system. Part of that security is the authorization of users to the ActiveBatch system and the establishment of their roles. Another important aspect to security is the use of User Account objects that provide security credentials to the jobs that run. As ActiveBatch is a cross-platform product these credentials are applicable to one or more machines and platforms.

Information on the administration and management of ActiveBatch can be found in the “ActiveBatch Installation and Administrator’s Guide”.

3.2.2.1 Navigation – Administration

The information presented as part of the Navigation pane is what Administrators require.

The Active Directory section allows Administrators to see their published Job Scheduler(s) and Execution Agent(s). Since the software rev levels are also provided this is a very handy way of quickly determining what version and service pack has been applied.

Each connected Job Scheduler will allow you to manage Policies, make ActiveBatch registry changes, manage User Accounts and also manage the ActiveBatch High Availability aspects of the system.

Note: In the Administration Navigation Pane you will only see connected Job Schedulers if you are an ActiveBatch Administrator.

3.2.2.2 ActiveBatch Services

This facility allows you to control the ActiveBatch services across your network. Patterned after the Windows Services applet you can start, stop and otherwise administer the Job Scheduler and/or Execution Agent services.

3.2.2.3 Active Directory

This facility allows you to explore the Active Directory entries (either full Active Directory or ADAM) made by the Job Scheduler and Execution Agent services. By using publishing names and information about the ActiveBatch services on a machine the discovery of ActiveBatch machines is made easier. The Active Directory folder is separated into two sub-folders: Published Job Schedulers and Published Execution Agents. The information displayed consists of the published name, machine name, ActiveBatch version and description. By examining the version information you can quickly determine whether all components have the latest version or ServicePack applied.

3.2.2.4 High Availability Manager

This facility lets you manage the ActiveBatch High Availability features of the product. When enabled, this feature allows active and standby Job Schedulers to participate. If your active Job Scheduler fails, one or more standby Job Schedulers can take over avoiding loss of availability.

Page 46: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

44

3.2.2.5 Policies and Configuration

This facility allows you to set object-wide policies and to configure many customizable parameters of the ActiveBatch system.

Note: The Policies section consists of many legacy parameters (please note those that are labeled as “obsolete”). For the most part, this “policies” section has been replaced by “object policies” which are a part of every Plan object. Advanced Systems recommends that you look to the Plan Policies features.

Page 47: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

45

3.3 Reporting Facility The Reporting Facility allows you to extract and retrieve information about ActiveBatch jobs. Figure 12 illustrates what a sample report might look like. Chapter 7 provides more detailed information about the creating and scheduling of ActiveBatch reports. Please note that in addition to the built-in ActiveBatch Reporting facility you may also use any Microsoft or third-party product (such as Crystal Reports) to generate your own reports.

Figure 12 – Reporting Facility

Page 48: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

46

3.4 Slider Notification Slider Notification is a useful feature when you are specifically interested in certain events and your window may be obscured by other applications you are running. Section 3.5 lets you control which events are to be displayed and when. The slider is raised and lowered from the System Tray area. The slider itself is color-coded. Red typically means that something important has happened. Blue or Green means that some level of successful operation has occurred.

Figure 13 – Slider Notification

Page 49: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

47

3.5 Tools The Tools menu option allows you to specify your preferences as well as other useful features.

3.5.1 Refresh and Refresh Pane These options allow you to refresh all panes and windows or the selected pane. Hot keys F5 for refresh and Control/F5 for refresh pane provide quick access.

3.5.2 WMI Updates WMI Updates provide the AbatAdmin GUI program with the ability to display real-time updates. On occasion you may not want to see updates while you are researching a particular view. This option allows you to disable WMI updates. After you confirm the request, AbatAdmin will no longer request WMI updates for ActiveBatch. This option allows you to toggle between enabling and disabling these updates.

3.5.3 Reset With all the various options and preferences that make up ActiveBatch, the GUI allows you to reset a selected portion of the GUII back to the factory default settings or to reset all the panes and options back to their factory default settings. It is important to note that the reset is specific to the GUI and not to the entire ActiveBatch system.

3.5.4 Search ActiveBatch provides a method for searching the various objects you may create. Clicking on the “binoculars” icon in the Toolbar or typing Control/F causes this dialog to appear.

Figure 14 – ActiveBatch Search Object Dialog

The following fields comprise the Search object dialog:

Scheduler to search is a dropdown of your currently connected to Job Schedulers. By default, the Job Scheduler you are currently connected to is displayed.

In the Find what: field you enter data that narrows the search. Data that may be entered includes wildcard characters (*, %).

Page 50: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

48

In fields: represents where ActiveBatch should look when comparing the data in the “Find What” field. Two (2) selections are available: Name and Label.

Filter: This is a dropdown of all the ActiveBatch objects. You may narrow the search to specific objects.

The Under field is, by default, filled in with the last Plan or Job Scheduler you selected. Similar to searching files in a folder think of this as the last folder you visited. You can change the scope by clicking on the right most button.

The Recursive (Search within plans) checkbox allows you to continue searching nested plans for the desired object.

When a search is performed, a new search results window appears that provides zero or more objects that met your search criteria. You can then examine the objects found in greater detail.

Figure 15 – Search Results

Page 51: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

49

3.5.5 Options The Options sub-menu allows you to specify your GUI preferences. The Options are further sub-categorized by the items on the left-hand portion of the dialog.

3.5.5.1 Options – General

Figure 16 – Options (General)

General Options Description

Connect on Startup This option controls how AbatAdmin connects to the last Job Scheduler you were connected to. By default, AbatAdmin reconnects to those schedulers.

Defer Connections on Startup

This option indicates whether AbatAdmin is to immediately reconnect to any previously connected Job Schedulers or to wait perform the actual connection when you expand a Job Scheduler’s namespace. The default is false (or not to defer). Customers with many connected Job Schedulers may find enabling this option useful.

On Scheduler Communication error

This option controls how AbatAdmin responds to a Job Scheduler disconnect. By default, AbatAdmin automatically attempts to reconnect to the Job Scheduler machine.

Reconnection timeout This option is used in conjunction with an Auto-Reconnect to determine how long to continue attempting to reconnect.

Page 52: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

50

General Options Description

Default Text Editor This editor will be used for any large text viewing, for example, as when viewing a log file. Default is Notepad.exe.

Changing tabs forces refresh

If enabled, changing tabs (the tabs along the main window) forcing a refresh of the data.

Minimize to System Tray If enabled, minimizing the GUI will force the GUI icon to appear in the system tray.

Display resolved scheduler name

If enabled, AbatAdmin will use the Job Scheduler name as reported by the Job Scheduler (instead of the specification you entered). The default is false (or disabled).

Display Security Accounts in UPN

If enabled, AbatAdmin will display security information in UPN form (i.e. name@domain) instead of domain\user syntax.

Editing Name/Label in Explorer Tree

Depending on the selection you may or may not be allowed to edit the name or label field by changing the navigation pane tree object.

Display Options Description

Display Mode By default, the object name and not its label are used. Job Authors may find it useful to switch to label mode since that is the best “string” type search.

Display Object Type By default, the object type is not shown in the Navigation views since the objects are categorized within folders. Enabling this checkbox will display the object type (i.e. Plan, Queue, Job, etc).

Time Display By default, all times are shown in the Job Scheduler’s local time zone. This allows you to see what “time” an object will be triggered. You may also select Client (which will show you the times in your time zone) or UTC.

Auto Column Sizing If enabled, AbatAdmin will automatically resize columns based on the displayed data. By default, this option is false (or disabled).

Navigation Options Description

Main View gets updated on

By default, the main view is updated when you double-click on an item. This avoids unnecessary calls to the Job Scheduler when you mean to select an item through right-click. You may also choose to select One-Click.

Instances pane gets updated on

By default, the instances view is updated when you double-click on an item. This avoids unnecessary calls to the Job Scheduler when you mean to select an item through right-click. You may also choose to select One-Click.

Look and Feel Options Description

Theme By default, the Windows XP themes are used. Other themes are possible through selection.

Pane tabs position By default, the tabs are located on the bottom. This option allows you to locate them on the top, bottom, left or right-hand portion of the pane.

Lock panes By default, the panes are unlocked and may be moved to anywhere you desire. You may also select to lock the panes preventing their movement, closure or being undocked.

Page 53: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

51

3.5.5.2 Options – Runbook

Figure 17 – Options (Runbook)

This tab allows you to specify preferences when using the Runbook view. The last three items bear some discussion.

Runbook Options Description

Color This selects the background color of the Runbook. You may select other colors. We recommend that you do not select colors such as Green, Red, Purple and Orange since they can conflict with the instance state colors.

Time Interval This option allows you to set the default time interval (minutes) used when displaying the “diary” portion of the Runbook view. You may specify an interval from five (5) to sixty (60) minutes. The initial default is ten (10) minutes.

Auto Scroll This setting will cause the diary portion when viewing the current day to automatically scroll based on time of day. This is very useful when you want to follow along with jobs that are scheduled to run.

Show Time in 24 Hour Format

This setting allows you to see the Runbook time listed, along the left-hand portion, in 24-hour as opposed to AM/PM format.

Combine items greater than

By default, if more than four (4) job/plan(s) are present in a time period they are combined into a single entry. You may change the value with this option.

Page 54: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

52

3.5.5.3 Options – Gantt

Figure 18 – Options (Gantt Chart)

This tab controls the manner in which the Gantt Chart displays their objects.

Sort by Name: By default, the Gantt Chart displays jobs in name sorted order. You may prevent that sorting with this option.

Page 55: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

53

3.5.5.4 Options – System View

Figure 19 – Options (Design/System View)

Design/System View Options

Description

Show Tooltips This option indicates whether you want to see a tool tip displaying more information on the object.

Show Text on Links This option indicates whether you want text displayed on the links that show constraints (dependencies) and completion triggers.

Color Reset Delay This option indicates the number of seconds AbatAdmin shows the job completion color before returning to the job “template” state color.

Double-click on Plan shows properties

This option is just as it’s described and indicates whether you want the double-click action to drill down into the plan or to show a plan’s properties.

Show Queue and Group Filter Bar

This option enables the filter dropdowns which allow you to de-clutter the view based on queues and/or group names. By default this option is disabled. V4 users, in particular, may find this feature useful until jobs at the root level have been migrated to a plan hierarchy.

Show … Lines These options control whether the specified constraint or alert should be graphically shown.

Page 56: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

54

3.5.5.5 Options – Print

Figure 20 – Options (Print)

This tab controls which template is used for printing which object. This advanced option should only be modified by experienced HTML programmers.

Page 57: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

55

3.5.5.6 Options – Notification

Figure 21 – Options (Notifications)

This tab controls the Slider Notification feature. Enable Slider Notifications allows you to enable or disable the feature. The Show Only when Minimized checkbox allows you to further limit the notifications to when AbatAdmin is minimized. Window show delay indicates the number of seconds to display the notification. Under Filter you can also refine what events are to be shown in the slider.

Page 58: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

56

3.5.5.7 Options – User Role Panes

Figure 22 – Options (User Role Panes)

This tab controls the objects that are to be displayed in each role’s navigation (i.e. Designers, Operators, Administrators). Clicking on the … button causes a checkbox list of all the ActiveBatch objects. Clearing an item means the object will not be shown in that role. The Reset to Factory Defaults provide a simple way to return back to the defaults established by ASCI.

Page 59: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 3 - Using ActiveBatch with ABATAdmin

57

3.6 Help The Help menu provides access to the ActiveBatch On-Line Help system. Help also provides access to resources on the Advanced Systems Concepts’ ActiveBatch website.

Figure 23 – On-Line Help

Page 60: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

58

3.7 ABATAdmin and WMI

ABATAdmin provides an automatic refresh of ActiveBatch objects through its support of Microsoft’s Windows Management Instrumentation (WMI) facility. The automatic refresh mechanism requires that the Client machine as well as the Job Scheduler machine have WMI installed and started. If WMI is not present or started on either machine, a manual refresh of ActiveBatch data will be necessary to see any changes which have occurred (you can press the F5 key to request a manual refresh). With WMI enabled, all object changes are sent to ABATAdmin as events. Each event is specific to the object that changed. By using WMI instead of some “homegrown” method, the publishing of event data is made available both locally and remote through a facility which can be used by anyone.

ABATAdmin indicates that automatic refresh (AutoRefresh) is available on a Job Scheduler machine through the use of a special icon. The “lightening bolt” indicates that automatic refresh is available. ABATAdmin provides automatic refresh for most views.

Page 61: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

59

4 GETTING STARTED WITH ACTIVEBATCH 4.1 Starting the ActiveBatch Admin Application Note: New Users should consider reading the “ActiveBatch User’s Guide”, which provides a quick introduction of the various ActiveBatch objects and provides specific instructions for quickly creating various objects. The User’s Guide is tutorial by design and uses case studies, beginning with creating a simple queue and job and then moving on to more complex problems.

ABATAdmin is a Windows GUI utility that is used to access the user portion of the ActiveBatch system.

To run ABATAdmin double-click on the desktop icon (created during the product’s installation) or search for the ActiveBatch program group and click on “ActiveBatch V6 Admin”. ABATAdmin begins by announcing its startup and then initializes itself for use.

Figure 24 – ActiveBatch Admin Utility (Initial)

Page 62: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

60

4.2 Leaving ActiveBatch Admin Application

To leave AbatAdmin click on either the File menu bar and select Exit or click on the stylized in the upper right corner. Depending on your preference you may want to minimize AbatAdmin so it becomes resident on the system tray. This has several advantages:

1. AbatAdmin uses significantly less memory.

2. AbatAdmin starts faster then if you run the process anew.

3. AbatAdmin can alert you to various events when left on the system tray.

This last feature yields quite a few benefits. When Slider Notifications are enabled (Section 3.4), AbatAdmin can alert you when important ActiveBatch events occur (like Job Scheduler failover). A small window will slowly appear indicating which event occurred. After several seconds, the window will slowly drop out of sight.

Figure 25 – AbatAdmin on the System Tray

Page 63: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 4 - Getting Started with ActiveBatch

61

4.3 Job Scheduler

4.3.1 Connecting to a Job Scheduler With ABATAdmin running you’re ready to connect to a Job Scheduler. The Job Scheduler component is a Windows Service that manages all the ActiveBatch objects. ActiveBatch supports connections to one or more Job Schedulers. As the name implies, this service handles job and machine scheduling. The first thing you need to do is connect to a Job Scheduler.

4.3.1.1 Basic Connection

Figure 26 – Connect Dialog (Basic)

To connect to a Job Scheduler machine, either right click on the “ActiveBatch Neighborhood” icon and select “Connect…” or click on “Job Scheduler/Connect…” using the menu bar. The figure above shows the Connect dialog. The Basic Connect dialog asks for a machine name (or IP address) to connect to. You may enter the machine name by typing it in, or selecting a previously entered machine from the drop down list, or by clicking on the Browse button to display a Network Neighborhood listing of machines. For those machines running Directory Services you can click the Directory button. This retrieves a list of published Job Schedulers and Plans operating within your domain. When you have selected a machine, click on the Connect button to attempt the connection. A successful connection results in a list of that Job Scheduler’s objects presented (and merged) into your current view.

Page 64: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

62

4.3.1.2 Advanced Connection

Figure 27 – Connect Dialog (Advanced)

The Basic Connect dialog assumes that your current authentication credentials are sufficient to connect to the named Job Scheduler machine. However, if you are logged onto a Windows machine that is not part of the security domain of the Job Scheduler machine you will need to present your authentication credentials to ActiveBatch so you can be authenticated. To perform an extended authentication check, click the Advanced>> button. This will cause Username and Password fields to be displayed. You should enter a username and password that can be authenticated on the selected Job Scheduler system. This will typically be a domain user account for Windows. As a convenience you can click the checkbox for Remember Password to have ActiveBatch remember your entered username/password for the selected Job Scheduler machine. This saved information will only be used for establishing a connection to a Job Scheduler machine. Once you’ve entered the information you may click the Connect button to allow ActiveBatch to attempt a connection with the authentication credentials you’ve supplied.

As previously discussed, ActiveBatch will also provide auto refresh capability so you can see the active system and how it is changing. The mechanism used is Windows Management Instrumentation (WMI). WMI also performs authentication. Depending on the Client/Job Scheduler machines you are running you may need to change the Impersonation Level and/or Authentication Level as appropriate.

Page 65: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 4 - Getting Started with ActiveBatch

63

4.3.1.3 Firewall Connection

This type of connection is typically used when a firewall is setup between the client and Job Scheduler machines. When a firewall is used, the connection is made to the firewall and a specific port. The firewall then relays the connection to the appropriate internal Job Scheduler machine behind the firewall. The firewall machine can be specified using standard TCP/IP notation (hostname, fully qualified hostname, IP address). The port number is specified by use of a colon (:) and number. For example, hostname:5000 would tell the client to connect to a machine named hostname using port number 5000.

Figure 28 – Connect through Firewall

Page 66: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

64

4.3.2 Disconnecting from a Job Scheduler To disconnect from a Job Scheduler right click on the selected Job Scheduler machine icon and select Disconnect. When you successfully disconnect from a Job Scheduler the entire tree of objects that the Job Scheduler represented are removed from all views.

Note: You do not have to be connected to a Job Scheduler for your previously submitted jobs to properly execute.

4.3.3 Job Scheduler Licensing AbatAdmin allows you to execute the AbatLicenseMgr program directly on the specific Job Scheduler machine you’re connected to. For more information concerning this utility read the ActiveBatch Installation and Administrator’s Manual.

Page 67: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 4 - Getting Started with ActiveBatch

65

4.3.4 Find Objects As you can imagine sometimes it may be difficult finding an object among hundreds or thousands of other objects. ActiveBatch provides several operations to help you find an object.

4.3.4.1 Search

Search allows you to find an object based on either the object’s name or label. Wildcards are also supported. A complete description and example of Search can be found in section 3.5.4.

4.3.4.2 Object in Tree

Find Object in Tree is useful when all you know is the object’s ID number. This menu selection displays a simple dialog box asking for the ID. When properly entered the object’s properties are displayed.

Figure 29 – Find Object in Tree (by ID)

When the object is found the object is selected within the Object View Navigation tree.

4.3.4.3 View Property Sheet of Object

This operation is similar to the previously described “Find Object in Tree” but instead of only selecting the object in the Object View Navavigation tree, the object’s properties are also displayed.

Page 68: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

66

4.3.5 Job Scheduler Properties Clicking on the Job Scheduler icon and then selecting Properties displays various information about the Job Scheduler machine you’re connected to.

Figure 30 – Job Scheduler Properties

Seven (7) selections are available: Properties (the above figure), Variables, Counters, Alerts, Audits, History and Security. The title of the dialog provides both the IP address of the Job Scheduler machine as well as the user security context used during ActiveBatch logon. The information displayed is retrieved from the Job Scheduler’s machine. The Connected As information reminds you of the current security context associated with this Scheduler, the ActiveBatch Administrator indicates whether you have ActiveBatch Admin access and the WMI Enabled property indicates whether the Job Scheduler machine is using WMI Event handling (necessary for automatic refresh).

Note: The Security selection is discussed in the ActiveBatch Installation and Administrator’s Guide.

Page 69: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 4 - Getting Started with ActiveBatch

67

4.3.5.1 Variables

Previous versions of ActiveBatch displayed a list of the various characteristics (mostly informational) associated with the Job Scheduler. In V6, these characteristics are provided as a series of built-in ActiveBatch variables. The advantage to declaring these characteristics as variables is that you can use them for possible substitution or to customize notification messages. Three (3) buttons are available: Add, Edit and Remove. You must be an ActiveBatch Administrator to access these facilities. The ADD button allows you to add your own “global” variables to the list. Every Plan and Job can retrieve these variables. The variable names you choose must adhere to standard user variable restrictions (in other words you won’t be able to enter a variable with a leading dollar ($) sign or the at-sign (@)). The EDIT button allows you to edit the variables you added. You cannot edit the values of the built-in variables. The REMOVE button allows you to remove or delete an existing variable you added.

Figure 31 – Job Scheduler Variables

Page 70: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

68

4.3.5.2 Alerts

The figure below shows a sample Job Scheduler alert.

Figure 32 – Job Scheduler Alerts

This facility allows you to designate one or more alerts (and their actions) based on events governing the Job Scheduler. In particular these events tend to concern the state of the Job Scheduler. The alerts for the Job Scheduler are:

Alert Description

Database Connection Lost Job Scheduler has lost the connection to its database. New jobs will not be started during this period.

Database Connection Resumed Job Scheduler has regained the connection to its database. Normal operations are resumed.

Service Pause Pending Job Scheduler is entering a standby state (for non-cluster failover).

Service Paused Job Scheduler is in standby. (This is a normal state for a standby scheduler).

Service Start Pending Job Scheduler is starting. (This is a transient state).

Service Started Job Scheduler has started. (This is a normal state).

Service Stop Pending Job Scheduler is stopping. (This is a transient state).

Service Stopped Job Scheduler has stopped.

Table 1 – Job Scheduler Alerts

Page 71: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 4 - Getting Started with ActiveBatch

69

4.3.5.3 Counters

The figure below shows a sample of Job Scheduler Performance counters.

Figure 33 – Job Scheduler Performance Counters

The counters in this list box are statically displayed. Clicking on the Refresh button allows you to retrieve updated values. The performance counters are exported so you can track them through various Windows facilities (for example, Microsoft’s Performance Monitoring facility (Perfmon)).

Page 72: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

70

4.3.5.4 Audits

The figure below displays audit history concerning the operation of the Job Scheduler itself. Audits typically produced concern the startup and shutdown of the Job Scheduler service.

Figure 34 – Job Scheduler Audits

Page 73: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 4 - Getting Started with ActiveBatch

71

4.3.5.5 History

Figure 35 – Job Scheduler History

This property page shows the number of times the Job Scheduler object has been revised and who/when made the last revision.

Page 74: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

72

4.3.5.6 Security

Figure 36 – Job Scheduler Security

This property page allows ActiveBatch Administrators the ability to set Job Scheduler level permissions for authenticated users of ActiveBatch. For more information, please read the “ActiveBatch Installation and Administration” manual.

Page 75: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

73

5 DESIGNING THE ACTIVEBATCH SYSTEM

The previous chapter discussed the initial use of AbatAdmin to connect to a Job Scheduler machine. This chapter will discuss the various objects that make up ActiveBatch. As this chapter concerns job authoring and design, make sure that when you run AbatAdmin that you have selected the “Object/View Navigation” tab at the bottom of the Navigation window.

5.1 Job Scheduler Namespace Each Job Scheduler you connect to has its own namespace. The namespace is used for storage and retrieval of ActiveBatch objects. Using a file system analogy, each file is uniquely named depending on the folder it is in. The same is true for ActiveBatch. Just as “C:\” represents the “root” of the “C” drive, when you initially connect to a Job Scheduler you are placed at the root level of the Job Scheduler’s namespace.

The figure to the left shows a connected Job Scheduler with jobs and plans. For example, CaseStudy2 is a plan and its full path is shown as “/CaseStudy2”. If we drill down into CaseStudy2 we see the job objects within that plan (or container).

JobA and JobB, within CaseStudy2, would have a full path of /CaseStudy2/JobA and /CaseStudy2/JobB respectively. Each object is uniquely labeled depending on its position in the namespace. In other words, while you can have two objects labeled JobA you can’t have two objects labeled JobA at the same level within CaseStudy2. When you access objects within the GUI you are always presented with the full path to the object. When you script access to an ActiveBatch object you may elect to use either a full path or just the object’s label. If you specify a full path then no ambiguity exists and the object can be retrieved. However, if you specify only the object label and no path, your current position in the namespace is scanned. If no object is found an error is produced.

Page 76: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

74

5.2 Common Object Properties Name, Label, Description and whether the object is enabled are some of the common elements all objects share. As this chapter explains each object, you should give some thought as to how you will name each object. The object’s name and label are two different (yet related) properties. An object’s name does not have to be unique (although you would do well to make it unique to avoid confusion or ambiguity). An object’s label must be unique.

Since every object has common properties those properties have been placed on the “General” category when creating or viewing an object.

Name: The object’s name should be unique to avoid confusion. We recommend that it also be somewhat descriptive so it’s easy to find. The name is limited to sixty-four (64) characters.

Label: Every object must be uniquely labeled within the scope of the namespace. The label is typically the same value as the name; however, uniqueness is always enforced for an object’s label. The label is recorded in the ActiveBatch namespace. The characters that may be used for the label property are restricted to alphanumeric (A-Z, a-z, 0-9) and underscore (_). The label itself must begin with an alpha character. The label is limited to sixty-four (64) characters. The label is typically used only when scripting. All searches are case-insensitive.

Description: This free form property is provided so you can document and describe the object to others.

Enabled: This property determines whether the object itself is enabled for use. ActiveBatch also provides an Enable/Disable method for every object. An additional property named Global Disable is meant to be used with Reference objects and is discussed in that section (Section 5.10).

There are also several read-only properties.

ID: Object ID. This is a unique number that can be used to retrieve any object.

Path: This is the full namespace specification to the object. The object’s label is inserted at the end.

State: The interpreted state depends on the object. For a Queue, the state will indicate whether the Queue has been started, stopped, starting or stopping. Table 2 indicates the Queue states. For a Plan/Job Instance, this property indicates the current status of the instance, for example, waiting for constraint, executing or completed. Table 3 indicates the Plan/Job Instance states.

State Description

Started Queue is started and can dispatch jobs.

Starting Queue is starting, however, jobs cannot be dispatched due to unavailability of active Execution Agent.

Stopped Queue is stopped. Jobs cannot be dispatched.

Table 2 – Queue States

Page 77: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

75

State Description

Waiting The job is awaiting execution. Possible sub-states are:

WaitingQueueBusy – the Queue is not available for Job execution at this time. The queue may not be started and/or it has reached its maximum job execution limit.

WaitingConstraint – waiting on one or more constraints (dependencies) to complete. The number of times left to wait are displayed in parenthesis.

WaitingDateTime – waiting for date/time to begin execution (Deferred Trigger).

WaitingActiveInstances – waiting for the active job instance to complete (job tolerates only one active instance) OR waiting for the limit of multiple active instances to complete

WaitingRestart –a disconnection occurred between the Job Scheduler and Execution Agent and the job was not marked as Restart with Failover.

WaitingExecutionAgent – a job with Restart on Reboot is waiting for the Execution Agent/machine to become available.

Preprocessing The job is beginning the execution phase and communicating with an Execution Agent (Dispatch).

Executing The job is currently executing. Possible sub-states are:

Executing – main job step is executing

ExecutingPreStep – pre job step is executing

ExecutingPostStep – post job step is executing

Paused – job is paused on execution machine

Completed The job has completed processing. Possible sub-states are:

Succeeded – job completed successfully

Failed – job completed in failure

Aborted – job was aborted

Held/Disabled The job is held waiting for manual release. A held job is a disabled job.

Table 3 – Job States and Sub-States

Page 78: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

76

5.3 Queues This section will describe how to create Queues. Two (2) types of queues can be created: Execution and Generic. At least one Execution queue is required so you can run jobs on the machine represented by that queue. To create a Queue at root level you must have “Create Queue” access permission on the ActiveBatch System (Job Scheduler) object. To create a Queue within a Plan you must have “Create Objects” access permission within the plan.

5.3.1 Creating an Execution Queue To create an Execution Queue either right-click on a Job Scheduler machine icon, right-click on the Queues folder or right click on a Plan and select New… Execution Queue operation. When you’ve completed the Execution Queue selections you must click the OK button to confirm and apply your selections. Click the Cancel button to cancel the New Execution Queue operation. Your new queue will instantly appear (if auto refresh is enabled) and should be ready for operations.

Page 79: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

77

5.3.1.1 Queue – General

Figure 37 – Queue (General)

The above figure shows the “General” dialog for queues.

General Definition: These fields describe the common aspects shared by all Queues.

Name: This mandatory field requires the entry of a name for this Queue. Queue names are limited to a maximum of sixty-four (64) characters. While you may enter data in upper or lower case, all comparisons and searches for this field are performed in a “caseless” mode.

Label: This mandatory field uniquely labels the Queue object within the ActiveBatch namespace. Queue labels are limited to a maximum of sixty-four (64) characters. While you may enter data in upper or lower case, all comparisons and searches for this field are performed in a “caseless” mode. This field is used when scripting ActiveBatch objects.

ID: This read-only field indicates the object ID (useful when scripting).

Full Path: This read-only field provides the complete path to the object. The label is used as part of the path.

Description: This optional field allows you to enter data describing the intended use of this Queue.

State: This read-only field indicates the current state of the Queue (see Table 2).

Read Only: This checkbox allows you to prevent anyone from modifying the queue object’s properties.

Page 80: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

78

5.3.1.2 Queue – Properties

Figure 38 – Queue (Properties)

The above figure shows the “Properties” pane for all queues.

Auto Close/Stop: The next sets of fields indicate when jobs may be submitted to the Queue or when jobs may be scheduled for execution.

Close from… to…: This “from” and “to” time range indicates when a Queue is closed. Job instances may not be submitted to a closed queue (Job definitions may still be associated with a closed queue). To enable this feature, click the checkbox and then enter a “from” and “to” time range. “from” and “to” times may not be the same.

Stop from… to…: This “from” and “to” time range indicates when a Queue is to be stopped. Jobs are not scheduled for possible execution on a stopped Queue. To enable this feature, click the checkbox and then enter a “from” and “to” time range. “from” and “to” times may not be the same.

Page 81: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

79

5.3.1.3 Execution Queue – Properties

Figure 39 – Execution Queue (Properties)

This tab is used to set specific Execution Queue properties.

Machine: This mandatory field indicates the machine that will be used to execute jobs submitted to this Queue. You may enter any valid machine name, IP address or ActiveBatch Execution Agent published name. An ActiveBatch Execution Agent published name is one that has been published via Directory services. The syntax is AD://published-name. The Browse button may be used to select a machine in your Network Neighborhood. The machine entered must be running an ActiveBatch Execution Agent. The Directory button allows you to find all published Execution Agents. By default, the client machine name is used.

Page 82: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

80

Executing Job Limit: This field indicates the maximum number of jobs that may simultaneously execute on this Execution Queue. A number from 1 to 32767 may be selected. The default is five (5). This number should be adjusted based on the types of jobs you will be running. Please note that too high a number may have an adverse effect on overall execution machine performance.

Log Job Start/Stop to NT Event log on: This field indicates whether the Job Scheduler should log all job start and stop events to a machine’s NT event log. Clicking the checkbox enables the feature. You may further choose which machine’s event log will be used. Valid selections are: Job Scheduler, Client machine, Execution machine, Custom (a valid machine name) or None. The machine selected must be running Windows.

Page 83: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

81

5.3.1.4 Execution Queue – Characteristics

Figure 40 – Execution Queue (Characteristics)

Machine Characteristics: This read-only section indicates the static characteristics of the machine you’ve selected for this Execution Queue. Generic Queues use this information for selecting the most appropriate execution machine for a job. This section will be blank until the Execution Queue is actually created.

User Characteristics: This section lists the current user characteristics associated with this Queue. Generic Queues use this information for selecting the most appropriate execution machine for a job. To add a user characteristic, click the Add button. To edit or remove a user characteristic, select the characteristic from the list and click the Edit or Remove buttons. See Figure 46 – Execution Queue (Add User Characteristic) for specific information on this dialog.

Page 84: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

82

5.3.1.5 Queue – Alerts

Figure 41 – Queue Alerts

You can associate alerts with a Queue. The purpose is to potentially alert you or others in the event of a queue status change.

Page 85: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

83

The alerts for queues are:

Alert Description

Queue Starting Queue is starting.

Queue Started Queue has started (and is operational).

Queue Stopping Queue is stopping.

Queue Stopped Queue has stopped.

Queue Connected Queue is connected to Execution Agent.

Queue Disconnected Queue is disconnected from Execution Agent.

Queue Closed Queue is closed.

Queue Opened Queue is opened.

Table 4 – Queue Alerts

Using this feature you could generate an e-mail or SNMP trap if a queue was stopped or entered a starting state.

Page 86: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

84

5.3.1.6 Queue – Counters

Figure 42 – Queue Counters

ActiveBatch maintains performance counters for all Queue objects. The counters fall into two categories: Operational and Historical counts. Operational counts are those that accurately describe the current state of the queue. Historical counts are those that are accumulated while the product has been actively running. As the counters are statically displayed, clicking the Refresh button allows you to retrieve the latest data. Clicking the Reset Counters button allows you to zero the historical counters.

Page 87: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

85

5.3.1.7 Queue – Audits

Figure 43 – Queue Audits

You can examine the audit trail for a queue. The audit trail contains all state changes or modifying operations made to a queue. Opening an audit item (by double-clicking on the item), depending on the nature of the audit, will sometimes reveal additional information concerning the audit. When object level auditing has been enabled, a plus sign will appear that allows you to drill down and obtain more information concerning the audit.

Page 88: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

86

5.3.1.8 Queue – Security

Both Execution and Generic Queues share the same Security. This section indicates the security characteristics of the Queue object. The ActiveBatch Administrator may select Queue Policies for an ActiveBatch installation and those policies extend to the security system. Therefore when you create a Queue you may notice that several permissions have already been associated with the object.

To add, edit or remove security access permissions requires the user to have security access to the object.

Figure 44 – Queue Security Tab

Page 89: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

87

This section lists all security access permissions using Windows conventions. To edit an existing account name, select the listed account and change the permission using the Type of access: list box. You may select one of the following access permissions:

Access Description

Read Account is allowed to view all properties of the queue

Write Account is allowed to write to the queue

Modify Account is allowed to read/write any properties of the queue (Read + Write)

Delete Account is allowed to delete the queue

Take Ownership Account is allowed to take ownership of the queue

Use Account is allowed to submit jobs to the queue and to create a reference to it

Manage Account is allowed to perform operations on the queue (Enable/Disable or Start/Stop, Open/Close)

Change Permissions

Account is allowed to change permissions (set security) on the queue

Full Control Account may issue all of the operations mentioned above.

Table 5 – Queue Security Access

To add a new account permission, click the Add button and follow the dialog as discussed in Section 5.3.1.9. To remove an existing account name, select the listed account and click the Remove button.

Full Control is a convenient way of granting all access permissions at one time. Any combination of access permissions is allowed. By default, ActiveBatch provides the following access permissions when a queue is created.

Administrators Full Control Authenticated Users Read, Use

The owner of a queue is the user who first creates the Queue. The Queue owner is always implicitly granted “Full Control” access. To change ownership, click the Take Ownership button (remember that in Windows you cannot specify a user to become owner, rather a user “takes” ownership).

Page 90: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

88

5.3.1.9 Add Security Dialog

Figure 45 – Add Security Dialog (Queue)

The figure above displays the Security dialog for an ActiveBatch object. The dialog is similar to that of other Windows objects and leverages Active Directory services. The Locations button allows you to select either the Job Scheduler machine or any applicable domain. Clicking the Advanced button allows you to search for specific users and/or groups. Alternatively you may enter object names in the large edit box. Clicking the Check Names button allows you to validate the accounts. Click the OK button to add the selected Account to the object’s security list.

Page 91: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

89

5.3.1.10 Add User Characteristic (Queue)

Figure 46 – Execution Queue (Add User Characteristic)

The above figure is displayed when you want to add or edit a user characteristic. User characteristics are uniquely named within a single queue. Typically you will add the same named user characteristic to one or more Execution Queues associated with a Generic Queue. The purpose of user characteristics is to allow a job that has been submitted to a Generic Queue to directly influence which machines should be considered eligible for running a job.

Special reserved user characteristics beginning with the prefix ABAT$ are reserved to Advanced Systems. ABAT$QAFFINITY allows a user to select a preferred execution queue when that queue is a member of a generic queue. This functionality is most appropriate when the generic queue represents a cluster.

Name: Enter a name which will represent this characteristic. The characteristic must be uniquely named only within the same queue.

Description: A description for the user characteristic.

Type: You must select whether the characteristic value is a numeric or string value.

Value: You must enter a value that will be associated with this characteristic.

Page 92: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

90

5.3.2 Creating a Generic Queue The concept of Execution Queues is pretty straightforward. Just what is the usefulness of a Generic Queue? A Generic Queue is composed of one or more Execution Queues. An Execution Queue can be a member of one or more Generic Queues. The membership of an Execution Queue to a specific Generic Queue can be as static or dynamic as you wish. This abstraction layer between the Job and the machine that it actually runs on can be very useful. For example, you have a job that could run on one of three machines. If you submitted the job directly to an Execution Queue – that’s it. The job will only execute on that machine. If the machine isn’t available, the job will wait. A Generic Queue is similar to a virtual machine. The actual machine that will be selected can be deferred to the last moment. This means the job can execute on the most appropriate machine available. You can also specify selection criteria as well as match machine/user characteristics of the job to the machine/user characteristics of the Execution Queue. So if you need to run a job on a Pentium of at least 3 Ghz you can. Let’s examine the Generic Queue tabs and learn more about Generic Queues.

As we learned with Execution Queues, five (5) tabs are provided to define a Queue. The General, Properties, Alerts and Security tabs are common to all Queues. Audits and Counters are present once the queue is defined. So let’s concentrate on the Generic Queue Properties tab.

Figure 47 – New Generic Queue (Properties)

Page 93: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

91

Figure 47 consists of two (2) lists: Execution Queue and related machine. For a new Generic Queue, this list will be empty. To add members to this Generic Queue, click the Associate button. A new dialog box is displayed listing all available Execution Queues for you to select. Simply select one or more Queues and click the OK button. Those queues will be added to the list. To remove existing members from this Generic Queue, simply select the member(s) and click the Disassociate button.

Scheduling Algorithm: This field indicates what algorithm should be used to dispatch jobs to eligible Execution Queues. An eligible queue is one that meets all requirements for the job and is available for execution at the moment the job is actually dispatched to an Execution Queue. Possible choices are: Sequential, Round Robin and Workload Balancing. Sequential means that the first Execution Queue is used for all job execution dispatches until the Queue has reached its maximum job limit and then the next queue is selected. Round Robin causes jobs to be dispatched to each Queue in turn. Workload Balancing causes ActiveBatch to analyze the run-time aspects of the execution machine and uses the best (least used) execution machine available. CPU and Memory are among the criteria used in workload balancing.

Regardless of Scheduling Algorithm, jobs are kept queued to the generic queue until an eligible execution queue is available to run the job. The job is then re-queued to the execution queue.

Page 94: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

92

5.3.3 Associating/Disassociating a Member Execution Queue This operation allows you to associate/disassociate one or more Execution Queue(s) as members to/from a Generic Queue. To associate Execution Queue(s) to a Generic Queue you must select the Generic Queues Properties dialog and click the Associate button.

Figure 48 – Associating/Disassociating an Execution Queue Dialog

The main list shows all available Execution Queues. Next to each Queue is a checkbox. If the box is checked, the Queue is already a member of this Generic Queue. To add members, simply click the checkbox next to each desired Queue. When you’re done, click OK to confirm and apply your selections.

To disassociate existing members, the operations are very similar. Choose Disassociate from the menu selection. Figure 48 will appear however this time, only member Queues are listed with a clicked checkbox next to each one. To perform the disassociation, unclick the checkbox next to each Queue that you no longer want to be a member of this Generic Queue. Click OK to confirm and apply your selections.

To associate/disassociate member Queues, you must have “Manage” access permissions on the Generic Queue object.

5.3.4 Modifying a Queue Right-click on the Queue you want to modify and select Properties. One property you cannot change is the Queue’s type. Modifying a Queue requires that you have “Manage” access permission for the Queue object.

Page 95: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

93

5.3.5 Built-in Queues Every ActiveBatch system contains several “built-in” queues. One built-in queue (found under the System plan) is required for ActiveBatch internal job processing. For example, recurring database purges help to maximize ActiveBatch performance and keep data storage requirements down. The second built-in queue is the VariableQueue. Jobs associated with this queue signify that the actual queue they will be submitted to is determined at run-time. The purpose of the VariableQueue is to allow ActiveBatch Administrators the ability to secure this powerful feature by designating those jobs as being members of the VariableQueue. The third built-in queue is the OnDemand queue. The OnDemand queue is used to defer where a job is to actually execute until the last possible moment. ActiveBatch built-in queues cannot be deleted. The objects can be renamed although their namespace label cannot be changed.

5.3.6 VariableQueue The VariableQueue allows a job designer the ability to specify the plan/job associated queue at run-time through a special ActiveBatch variable named #queue. For example, suppose Job1, running on Server1, performs some processing but then needs to tell Job2 (the next job in the stream) to execute on queue “Server2”. While we could use the Trigger facility the downside of that operation is that a new batch run will be created and no variable sharing can occur. Instead the best approach would be for Job1 to set a variable that would tell Job2 what queue to execute on. That’s the purpose of the VariableQueue and the special #queue variable. To enable #queue variable support for a job you must associate the job with the VariableQueue (this also allows ActiveBatch Administrators the ability to restrict this functionality).

With the queue set, we can now create the special #queue variable.

#queue will now be set to server2 (you should specify the full path to the object. If no path is specified, root level is assumed) and that queue will be used as the Submission Queue property for Job2.

5.3.7 OnDemand Queue ActiveBatch provides a special queue named OnDemand. The OnDemand Queue is a special type of Execution Queue that is not associated with a machine. For example, let’s say you wrote a script to start up a Windows service for a machine. If you wanted to execute the job on a specific machine you would submit the job to that machine’s Execution queue. But what if you didn’t know what machine would need to use your script until just before the job is to run? That’s the driving force behind the OnDemand queue. Jobs that are associated with the OnDemand queue enter a special “wait” state. Remember that a job definition (or template) doesn’t actually execute. Instead the instance(s) of the definition execute. Jobs that are associated with the On-Demand queue can’t create instances until a Trigger command is issued. The Advanced Trigger command provides the facility for starting an instance of a job definition and the ability to specify a queue for execution. This means you could submit the script that starts a service and then, later on, issue a Trigger command indicating what queue (machine) the job instance should execute on. The instance would be instantiated on that queue (the job definition would still be associated with the On-Demand queue). This means that you could have the

Page 96: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

94

same script run on different queues (machines) at the same time, based “on demand”.

Note: It is important to remember that jobs never execute on the OnDemand queue. You must always trigger such jobs for execution to a different queue.

Security Implications

Since the ability to Trigger an OnDemand job is so powerful in scope, ActiveBatch provides several different access permissions for jobs which are “triggerable”. First, an ActiveBatch job must indicate that it is willing to support the ActiveBatch Trigger command. The “ActiveBatch Event Triggers” property can be found on the Scheduling/Events section of the ABATAdmin Plan/Job dialogues. This property allows you to enable or disable the potential use of this command. Most users will want to enable this feature. Next, you will want to control who can Trigger a job and what Trigger features can be enabled. If you examine Table 12 you’ll notice three (3) Trigger access permissions. Let’s discuss each in more detail.

Trigger Access

This level of access simply means that a named user or group is allowed to start the job. No other aspects of the job can be changed. Trigger level access permission alone makes little sense if you are attempting to trigger an OnDemand job since a major requirement is the ability to specify a queue for the job to execute on.

Trigger with Queue Change Access

This level of access allows a user to both trigger and specify a queue that the job instance should execute on. This access permission is what is typically granted to a user who must trigger a job associated with the OnDemand queue. The user can now both trigger and specify a queue (machine) for execution.

Typically, the author of the job will issue a Trigger command, usually from within another batch job stream that’s been written. This means the same user is issuing a Trigger from another job using the same security context. Since the Trigger command requires access permissions, a very nice benefit can be obtained from letting other users issue a Trigger command. Let’s look at our earlier example on starting a Windows service. Normally starting a service would require Administrator level access and most administrators with good reason won’t just add a user to that group even if, on occasion, there’s justification in doing so. On the other hand, what if you (an administrator) could submit a job to the OnDemand queue and allow a normal user the ability to trigger your job for execution on his machine? That way you wouldn’t have to give him your security credentials (a bad thing) and you wouldn’t have to add him to any Admin groups. That is precisely what Triggering an OnDemand job allows. You simply submit a job with your security credentials to an OnDemand queue and allow (using ActiveBatch security) one or more users to issue a “Trigger with Queue Change” access.

Trigger with Change Parameters Access

This level of access indicates that a user is allowed to trigger a template job and pass a new set of input parameters and/or variables to the job instance.

Trigger with Change Security Credentials

This level of access indicates that a user is allowed to trigger a template job and pass a set of security credentials that are to be used for this specific job instance.

By allowing different access permissions for the Trigger command, a job designer can precisely indicate what can be triggered and where the job can execute.

Page 97: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

95

5.4 Jobs and Plans

5.4.1 What is a Job? A Job is, typically, an unattended non-interactive process that executes on a machine through an Execution Queue. While a job is usually non-interactive it need not be so. ActiveBatch supports many types of jobs. This document uses several specific terms to refer to jobs so let’s define them.

A non-recurring Job is a one-time executing job. Since the job will only execute once, a non-recurring job is also the job instance. Two (2) types of non-recurring jobs are supported: Immediate and Deferred. An immediate job is one that runs as soon as it is submitted into the system. A Deferred job is one that runs once sometime in the future.

A Template Job is a potentially recurring job. When a Template Job is triggered for execution, a Job Instance is cloned (or created) from the Template Job. It is the Job Instance that executes, not the Template Job. So a Template Job is really a definition of the job while a Job Instance is the actual running (or completed) job. The vast majority of jobs in ActiveBatch are created as Template Jobs that spawn many Job Instances over its lifetime. Throughout this manual the terms Template Job and Job Definition are synonymous.

5.4.2 What is a Plan? A Plan is an ActiveBatch object similar to a Job except that it’s also a container. Using a file system analogy, a Plan would be a folder. You can place all the other ActiveBatch objects within a Plan including other Plans. Plans provide several features:

• They provide a workspace for you to store related objects. For the most part, this means that you can store other related Jobs, Plans and any other object within a plan. Placing objects within a Plan also provides a form of isolation. For example, if you place a queue or user account object within a plan you eliminate its visibility outside the plan.

• They allow you to avoid name/label conflicts within the ActiveBatch Namespace.

• Plans can be triggered and handled as Jobs.

• New Jobs can inherit Plan policies.

• New Objects can inherit Plan policies.

• Jobs can access Plan(s) variables.

• Plans can be managed as a whole (as opposed to managing each Job within the plan).

Plans can be scheduled or triggered just as Jobs are. Plans can contain variables that can be passed to other related Jobs and Plans.

Note: While many Plans are scheduled and triggered for execution it is important to note that a Plan does not need to be executed (and can be prevented from being executed). Such a plan is called a Plan Folder and provides a policy sandbox into which you can place other plans and objects that are meant to implement a common application. A “policy sandbox” refers to a plan that is meant to only contain policies that new ActiveBatch objects placed into the plan inherit.

Page 98: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

96

5.5 Plan Definition Plans are very similar to Jobs and they share most of the various tabs that are described in the Job Definition section of this chapter.

Note: All Plan changes are only applied when the OK button on the Plan Property sheet is clicked. If you haven’t made any changes to the Plan we recommend you click the CANCEL button to avoid unnecessary updates.

5.5.1 Plan – General

Figure 49 – Plan (General)

Figure 49 begins the definition and submission of a new plan. The dialog box is composed of several areas.

Name: This mandatory field represents the name of the Plan (to a maximum of 64 characters). While a plan name is not required to be unique, we highly recommend that you do so to avoid later confusion.

Label: This mandatory field, taken from the plan’s name, is required to be unique and is used to identify the object within the ActiveBatch namespace (maximum 64 characters). The label is typically used for scripting purposes to uniquely retrieve objects within ActiveBatch.

ID: Object ID. This is a unique number that can be used to retrieve this object.

Page 99: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

97

Full Path: This read-only field represents the complete namespace path to the object.

Description: This optional field can contain free-form text (to a maximum of 512 characters) describing the nature and conduct of this plan. Clicking on the will cause a mini text editor to appear.

Documentation: This optional field is used to denote a reference to the plan in an operator’s runbook or other documentation concerning the running of the job (to a maximum of 80 characters). Clicking on the will cause a mini text editor to appear.

User Defined: This optional field can be set by the plan’s author as free-form text (to a maximum of 128 characters). If you set this field as a URL (for example, a hot link to runbook information for this plan) you can click the button on the right and launch your web browser with this field as a URL.

Category: This optional field is used to categorize the plan (to a maximum of 64 characters).

Group Name: This field is not used and is obsolete (it is maintained for backward compatibility purposes only). Plans are now used to associate related jobs. The maximum group name length is 64 characters.

State: This read-only field indicates whether the Plan is enabled for use.

Hide in Runbook, Gantt and Daily Activity List: This checkbox indicates whether you would like to hide this plan in the views mentioned. This can be useful when you have a plan that runs very often and would only clutter the usefulness of the other views.

Read Only: This checkbox, when enabled, means the plan’s properties cannot be changed. You must have “Modify” access permission to the Plan’s object to set this feature. To clear the read-only attribute, simply uncheck the box.

Global Disable: This checkbox indicates whether the plan is enabled. If the checkbox is set, the plan is disabled (held).

Page 100: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

98

5.5.2 Plan – Variables

Figure 50 – Plan (Variables)

Variables are one of the most important and powerful aspects of ActiveBatch. With variables you can pass data to other related jobs as well as form constraints for proper execution of related jobs.

ActiveBatch variables represent data that can be passed to jobs, plans, programs or used anywhere variable substitution may be used within ActiveBatch. A variable can be exported to a job by enabling it as an environment variable. The figure above displays any variables associated with the plan. The figure shows a simple constant variable named app_path that is being used to specify the location of script files and/or executables that are to be executed in the nested plans and/or jobs with the plan TestDoc.

The checkbox Strict Variable Processing when selected means that all active variables must execute successfully. If even a single variable fails to evaluate, the plan/job will be terminated in failure. For more precise control, on a variable basis, please see the Use property of a variable.

Page 101: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

99

5.5.3 Plan – Triggers/Scheduling

Figure 51 – Plan (Triggers/Scheduling)

This selection provides the ability to indicate the day/date and time a plan is to be scheduled.

Enable Date/Time Trigger: This checkbox, when enabled, allows a Plan to be scheduled to date/time and/or time specifications. Two types of date/time triggers may be used: One-Time Run and Recurring.

One Time Run: This section refers to plans that are scheduled using this trigger just once. Two types of one-time run triggers are available.

Immediately: When selected the plan is to be executed immediately.

Deferred until: When selected the plan is to wait until the date and time specified before executing.

Recurring: This section refers to plans that are scheduled on a periodic basis. Two types of recurring triggers are available.

Interval: This trigger, when selected, allows you to enter an interval expressed in days, hours and minutes. This “interval” is added to the starting execution time and forms the next time the job is to be scheduled for execution. For example, let’s say the time is now 11:00am, an interval of 1 day, 1 hour and 0 minutes would result in a next scheduled execution time of tomorrow at 12:00 (noon).

Compute Interval after Completion: This checkbox allows you to have ActiveBatch compute the next time the plan is scheduled to run by adding the interval period when the plan completes rather than

Page 102: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

100

when the plan begins to execute. For example: Assuming a ten (10) minute interval and a five (5) minute elapsed execution time, if a plan starts to execute at 12:00 and completes at 12:05 this checkbox will schedule the next occurrence at 12:15 rather than the default of 12:10.

Schedules: This trigger, when selected, allows you to schedule a plan’s execution based on any criteria of date and time specifications. The list box shows any currently associated schedules. The buttons listed down the right side of the box allow you to associate/disassociate existing schedules, create a new schedule that you want to associate or edit a specific schedule. Section 5.12 provides more information concerning Schedules.

Run Last Missed Schedule: This field indicates whether the last “missed” schedule time should be executed. For example, let’s say a Plan was scheduled to run at 17:00 (5pm) today, but the Job Scheduler machine was down. When the Job Scheduler machine is started at 18:00 (6pm) that scheduled execution time would have been missed. With this field enabled, the Job Scheduler will execute the plan based on its last scheduled time.

Note: Only the “last” missed schedule is honored. This is true even if the plan had missed five (5) scheduled times. In other words, the plan is triggered once (not 5 times).

Time Zone to use: This field indicates the time zone to use for determining the time trigger. Possible time zones are: Job Scheduler, Client (Submitter’s machine) or UTC (Universal Time Coordinated or Greenwich Mean Time).

Page 103: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

101

5.5.4 Plan – Triggers/Event

Figure 52 – Plan (Triggers/Events)

Event Trigger: This section deals with the creation of system and/or application event triggers. The list box summarizes all the events currently associated with the Job. Three (3) buttons are provided for adding, editing and removing events. The Add button displays the types of events you can add. See Section 5.13.2 for more information on adding, editing and removing Events.

ActiveBatch Event Triggers: When enabled, this checkbox allows use of the ActiveBatch Trigger command. The Trigger command allows authorized users to trigger the execution of a plan via command or automation. The default policy setting for this property is enabled.

Allow Deferred Event Execution: By default, when an event occurs during an “excluded” period (i.e. a period the object is not to execute) the triggering event is ignored. If this property is enabled then the triggering event is obeyed as soon as the exclusion period is over.

Note: Unlike “Run Last Missed Schedule” the above property will cause the plan to run multiple times if multiple events occurred that were missed due to the exclusion period.

Page 104: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

102

5.5.5 Plan – Constraints/General

Figure 53 – Plan – Constraints/General Dialog This selection deals with establishing constraints (or dependencies). ActiveBatch supports several different types of constraints. A constraint is a condition that must be satisfied in order for the plan to become eligible to run. ActiveBatch groups constraints into two broad categories: General and Date/Time based. General constraints are separated into four (4) types: File, Job, Variable and Resource. A File constraint indicates whether certain files must or must not be present in order for this plan to execute. A Job constraint indicates whether certain previously executed jobs (or plans) ran successful or at all in order for this plan to execute. A Variable constraint allows you to specify an ActiveBatch active variable and perform a comparison test that, if successful, will meet this constraint condition. A Resource constraint allows you to specify an expected number of “units” this plan will require against a shared Resource object. If the resource has sufficient available units the constraint is met. If not, the constraint fails.

The large window displays all the constraints that have been specified for this plan. Three (3) buttons are provided for you to add, edit or remove constraints.

Constraint Logic: This section indicates how the various listed constraint labels should be checked and in what order. A constraint is only applied if it is listed in the logic box. You can specify arithmetic and Boolean operators to ensure that any constraints match your expectations. See Table 20 for more a complete list of operators.

If constraint logic fails: You’ll also notice several fields that control what actions should be taken if one or more constraints fail. Read Section 5.14 for more information.

Page 105: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

103

5.5.6 Plan – Constraints/Date-Time

Figure 54 – Plan – Constraints/Date-Time Dialog

This selection allows you to exclude a triggered plan from executing based on date and/or time.

Exclusion List: This list allows you to exclude a job based on a day, date and/or time specification. For example, you could say “don’t run this job between the hours of 1am and 6am” regardless of a job’s triggers. Three (3) buttons are provided to add, edit or remove an exclusion item from the list.

Calendar: This drop down list contains all the business calendars that have been created on this ActiveBatch system. To associate business date processing with a job, simply specify the name of the calendar you want to use. Leaving the drop down as [None] means that you don’t want special business date processing. The small button to the side allows you to view the selected calendar so you can be certain it’s the one you want. The “New” button allows you to create a calendar. Specifying a calendar means that all triggers will be filtered through the calendar to determine whether the job can be allowed to execute.

If scheduled date falls on a non-business day: This selection allows you to refine your processing if the triggered date happens to fall on a non-business day. By default, you can Skip Run and skip this particular job run. Use Next Business Day means that the conflict will be resolved to the next business date. Use Previous Business Day means that the conflict will be resolved to the prior business day.

Page 106: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

104

5.5.7 Plan – Execution/General

Figure 55 – Plan – Execution/General Dialog

This selection specifies the Plan’s execution properties.

Default credentials to use for Variable/Constraints processing: This dropdown and related buttons (Manage and New) allow you to set default credentials when using active Variables and/or Constraints at the Plan level.

If Active: This field indicates what action should be performed if an instance of this Plan is already running.

Skip: If selected, skip execution of this instance. In other words, only one instance can run.

Run Multiple: If selected, run the instance. This means multiple instances of the same plan can be running. The additional value Maximum number of active instances further allows you to indicate the maximum number of simultaneously running instances of the plan. Zero (0) means unlimited. When maximum instances are reached allows you to further refine your processing. You can elect to skip that run or wait a period of time (in seconds) before the run will be skipped.

Wait for: If selected, this instance is to wait, for a specified time (in seconds), before this run is skipped. (While you can specify zero, we recommend you specify an actual value).

Page 107: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

105

5.5.8 Plan – Monitoring/Run-Time

Figure 56 – Plan – Monitoring/RunTime

This selection controls the ability for ActiveBatch to proactively monitor a plan’s progress and possibly terminate a plan that is running longer than expected.

Enable: This section, when enabled, allows ActiveBatch to examine the plan’s expected elapsed time and determine whether the job is operating as expected.

Set Initial expected run time: If selected, you enter a days, hours, minutes and seconds time that represents the expected plan’s elapsed run time.

Set Job run against Historical Average: If enabled, ActiveBatch will refine the plan’s initial elapsed time by using the actual run time and average it against previous successful runs. This average will become the new expected run time.

Tolerance: You can specify a tolerance that will modify the initial or average elapsed time (for the purposes of Monitoring). This tolerance can be specified as a Percent or as a Delta Time. Percent means that the over or under time period is created as a percentage of the expected run time. Delta Time is added/subtracted from the expected run time to determine the monitoring period. Three (3) fields make up this property. The Delta Job property allows you to indicate an acceptable under/overrun on elapsed time. You can enter the delta time as either a percentage or as a time specification (days, hours, minutes and seconds).

Page 108: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

106

Abort Job if Overrun: If enabled, ActiveBatch will abort the executing job on an overrun condition. An overrun condition occurs when the expected run time plus the tolerance time values (pct or time) are exceeded.

Fail Job if Underrun: If enable, ActiveBatch will change the completion status to a failure if the plan does not run within the low end range of the monitoring period.

Reset Average: Click this button to reset any historical averaging values that ActiveBatch is retaining. This button is available when modifying an existing plan.

Page 109: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

107

5.5.9 Plan – Alerts

Figure 57 – Plan – Alerts

This tab is used to associate various plan alerts and their corresponding actions. ActiveBatch allows you to specify alerts by either grouping alerts into an alert object and/or by individually assigning alerts to a specific plan. The benefit to an Alert object is that you can change the contents of the Alert object and by implication have those changes apply to all associated jobs. Individual plan alerts must be changed on a plan-by-plan basis.

Alert Objects: This area lists all Alert objects associated with the plan. Use of the Associate, Disassociate and Manage buttons allow you to otherwise manipulate the objects and their plan associations. See Section 5.15 for more information on creating Alert objects.

Alerts: This area lists all alerts associated with this plan. You may add, edit or remove alerts by clicking the appropriate buttons. See Section 5.15.2 for more information on setting plan alerts.

Page 110: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

108

5.5.10 Plan – Completion – Properties

Figure 58 – Plan – Completion/Properties

This selection provides properties that concern the completion phase of a Plan. This includes restart criteria and plan history retention.

Run Once Only: Enabling this checkbox means that the Plan will execute only once.

Failure Restart Options: This section determines when and if ActiveBatch is to restart a Plan. Typically restart concerns the plan’s ability to be automatically restarted in the event of a machine failure (usually the execution machine).

On Failure: This set of radio buttons indicates what should occur if the plan fails. You may choose one of the following:

No Restart: Selecting this radio button (default) means that no special restart action should be performed if the plan fails.

Restart & Failover: This radio button if specified is treated as a Restart since a Plan instance cannot be associated with a queue.

Page 111: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

109

Disable Template: Selecting this radio button causes the plan definition to be disabled if the plan instance completes in error.

Restart: Selecting this radio button allows a failed plan instance to be restarted on the same Execution Queue (and machine).

Restart Options:

Wait: If non-zero, the Job Scheduler will wait the specified value (in seconds) before restarting the plan. This is particularly useful if you’ve also selected “On Job Failure” recovery. By delaying the restart whatever resource exhaustion or other temporary condition that occurred may have ended.

Maximum Restarts: The radio buttons allow for an unlimited number of restarts (not recommended from a practical point-of-view) or a specific number of restarts (the acceptable value range is 1 to 999). The maximum number of restarts controls the total number of restarts attempted for this instance.

Reset on Restart: This checkbox determines whether Active Variables, if any, should be re-evaluated when the plan is restarted. If enabled, the variables are re-evaluated.

Job History: This section deals with the period of time that you elect to keep a plan’s instance history.

Delete on Completion when enabled indicates that the plan’s history is to immediately be deleted and removed from the database. This is useful when you are running the same plan many times and the actual plan history would be burdensome or otherwise obscure other more important plan history. Please note that this plan will not appear in any ActiveBatch reports.

Save Job History for: This checkbox, when enabled, indicates how long a completed plan’s history is to be retained within ActiveBatch’s database. If the feature is enabled (highly recommended), a value of 0 indicates that the next scheduled running of DBPurge should delete the plan’s history. The value specified is defined in days and an acceptable range is 0 through 366. If the checkbox is not enabled, the plan’s history will be deleted upon the next scheduled running of the DBPurge facility.

Page 112: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

110

5.5.11 Plan – Completion – Completion Rule

Figure 59 – Plan – Completion/Completion Rule

This selection allows you to specify which jobs and/or plans should signify the completion of the plan and what exit status (if any) should be used to make that determination.

Plan Completion Rule: This dropdown provides three (3) rules: All Completed in Success, Last Completed and Custom. All Completed in Success means that all jobs/plans that have actually been run and complete successfully denote plan success. If you have nested jobs/plans that never ran (i.e. “Not Run”) those objects are not considered. Last Completed means that the last job/plan that runs to completion denotes the plan’s status. Custom allows you to specify precisely what nested jobs and/or plans should be considered for determining the plan’s completion status.

Note: Custom where you actually specify each and every job/plan that must complete is the most exact Plan Completion Rule.

When Custom is enabled, three (3) columns are present: Job, Completion Status/Exit Code and Plan Exit Code. Job is the job/plan name that runs within the plan. Completion Status/Exit Code is a specification of a job/plan status. Plan Exit Code indicates which specific plan and/or job should be used to govern the completion determination of this plan. A Yes value indicates that this selected job/plan governs the completion status of the plan.

Page 113: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

111

5.5.12 Plan – Completion Rule

Figure 60 – Plan Completion Rule Dialog

If the Plan Completion Rule is set to Custom, the above dialog is used to select the Plan/Jobs and how they must complete for this plan to determine success.

The Job/Plan dropdown provides a selection of the nested plan/jobs.

The Above Job/Plan must complete in status: allows you to indicate how the above job or plan had to complete.

Page 114: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

112

5.5.13 Plan – Completion – Completion Triggers

Figure 61 – Plan – Completion/Completion Triggers

This selection allows you to specify which job(s) and/or plan(s) should be triggered when this job completes. You can refine the trigger to simple success or failure; or a series or range of exit codes.

Three (3) buttons are available for you to add, edit or remove Completion Triggers. The display provides two (2) columns: Name (or Label) and Condition. The Name (or Label) identifies the Job (or Plan) that you want to trigger. The Condition identifies the criteria that you want to use when your job completes to determine which triggers are executed.

Read section 5.13.3 for more information on adding a completion trigger.

Page 115: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

113

5.5.14 Plan – Counters

Figure 62 – Plan – Counters

The counters above are specific for this plan definition. The Reset Counters button allows you to reset the counters back to zero. The Reset Averages button allows you to reset the averages (elapsed run-tine) back to zero. The Refresh button retrieves the latest set of counters.

Page 116: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

114

5.5.15 Plan – Audits

Figure 63 – Plan Audits

This selection allows you to view the audits that are created when the plan is initially defined. Changes made to the plan are audited as well as the creation of any plan instances. Audits covering the plan instances themselves can be found in the individual instances. The dialog provides the ability to filter audits. Audits are a good place to look when a plan runs or doesn’t run when expected because all job state information can be retrieved and examined. Opening an audit item (by double-clicking on the item), depending on the nature of the audit, will sometimes reveal additional information concerning the audit. When object level auditing has been enabled, a plus sign will appear that allows you to drill down and obtain more information concerning the audit.

The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer that you can later paste into a document or other program.

The Print… button allows you to print the retrieved audits.

The button Revision History… allows you to select one or more audits concerning changes made to an object and perform a difference operation between the selected revised objects.

Page 117: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

115

5.5.16 Plan – History

Figure 64 – Plan History

The Plan History tab appears when a plan has already been defined. This tab provides useful information about the execution of this plan. The Plan History dialog box is separated into two areas: Revision and History.

Revision: This area indicates the number of revisions made to this plan and the date/time and user who made the last revision.

History: The properties that follow indicate how the last plan instance fared.

Page 118: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

116

5.5.17 Plan – Security

Figure 65 – Plan Security Dialog This tab controls the security attributes associated with this Plan object.

Note: The Owner field has been omitted in the above figure so as not to reveal account/system information at Advanced Systems.

To add, edit or remove security access permissions requires the user to have “Change Permissions” access to the object.

This table lists all security access permissions using Windows conventions. To edit an existing account name, select the listed account and change the permission using the Permissions list box. You may select one of the following access permissions:

Page 119: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

117

Access Description

Read Account is allowed to view any properties/variables of the plan (Note: Read implies both Read Properties and Read Variables).

Read Properties Account is allowed to read the properties of the plan.

Read Variables Account is allowed to read the variables of the plan.

Write Account is allowed to write to the plan.

Modify Account is allowed to read/write any properties of the plan (Read + Write).

Delete Account is allowed to delete the plan.

Take Ownership Account is allowed to take ownership of the plan.

Use Account is allowed to use the plan and to create a reference to it.

Manage Account is allowed to perform operations on the plan (Enable/Disable or Hold/Release).

Instance Control Account is allowed to perform operations on the instance (Abort, Pause/Resume, Restart, Force Run, Force Completion Status).

Create Objects Account is allowed to manipulate objects contained in the plan. This includes add, delete and move. The account must also have the necessary corresponding permissions on the underlying object itself.

Change Permissions

Account is allowed to change permissions (set security) on the plan.

Trigger User may trigger plan.

Trigger and Change Parameters

User may trigger plan and specify new or existing ActiveBatch variable(s) that override any specified at the job/plan level.

Trigger and Change Credentials

User may trigger plan and specify new security credentials that override any specified at the job/plan level.

Full Control Account may issue all of the operations mentioned above.

Table 6 – Plan Security Access

To add new access permissions, click the Add button and follow the dialog as discussed in Section 5.6.4.21. To remove an existing account name, select the listed account and click the Remove button. To change existing access permissions, select the account and then select a new Permission Type (either Grant or Deny access) and a new Permission (one of the access permissions listed in the above table.

To propagate new permissions to the objects nested within a plan, enable the Replace Permission Entries… checkbox.

The owner of a plan is the user who first creates the Plan. The owner of a plan is implicitly granted Full Control access permission. To change ownership, click the Take Ownership button and confirm the resulting dialog.

Page 120: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

118

5.5.18 Plan – Policies

This selection allows you to specify policies governing all objects that are created as part of this plan. You can specify your own defaults or values for all newly created objects. For example, if you want all jobs/plans to use the same Username Credentials you can accomplish that through a policy.

Plan policies can be broken down into two categories: Defaults and Auditing. Defaults are used to specify the default property and/or security values for new objects that are created as part of the plan. Auditing is used to establish a policy that governs what information is necessary to effectuate a given operation. For example, under ActiveBatch you could establish an audit policy that indicated that a user who wants to trigger a job or plan also specify certain mandatory information before the object can be triggered for execution.

5.5.18.1 Defaults

To enable policy defaults for the objects within a plan, right click on the desired plan and select Policy/Defaults.

Making this selection will cause the following dialog to be displayed.

Figure 66 – Object Policy Defaults

You can set policy defaults for each object above by selecting the object and then click the Set/Edit button to establish a policy for that object.

Page 121: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

119

When a policy has been established for the object an icon appears next to the object.

In the above figure, the Job object has a policy default established. To remove an object policy, select the object and then click the Clear button. To remove all object policy defaults, click the Clear All button.

Note: Policy Defaults are applied immediately as performed

5.5.18.2 Auditing

Object level auditing allows companies to impose certain information requirements when an operation is to be performed on an object. That information then becomes a part of the object’s audit trail. To select object level auditing, right click on the desired plan and select Policy/Auditing.

Making this selection will cause the following dialog to be displayed.

Page 122: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

120

Figure 67 – Plan Auditing

The left side of the dialog displays various operations that you can specify for additional auditing information requirements. An icon appears next to the operation when an audit has been specified. To clear all audit policies, click the Clear All button.

Page 123: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

121

For example, in the above figure the Trigger operation has an audit specified.

Selecting the Trigger operation causes a brief display of the audit information. A required field named “Why” is to be displayed when a Trigger operation is requested.

The following operations are supported for object level auditing.

Operation Description

Add When new objects are created.

Update When an object is updated.

Trigger When a Plan or Job is triggered (specifically using the Trigger operation).

Delete When an object definition is to be deleted.

Template Operations Any operation that is specific to a definition (for example, Disable/Enable).

Instance Operations Any operation that is specific to an instance (for example, Abort, Pause/Resume, Move).

Table 7 – Audit Operations

Page 124: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

122

To add an audit, click the Add button. To edit an existing audit, select the audit and click the Edit button. To remove an existing audit, select the audit and click the Remove button.

The dialog above appears for an Add or Edit operation. In this particular example we’re editing the “Why” audit of the Trigger operation. Three (3) fields comprise an audit: Name/Label, Description and Optional/Required.

Name/Label: This field identifies the audit field. The audit must be unique within the audits established for the operation. The name/label must also adhere to the general character set requirements established for naming an object.

Description: This field describes the audit. As you will be asking your user/operator to enter information for the audit, the description should be able to indicate what information you require.

Optional/Required: This field determines whether information must be entered by the user for the operation to be attempted. For a required field, if the information is not specified, the user will receive an error.

When the Trigger operation from the example above is issued the following audit is generated.

Figure 68 – Trigger Operation with Audit

Issuing the Trigger operation produced the above dialog. As the “Why” field is required, the user must enter information. No specific checking of the contents of the information is performed.

Page 125: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

123

When the Trigger operation is issued an audit is produced. Look for the plus sign and expand the audit. Notice that in the above audit the “Why” field and the user’s reply are noted.

The main reason behind an audit is to ask for information as to why an operation is being requested (what’s the purpose).

Page 126: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

124

5.5.19 Plans: How Best to Organize your Objects As you look through the ActiveBatch manuals and learn about all the various ActiveBatch objects that can be created, a question you will ultimately need to answer is “How do I best organize all the related objects that my business application needs?” This section will help you answer that question using best practices.

Suppose your application consists of three (3) Plans, four (4) execution queues, two (2) user account name objects and one (1) alert object. The three (3) Plans themselves could have contained other plans and/or jobs. One approach would be to create all those objects at “root level”. Root level is defined as the initial Job Scheduler connection level.

Another approach would be to create a Plan Folder. A Plan Folder (or container) is a plan whose sole purpose is to help organize your objects. The plan itself is never expected to actually be executed (in fact it might be critical to ensure that the plan can never be accidentally triggered). Into this Plan Folder you would place all the other objects.

For example, let’s look at CaseStudy15. This plan contains two jobs: JobA and JobB. The jobs themselves execute on a queue named “Server1” and use a user account object named “TrainingAccount”. Both “Server1” and “TrainingAccount” are root level objects. This means that 3 objects (including CaseStudy15) are defined at root level.

Let’s try a different organizational approach. Let’s define “Server1” and “TrainingAccount” so these objects are within the plan “CaseStudy15”.

Now all the objects are within CaseStudy15. This means that when I go to look for the objects used by this plan (or related plans nested within this plan) that operation can be easily performed. Deleting this plan will also delete all the related objects at the same time (which makes cleanup of my system much easier). I can also isolate my objects from the rest of the system. If I disable a user or group “List” access privilege for a plan, no one in that group will be able to see my objects including the execution queue and user account object.

Let’s examine JobA properties and specifically the “Submission Queue” property.

Note the path specification. “Server1” is within “CaseStudy15”. This specification will be the same for JobB and similar for the “TrainingAccount” object.

Page 127: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

125

You also gain an additional capability when you organize your objects in this manner. You gain the ability to connect to a plan (or Published Plan). This is known as a “virtual root”. The figures above show the objects as they appear when connected to a Job Scheduler machine. ActiveBatch provides the capability of connecting to a Job Scheduler and a plan directly.

The connect dialog box on the left shows a connection string of “vm2003s-i1/CaseStudy15”. The first part of the connection string is the hostname (“vm2003s-i1”) the path specification is that of our plan “CaseStudy15”.

When we make this connection, look at the navigation tree (on the left) that is produced.

The plan “CaseStudy15” becomes the new root of our navigation tree (hence the term “virtual root” since the “real” root level is the Job Scheduler machine and namespace). JobA and JobB appear within the “Job & Plans” folder and the other objects appear within their respective folders. If we look at the execution properties of JobA and specifically the “Submission Queue” property we see the following:

In this case “/Server1” is relative to our new virtual root “CaseStudy15”. When a user is connected to a virtual root, that user cannot access any objects that are out-of-scope. By “out-of-scope” we mean that the objects are located at the same or higher path level of the connected to plan. As an analogy, consider the SUBST command in Windows. “SUBST D: C:\Test” creates a drive “D” that actually points to “C:\Test”. There is no capability that exists to address objects

at a higher level than C:\TEST (for example, C:\ or C:\ANOTHER-TEST are inaccessible through D:). Consider this example. Suppose I left “Server1” at the original Job Scheduler root level and then connected into the system at “vm2003s-i1\CaseStudy15”. What would the “Submission Queue” property look like then?

The above figure shows what would be displayed. While the original path specification will continue to work, it is inaccessible to the user who has connected at a “non Job Scheduler machine level”.

Page 128: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

126

Note that if you use the pull down for access to other queue objects you will see the “inaccessible” object listed as the “Original Selection”. This “Original Selection” concept allows you to restore access to an object that you ordinally would have lacked scope to. By the way, the “Server1” that you see listed is within the CaseStudy15 plan while the “inaccessible” object refers to a Server1 that is located at the original Job Scheduler machine root level.

While visual indications are made when you access the system at a “virtual root” level you can always select the root node of the navigation tree and click on the Properties selection. You will see a subset of the Job Scheduler properties page with one important notation.

Figure 69 – Virtual Root Properties

Note the bold “Virtual Root” property. This property, displayed only for virtual root access, contains the absolute path of the plan you connected to.

Page 129: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

127

5.5.20 Publishing a Plan ActiveBatch supports the publishing of a plan so that your users can connect to a plan rather than a Job Scheduler in a simple manner. The ability to publish a plan requires ActiveBatch Administrator access.

The figure above illustrates how you can publish a plan. First, you select the plan and then through Advanced/Publish indicate that you want to publish the plan.

The figure above indicates that the plan “CaseStudy2” is to be published under the name “CaseStudy2”. You may use any Directory Services compatible name.

Note: You do not need to publish a plan to allow direct user connected access. Users must have “List/Connect” access permission to access a plan.

Page 130: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

128

5.6 Job Definition A Job is a process that will be executed on a machine, through its assigned Execution Queue, in a reliable and secure manner. An ActiveBatch Job can be one of several types. Usually a Job is executed in an unattended mode in that the desktop itself is not occupied with the task of running the job. In fact, with ActiveBatch, the desktop need not be logged on. Jobs in ActiveBatch can be as simple or as complex as needed to perform the tasks you need to successfully complete.

5.6.1 Batch Job Security Requirements Note: New ActiveBatch Administrators should read this section in its entirety.

Submitting a Job to ActiveBatch requires at least one Execution Queue. The creation of Execution Queues is covered in Section 5.3.1. Before we delve into the actual mechanics of submitting a Job let’s discuss some requirements. All Jobs in ActiveBatch run under a security context. Typically that context will be the submitting user’s username and password. You can specify a different username and password for execution, however, all credentials supplied are authenticated by the execution machine. As ActiveBatch supports different operating systems and platforms, different authentication is used, however, a username and password is common to all systems. Next, for Windows systems, an additional requirement must be met. The user who desires to execute a batch job on a machine must be granted the “Logon as a Batch Job” right. This right must be locally granted to the machine the job will execute on. Most users are participants of some type of domain and so their accounts are typically domain accounts. Please note that the local aspects of the “Logon as a Batch Job” right are important. A typical mistake is to grant this right at the domain level. Once again the right must be granted at the local machine level, specifically on the execution machine. The best approach is to allow the Execution Agent to automatically grant the “Logon as a Batch Job” right to users who you have already authorized as having the ability to execute batch jobs. By default, this facility is enabled as part of the ActiveBatch installation. The Execution Agent registry value “AutoRight” controls this facility (see the ActiveBatch Installation and Administration manual for more details).

If you decide to manually grant this right then you may want to consider creating an ActiveBatch local group. You can then assign the “Logon as a Batch Job” right to that group and then add members to the group. Figure 70 uses the “Local Security Policy” applet of the Administration Services group and illustrates how this would be done. Note that you must click the “Show Advanced User Rights” checkbox to obtain and set the “Log on as a batch job” right. In the example below the group ActiveBatch Users has been created and is now assigned that right on the local computer. You could now add domain members/groups to this local group to complete the required right assignment.

Note: Microsoft Windows Server 2003 machines support Kerberos sign-on through a mechanism called “Protocol Transition”. This allows a user to run a Job under his logon security credentials without having to specify a password. The advantage of this approach is that with no password to specify you don’t have to worry about password expiration, storage, etc.

Page 131: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

129

Figure 70 – Adding the BatchLogon Right

Page 132: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

130

5.6.2 Batch Job Files and Run-Time Considerations ActiveBatch allows you to run batch jobs across a wide range of heterogeneous platforms. As a result it’s important to note the run-time considerations that an ActiveBatch job may have across different operating systems.

First, lets consider what files may be submitted as batch job scripts. ActiveBatch supports running program images (.EXE) and, on Windows machines, any file may be specified as long as the extension has a known file association. For example, test.bat, test.vbs, test.xcp, etc. If a script file doesn’t have a known file association you can still submit the file by specifying the program that would run the file as the main input job file and the script as its input parameter. For OpenVMS machines you may run a program image (.EXE) or a Command Procedure (.COM). For UNIX machines, you may run a program image (.EXE) or a script file.

Next, depending on the operating system some operational differences may exist between the Interactive and Batch environments. This is particularly true for batch jobs submitted on Windows systems. When you log into a Windows system, the interactive logon process re-establishes any persistent network connections, runs any applications found in the Startup folder and executes a logon script if one exists. For a batch job, Windows does not perform those operations. Some aspects of Windows are inherently shared. For example, if you are logged on at the time you run your batch job your network drive letters will be visible. This may be disconcerting when you then expect those same drive letters to continue to appear even when you are no longer interactively logged in. The best practice is for your batch job to establish any operational environment needs as part of the batch job.

Operating System

Feature Description

Windows Network Connections Network drive letters are not established by Windows for batch jobs. If your batch job needs access to a network share you should either specify a UNC path (best practice) or create the network drive as part of the Batch job.

Login Script Not implicitly executed for Batch jobs.

OpenVMS F$MODE Batch.

Table 8 – Operating System Batch Job Considerations

Page 133: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

131

When an ActiveBatch job step runs (pre, main or post) the following environment variables (or logical names) are defined. This allows your program or script access to some aspects of ActiveBatch without having to write a complicated procedure.

Variable Name Description Job Step

ABAT_JOBID The unique job id. All

ABAT_JOBNAME Job Name All

ABAT_JOBSCHED The machine name of the Job Scheduler. All

ABAT_CLIENTMACHINE The submitting user’s machine name All

ABAT_QUEUE The queue name this job is running on. All

ABAT_JOBFILE The file specification of the main job file. All

ABAT_JOBMODE The job’s mode (NORMAL) All

ABAT_CHECKPOINT Checkpoint (YES | NO) Main/Post

ABAT_CHECKPOINTVAL Checkpoint value (if ABAT_CHECKPOINT “Yes”) Main/Post

ABAT_CHECKPOINTTIME Last Checkpoint Date/Time Main/Post

ABAT_JOBEXITSEV Job Exit Severity (SUCCESS | FAILURE) Post

ABAT_JOBEXITCODE Job Exit Code (decimal) Post

ABAT_RESTART Job Restart Mode (YES | NO) All

ABAT_INSTALLPATH ActiveBatch Installation Path All

Table 9 – Environment Variables for Job Steps

Page 134: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

132

5.6.3 Job Types ActiveBatch supports several job types to choose from when defining a job. While all jobs have many properties in common, each specific job type also has properties that are unique to that type of job. The Job types below are presented in alphabetical order.

5.6.3.1 E-Mail

The E-Mail job type is used to create and send an e-mail message. The e-mail can be composed of any available data and can make use of any embedded job properties. The composed e-mail can contain attachments. (Windows only).

5.6.3.2 FileSystem

The FileSystem job type is used to create a stream of operating system independent file system operations. For example, if you needed to create a directory and copy some files, this job type would be very useful. While you could script these operations in a simple .BAT file, the purpose of this job type is to perform these operations in an operating system independent fashion without requiring an external script.

5.6.3.3 FTP/SFTP

The FTP/SFTP job type is used to create a stream of FTP commands that are executed on a specific machine. SFTP represents a secure FTP job using public key access through SSH’s security protocol. FTPS represents a secure FTP job using SSL security protocol access.

5.6.3.4 Job Library

The Job Library job type allows you to leverage ActiveBatch logic to quickly implement jobs based on an extensible list of job features. For example, you can zip up a file, execute T-SQL or Oracle code and many other tasks. These tasks can also be combined into a mini-workflow within a single job through a series of job steps.

5.6.3.5 Process

The Process job type is the typical job used under the ActiveBatch system. A Process job consists of either a script file or an executable image that is to be run on an execution machine.

5.6.3.6 Script

This job type is the same as the Process type job except that the script is embedded as part of the job and contains no external file specification. The embedded script job is perfect when you either have a short script to write and don’t want to go to the trouble of locating it on a system or you’re not sure what machines may need this script. Since the script is transmitted to the machine on execution, you never have to worry about whether the script will be found.

Page 135: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

133

5.6.4 Creating a Job To create a Job, either right-click on the Job Scheduler object and select New\Job or right-click on a Plan object and select New\Job.

Figure 71 – Job Definition Navigation

The figure above is displayed on the left side portion of a Job Definition. The next sections will detail each category listed. When you have completed all required information, click OK to confirm.

Note: All job changes are only applied when the OK button on the Job Property sheet is clicked. If you haven’t made any changes to the Job we recommend you click on the CANCEL button to avoid unnecessary updates.

Page 136: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

134

5.6.4.1 Job – General

Figure 72 – Job – General

Figure 72 begins the definition and submission of a new job. The dialog box is composed of several areas.

Name: This mandatory field represents the name of the Job (to a maximum of 64 characters). While job name is not required to be unique, we highly recommend that you do so to avoid later confusion.

Label: This mandatory field, taken from the job’s name, is required to be unique and is used to identify the job object within the ActiveBatch namespace (maximum 64 characters). The label is typically used for scripting purposes to uniquely retrieve objects within ActiveBatch.

ID: This read-only field contains the object’s unique ID.

Full Path: This read-only field represents the complete namespace path to the object.

Description: This optional field can contain free-form text (to a maximum of 128 characters) describing the nature and conduct of this job.

Documentation: This optional field is used to denote a reference to the job in an operator’s runbook or other documentation concerning the running of the job (to a maximum of 128 characters).

Page 137: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

135

User Defined: This optional field can be set by the Job’s Author as free-form text (to a maximum of 128 characters). If you set this field as a URL (for example, a hot link to runbook information for this job) you can click the … button on the right and launch your web browser with this field as a URL.

Category: This optional field is used to categorize the job (to a maximum of 128 characters).

Group Name: This field is not used and is obsolete (it is maintained for backward compatibility purposes only). Plans are used to associate related jobs. The maximum length of a group name is 64 characters.

State: This read-only field indicates whether the Job is enabled for use.

Hide in Runbook, Gantt and Daily Activity List: This checkbox indicates whether you would like to hide this plan in the views mentioned. This can be useful when you have a job that runs very often and would only clutter the usefulness of the other views.

Read Only: This checkbox, when enabled, means the job’s properties cannot be changed. You must have “Modify” access permission to the Plan’s object to set this feature. To clear the read-only attribute, simply uncheck the box.

Global Disable: This checkbox indicates whether the job is enabled. If the checkbox is set, the job is held.

Page 138: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

136

5.6.4.2 Job – Job Properties

Figure 73 – Job – Job Properties (Process)

This dialog varies depending on the Job Type you’ve selected. The Job Type field is a drop-down listing the currently supported types: Process, E-Mail, FTP, FileSystem, Script and Jobs Library. The fields displayed are specific to the job type you’ve selected. For example, the Success Code rule is only applicable to some job types but not all.

5.6.4.2.1 Process Job Properties

Filename: This mandatory field represents the main job file (or step) that is to be executed. Unless the Copy script… checkbox is enabled, the file specification must be accessible from the eventual execution machine using this specification. A novice mistake is to specify a local drive and directory on a client machine when a different execution machine will be used to actually run the job. You can specify a UNC path for the job file specification. For frequent or recurring jobs the Job’s file should reside on the execution machine for best performance. Your security context will be used to access the file so please make certain the file is accessible by you. (Variable Substitution supported).

Copy script to execution machine: This checkbox controls whether the file specification is considered local or accessible from the client and should be copied to the Job Scheduler machine and then ultimately to the Execution machine. The file size must be less than the System policy CopyScriptMaxSize.

Page 139: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

137

Note: If you modify the contents of a file which has been copied to the Job Scheduler/Execution Machine you must view the Job’s Properties (using AbatAdmin) and then click the OK button. This will cause ActiveBatch to check the dates of Job’s steps (Pre, Post and Main) to determine whether any of those “copied” files are to be updated.

Parameters: This optional field can be used to pass input parameters to the Job. Input parameters can also be specified dynamically via either an abatset or “TRIGGER with Parameters” command. All data specified is passed as a string with any embedded spaces entered. You may perform environment variable substitution using the syntax %var% for Windows systems and $var for UNIX systems. To perform date and time substitution within a parameter list specify one or more of the strings listed below surrounded by pound signs (#).(Variable Substitution supported).

Note: If your input parameter data expects to use the # sign as data, specifying two consecutive pound signs (##) means that one will be actually passed.

%a abbreviated weekday %p AM/PM indicator for 12-hour format (locale)

%A full weekday name %S seconds in decimal (00-59)

%b abbreviated month name %U week of year - decimal; begin Sunday (00-52)

%B full month name %w weekday in decimal (0-6; Sunday is 0)

%c date/time representation (by locale) %W week of year - decimal; begin Monday (00-52)

%d day of month in decimal (01-31) %x date representation for current locale

%H hour in 24-hour format (00-23) %X time representation for current locale

%I hour in 12-hour format (01-12) %y year without century (00-99)

%j day of year in decimal (001-366) %Y year with century in decimal

%m month in decimal (01-12) %z, %Z time-zone abbreviation or name

%M minute in decimal (00-59) %% percent sign

Table 10 – Date/Time Parameter Format Codes

For example: CUST_#%m%d%Y#.dat

might look like this when passed to a job: CUST_08302007.dat

You may insert any formatting characters within the delimited string that you also want to appear. This substitution occurs on the Execution machine. The substitution offered above supports current date and time only. If you need to perform date calculations as well as substitution you should also look at Chapter 8 for more information on Date Arithmetic.

Page 140: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

138

Completion Status Rule: This section concerns how a job’s exit status is to be interpreted.

Success Code Rule: This field can contain keywords and numeric (decimal) exit codes all of which are interpreted as success. A range can be specified as “m-n” (for example, 0-5 means zero through 5). Several keywords are also supported: NTMsg, Odd, Even and LZero (negative). NTMsg indicates that an NT Message Code is passed back as an exit status. The upper two (2) bits indicate the severity. XLNT customers can use this type of success code rule. Odd and Even indicate status codes which are either odd or even numbers. OpenVMS uses an odd status as a success indication. Multiple codes can be specified by separating whole positive numbers and ranges with commas (for example: 0,5-10,20). This field offers a simple pull-down control with zero, NTMSG, LZERO, ODD and EVEN as quick selection choices.

Use Search String: Sometimes a program doesn’t pass a reliable exit code. By “reliable” we mean that the exit code may be the same regardless of whether the program worked or not and that the only indication of a program success (or failure) is some data that is written to the batch job’s log file. If that is the case, ActiveBatch supports the scanning of a log file or user-specified file for a string that indicates either success or failure of the job. To enable this feature, check the “Use Search String” checkbox and then click the “Setup” button. You may select whether the string represents success or failure. You may also indicate whether a case sensitive or insensitive comparison should be performed.

Clicking the Setup button produces this dialog:

Figure 74 – Success Code Rule (Search String Setup)

Search for: This field indicates the word or phrase that you want to search for. in file: This radio button allows you to either select the Job’s log file or you can specify another file to be searched. Remember that the file must be accessible from the Execution machine. Case Sensitive Search: By default, the string search is not case sensitive unless you enable this checkbox. Presence of string indicates Job failure: By default, the presence of the string indicates success. If you enable this checkbox, the presence of the string will indicate failure.

Run Job Interactively: If enabled, Windows Execution Agents will run the job on the user’s desktop. Three (3) modes are available: Normal, Maximized and Minimized. Typically, jobs are not run interactively but in background mode.

Note: Running an interactive job on a desktop does pose a security risk since the desktop user will have possible access to interactive job.

Terminate all child processes: Enabling this checkbox means that all processes created by the job are to be terminated when the job completes. For Windows 2000 (and later) systems, the job is created as a Windows Job object

Page 141: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

139

and all children can be tracked. For UNIX systems, parent/child processes are part of the operating system. For OpenVMS systems, sub-processes are terminated regardless of the setting of this checkbox and detached processes are never terminated based on this property setting.

Pre/Post Job Steps: The fields in this section allow you to define job steps that are to execute either before and/or after the file specified above. (Variable Substitution supported).

Pre Job Filename: When enabled, the file specification entered will be executed before the main job file. This “pre” step is typically used to establish or confirm the existence of certain objects that the main step would require. For example, the presence of certain files, moving files from one machine to another, etc. The “pre” step, like the main job step, can either be a script file or a program. Unless the Copy script… checkbox is enabled, the file specification must be accessible from the execution machine. You may use the Browse button to lookup the file specification. Table 9 shows the environmental variables (OpenVMS: logical names) that a job step may query (you cannot change any of the values). The Pre job step must exit with a zero exit status to be considered successful.

Copy script to execution machine: This checkbox controls whether the pre job step file specification is considered local or accessible from the client and should be copied to the Job Scheduler machine and then ultimately to the Execution machine. The file size must be less than the System policy CopyScriptMaxSize.

Post Job Filename: When enabled, the file specification entered will always be executed after the main job file. This “post” step is typically used to either clean up any temporary or other files that are no longer necessary and/or move files to other machines. The main job step’s exit status is also provided to the “post” step. The “post” step, like the main job step, can either be a script file or a program. Unless the Copy script… checkbox is enabled, the file specification must be accessible from the execution machine. You may use the Browse button to lookup the file specification. The variables mentioned in Table 9 allow the “post” step to determine how the main job step did and to then perform success or failure processing. The “Restart” indication is also useful in that many jobs may require new copies of various files before the main step executes. With pre and post step processing such determinations no longer need to be made by the main job step. The use of COM Automation to retrieve additional information about the running job may also be used. The Post job step must exit with a zero exit status to be considered successful.

Copy script to execution machine: This checkbox controls whether the post job step file specification is considered local or accessible from the client and should be copied to the Job Scheduler machine and then ultimately to the Execution machine. The file size must be less than the System policy CopyScriptMaxSize.

Failure results in Job Failure: This checkbox controls whether a post job step failure results in marking the entire job in failure regardless of what the main job step actually did. By default, this checkbox is cleared so the results of the post job step don’t interfere with the results of the job.

Page 142: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

140

5.6.4.2.2 E-Mail Job Properties

Figure 75 – Job – Job Properties (E-Mail)

This job type allows you to quickly compose an E-Mail message without requiring any programming or scripting. Typically this would be part of an overall job stream where you need to send an E-Mail message. Besides the ability to create an E-Mail, ActiveBatch also provides full variable substitution. This means that you can customize any portion of the E-Mail job at run-time by specifying variables within any of the E-Mail fields below. (All properties support Variable Substitution).

The properties for the E-Mail job type are those you would expect to find as part of any E-Mail.

To: This mandatory field indicates one or more users, using standard E-Mail notation, that this message is to be sent to.

CC: This optional field indicates one or more users, using standard E-Mail notation, that this message is to be sent to as a “carbon copy”.

BCC: This optional field indicates one or more users, using standard E-Mail notation, that this message is to be sent to as a “blind carbon copy”.

Subject: This optional field is the subject of the E-Mail.

Attachments: This optional field allows you to specify zero or more files which are to be sent as an attachment. As all E-Mails are generated on the Job Scheduler machine any files specified must be accessible from that machine. This may necessitate the use of UNC or other shares that the Job Scheduler service will need access to.

Message: This optional field allows you to create the “body” of the E-Mail message. Full variable substitution is available for complete customization of your message.

Page 143: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

141

5.6.4.2.3 FTP/SFTP Job Properties

Figure 76 – Job – Job Properties (FTP)

This job type allows you to create an FTP command stream across a heterogeneous set of ActiveBatch supported platforms. The properties for the FTP job allow you to specify a destination server, security credentials and one or more FTP commands. (All properties, except Credentials, support Variable Substitution).

Server: This mandatory field allows you to specify an IP hostname or address in acceptable TCP/IP notation. A Browse button allows you to browse the network and select a machine.

Port #: This optional field allows you to specify a non-standard FTP port number. If omitted the standard FTP port number is used.

Credentials: This mandatory field is used to select a User Account object whose credentials will be used for the FTP session. The dropdown control will display all User Account objects that you have permission to use. Two buttons just to the right allow you to manage User Account objects and/or create a new one.

Protocol: This mandatory field is used to determine the security protocol used for the FTP session. A value of “None” means that standard FTP will be used. SSL2 and SSL3 represent protocols used for FTPS type processing. SSH represents a protocol used for SFTP processing. PCT and TLS are additional security protocols. “Auto” is used with SFTP to attempt to automatically determine the proper security protocol.

Commands: This area allows you to specify your FTP commands. Each command must be listed on its own separate line (with a newline character ending each line). You can cut and paste information through standard Windows hot keys.

Page 144: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

142

5.6.4.2.4 FileSystem Job Properties

Figure 77 – Job – Job Properties (FileSystem)

This job type allows you to specify a set of File System operations without regard to the actual platform the job will execute on. This avoids the difference in syntax that many platforms have for simple commands such as Create Directory or Copy file. You can also control whether an error should be ignored or to stop processing.

The figure above provides three (3) columns for every possible file system command. The first column is Operation where each command is listed. Commands are issued in the order they are displayed. Parameters is the data portion of the command and varies depending on the nature of the command itself. All commands expect to use the file system syntax that is supported on the target platform. (Variable Substitution supported). On Failure indicates that should an error occur, whether you want the command stream to continue or stop and fail.

Three (3) buttons are available for you to Add, Edit or Remove a FileSystem operation.

Page 145: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

143

Figure 78 – File System Operation Dialog

The above figure illustrates the properties of each FileSystem operation. The dropdown contains a list of supported commands. The Command arguments provides space for entering parameters appropriate to each command. The On Failure… radio buttons allow you to either ignore and continue processing or stop and fail the job.

Page 146: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

144

5.6.4.2.5 Jobs Library Properties

The Jobs Library represents a set of built-in functionality in which the job designer can select a job type and obtain the benefit of that job without having to write a script. The Jobs Library also allows the creation of a multi-step job in which one or more job types can be logically constructed.

Figure 79 – Job – Job Properties (Jobs Library)

The Jobs Library does provide the ability to include the other built-in job types (for example, SFTP, E-Mail, Script, etc) as well as many more within the context of a single ActiveBatch job. Please read Section 5.7 for more information on the Jobs Library.

To add a job step click the Add button. To edit or remove an existing job step, click the Edit or Remove button. To change the execution order of a job step, select the desired job step and click Move Up or Move Down as required.

Page 147: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

145

5.6.4.2.6 Script Job Properties

Figure 80 – Job – Job Properties (Script)

This type of job is very similar to Process except that the script is actually embedded in the job itself. No external file needs to be specified.

Script Contents: This window provides an editable view of the embedded script. To edit the script using an editor you may press one of the two buttons, located under the script window, which starts one of two editors. The “Edit using Text Editor” allows you to use your favorite text editor to create/modify the script. The “Edit using Extension’s Default Editor” starts up whatever program is associated with editing the script based on the script’s extension. (Variable Substitution supported).

Script Extension: You must specify the script’s underlying extension (i.e. VBS, PL, XCP, etc) that will be used to lookup the associated program that is eventually used to execute the script. The extension must be specified without any periods or other file system notation. (Variable Substitution supported).

Parameters: This optional field can be used to pass input parameters to the Job. Input parameters can also be specified dynamically via either an abatset or “TRIGGER with Parameters” command. All data specified is passed as a string with any embedded spaces entered. You may perform environment variable substitution using the syntax %var% for Windows systems and $var for UNIX systems. To perform date and time substitution within a parameter list specify one or more of the strings listed in Table 10 surrounded by pound signs (#). You may insert any formatting characters within the delimited string that you also want to appear. (Variable Substitution supported).

Page 148: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

146

Completion Status: This section concerns how a job’s exit status is to be interpreted.

Success Code Rule: This field can contain keywords and numeric (decimal) exit codes all of which are interpreted as success. A range can be specified as “n-n” (for example, 0-5 means zero through 5). Several keywords are also supported: NTMsg, Odd, Even and LZero (negative). NTMsg indicates that an NT Message Code is passed back as an exit status. The upper two (2) bits indicate the severity. XLNT customers uses this type of success rule. Odd and Even indicate status codes which are either odd or even numbers. OpenVMS uses an odd status as a success indication. Multiple codes can be specified by separating whole positive numbers and ranges with commas (for example: 0,5-10,20). This field offers a simple pull-down control with zero, NTMSG, LZERO, ODD and EVEN as quick selection choices.

Use Search String: Sometimes a program doesn’t pass a reliable exit code. By “reliable” we mean that the exit code may be the same regardless of whether the program worked or not and that the only indication of a program success (or failure) is some data that is written to the batch job’s log file. If that is the case, ActiveBatch supports the scanning of a log file or user-specified file for a string that indicates either success or failure of the job. To enable this feature, check the “Use Search String” checkbox and then click the “Setup” button. You may select whether the string represents success or failure. You may also indicate whether a case-less or case sensitive comparison should be performed.

Run Job Interactively: If enabled, Windows Execution Agents will run the job on the user’s desktop. Three (3) modes are available: Normal, Maximized and Minimized. Typically, jobs are not run interactively but in background mode. Note: Running an interactive job on a desktop does pose a security risk since the desktop user will have possible access to interactive users security credentials.

Terminate all child processes: Enabling this checkbox means that all processes created by the job are to be terminated when the job completes. For Windows 2000 (and later) systems, the job is created as a Windows Job object and all children can be tracked. For UNIX systems, parent/child processes are part of the operating system. For OpenVMS systems, sub-processes are terminated regardless of the setting of this checkbox and detached processes are never terminated.

Page 149: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

147

5.6.4.3 Job – Generic Queue Properties

Figure 81 – Job – Generic Queue Characteristics

This selection allows the job author to associate various machine and user characteristics that must match in order for the proper execution queue to be selected. This tab is only applicable when a job is associated with a Generic queue.

User and Machine Characteristics: This list box allows you to associate certain characteristics (machine and/or user) that the execution machine must have in order for the Execution Queue(s) to be considered eligible for job execution. Existing characteristics associated with this job are listed. To add, edit or remove associated machine characteristics, click the Add, Edit or Remove buttons. More information on the resulting dialogs is contained in Section 5.6.4.3.1.

Queue Selection: This field indicates an initial job-to-execution queue selection criteria. Possible choices are: Any and All (default is “Any”). “Any” means that any eligible Execution Queue members may be used to run this Job in accordance with the Generic Queue’s Scheduling Algorithm. “All” means that all eligible Execution Queue(s) members should be used to run this Job. “All” is useful when you need to broadcast an action and have it complied with on a large scale. For example, broadcasting anti-virus updates. When “All” is selected, the “If Job Active” properties are ignored.

Note: If a Job is triggered with “All” enabled, and that Job completion triggers an “Any” job; the “If Job Active” properties are not ignored. This means the triggered job may run once. If the intention is for the “broadcast” job to continue to broadcast all jobs within the stream, all jobs must be set to have “All” enabled.

Page 150: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

148

5.6.4.3.1 Job – Machine Characteristics

Figure 82 – Machine Characteristic Dialog

This dialog appears when you want to add or edit a machine characteristic to a Job. Machine characteristics contain static information about the execution machine. The figure above indicates that the job is to run on a machine equal to 2000mhz (2 Gigahertz) in CPU speed. Machine characteristics are used by ActiveBatch when a job is submitted to a Generic Queue and the proper Execution Queue (machine) needs to be selected. This allows the author of a Job to indicate what minimum runtime requirements the job has. Remember that user/machine characteristics are ignored when a job is submitted directly to an Execution Queue.

Name: This field contains a dropdown list of the machine characteristics. The following table provides the machine characteristics that are available (see the Release Notes for any new characteristics that may have been added).

Characteristic Description

CPU (String) CPU Platform Type. (Example: Pentium)

CPUArchitecture (String) CPU Architecture. (Example: x86 or x64)

Memory (Numeric) Physical Memory Size in Mb.

CPUSpeed (Numeric) Processor Speed in Mhz. Note: Not all operating systems expose a chip’s processor speed.

OS (String) Operating System. (Example: Windows NT)

OSVersion (String) Operating System Version. (Example: V4)

OSServicePack (String) Operating System Service Pack. Note: Not all operating system’s use a Service Pack. (Example: 5)

OSBuildNumber (String) Operating System Build Number. Note: Not all operating systems use a build number. (Example: 1381)

OSType (String) Operating System Platform Type. (Example: Workstation)

Page 151: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

149

Characteristic Description

ABATVersion (String) ActiveBatch Execution Agent Version. (Example: V5)

NumProcessors (Numeric) Number of processors

FileVersion (String) ActiveBatch version of Execution Agent

Hostname (String) Hostname of Execution Agent

IPAddress (String) IP address of Execution Agent

LicensingPoints (Numeric) Number of points for this Execution Agent

ScriptLanguage (String) Default script language extension

Table 11 – Machine Characteristics

Condition: This field allows you to select a comparison operator to be used when determining whether an Execution Queue meets the machine characteristic requirement. The following operators are available for numeric characteristics only: Equal to, Not Equal to, Less, LessEqual, Greater and GreaterEqual. If the value is a string you may only use the Equal operator.

Value: This field allows you to enter a value that will be used in the above comparison. The data entered must meet the numeric or string value requirements of the machine characteristic chosen. For example, processor speed is numeric only. For string comparison purposes any data entered is matched from left to right until the data given is matched. This means you can enter partial data (for example: “Windows” would match both “Windows 2000” and “Windows 2003”).

Note: Machine Characteristic values vary quite a bit between operating systems and hardware platforms. Please check the Release Notes that accompanies each non-Windows Execution Agent for more specific information.

Page 152: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

150

5.6.4.3.2 Job – User Characteristics

Figure 83 – Select User Characteristics

This dialog appears when you want to add or edit a user characteristic to a Job. User characteristics contain free-form data that you determine is important to your Job. User characteristics, like machine characteristics, are used to determine the appropriate Execution Queue. The example above allows the job author to select a machine queue where the characteristic “Region” is the “Northeast”.

Name: This field contains a dropdown list of the user characteristics associated with your Execution Queues (through the Generic Queue).

Description: This field allows you to document your use of the User Characteristic.

Condition: This field allows you to select a comparison operator to be used when determining whether an Execution Queue meets the user characteristic requirement. The following operators are available for numeric characteristics only: Equal to, Not Equal to, Less, LessEqual, Greater and GreaterEqual. When a string value is specified, this field is disabled and the Equal to condition is used.

Value: This field allows you to enter a value that will be used in the above comparison. The data entered must meet the numeric or string value requirements of the user characteristic chosen. For string comparison purposes any data entered is matched, in a case-less fashion, from left to right until the string is exhausted. This means you can enter partial data (for example: “North” would match both “Northeast” and “Northwest”).

Page 153: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

151

5.6.4.4 Job – Variables

Figure 84 – Job – Variables

Variables are one of the most important and powerful aspects of ActiveBatch. With variables you can pass data to other related jobs as well as form constraints for proper execution of related jobs. The “Value” field supports Variable Substitution.

ActiveBatch variables represent data that can be passed to jobs, plans, and programs or used anywhere variable substitution may be used within ActiveBatch. A variable can be exported to an executing job by enabling it as an environment variable.

The checkbox Strict Variable Processing when selected means that all active variables must execute successfully. If even a single variable fails, the plan/job will be terminated in failure. For more precise control, on a variable basis, please see the Use property of a variable.

Page 154: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

152

Figure 85 – Variable Properties

ActiveBatch variables are further broken down into two (2) groups: Constant and Active. A constant ActiveBatch variable is a variable that contains a hard-coded value. An Active ActiveBatch variable (or simply “active variable”) contains a data source that populates the variable. ActiveBatch supports several data sources. For example, you could issue a SQL SELECT statement to populate an active variable.

Name/Label: This mandatory field provides the name of the variable. You can reference variables in a plan by either using self-referencing or absolute syntax. The general syntax is: ../var-name or /plan-a/var-name. The first syntax is self-referencing because the two dots mean “go up one level” from this point (job). The second syntax is absolute since you explicitly specify the variable’s path. Specifying another plan’s variable(s) in this section is how you would pass data to another job. If the variable doesn’t exist you can expect an error. Section 5.12 contains more information on the use of variables.

Description: This optional field allows you to describe the variable and its usage.

Constant: This radio button indicates that the value for the variable is a constant.

Page 155: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

153

Active Variable: This radio button allows you to select a data source for the variable. Depending on the selection you make from the dropdown menu a set of additional properties will appear appropriate to the data source.

Figure 86 – Active Variable Data Source Menu

Properties: The set of properties will vary based on the data source selected. As you click on each property a brief help message is displayed in a small window at the bottom of the display.

Credentials: Depending on the data source you may need to specify security credentials appropriate to its successful operation. When applicable, select a User Account Name object from the dropdown list. Two small buttons allow you to manage or create a new User Account object. If the Credentials are omitted, ActiveBatch will check the plan’s variable credentials property. If that property is omitted (or the job is not executed within a plan), ActiveBatch will use the job’s execution user credential.

Use: This property indicates the criticality of the variable and whether the data source expression must succeed. This property also indicates whether a variable, if undefined, must be requested when a manual Trigger operation is performed. The value Unspecified means the variable is not critical to proper operation and to also not prompt for the variable value if a Trigger is performed. Optional also means the variable is not critical to proper operation but that ActiveBatch should prompt for a value if a Trigger is performed. If a value is not entered, the job/plan will still be triggered. Required indicates that the variable value must be defined and that it is required to be prompted for if a Trigger operation is performed.

Access: You can select whether your variables are public or private. By default, all variables are public and accessible by related Plans and Jobs. If you select Private then only the current object (Plan or Job) can access these variables.

Read Only: This checkbox selects whether the variable is read-only and may not be changed by another plan or job. By default, all variables are read/write.

Secured: This checkbox indicates whether the variable value is secret and should not be displayed (or otherwise allowed to be retrieved). Enabling this checkbox is useful if you decide to use a variable value as a password or to hold other secret or confidential information. A secured variable is a write-only property and can be changed but never retrieved. Once a variable is secured it cannot be unsecured.

Volatile: This checkbox, if enabled, means that the variable must be re-evaluated when a plan/job is executed for whatever reason (including restarts).

Export as Job Environment Variable: This checkbox controls whether the variable and value should be exported to the job instance as an environment variable (for OpenVMS this would be a logical name). By default, a variable is not exported as an environment variable.

Note: Variables declared at the job level can be exported. For other hierarchical variables to be exported they must be re-defined at the job level.

Page 156: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

154

5.6.4.5 Job – Triggers/Scheduling

Figure 87 – Job – Scheduling This selection provides the ability to indicate the day/date and time a job (or plan) is to be scheduled.

Date/Time Trigger: This checkbox, when enabled, allows a Job to be scheduled to date and/or time specifications. Two types of date/time triggers may be used: One-Time Run and Recurring.

One Time Run: This section refers to jobs that are scheduled using this trigger just once. Two types of one-time run triggers are available (Note: If selected, ActiveBatch Event Triggers must be disabled).

Immediately: When selected the job is to be executed immediately.

Deferred until: When selected the job is to wait until the date and time specified before executing.

Recurring: This section refers to jobs that are scheduled on a periodic basis. Two types of recurring triggers are available.

Interval: This trigger, when selected, allows you to enter an interval expressed in days, hours and minutes. This “interval” is added to the starting execution time and forms the next time the job is to be scheduled for execution. For example, let’s say the time is now 11:00am, an interval of 1 day, 1 hour and 0 minutes would result in a next scheduled execution time of tomorrow at 12:00 (noon).

Page 157: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

155

Compute Interval after Completion: This checkbox allows you to have ActiveBatch compute the next time the job is scheduled to run by adding the interval period when the job completes rather than when the job begins to execute. For example: Assuming a ten (10) minute interval and a five (5) minute elapsed execution time, if a job starts to execute at 12:00 and completes at 12:05 this checkbox will schedule the next occurrence at 12:15 rather than the default of 12:10.

Schedules: This trigger, when selected, allows you to schedule a job’s execution based on any criteria of date and time specifications. The list box shows any currently associated schedules. The buttons listed down the right side of the box allow you to associate/disassociate existing schedules, create a new schedule that you want to associate or edit a specific schedule. Section 5.12 provides much more information concerning Schedules.

Run Last Missed Schedule: This field indicates whether the last “missed” schedule time should be executed. For example, let’s say a Job was scheduled to run at 17:00 (5pm) today, but the Job Scheduler machine was down. When the Job Scheduler machine is started at 18:00 (6pm) that scheduled execution time would have been missed. With this field enabled, the Job Scheduler will execute the job based on its last scheduled time.

Time Zone to use: This field indicates the time zone to use for determining the time trigger. Possible time zones are: Job Scheduler, Client (Submitter’s machine) or UTC (Universal Time Coordinated or Greenwich Mean Time).

Page 158: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

156

5.6.4.6 Job – Triggers/Event

Figure 88 – Job – Triggers/Events

Event Trigger: This section deals with the creation of system and/or application event triggers. The list box summarizes all the events currently associated with the Job. Three (3) buttons are provided for adding, editing and removing events. See Section 5.13.2 for more information on adding, editing and removing Events.

ActiveBatch Event Triggers: When enabled, this checkbox allows use of the ActiveBatch Trigger command and other release mechanisms such as Completion Triggers and Alerts. The Trigger command allows authorized users to trigger the execution of a job via command or automation. The default policy setting for this property is enabled.

Note: This property must be disabled if you also select to execute a job on a One Time Run basis.

Page 159: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

157

5.6.4.7 Job – Constraints/General

Figure 89 – Job – Constraint/General Dialog This selection deals with establishing constraints (or dependencies). ActiveBatch supports several different types of constraints. A constraint is a condition that must be satisfied in order for the job to become eligible to run. ActiveBatch groups constraints into two broad categories: General and Date/Time based. General constraints are separated into four (4) types: File, Job, Variable and Resource. A File constraint indicates whether certain files must or must not be present in order for this job to execute. A Job constraint indicates whether certain previously executed jobs (or plans) ran successfully or at all in order for this job to execute. A Variable constraint allows you to specify an ActiveBatch active variable and perform a comparison test that, if successful, will meet this constraint condition. A Resource constraint allows you to specify an expected number of “units” this job will require against a shared Resource object. If the resource has sufficient available units the constraint is met; if not, the constraint fails.

The large window displays all the constraints that have been specified for this job. Three (3) buttons are provided for you to add, edit or remove constraints.

Constraint Logic: This section indicates how the various listed constraint labels should be checked and in what order. A constraint is only applied if it is listed in the logic box. You can specify arithmetic and Boolean operators to ensure that any constraints match your expectations. See Table 20 for a more complete list of operators.

Note: If a constraint is removed, you must manually remove that constraint from the Constraint Logic box.

Page 160: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

158

If constraint logic fails: You’ll also notice several fields that control what actions should be taken if one or more constraints fail. In the example above the job JobA must complete successfully and the file casestudy2.txt (note the use of the app_path variable for additional flexibility with location) must be present for this dependency to be satisfied. If you look at the bottom of the figure you’ll see an “If constraint logic fails” specification which indicates that we should wait up to 15 minutes to determine whether the constraint failure has resolved itself. Read Section 5.14 for more information on constraints.

Page 161: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

159

5.6.4.8 Job – Constraints/Date-Time

Figure 90 – Job – Constraints/DateTime

This selection allows you to exclude a triggered job from executing based on time and/or date.

Exclusion List: This list allows you to exclude a job based on a day, date and/or time specification. For example, you could say “don’t run this job between the hours of 1am and 6am” regardless of a job’s triggers. Three (3) buttons are provided to add, edit or remove an exclusion item from the list.

Dispatch Alert Delay: This value, expressed in minutes, indicates how long a job may wait to begin execution before it is considered “delayed” or “late”. If a delayed/late alert is associated with the job that alert would be signaled. A value of zero (0) indicates that any delay is acceptable and not subject to alert. By default, this value is 5 minutes.

Max Dispatch Time: This set of fields (days, hours and minutes) allows you to indicate the maximum on-queue time a job may wait for dispatching before the job should be canceled and not executed. For example, let’s say a job is queued for execution at 0800 with a 1 hour max dispatch time. At 0900 if the job has not transitioned from a “Pending – Queue Busy” state to another progress state, the job is aborted. This feature is particularly useful for time critical jobs which must execute within a given period of time. By default, a policy value of zeroes means that the job has an unlimited dispatch time.

Calendar: This drop down list contains all the business calendars that have been created on this ActiveBatch system. To associate business date processing with a job, simply specify the name of the calendar you want to use. Leaving the drop down as [None] means that you don’t want special business date processing. The small button to the side allows you to

Page 162: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

160

view the selected calendar so you can be certain it’s the one you want. The “New” button allows you to create a calendar. Specifying a calendar means that all triggers will be filtered through the calendar to determine whether the job can be allowed to execute.

If scheduled date falls on a non-business day: This selection allows you to refine your processing if the triggered date happens to fall on a non-business day. By default, you can “skip run” and skip this particular job run. Use Next Business Day means that the conflict will be resolved to the next business date. Use Previous Business Day means that the conflict will be resolved to the prior business day.

Page 163: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

161

5.6.4.9 Job – Execution/General

Figure 91 – Job – Execution/General Dialog This selection provides the Job’s execution properties.

Submission Queue: This field contains the Queue that this Job is being submitted to.

Working Directory: This optional field can contain the initial directory associated with the Job when it is executed. The directory specification must be accessible from the execution machine. By default, the user’s TEMP directory specification is used. (Variable Substitution supported).

Queue Priority: This field indicates the priority of the Job within the ActiveBatch system. The priority is used when queuing a job for submission to a named Queue. Values from 1 to 100 are acceptable. The higher the value, the higher the priority. The default for this field is 10.

O/S Priority: This field indicates the Operating System priority that should be assigned to the Job. For Windows, values of Low, BelowNormal, Normal, AboveNormal, High and Realtime are used. For non-Windows systems, a numeric value from 1 to 32 may be used.

Processor Mask: If enabled and the execution machine is multiprocessor capable, the mask is used to indicate which processors this job can use. The processor mask only applies to the main job step. The keyword ALL means all processors

Page 164: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

162

should be used (default). To enter a specific processor(s) specify the CPU number as a comma or dashed based entry. For example, 0 means CPU 0 should be assigned. “0,2,5-7” means CPUs 0, 2, 5, 6 and 7 should be used. This property may not be supported by all operating systems so please read the Execution Agent Release Notes for applicability.

Load User Profile: If enabled, Windows Execution Agents will also load the user’s profile as part of logging the job into the system. This is useful only if the job expects to access the Registry specifically for that user (i.e. HKEY_CURRENT_USER). If your job won’t be accessing that registry hive, we recommend that you disable this property.

If Job Active: This field indicates what action should be performed if an instance of this Job is already running.

Skip: If selected, skip execution of this instance. In other words, only one instance can run.

Run Multiple: If selected, run the instance. This means multiple instances of the same job can be running. The additional value Maximum number of active instances further allows you to indicate the maximum number of simultaneously running instances of the job. Zero (0) means unlimited. When maximum instances are reached allows you to further refine your processing. You can elect to skip that run or wait a period of time (in seconds) before the run will be skipped.

Wait for: If selected, this instance is to wait, for a specified time (in seconds), before this run is skipped. (While you can specify zero (to wait forever), we recommend you specify a non-zero value).

Note: This set of properties also indicates the maximum number of instances that can be instantiated within a plan and within a batch run (or if at the root level globally).

Page 165: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

163

5.6.4.10 Job – Execution/User Credentials

Figure 92 – Job – Execution/User Credentials

This selection allows you to specify security credentials that will be used when running this job.

User Information: If enabled, this section is where the user must enter authorization credentials for the execution machine where the job is to execute. ActiveBatch provides two (2) approaches for you to specify user security credentials. The recommend approach is to create a Username object if you intend to have multiple jobs run under a single account. The advantage to this approach is that if you need to change the user account password, you will only need to update the corresponding object as opposed to updating every job. The second approach is to assign separate user credentials on an individual job basis.

User Account Object to use

This section allows you to select a user account to associate with this job. The drop down button allows you to select from a list of accounts that you have the rights to use. Two smaller buttons to the right allow you to manage or create a User Account object. ASCI highly recommends using a User Account Object instead of embedding the Username/Password within the job itself.

User Specified (Note: Use of this section is not a “best practice”).

Username: This field contains the username account. By default, your currently connected username (and

Page 166: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

164

domain) are used2. If this username is not applicable to the specified execution machine, specify a username that is acceptable. This field is case sensitive only if the execution machine considers the field case sensitive.

Password: This field contains the corresponding password to the above username account. The field is not displayable although a series of asterisks appears as you enter data. This field is case sensitive only if the execution machine considers the field case sensitive. You must enter data into this field unless the No Password Required checkbox is enabled or your password had been previously saved.

Reconfirm Password: This field uses the same attributes as the Password field and is present to reconfirm the unseen password. If a mismatch occurs, you will be immediately notified.

Remember Password: This checkbox allows your authorization credentials to be stored using the same facility as Windows. If this is the first time you have entered your credentials with this checkbox enabled, your security information is saved. On subsequent uses, the clicked checkbox means that ActiveBatch will retrieve and use the saved credentials. If you don’t want to use those saved credentials anymore, simply unclick the checkbox. This will cause the currently saved credentials to be removed and the ones specified will be used.

2 Typically your “connected” username will be your “logged on” username, however, ActiveBatch does allow you to connect to a Job Scheduler with different security credentials.

Page 167: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

165

5.6.4.11 Job – Execution/Logging

Figure 93 – Job – Execution/Logging

This selection allows you to enable or disable the logging of “standard out” and/or “standard error”. Clicking on the checkbox enables the possible capture of standard output and/or error. If the checkbox is not enabled, standard output and error are not captured (no files are created).

Centrally Manage Log File: Clicking on the checkbox enables this feature. Centrally managed log files means that ActiveBatch will handle the complete specification of the log and/or error files and the directories they are created in. You can view the log file(s) from the Job History tab as well as determine where the files are located.

Retain for: This field indicates whether you want the centrally managed log file(s) to be retained for a specified period of time. Clicking the checkbox means you want the log file(s) to be retained after the job completes. The period of time is measured in days. The default is one (1) day. A value from 1 to 366 is acceptable. Not enabling this field means you want the log file(s) to be deleted after the job has completed.

Note: The retention period you specify must be less than or equal to the Job’s History Retention period property (see Completion Properties).

Page 168: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

166

Log File Name: Clicking on the checkbox means you want the standard output file to be created. This field and centrally managed log files are mutually exclusive. For non-centrally managed files, the file specification entered must be accessible from the execution machine point-of-view. Please note that for recurring jobs, the log file specification will also have the time and date appended to the file spec for uniqueness purposes. (This is to avoid a conflict where multiple instances of the job have executed and would otherwise overwrite the log file). The default varies depending on whether the batch file was copied to the execution system. If the batch file was copied to the execution machine, the log file is created in the job’s working directory with an extension of .LOG. If the batch file was not copied to the execution machine, the log file is created in the same directory as the batch file with an extension of .LOG. (Variable Substitution supported).

Std. Error File: Clicking on the checkbox means that you want the standard error stream to be captured. A file specification must be entered if this checkbox is enabled. If omitted, a batch job’s standard error is directed to the same log file as standard output. (Variable Substitution supported).

Reuse same file: Enabling this button means that the same log file will be used for each job instance execution.

Append to same log file: Normally, when this checkbox is not enabled, a new log file is created and the log file is either unique or reuses the previous log file name (overwrite). Enabling this checkbox allows each job instance to add its log file information to the end of the previous reused log file. This feature is not available for OpenVMS and will be ignored if specified.

Log trailing ActiveBatch statistics: By default, this checkbox is enabled and ActiveBatch inserts a series of various statistics when a job completes. If this checkbox is not enabled, ActiveBatch will not insert any statistics within the job’s log file.

Interpret Exit Code: If enabled, ActiveBatch will attempt to interpret the exit status code as a possible message and provide a description in the Job’s log file. Sometimes the exit code itself is merely an artificial number that the developer uses for a success or failure indication. In this case, the value itself should not be interpreted. This checkbox has no effect on the success or failure interpretation of the exit code.

Page 169: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

167

5.6.4.12 Job – Monitoring/Run-Time

Figure 94 – Job – Monitoring/Run-Time

This selection controls the ability for ActiveBatch to proactively monitor a job’s progress and possibly terminate a job that is running longer than expected. The example above shows an expected time of ten (10) minutes with an allowable under/over delta of ten (10) percent.

Enable: This section, when enabled, allows ActiveBatch to examine the job’s expected elapsed time and determine whether the job is operating as expected.

Set Initial expected run time: If selected, you enter days, hours, minutes and seconds time that represents the expected job’s elapsed run time.

Set Job run against Historical Average: If enabled, ActiveBatch will refine the job’s initial elapsed time by using the actual run time and average it against previous successful runs. This average will become the new expected run time.

Tolerance: You can specify a tolerance that will modify the initial or average elapsed time (for the purposes of Monitoring). This tolerance can be specified as a Percent or as a Delta Time. Percent means that the over or under time period is created as a percentage of the expected run time. Delta Time is added/subtracted from the expected run time to determine the monitoring period. Three (3) fields make up this property. The Delta Job property allows you to indicate an acceptable under/overrun on elapsed time. You can enter the delta time as either a percentage or as a time specification (days, hours, minutes and seconds).

Page 170: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

168

Abort Job if Overrun: If enabled, ActiveBatch will abort the executing job on an overrun condition. An overrun condition occurs when the expected run time plus the tolerance time values (percent or time) are exceeded.

Fail Job if Underrun: If enabled, ActiveBatch will change the completion status to a failure if the job does not run within the low-end range of the monitoring period.

Reset Average: This button is available when modifying an existing job. Click this button to reset any historical averaging values that ActiveBatch is retaining for this job.

Page 171: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

169

5.6.4.13 Job – Monitoring/CPU-Time

Figure 95 – Job – Monitoring/CPU-Time

This selection controls the ability for ActiveBatch to proactively monitor a job’s progress and possibly terminate a job that is using more CPU than expected.

Enable: This section, when enabled, allows ActiveBatch to examine the job’s expected CPU time and determine whether the job is operating as expected.

Set Initial expected CPU time: If selected, you enter a days, hours, minutes and seconds time that represents the expected job’s CPU time.

Set Job run against Historical Average: If enabled, ActiveBatch will refine the job’s initial CPU time by using the actual CPU time and average it against previous successful runs. This average will become the expected CPU time.

Tolerance: You can specify a tolerance that will modify the initial or average CPU time (for the purposes of Monitoring). This tolerance can be specified as a Percent or as a Delta Time. Percent means that the over or under time period is created as a percentage of the expected CPU time. Delta Time is added/subtracted from the expected CPU time to determine the monitoring period. Three (3) fields make up this property. The Delta Job property allows you to indicate an acceptable under/overrun on CPU time. You can enter the delta time as either a percentage or as a time specification (days, hours, minutes and seconds).

Page 172: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

170

Abort Job if Overrun: If enabled, ActiveBatch will abort the executing job on an overrun condition. An overrun condition occurs when the expected run time plus the delta time values (percent or time) are exceeded.

Reset Average: This button is available when modifying an existing job. Click this button to reset any historical averaging values that ActiveBatch is retaining for this job.

Page 173: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

171

5.6.4.14 Job – Alerts

Figure 96 – Job – Alerts This tab is used to associate various job alerts and their corresponding actions. ActiveBatch allows you to specify alerts by either grouping alerts into an alert object and/or by individually assigning alerts to a specific job. The benefit to an Alert object is that you can change the contents of the Alert object and by implication have those changes apply to all associated jobs. Individual job alerts must be changed on a job-by-job basis.

Alert Objects: This area lists all Alert objects associated with the job. Use of the Associate, Disassociate, Edit and New buttons allow you to otherwise manipulate the objects and their job associations. See Section 5.15 for more information on creating Alert objects.

Alerts: This area lists all alerts associated with this job. You may add, edit or remove alerts by clicking the appropriate buttons. See Section 5.15.2 for more information on setting job alerts.

Page 174: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

172

5.6.4.15 Job – Completion/Properties

Figure 97 – Job – Completion Properties This selection provides properties that concern the completion phase of a Job. This includes restart criteria and job history retention.

Run Once Only: Enabling this checkbox means the Job will execute only once.

Failure Restart Options: This section determines when and if ActiveBatch is to restart a Job. Typically restart concerns the job’s ability to be automatically restarted in the event of a machine failure (usually the execution machine).

On Job Failure: This set of radio buttons indicates what should occur if the job fails. This failure does not include machine failure since a separate set of criteria can be specified for that condition. You may choose one of the following:

No Restart: Selecting this radio button (default) means that no special restart action should be performed if the job fails.

Restart & Failover: Selecting this radio button allows a failed job instance to failover back to the original Generic Queue it was submitted to for re-dispatch. This is particularly useful for Microsoft Cluster Server or any fault tolerant cluster systems. Failover is only applicable for Generic Queues. If Failover is specified and a Generic

Page 175: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

173

Queue was not used, the job is restarted on the same machine (the same as if Restart had been specified).

Disable Template: Selecting this radio button allows you to disable the Job Definition if the instance fails.

Restart: Selecting this radio button allows a failed job instance to be restarted on the same Execution Queue (and machine).

On Machine Failure: This set of radio buttons indicates what should occur if the job fails as a result of an Execution machine failure. This failure does not include a non-machine failure since a separate set of criteria can be specified for that condition. You may choose one of the following:

No Restart: Selecting this radio button (default) means that no special restart action should be performed if the machine fails.

Restart & Failover: Selecting this radio button allows a failed job instance to failover back to the original Generic Queue it was submitted to for re-dispatch. This is particularly useful for Microsoft Cluster Server or any fault tolerant cluster systems. Failover is only applicable for Generic Queues. If Failover is specified and a Generic Queue was not used, the job is restarted on the same machine (the same as if Restart had been specified). This means that the job instance will wait until the failed machine is active and available.

Disable Template: Selecting this radio button allows you to disable the Job Definition if the instance fails.

Restart: Selecting this radio button allows a failed job instance to be restarted on the same Execution Queue (and machine). This means that the job instance will wait until the failed machine is active and available.

Restart Options:

Wait: If non-zero, the Job Scheduler will wait the specified value (in seconds) before restarting the job. This is particularly useful if you’ve also selected “On Job Failure” recovery. By delaying the restart whatever resource exhaustion or other temporary condition that occurred may have ended.

Maximum Restarts: The radio buttons allow for an unlimited number of restarts (not really recommended from a practical point-of-view) or a specific number of restarts (the acceptable value range is 1 to 999). The maximum number of restarts controls the total number of restarts attempted for this instance.

Reset on Restart: This checkbox determines whether Active Variables, if any, should be re-evaluated when the job is restarted. If enabled, the variables are re-evaluated.

Job History: This section deals with the period of time that you elect to keep a job’s instance history.

Delete on Completion when enabled indicates that the job’s history is to immediately be deleted and removed from the database. This is useful when you are running the same job many times and the actual job history would be burdensome or otherwise obscure other more important job history. Please note that this job will not appear in any ActiveBatch reports.

Save Job History for, when enabled, indicates how long a completed job’s history is to be retained within ActiveBatch’s database. If the feature is enabled (highly recommended), a value of 0 indicates that the next scheduled running of DBPurge should delete the job’s history (and log files). The value specified is defined in days and an acceptable range is 0 through 366. If the checkbox is not enabled, the job’s history will be deleted upon the next scheduled running of the DBPurge facility.

Page 176: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

174

5.6.4.16 Job – Completion/Completion Triggers

Figure 98 – Job – Completion Triggers

This selection allows you to specify which job(s) and/or plan(s) should be triggered when this job completes. You can refine the trigger to simple success or failure; or a series or range of exit codes.

Three (3) buttons are available for you to add, edit or remove Completion Triggers. The display provides two (2) columns: Name (or Label) and Condition. The Name (or Label) identifies the Job (or Plan) that you want to trigger. The Condition identifies the criteria that you want to use when your job completes to determine which triggers are executed.

Read section 5.13.3 for more information on adding a completion trigger.

Page 177: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

175

5.6.4.17 Job – Counters

Figure 99 – Job – Counters

The counters above are specific for this job definition. The Reset Averages button allows you to reset the average run times (both elapsed and CPU) to zero. The Reset Counters button allows you to reset the counters back to zero. The Refresh button retrieves the latest set of counters.

Page 178: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

176

5.6.4.18 Job – Audits

Figure 100 – Job Properties – Audits

This selection allows you to view the audits that are created when a job is initially defined. Changes made to the job are audited as well as the creation of any job instances. Audits covering the job instances themselves can be found in the individual instances. The dialog provides the ability to filter audits. Audits are a good place to look when a job runs or doesn’t run when expected because all job state information can be retrieved and examined. Each audit is contained in a single line in date and time sequence. An icon appears at the beginning of each audit to help visually signal the severity of the audit. The audit trail is read only and cannot be changed by the user.

The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer so you could later paste the data into a document or other program.

The Print… button allows you to print the retrieved audits.

The button Revision History… allows you to select one or more revisions concerning changes made to an object and perform a difference operation between the selected revised objects.

Page 179: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

177

5.6.4.19 Job – History

Figure 101 – Job History

The Job History tab appears when a job has already been defined. This tab provides useful information about the execution of this job. The Job History dialog box is separated into two areas: Revision and Job History.

Revision: This area indicates the number of revisions made to this job and the date/time and user who made the last revision.

History: The properties that follow indicate how the last job instance fared.

Page 180: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

178

5.6.4.20 Job – Security

Figure 102 – Job Security Dialog This tab controls the security attributes associated with this Job object. The ActiveBatch Administrator may select Job Policies for an ActiveBatch installation and these policies extend to the security system. Therefore when you create a Job you may notice that several permissions have already been associated with the object.

To add, edit or remove security access permissions requires the user to have “Change Permissions” access to the object.

This table lists all security access permissions using Windows conventions. To edit an existing account name, select the listed account and change the permission using the Permissions list box. You may select one of the following access permissions:

Page 181: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

179

Access Description

Read Account is allowed to view any properties/variables of the job (Note: Read implies both Read Properties and Read Variables)

Read Properties Account is allowed to read the job’s properties.

Read Variables Account is allowed to read the job’s variables.

Write Account is allowed to write to the job.

Modify Account is allowed to read/write any properties of the job

Delete Account is allowed to delete the job

Take Ownership Account is allowed to take ownership of the job

Use Account is allowed to use the job and to create a reference to it

Manage Account is allowed to perform operations on the Template job (Enable/Disable)

Instance Control Account is allowed to perform operations on the instance (Abort, Pause/Resume, Restart, Force Run, Override Completion Status)

Change Permissions

Account is allowed to change permissions (set security) on the job

Trigger User may trigger job

Trigger and Change Queue

User may trigger job and direct job to execute on a specified queue

Trigger and Change Parameters

User may trigger job and specify new input parameters to job. User may also pass new ActiveBatch variable(s) that override any specified at the job or plan level

Trigger and Change Credentials

User may trigger job and specify new security credentials

Full Control Account may issue all of the operations mentioned above.

Table 12 – Job Security Access

To add a new access permission, click the Add button and follow the dialog as discussed in Section 5.6.4.21. To remove an existing account name, select the listed account and click the Remove button. To change an existing access permission, select the account and then select a new Permission Type (either Grant or Deny access) and a new Permission (one of the access permissions listed in Table 12).

The owner of a job is the user who first creates the Job. The owner of a job is implicitly granted Full Control access permission. To change ownership, click the Take Ownership button and confirm the resulting dialog.

Page 182: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

180

5.6.4.21 Job – Add Security Dialog

Figure 103 – Job Add Security Dialog Box

The figure above displays the Security dialog for an ActiveBatch object. The dialog is similar to that of other Windows objects and leverages Active Directory services. The Locations button allows you to select either the Job Scheduler machine or any applicable domain. Clicking the Advanced button allows you to search for specific users and/or groups. Alternatively you may enter object names in the large edit box. Clicking the Check Names button allows you to validate the accounts. Click the OK button to add the selected Account to the object’s security list.

Page 183: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

181

5.7 Jobs Library The Jobs Library represents a set of built-in functionality in which the job designer can select a job type and obtain the benefit of that job without having to write a script. In this regard the “Jobs Library” is a type of ActiveBatch job (like “Process” or “Script” jobs). The Jobs Library also allows the creation of a multi-step job in which one or more job types can be logically constructed.

5.7.1 Job Type Job Type represents specific functionality (or a feature) that you want to execute as part of your ActiveBatch job. Job Types are arranged in categories for easy display. For example, the “Net” category reveals network based functionality (i.e. FTP, PING, etc). For example, if you need to SFTP a file to another machine you would select the “Net.FTP” job type. As the Jobs Library is an extensible library of job types this library will grow as new categories and/or job types are added in future servicepacks and/or major releases.

The job types themselves have several forms. One group of job types implement a specific feature, for example, SQLBlock, SFTP, ShellCommand all allow access to specific functionality without having to write a script. A second group of job types provide iteration or looping capability. For example, ForEachRow (database), ForEachFile (files), ForLoop, etc all provide looping of one or more job steps.

Figure 104 – Job Types Listing (Partial list)

The above figure shows a very partial listing of job types within the Jobs Library.

Page 184: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

182

Job Type Description Execution Platforms

ActiveBatch ActiveBatch. The job sub-types all employ popular ActiveBatch object methods.

Windows only. ActiveBatch COM client must be installed prior to use.

Database Database. The job sub-types support both Microsoft SQL Server and Oracle family of database products. The GenericSqlBlock also supports any database for which there is an OLE/DB driver.

Windows only. The target database can be located anywhere the database vendor supports.

FileSystem File System. The job sub-types support all file system operations that are found on ActiveBatch supported platforms.

All ActiveBatch supported platforms. OpenVMS archive/unarchive does require prior ZIP (freeware) installation.

FlowControl Flow Control. The job sub-types support all types of iteration processing. Iterations provide the ability to loop through a series of job steps. Iterations can be nested.

All ActiveBatch supported platforms.

General General. The job sub-types support the ability to log an entry into the ActiveBatch job’s log file. “ShellCommand” provides the ability to issue a platform dependent shell command.

All ActiveBatch supported platforms.

Mainframe Job. This job sub-type allows the submission of a file to an IBM z/OS mainframe machine. The file is submitted to execute under the JES job control system.

Windows only. The machine must have .NET 2.0 (or later) Framework installed.

Net Network. The job sub-types support several network based commands.

E-Mail is restricted to Windows platforms. Non-secure FTP is platform independent. Secure FTP is restricted to Windows platforms. Ping is supported by all ActiveBatch platforms.

Service Service. The job sub-types support various Windows-based Service (SCM) commands.

Windows only.

Table 13 – Job Types and Supported Platforms

Page 185: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

183

5.7.2 Job Type Properties The table which follows provides specific information on the properties that are required for each Job Type. As you click on each property a brief description appears in the lower portion of the dialog. In the “Description” section, an underlined value represents the property default if not specified.

Job Type Sub-Job Type Properties Description

ActiveBatch CloseQueue JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

UserAccount User Account Name object.

DisableObject JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

UserAccount User Account Name object.

EnableObject JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

UserAccount User Account Name object.

Export JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax).

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

OutputFile Output file specification for XML file that contains the exported objects.

Import JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

InputFile Input file specification that contains an XML file created by an Export operation.

RestoreOriginalOwner True/False. Restore original owner of the object.

Verbose True/False. This property refers to logging and should only be enabled if an issue exists with the Import operation.

Page 186: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

184

Job Type Sub-Job Type Properties Description

ConflictResolution Ignore/CreateCopy/UpdateIfOlder/ForceUpdate. This property controls what Import is to do is an object is already present on the Job Scheduler machine and conflicts with the import object.

OpenQueue JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

UserAccount User Account Name object.

ReportProgress Description Progress Text. This text appears next to the job’s state.

SetVariable VariableName Variable name to set.

VariableValue Value for variable

StartQueue JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

UserAccount User Account Name object.

StopQueue JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

UserAccount User Account Name object.

Trigger JobScheduler Job Scheduler to connect to. This can be a hostname, IP address or published name (using AD:// syntax). Default is local system.

Path Full path specification to the object (for example, /CaseStudy2/Queue1)

UserAccount User Account Name object.

Variables Zero or more variable/value pairs (i.e. variable=value) for the triggered object.

WaitCompletion True/False. Indicates whether the job should wait for the triggered job to complete before continuing.

CrystalReport Report Report File Specification for Crystal Report

Parameters Parameters. One or more parameters in “param1=value1” format. Multiple parameters must be comma separated.

Page 187: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

185

Job Type Sub-Job Type Properties Description

ConnectionString Database connection string using Microsoft Universal Data Language syntax.

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

OutputFormat Select an output format from the dropdown list.

Output File specification for the output file that is to be created (depending on output format chosen).

Database ForEachRow ConnectionString Database connection string using Microsoft Universal Data Language syntax.

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

CommandText Any valid SQL Select statement.

ContextName The name of a variable that will hold a record from the resulting record-set if the “CommandText” executes properly.

Steps One or more job steps to be executed during the ForEachRow iteration of the record-set.

GenericSQLBlock ConnectionString Database connection string using Microsoft Universal Data Language syntax.

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

Block Any valid SQL statements that can be properly executed using the connection provider specified in the “ConnectionString”. For T-SQL or PL/SQL code, we suggest using the vendor specific “Block” job types.

Timeout A numeric value, in seconds, that represents the amount of time the job step will wait until a “Timeout Expiration” error occurs. The default is 30 seconds. A value of zero (0) indicates that no timeout expiration will occur and should be used with caution. Note: You may consider using Run-Time Monitoring to prevent a runaway job.

Oracle.SQLBlock DataSource Oracle data source name.

Page 188: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

186

Job Type Sub-Job Type Properties Description

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

Content Any valid PL/SQL statements that can be properly executed.

SQLServer.DTSPackage ServerName SQL Server machine name.

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

PackageName File path specification for the DTS package.

SQLServer.Job ServerName SQL Server machine name.

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

JobName Name of the job on the SQL Server Agent.

PollingInterval Time, in seconds, that ActiveBatch is to check on the executing SQL job. The default is 10 seconds.

SQLServer.SQLBlock ServerName SQL Server machine name.

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

Database Name of the database.

Block Any valid T-SQL statements.

Timeout A numeric value, in seconds, that represents the amount of time the job step will wait until a “Timeout Expiration” error occurs. The default is 30 seconds. A value of zero (0) indicates that no timeout expiration will occur and should be used with caution. Note: You may consider using Run-Time Monitoring to prevent a runaway job.

OutputResults If true, the SQL output will be redirected to the job’s log file. If false, the SQL output will be ignored.

SQLServer.SSISPackage ServerName SQL Server machine name.

UserAccount User Account Name object. (Note: The credentials specified are used for Database Authentication. If you are using Windows Integrated security, please leave this property blank).

Page 189: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

187

Job Type Sub-Job Type Properties Description

PackageFileName File path specification for the SSIS package.

Variables Variables to be passed to the SSIS package.

FileSystem Archive Source The path to the file or directory that is be archived (ZIP). Specification may contain wildcard characters. Syntax is operating system dependent.

Destination Full path to the output specification that will form the archive (ZIP file). Syntax is operating system dependent.

IncludeSubFolders True/False. Indicate sub-directories?

PreservePath True/False. Indicate whether the original file path is to be preserved.

CopyFile Source The path to the file or directory that is be the source of the file copy operation. You may use wildcard characters. Syntax is operating system dependent.

Destination The path to the file or directory that is be the destination of the file copy operation. Syntax is operating system dependent.

Overwrite True/False. Should existing files be overwritten in the destination directory?

CopyFolder Source The path to the directory that is be the source of the file copy operation. You may use wildcard characters. Syntax is operating system dependent.

Destination The path to the directory that is be the destination of the file copy operation. Syntax is operating system dependent.

Overwrite True/False. Should existing files be overwritten in the destination directory?

CreateFolder Path The path to the directory that is be created. Syntax is operating system dependent.

DeleteFile FileName The path to the file that is be deleted. You may use wildcard characters. Syntax is operating system dependent.

Force True/False. Indicates whether the file should be deleted even if marked as “read-only”.

DeleteFolder Path The path to the directory that is be deleted. You may use wildcard characters. Syntax is operating system dependent.

Force True/False. Indicates whether the folder (and/or files) should be deleted even if marked as “read-only”.

ForEachFile Folder The path to the directory that is be searched. You

Page 190: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

188

Job Type Sub-Job Type Properties Description

may use wildcard characters. Syntax is operating system dependent.

Recursive True/False. Should sub-directories be included in the search?

Filter FilesAndFolders/File/Folders. Indicates the scope of the search when the “pattern” property is applied.

Pattern *.*. The file pattern to be used when searching. You may use wildcard characters. Syntax is operating system dependent.

ContextName The name of a variable that will hold one of the files or directories from the resulting search.

Steps One or more job steps to be executed during the ForEachFile iteration of the resulting search.

MoveFile Source The path to the file or directory that is be the source of the file move operation. You may use wildcard characters. Syntax and operation are operating system dependent. Note: This operation will be performed as a Rename on OpenVMS.

Destination The path to the file or directory that is be the destination of the file move operation. Syntax and operation are operating system dependent.

Unarchive Source The file specification that contains the archive file (ZIP file). Specification may contain wildcard characters. Syntax is operating system dependent.

Destination Path specification into which the archived files will be placed into. Syntax is operating system dependent.

FlowControl ForEachValue List A list of string tokens separated by a “separator” character.

Separator A separator character. Default is comma.

ContextName The name of a variable that will hold one of the string tokens from the list.

Steps One or more job steps to be executed during the ForEachValue iteration.

ForLoop Start Starting value for the loop (integer). Default is 1.

End Ending value for the loop (integer). Default is 10.

Step Step value for the loop (integer). Default is 1.

ContextName The name of a variable that will hold the current iteration (loop) value.

Steps One or more job steps to be executed during the

Page 191: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

189

Job Type Sub-Job Type Properties Description

ForLoop iteration.

Wait Duration Sleep duration in seconds (integer). Default is 1.

General Log Text String data written to job’s log file (similar to ECHO).

ShellCommand CommandLine Operating system dependent string that represents a shell command line.

Mainframe Job Job File The full path of the file containing the IBM Job Control Language (JCL) statements that will be submitted to the z/OS mainframe. This file must be accessible from the appropriate ActiveBatch Execution Agent. Note: The seven (7) characters of the JCL JOB statement must be the IBM username. This is required so the FTP interface can find the submitted job. For example: //IBMUSERA JOB … Where “IBMUSER” is the username of the submitted job. The job’s output log file is merged into the standard ActiveBatch log file.

HostAddress The hostname or IP address of the z/OS machine.

UserAccount An ActiveBatch Username Account object that represents the security credentials necessary to access and submit a job to the z/OS machine under JES.

Network Email To Recipient of the e-mail. Multiple destinations may be separated by a comma.

CC CC recipient of the e-mail. Multiple destinations may be separated by a comma.

BCC BCC recipient of the e-mail. Multiple destinations may be separated by a comma.

Attachments Zero or more attachments (if multiple attachments, each one must be comma separated).

Subject Subject line of the e-mail.

Message Message body of the e-mail.

FTP HostName Hostname of the FTP/SFTP/FTPS server.

Port Port number for the operation. Default is 21 (for FTP, secure FTP may vary depending on operation requested).

UserAccount User Account Name object.

Script FTP script commands.

Protocol Standard/Auto/SSL3/SSL2/PCT/TLS/SSH. Standard represents standard non-secure FTP. The other

Page 192: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

190

Job Type Sub-Job Type Properties Description

options will use (secure) SFTP or FTPS as specified.

IgnoreErrors True/False. Should FTP errors be ignored?

Ping HostName Hostname of the target machine.

Timeout Duration in seconds (integer) that Ping is to wait for a response. Default is 30.

Service PauseService MachineName Hostname of the target machine for the service.

ServiceName Name of the service.

Timeout Duration in seconds (integer) that the Job is to wait for the operation to complete. Default is 30.

ResumeService MachineName Hostname of the target machine for the service.

ServiceName Name of the service.

Timeout Duration in seconds (integer) that the Job is to wait for the operation to complete. Default is 30.

StartService MachineName Hostname of the target machine for the service.

ServiceName Name of the service.

Timeout Duration in seconds (integer) that the Job is to wait for the operation to complete. Default is 30.

StopService MachineName Hostname of the target machine for the service.

ServiceName Name of the service.

Timeout Duration in seconds (integer) that the Job is to wait for the operation to complete. Default is 30.

Figure 105 – Job Types, Sub-Types and Properties

Page 193: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

191

5.7.3 Job Step A major part of the design of a “Jobs Library” job is that the Job Types that you select can be arranged and executed in a logical fashion. Each sub-job is actually a step or Job Step in the process. Job steps are executed in sequential order. Move Up and Move Down buttons are available to change a job step’s execution order. Several job types are available to either iterate (or loop through job steps) or perform a logical evaluation (as in an IF statement).

Figure 106 – SQL Block (Job Type)

The above figure displays the initial view of a SQL Block job step. All job steps have common properties as noted under the heading “JobStep”.

Name: The name of the job step (by default, the job type is used as the name). Naming a job step allows easier retrieval of the status of a particular job step.

ErrorAction: This property indicates what should be done if an error occurs. Three (3) options are: Continue (the next job step is executed), FailJob (the ActiveBatch job fails. This is the default), and StopSequence (used during an iteration job type to “break” the loop. If nested, the next inner loop continues, otherwise the job ends with success).

Enabled: This property controls whether this job step is enabled for execution or not. Two (2) selections are: True (enabled) or False (disabled).

The next section contains the properties of the specific job type itself. This varies by the job type you’ve chosen.

For a SQL Block job step the three (3) properties above are required. Server represents the name of the database server. Database represents the name of the database and Block represents the T-SQL code block that is to be executed.

Note: Variable substitution is supported for the properties that make up a job step.

Page 194: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

192

Certain job types also support iteration. For example,

This is the initial dialog for the ForEachRow job step. This job allows a series of job types to be performed based on the resulting recordset that is passed back from the operation performed in the CommandText property. As the iteration loops through the recordset, the variable Row (ContextName) is used to hold one (1) row of the recordset. Note the property Steps. If you click on this property you will be able to add one or more job steps for the iteration.

Note the Steps property. Now two (2) steps have been added to the iteration. To drill down and see those two steps require that you click the button.

5.7.4 Context Variables Context variables are created as part of a job step and are specific to the job type. For example, in the above figure the context variable “Row” is used to hold a row of values during a specific iteration. Variable substitution for a context variable uses the following syntax:

$ { %context-variable }

For example, %{row} would potentially allow substitution of the context variable Row. Since Row will hold several values, Row is also a structured variable. For example, if the fields passed back from the Select statement contained; Name, Address, City, State and Zip, you would access each field using this sample syntax: %{row.name}. This would substitute the “Name” field value for this row in the recordset.

For an example on the use of the Jobs Library (and various sub-types) please read the ActiveBatch User’s manual.

Page 195: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

193

5.8 Modifying/Viewing Plan and Job Properties To modify a Job you must hold “Modify” access permission to the Job object. To perform the modification right click on the selected Job icon and choose Propertiesr.

Figure 107 – Modifying a Job

You can only modify a Plan/Job definition. An instance cannot be changed.

Page 196: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

194

5.9 Plan and Job Instance When you need to view a plan or job instance’s history, click on the plan/job you want instance information on. Instance information is presented in the Instances pane. You can retrieve more detailed information about an instance by selecting Properties.

Figure 108 – Instance Menu

Properties information is discussed in section 5.9.2. Selecting View Batch Run will cause an additional menu selection of List, Gantt or Graphical to be displayed. “List” causes the selected plan or job to be displayed in complete context with any other plans or jobs that were executed as part of the same Batch run. A Batch Run represents all the plans and/or jobs that were executed as part of an initial trigger. “Gantt” causes the selected plan or job to be displayed in a Gantt chart view. Graphical provides a graphic display of the instances as they executed along with their relationships.

Page 197: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

195

5.9.1 View Batch Run This selection provides an in-context view of the selected plan or job as part of the overall Batch run. “View Batch Run” provides three (3) modes for viewing a batch run: List, Gantt or Graphical.

5.9.1.1 List View

For example:

Figure 109 – View Batch Run (List View)

Starting on the left, we’ve selected CaseStudy2 and asked for a List view. This produced a list of the instances of this plan for that day (see Instances pane on the bottom). Selecting an instance and issuing a View Batch run produced a new pane with that specific run.

You’ll notice that the plan is bold to show its position in the Batch run.

Page 198: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

196

5.9.1.2 Gantt View

Figure 110 – View Batch Run (Gantt)

The above figure shows a Gantt chart representation of the plan and several sub-plans. One of the sub-plans failed after running for approx. 30 minutes. The Gantt chart depicts the elapsed time horizontally and allows a view of plans and/or jobs with their elapsed time with any overlap in processing.

Page 199: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

197

5.9.1.3 Graphical View

Figure 111 – View Batch Run (Graphical View)

This selection provides a graphical display of the plans and jobs that actually executed as part of this Batch run. The green boxes indicate that the jobs ran successfully.

Page 200: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

198

5.9.2 Instance Just as you can request the properties of a Plan or Job Definition, you can examine the properties that make up a Plan or Job Instance. To avoid confusion, ActiveBatch displays the portions of a Plan or Job that are most likely to change from run to run on separate selections. Figure 108 displays the selection menu.

5.9.2.1 History

Figure 112 – Instance Information

History is the top property selection. This tab provides most of the information you would need concerning the running or completed job. Information is broken down into categories that can be collapsed or expanded as necessary.

General Properties: This list displays current state information.

State: The current state of the instance. The state line is color coded to also visually indicate the state of the instance.

State Details: Additional information concerning the state of the job (if applicable).

Page 201: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

199

Queue:

Execution Queue: The name of the execution queue the job ran on.

Original Submission Queue: The name of the original submission queue (for example, a Generic Queue).

Start Properties: This list displays various startup information about the instance.

Begin Execution Time: The date and time the job began execution.

Execution Reason: Why the job began execution.

Execution User: The user under whose security context the job is run.

Batch Run ID: This is the ID associated with a related stream of plans/jobs. For example, if a Plan is triggered for execution, that plan and all nested jobs/plans will have the same Batch Run ID.

Runtime Properties:

Actual Run Time: Actual elapsed time of the job.

Actual CPU Time: Actual CPU time of the job.

Checkpoint Properties:

Checkpoint Restart Enabled: This property indicates whether a checkpoint was taken. If one was, the date and time of the last checkpoint and thirty (30) characters of the checkpoint would be displayed.

Restarts:

Restarted: This property indicates whether a restart was ever performed. If one was, the date and time of the last restart and total number of restarts would also be displayed.

Completion Properties:

End Execution Time: The date and time the job completed execution.

Completion Machine: The name of the last machine that ran the job.

Completion Status: SUCCESS, FAILURE or ABORTED indication for the job.

Exit Code: This field contains the actual job exit code (decimal).

Exit Description: Unless the property “Interpret Exit Code” is disabled, ActiveBatch attempts to interpret the “job return code” as an NT Message Code (so you may need to ignore this field). Read Section 3.5 for information on how to enable or disable this feature.

Page 202: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

200

5.9.2.2 Variables

Figure 113 – Instance (Job) Variables

The Variables tab displays all the variables and actual values assigned to each variable for this Plan or Job instance. This avoids guesswork or special tracing to determine what a particular variable was set to. When a variable is displayed with a small plus (+) sign that means that the variable represents a structure. You can expand or collapse the structure by clicking on the plus sign.

Page 203: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

201

Show MOF Text button allows you to see the MOF text in a more readable form. MOF stands for Managed Object Format and is used by WMI to fully describe the event that occurred based on the event class that was requested when the event was created.

Figure 114 – MOF Text (File Trigger)

The window above shows the MOF text for a File Trigger event. Three (3) datum are presented. The file specification that actually caused the event is shown, the specific file action (“Created” is shown) and the time stamp (in WMI format) indicates when the event occurred.

Page 204: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

202

Figure 115 – MOF Text (WMI)

The window above shows the (partial) MOF text for a WMI event. The complete class instance is shown.

Page 205: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

203

5.9.2.3 Audits

Figure 116 – Instance (Job) Audits

The Audits tab displays all the ActiveBatch audits that this instance generated. Audits generated as part of the overall Plan or Job Definition would be found in those objects. This display is among the first to examine when you have a question concerning why a Plan or Job ran (or didn’t run).

Page 206: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

204

5.9.2.4 Log

Figure 117 – Instance (Job) Log

The Log tab lets you see the output log of the Job (if enabled). If the log is small enough you can see the information in the window provided (1 megabyte is the maximum size that can be displayed in the window). Otherwise you’ll need to view the log file via the View in Editor button. The log file on a remote machine can only be displayed if it is accessible. ActiveBatch uses two (2) methods for retrieving a log file. First the log file is accessed through an ActiveBatch share that’s created at installation time. If this approach does not work, ActiveBatch will retrieve the file through the Execution Agent on the remote machine.

Log File: This field contains the actual location and log file name used by the job.

The four (4) buttons that are displayed on the left allow you to view the instance log file in several ways. By default, the log file is presented in the view area that dominates the main display. ActiveBatch attempts to access the log file directly through a UNC share, if present. If an error occurs when accessing the file via the UNC share, the destination computer where the log file resides can be placed on a UNC exclusion list. The leftmost button allows you to manipulate this exclusion list. The purpose of the list is to avoid unnecessary delays and to skip trying to access the file directly on future attempts. As you can see in the above example, the string “Log file accessed directly” shows that a UNC attempt at opening the log file succeeded. The second button from the left is the “View in Editor” button. This causes whatever text editor has been set up as your preference (default is Notepad) to be used. The third button from the left allows you to print the log file. Finally, the rightmost button allows you to refresh the log file contents that are displayed. This is particularly useful when the job is still running and producing output.

Note: The “View Log” instance menu operation takes you to this dialog tab quickly.

Page 207: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

205

5.9.2.5 Properties

Figure 118 – Instance (Job) Properties

This tab allows you to display the rest of the Plan/Job Instance properties or you can examine the current Plan/Job Definition. While both look similar there is a very important difference. The Plan/Job Instance properties are a snapshot of the Plan/Job Definition taken when the instance was created. The current Plan/Job Definition is what that definition looks like right now which could be different than when the instance was created.

Page 208: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

206

5.10 Reference Objects Many times when you’re designing a job stream you need to execute the same job or plan at different points in different streams. Sometimes you simply want to start with an existing plan or job and edit the object to your requirements instead of starting from scratch. ActiveBatch supports both types of actions.

When you need to execute an existing Job or Plan within different job streams you can create a reference to the object. For example, let’s say you’ve already created a job named FTPCustFiles that performs the necessary operations and you need to perform the same thing for a new and different plan. Rather than creating a copy of FTPCustFiles (which you could do) a better approach might be to create a reference to that job. This way if the job is modified, the resulting changes will be seen by both plans. To create a reference to the object (Job), simply select the object and right-click to select the Create Reference operation from the menu.

When you select this operation you should see a window similar to the one below:

Page 209: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

207

At this point you indicate where you would like the newly created reference to appear. Typically the reference will be placed within a plan.

Page 210: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

208

5.10.1 Reference – General Properties

Figure 119 – Reference – General

As you can see a Reference object does have its own identify apart from the object it’s referencing. In addition, since this referenced object is a Job, the Reference object can have different Triggers, Constraints, Completion Triggers, Alerts and Security as well. Figure 119 shows the General properties of a Reference object.

Name: This mandatory field represents the name of the Reference (to a maximum of 64 characters). While reference name is not required to be unique, we highly recommend that you do so to avoid later confusion.

Label: This mandatory field, taken from the reference’s name, is required to be unique and is used to identify the Reference object within the ActiveBatch namespace (maximum 64 characters). The label is typically used for scripting purposes to uniquely retrieve objects within ActiveBatch.

ID: This read-only field contains the object’s unique ID.

Full Path: This read-only field represents the complete namespace path to the object.

Description: This optional field can contain free-form text (to a maximum of 128 characters) describing the nature and conduct of this reference.

State: This read-only field indicates whether the object is enabled for use.

Read Only: This checkbox, when enabled, means the object’s properties cannot be changed. You must have “Modify” access permission to the object to set this feature. To clear the read-only attribute, simply uncheck the box.

Page 211: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

209

5.10.2 Reference – Properties

Figure 120 – Reference – Properties

The main and only property of a Reference object is the reference to the object. As you can see this read-only field is set to the full path of the object that it is referencing (a job named “ActiveVariables” within the plan “TestDoc”). While this field cannot be directly changed, you’ll notice a small button to the right of the field. This button, when clicked, allows you to change your reference (Figure 120 is displayed to allow you to change your selection).

Property pages specific to the reference object are listed in the left-hand side navigation. These properties may be modified as appropriate. Note the “Variables” property page. This allows you to have different variable values (or methods) for the reference job and greatly expands the usefulness of the reference object.

Remember that when you modify a reference you modify all objects referencing the base object (Job/Plan). If you delete a reference only the reference to the existing Job is removed. Of course, when the last reference is deleted, the base object is deleted.

Page 212: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

210

5.11 Plan and Job Operations for Designers While all operations are documented under the “Managing…” chapter, there are several operations that designers may need to use. Those operations are documented here as well (with a designer’s slant to the discussion).

5.11.1 Drag and Drop Drag and Drop operations are supported by ActiveBatch and are applicable only for object definitions (specifically instances are not supported). The actual operation performed depends on the source and destination. For example, if you select several Jobs and Plans and then drag and drop the selection to a Plan, the selected objects are moved to the Plan. If you select one or more Jobs and then drag them to a Queue, the Jobs are associated with the Queue. You can perform drag and drop operations using the Navigation views as well as any list-oriented view.

The table below indicates what source objects may be dragged to a destination object. Typically any selected source objects must be of the same type, a major exception to this are Jobs and Plans (called JobPlan in the table). ActiveBatch also supports use of special keys when performing drag and drop operations to modify the drop into another operation. For example, the ALT key performs a Reference operation, the CTRL key performs a Copy operation, the SHIFT key performs a MOVE operation and no key pressed performs the default operation (as per the table below).

Source Queue Schedule Calendar Plan UserAcc Alert Resource Job

Queue xxxA n/a n/a xxMx n/a xxxA n/a xxxA

Schedule n/a n/a n/a xxMA n/a n/a n/a xxxA

Calendar n/a n/a n/a xxMA n/a n/a n/a xxxA

Plan xxMx xxMA xxMA RCMM xxMA xxMA xxMA n/a

UserAcc n/a n/a n/a xxMA n/a n/a n/a xxxA

Alert xxxA n/a n/a xxMA n/a n/a n/a xxxA

Resource n/a n/a n/a xxMA n/a n/a n/a xxxA

Job xxxA xxxA xxxA RCMM xxxA xxxA xxxA n/a

JobRef n/a xxxA xxxA xCMM n/a xxxA xxxA n/a

PlanRef n/a n/a n/a xCMM n/a n/a n/a n/a

JobPlan n/a xxxA xxxA xCMM xxxA xxxA xxxA n/a

Table 14 – Drag and Drop Operations

The first column represents the source object(s) selected. The second through eight columns represent possible destinations (i.e. drop). A value of “n/a” in the table means “not allowed”. Any other value represents a possible operation. Each value shown depicts four (4) possible drag and drop operations. The first position is with the ALT key, the second is with the CTRL key, the third SHIFT key and the fourth is with no keys depressed. The individual values are as follows:

A Associate. Dragged objects are associated with the dropped object.

C Copy. Dragged objects are copied to the dropped object.

R Reference. A reference object is created on the dropped object.

M Move. Dragged objects are moved to the dropped object.

x Not allowed. Operation is not allowed.

Page 213: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

211

5.11.2 Show Dependent Objects This operation allows you to view any objects that depend on this one. For example, if you click on a queue, you’ll see every object that depends on the queue.

Figure 121 – Show Dependent Objects

For the above queue Server1, selecting the Show Dependent Objects operation produces this list.

Figure 122 – Queue Dependent Objects

Note that a Generic Queue (GenericQueue) as well as several jobs are associated (or dependent) on this queue. This operation is particularly useful for User Account, Alerts and other objects when determining the overall usefulness of the objects you’ve created.

Page 214: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

212

5.11.3 Copy/Paste Object Sometimes you want to create a Plan or Job using most of the information found in an existing Plan or Job. ABATAdmin let’s you do just that.

To copy an object right click on the selected con and choose Copy. You must have Read access to the object.

To paste the copied object, select the Job Scheduler icon or a plan you want the new object to be pasted at and right click to select Paste. The object will be created at that level. If the object’s label value is already present, ActiveBatch will append the word “Copy” to the object as many times as needed until unique.

5.11.4 Cut/Paste Object Sometimes you need to move a Plan or Job from one Plan to another. With Cut and Paste you can select the object and choose Cut. You must have Read and Delete access to the object.

To paste the cut object, select the Job Scheduler icon or a plan you want the object to be pasted to and right click to select Paste. The original object will be pasted at that level.

5.11.5 Delete a Plan or Job The delete operation is applicable to both Plan and Job instances and definitions. Delete implies abort but also means that the object will be removed from the ActiveBatch database. Deletions are permanent and irreversible. Delete requires Delete permission.

If you delete a Plan/Job definition you will be asked to confirm the implicit abort of all of the related instances.

Figure 123 – Delete a Template Plan Dialog

When you delete a plan or job definition, the above confirmation figure is displayed. Click Yes to confirm or No to cancel the operation.

Page 215: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

213

5.11.6 Hold/ Release a Plan or Job Sometimes it is useful to hold a job and prevent its execution. ActiveBatch provides this operation through the Hold and Release facility.

Figure 124 – Hold/Release a Plan or Job

Disable (Hold) and Enable (Release) are in-context operations. That means that ABATAdmin will choose the proper operation for you to perform based on the state of the job. If the job is not held, you will be able to hold it. If the job is held you will be able to release it. Hold and Release, while job oriented, do require “Manage” access permission for the Queue that the job is on as well as “Read” access permission on the selected Job object. To hold or release a job either right click on the selected Plan/Job icon and choose Disable/Enable. Note the job must be in a Pending state (so you cannot hold an executing job). Holding a template job causes no new instances to be created while the template is held. You can disable an object instance whose state is “Not Run”.

Page 216: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

214

5.11.7 Export/Import Objects ActiveBatch allows you to export an ActiveBatch object to an XML file and also provides the ability to import the object using the same XML file. This mechanism provides several features:

1. A simple method to backup/restore your ActiveBatch system.

2. Versioning control of your ActiveBatch objects (especially when combined with a source control system).

3. The ability to edit an XML file to create variants of ActiveBatch objects.

4. A simple method of transferring completed (and tested) objects from your development system to QA and/or Production ActiveBatch Job Scheduling systems.

You can export or import at any level. For example, exporting objects at the Job Scheduler level means you can save objects recursively. Exporting objects at the Plan level means you can save just the nested objects within that Plan.

5.11.7.1 Export

To export ActiveBatch objects simply right-click on the object or container (Job Scheduler or Plan) and select Export.

Figure 125 – Export Filter Dialog

The figure above allows you to filter which objects you would like to export. When you click the Export… button a file oriented dialog appears asking where you want the export file to be saved.

Page 217: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

215

5.11.7.2 Import

To import a previously export set of ActiveBatch objects, right-click on the object or container that you would like the Import to be conducted at and select Import. Import begins by requesting the location of the import file. ActiveBatch V6 allows you to import either a V5 or V6 generated export file.

If the file is V5 based then the V5 dialog to the right will appear.

If the file is V6 based then the V6 dialog below will appear.

As with the V5 import you may enable checkboxes that: (1) Restore the original owner (or use the importing user as the new “Creator Owner”) and (2) Restore the original security that was present at the time of the export (or use the existing security and any defaults in place at the time of import). As a general rule of thumb, you will typically want to select the “Restore” options when importing to the same system you exported from. If you are importing from a previous QA system you will probably not want to elect to restore either the original owner or security settings because they are likely to be different in the new setting (for example, production). Conflict Resolution refers to what Import is to do if an existing object in present in the current system. Your choices are: Ignore (the default), Copy, Update, Force Update. Ignore causes the conflicted object(s) to be ignored and not imported. Copy causes the conflicted object to be newly created with the words “Copy of” inserted as part of the Name/Label of the object. Update causes the conflicted object to be updated with the new properties of the imported object.

5.11.8 Create Trigger Script Create Trigger Script is an operation in which a VBscript is generated that can be used to externally trigger the selected object.

5.11.9 Take Ownership Take Ownership is a security operation in which an authorized user is allowed to become the owner of an object through the action of taking ownership. Normally you would take ownership of an object through the security dialog however if you are denied object access (either explicitly or implicitly) you can’t get to the security dialog through the object properties selection. In this case, you would Take Ownership through this operation.

A user can take ownership of an object by either having the Take Ownership access permission or through the Take Ownership privilege. A user who has such privilege cannot be prevented from taking ownership if the access is explicitly specified.

Page 218: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

216

5.11.10 Revision History Revision History allows you to compare revisions of a single object. Revision History is an Advanced menu operation as well as a clickable button on the Audit dialog of many objects.

Figure 126 – Revision History (Initial)

Starting with the top of dialog display, a filter bar is present to allow you to filter revisions to a specific date range. The Refresh button allows you to refresh the display after a filter bar change is made. The View button allows you to retrieve a specific object revision using the normal object property sheets. By default, the latest revision is marked for comparison. This can be changed through the Clear Mark and Mark Selection buttons. With the Auto-Compare on selection checkbox enabled, clicking on another revision level automatically produces a “difference” between the revisions. To manually request a comparison, disable that checkbox, make a selection and then click the Compare button. The buttons on the bottom of the dialog allow you to print or save the revision comparison.

Page 219: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

217

Figure 127 – Revision History (Comparison)

The above figure shows a comparison of revisions 7 and 5. As you can see from the differences report, 2 properties were changed between the 2 revisions.

Object Comparer Restrictions

The following modifications will not be picked up as differences between revisions of an object. These restrictions are present within V6 and may be removed or extended in future ActiveBatch releases.

1. Alert object associations.

2. Associating an Execution Queue to a Generic queue.

3. Changing a Resource object to use an ActiveVariable. The change is noted but the specific variable used is not.

Page 220: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

218

5.12 Variables The preceding sections have touched on the topic of ActiveBatch Variables. This section will explain this facility in more detail and also provide context for their use.

5.12.1 Definition of Variables The purpose of ActiveBatch variables is to allow: (1) data to be passed from one job to another, (2) variable data substitution within a Plan/Job, (3) to act as a constraint and (4) variable data to be exported to a job as an environment variable. Variables are declared in plans and/or jobs. Variables in a Plan can reference upper level Plans. Variables in a Job can reference upper-level Plans that the job is encapsulated within. A value for a variable can be a constant or from a data source. ActiveBatch supports a wide variety of data sources including SQL Query, WMI Query (WQL), XML, INI file, Registry as well as several others.

Note: Regardless of the data source the most important aspect to a variable is that it can be used to pass data to and from related jobs and plans.

5.12.2 Use of Variables in Jobs and Plans Specifying a variable for substitution is as simple as enclosing the variable in curly braces preceded by a dollar sign ${}. For example, a variable named app_path can be referenced by specifying ${app_path}. ActiveBatch supports variable substitution for most job/plan properties. When you specify a variable, the variable is retrieved by starting at the job level and then popping up each nested plan level until the variable is found or the last plan/job is reached. If a variable cannot be found a null (or empty) string is inserted as the substitution value. You can concatenate variables by simply locating them side by side, for example, ${app_path}${filename}. You can also navigate to another object’s variables. ../ syntax allows you to reference the nested plan that a job may be encapsulated in. For example, ${../app_path} means that you don’t want the job’s app_path declarative value but rather to begin a retrieval one level up. Dash (-) syntax allows you to reference the object that triggered the downstream object (in other words the dash allows you to reference the upstream object’s variables). For example, ${-filename} would reference the filename variable in the upstream job or plan. This syntax can also be used with built-in variables, for example, ${-@LogFileName} would reference the upstream object’s log filename. The syntax ${//var} references the starting plan or job that was triggered to begin the batch. To treat ${ as a literal simply double the substitution sequence (i.e. ${$( would yield a literal ${ ).

Note: You can nest variables by placing a space between variable name sequences. For example,

${ ${month}Password}

Where “month” is Jan, Feb, Mar, etc would yield variable names of JanPassword, FebPassword, etc. The space between the variables is critically important to avoid invoking the literal escape sequence (i.e. ${${ which would yield a literal ${ ).

To establish a new value for a variable simply declare that variable under the “Variables” section of the job. Since a job’s variables only have scope to the current job, you will need to specify the Plan’s variable that you intend to have this job modify. You can specify the Plan’s variable through either implicit access (using self-relative syntax) or explicit access (specifying the plan’s variable through a namespace specification).

To allow a variable to be exported to a running job as an environment variable remember to select the “Export as a Job Environment Variable” checkbox.

Page 221: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

219

5.12.3 Active Variable Data Sources The “active” part of an active Variable is that of the data source. ActiveBatch supports many data sources (and the underlying facility is extensible). Active data sources include: SQL Query, WQL Query, INI file, XML file, Registry, Environment variable and built-in ActiveBatch variables. All data sources are read-only. In other words, you can only retrieve information; data cannot be written to the source. All active variables are established under the security context of the User Account Name object associated with the variable. For convenience, you can also inherit the security context of the Plan or Job rather than have to specify separate security for each variable. Some data sources allow additional security to be established apart from any Windows security. For example, a SQL query may need to specify database authentication credentials that are different from those specified with the job. The result of the data source access, if successful, is assigned to the variable. When a single result is produced, that result value is assigned to the variable. When multiple results are produced, ActiveBatch creates a structure within the variable using field names supplied by the data source. Access to the underlying members of a variable, use a notation of variable.field-name. If the access is not successful, a null string is assigned to the variable.

Figure 128 – Variable – List of Active Sources

Page 222: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

220

5.12.4 Built-in ActiveBatch Variables ActiveBatch provides a number of built-in variables. Variables prefixed by (or that contain) a dollar sign ($) or an at-sign (@) are exclusively reserved for ActiveBatch use. To maintain upward compatibility, ABAT$ prefixed variables, denote environment variables (you should never define your own variable names using either ABAT$ or the dollar sign character).

The built-in variables that follow describe various ActiveBatch objects. They can be used wherever a variable can be specified although some variables require their use to be limited to their context. For example, you can’t use an AlertNotification variable except within an Alert. The syntax when using these variables is ${@name}. For example, ${@name} would represent the Job name depending on the context.

Name Description

JobScheduler.Name Active Directory Published Name

JobScheduler.Description Active Directory Published Description

JobScheduler.Hostname Hostname

JobScheduler.IpAddress IP Address

JobScheduler.InstallPath Installation Path of ActiveBatch software

JobScheduler.Version Version (6.n.n.n)

Table 15 – Job Scheduler Built-in Variables

Name Description

ID Instance ID

Name Plan/Job Name

Label Object label

Path Object Path

Owner Object Owner

BatchID Batch ID. Batch ID is specific to a group of related executing instances.

ExitCode Exit Code of the Plan/Job, where applicable.

ExitCodeDescription Interpretation of Exit Code (may not be correct if program uses exit codes in non-standard format).

QueueName Name of the Execution Queue

OriginalQueueName Name of original submitted queue.

TemplateID Definition or Template Object ID

LogFileName Full file specification of log file, where applicable.

CreationTime Date/Time object was created.

BeginExecutionTime Starting Execution Date/Time

Page 223: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

221

Name Description

EndExecutionTime Ending Execution Date/Time

RestartTime Last Restart Date/Time

RestartCount Number of Restarts

ExecutionMachine Execution Machine name (Jobs only)

ExecutionUser Username that job executed as.

Template.Description Description of Job/Plan Definition

Table 16 – Job/Plan Built-in Variables

Name Description

Trigger Structure Variable. Available when a File Trigger or WMI event has occurred.

Trigger.Type Cause Plan/Job was triggered for execution. One of these (File, Wmi, DateTime, Manual).

Trigger.Username Triggered by

Trigger.Filename File Specification when trigger is “File”.

Trigger.MofText MOF Text of event when trigger is “Wmi”.

Event.DateTime Date and Time the Event occurred.

Event.ID The enumerated event id as published in abatJobAlertType.

Event.Name The corresponding event string (i.e. Succeeded, Failed, etc)

Table 17 – Event Built-in Variables

Page 224: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

222

For those variables which have a date/time value an optional format qualifier may also be specified. The syntax is ${var:format} where format is one of the following as noted in Table 18.

Note: All times are Job Scheduler machine local except where specifically noted. Locale format means the Job Scheduler machine’s regional date/time settings as noted.

Format Output Description

<default> 2000-08-17T16:32:42 Sortable ISO

s 2000-08-17T16:32:42 Sortable ISO

S 2000-08-17T16-32-42 Sortable Filename

g 8/17/2000 4:32 PM Short date/time (Locale format, no seconds)

G 8/17/2000 4:32:42 PM Short date/time (Locale format, seconds)

f Thursday, August 17, 2000 4:32 PM Long date/time (Locale format, no seconds)

F Thursday, August 17, 2000 4:32:42 PM Long date/time (Locale format, seconds)

D Thursday, August 17, 2000 Long date (Locale format, no time)

d 8/17/2000 Short date (Locale format)

T 4:32:42 PM Short time (Locale format, seconds)

t 4:32 PM Short time (Locale format, no seconds)

u 2000-08-17T20:32:42 Sortable ISO (UTC) (Using ET as base)

U 2000-08-17T20-32-42 Sortable Filename (UTC) (Using ET as base)

Table 18 – Variable Date/Time Format

For example,

${@CreationTime:S}

would yield the value 2000-08-17T16-32-42. The following VBscript expression would retrieve the 24-hour portion:

split("${timevariable:s}", "T")(1).

5.12.5 Advanced Variable Usage Jobs can change an upper-level variable’s value by declaring that plan’s variable. Variable values can also be set through the abatset utility. This utility allows a job to pass parameters, environment variables and/or ActiveBatch variables to downstream related jobs. When a job/plan instance completes you can examine the variables that job or plan used. You can also hover over the variable as it is used in a job/plan and a “hover text” will appear with the actual value that instance used.

Page 225: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

223

5.13 Triggers A Trigger is an action that potentially starts a job (or plan) instance (potentially only because of possible constraints). ActiveBatch supports many types of triggers: Interval, Schedule, Events, Completion Triggers and Alert Triggers.

5.13.1 Schedule Definition Job Schedules form the heart of the date/time trigger. ActiveBatch supports very flexible date/time scheduling. You can schedule both pattern (e.g. every 2 hours) and non-pattern (e.g. 1:31, 2:19) time periods. Schedules can be public or private and schedules, like other ActiveBatch objects, are securable.

Schedules are typically created as a result of submitting a Job, however, because Schedules can be used by multiple jobs, you can manage Schedules at the Job Scheduler level as well.

Figure 129 – Schedule List Dialog

The figure above lists all schedules that are associated with a Job. You will notice several action buttons on the right side. New allows you to create a brand new Schedule. Edit… allows you to edit an existing Schedule and make changes. Associate let’s you associate a schedule with a job from a list of public schedules. Disassociate let’s you disassociate a selected schedule. The last two action buttons won’t appear if you manage schedules from the Job Scheduler object.

Creating a schedule is straightforward in ActiveBatch. You just need to think about what kind of date/time triggers you need for your job(s). When you have completed a Schedule simply click OK to confirm and apply the schedule or Cancel to cancel any changes made. The Schedule is also implicitly associated with the job if the Schedule creation was

Page 226: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

224

performed from a Job object.

Schedules can be public or private. Schedules are also securable objects. A Job can have one or more schedules associated as date/time triggers, so don’t think you need to cram every possible date and/or time pattern into one schedule.

Page 227: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

225

5.13.1.1 Schedule – General

Figure 130 – Schedule General

This selection allows you to name and describe the Schedule object.

Name: This mandatory field represents the unique name of the Schedule.

Label: This mandatory field represents the object’s label. The label must be unique.

Description: This optional field allows you to fully describe the Schedule.

State: This read-only field indicates whether the Schedule is enabled for use.

Read Only: This checkbox indicates whether the Schedule may be modified. If selected, the Schedule is read only and may be viewed. If not selected, the Schedule may be modified (subject to object security).

Page 228: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

226

5.13.1.2 Schedule – Time Specification

Figure 131 – Schedule Time Specification

This selection governs the time portion of a Schedule.

Three (3) radio buttons allow you to select different methods of specifying time.

Hours/Minutes: These two (2) fields allow you to specify hours and/or minutes using a single value, a series and/or a range of values. The two field values produce a union of results. For example, Hours: 6,7 Minutes: 0,15 would produce 6:00, 6:15, 7:00 and 7:15.

Exact Time: Enabling the radio button means you want to enter exact times. Typically you enter these times because they don’t fit a pattern. For example, a job needs to run at 3:14 and 9:52. To enter exact times simply enter a time value in the time control box and then click the << Add button to add the time to a list. Likewise to remove an already entered time, simply select the time from the scrollable list and click the Remove button.

Every: Enabling the radio button means you want to enter an interval time period specified by minutes and bounded by the minute. For example, 10 means a job is to execute every 10 minutes on a nn:10 minute boundary. For example, with a starting hour of 5 the possible execution times would be 5:10, 5:20, 5:30, etc. The legal range is 1-59.

Page 229: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

227

5.13.1.3 Schedule – Day Specification/General

Figure 132 – Schedule Day Specification (General)

This selection governs the day/date portion of a Schedule. As you can see there are many ways to specify days/dates with a Schedule.

Calendar Type: This dropdown lists two (2) types of schedules: Calendar and Fiscal. Calendar (not to be confused with the Calendar object) means that dates are expressed through the standard measures of day, weeks, months and years. Fiscal means that fiscal period measurements are to be used. The button View selected days in a calendar graphically depicts the production of selected days/dates in your schedule in a visual manner.

Fiscal Specification: If fiscal type scheduling is specified, these two (2) fields indicate the start date and week-to-quarter breakdown. Base Date is the starting day in the fiscal year and Fiscal Week Breakdown/Quarter allows you to select the type of weeks to quarter period for the fiscal year.

The following radio buttons provide different methods of calculating a date. Remember that you can always create and assign multiple schedules to a single job.

Use Exact Dates Only: This selection allows you to create whatever specific dates you want as a simple list.

Daily: Enabling the radio button means you want to schedule a Job on some type of daily basis. This field allows you to enter a number of days which will be interpreted as “every n days”. For example, 1 means every day, 2 means every

Page 230: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

228

other day, etc.

Weekly: Enabling the radio button means you want to schedule a Job on some type of weekly basis. A field and seven (7) checkboxes will appear. The field indicates the frequency as in every n week(s). So 1 means every week, 2 every other week, etc. Clicking on a checkbox means you want the job to run on that day.

Monthly: Enabling the radio button means you want to schedule a Job on some type of monthly basis. Two (2) mutually exclusive fields will appear with a third frequency field.

Day: This field represents a day in the month. A legal range is 1-31 (note that for months ending in less than 31 days, a day greater than the number of days in the month simply means the last day in the month).

The… relative… day: This field contains two controls. The first is a relative schedule whose values are: First, Second, Third, Fourth and Last. The second is days value as in: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Day, Weekday and Weekend. So you can combine the 2 fields such as Second Monday in the month or First Day in the month.

Series Days: This field allows you to specify one or more days (1-31) as a series. You may enter each day separated by a comma (for a list) and/or with a dash as a range of days. The keyword LAST indicates the last legal day of the month.

Of every… month(s): This field represents the frequency of the monthly specification. Legal values are 1-12. So 1 means every month, 2 means every other month, etc.

Quarterly: Enabling the radio button means you want to schedule a Job on a quarterly basis.

Yearly: Enabling the radio button means you want to schedule a Job on some type of yearly basis. Two (2) mutually exclusive fields will appear.

Every: These two (2) controls represent a month and day specification.

The…relative…day…of every month: This field contains three controls. The first is a relative schedule whose values are: First, Second, Third, Fourth and Last. The second is a day value as in Sunday through Saturday and Day, Weekday and Weekend. The third is a frequency expressed in a month (January through December). So: The third Saturday in January or the Last Weekday in December is easily achievable.

Series Months: This field allows you to specify one more months (1-12) as a series. You may enter each month separated by a comma (for a list) and/or with a dash as a range of months.

Series Days: This field allows you to specify one or more days (1-31) as a series. You may enter each day separated by a comma (for a list) and/or with a dash as a range of days. The keyword LAST indicates the last legal day of the month.

Custom: If enabled, you can enter a Date Arithmetic specification (see Section 8.2. for more details). Using Date Arithmetic you can compute a date of your choosing.

Page 231: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

229

5.13.1.4 Schedule – Exact Dates

Figure 133 – Schedule Day Specification (Exact Dates)

This selection, if enabled, allows you to specify exact dates. The dates can be in month/day or month/day/year fashion. This selection will only be used if Use Exact Dates has been specified as part of the Day Specification.

Page 232: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

230

5.13.1.5 Schedule – Range Specification

Figure 134 – Schedule Range Specification

This section indicates the effective date and time range this Schedule should be considered active.

Start Date: By default the starting date is today’s date and time. You can however specify a different starting date and time.

End Date: You can either indicate that the Schedule is not to have an end date or you can specify an exact ending date and time. Note that even though a schedule may no longer be used for scheduling based on the effective date/time range, the schedule is not removed from the system and can always be modified to become effective once again.

Page 233: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

231

5.13.1.6 Schedule – Audits

Figure 135 – Schedule Audits

This section details any changes made to the schedule object.

The controls at the top of the dialog allow you to filter the audits based on a starting/ending date. You can also limit the audits retrieved to a maximum number. The refresh button allows you to retrieve any audits that were generated after this dialog was initially displayed.

The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer so you could later paste the data into a document or other program.

The Print… button allows you to print the retrieved audits.

The button Revision History… allows you to select one or more audits concerning changes made to an object and perform a difference operation between the selected revised objects.

Page 234: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

232

5.13.1.7 Schedule – Security

Figure 136 – Schedule Security

As with other object security the dialog above lists the existing permissions of any accounts that have specified access to the Schedule. The following table lists the access rights and their descriptions.

Page 235: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

233

Access Description

Read User is allowed to read the object.

Write User is allowed to write to the object.

Modify User is allowed to modify the object.

Delete User is allowed to delete the object.

Use Account is allowed to use the object and to create a reference to it.

Take Ownership

User is allowed to take ownership.

Change Permissions

User is allowed to change permissions for the object.

Full Control All of the above access is enabled.

Table 19 – Schedule Access

Page 236: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

234

5.13.1.8 Copying a Schedule

To copy a Schedule and make changes to the newly created object, select the Schedule and select the Copy operation. You must have “Read” access permission to the Schedule object.

5.13.1.9 Editing a Schedule

To edit an existing Schedule, select the Schedule and select the Properties operation. You must have “Write” access permission to the Schedule object.

5.13.1.10 Deleting a Schedule

To delete an existing Schedule, select the Schedule and select the Delete operation. A confirmation message box will appear asking you to confirm the deletion. You must have “Delete” access permission to the Schedule object. Note: Deleting a Schedule will automatically disassociate the Schedule from all jobs which are referencing it.

Page 237: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

235

5.13.1.11 Associate/Disassociate

To associate an existing Schedule with a Plan or Job, select the Schedule and then select the Associate operation. The Associations dialog is used for objects other than Schedules.

Figure 137 – Associations Dialog

The objects are listed with the checkbox enabled, meaning the object is already associated, or with the checkbox clear, meaning the object may be associated. Objects with a plus sign (+) are plans (and may have schedule objects nested within the plan). To associate an object, mark the checkbox as enabled. To disassociate an object, clear the marked checkbox.

Page 238: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

236

5.13.2 Event Triggers ActiveBatch supports the integrated use of Microsoft Windows Management Instrumentation or WMI. WMI provides a common collection point for a diverse set of sources. WMI is Microsoft’s implementation of Web Based Enterprise Management (WBEM). ActiveBatch is both an Event Provider and Event Consumer. First, the ActiveBatch Job Scheduler publishes a list of ActiveBatch events that it provides to WMI. ActiveBatch is also an Event Consumer. This means that ActiveBatch can register for any interested events and is notified by WMI when they occur. This section discusses the consumer aspects of ActiveBatch.

Figure 138 – Event Trigger Dialog

Note: WMI must be installed on the Job Scheduler machine for you to issue WMI Event triggers.

Page 239: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

237

ActiveBatch allows job authors to indicate the events that a job may be interested in and can trigger execution of the job when the event occurs. After completing the requested information, click OK to confirm and apply or click Cancel to cancel any addition or changes to the list of event(s).

The dialog box requests that a WMI query be entered. For maximum flexibility, ActiveBatch supports the use of WQL (WMI Query Language, similar in syntax to SQL). Two (2) types of events are supported: System Startup and WMI.

WMI Event. Enter WQL string below: This mandatory field takes a valid WQL statement describing the event you’re interested in. All WQL statements begin with SELECT. You are not restricted in what you can enter however, you should not specify polling intervals that would adversely impact ActiveBatch and/or system performance. The example above shows a WQL query requesting an event be triggered each time a new NT Event Log entry is created (written to the NT Event Log).

Namespace: You must indicate the namespace to connect to. The Namespace specification is: \\machine\namespace, for example, ROOT\CIMV2 is the namespace for the local machine and \\TEST\ROOT\CIMV2 is the namespace for the TEST machine.

Privileges: This button allows you to enable or disable privileges that the selected WMI provider will use to execute your query.

Advanced: This button allows you to enable security credentials which are only required when entering an event query for a remote machine.

System Startup: Clicking this radio button indicates that when the Job Scheduler machine is started the job should now run.

File Trigger: Clicking this radio button indicates that when the named file or a file within the directory has one or more of the specified operations performed, an event trigger should be invoked. Supported file operations through the Filter are: Create, Modified, Deleted and Appeared. By default, the creation operation is enabled. File Event is therefore especially helpful when you want to trigger a job based on the creation of a file. Appeared is useful when a new file may be created in another directory and then later moved to the target directory. Windows IIS server uses this technique when downloading a file. You can specify a specific file or a directory specification. For example, if you want to trigger a Job based upon the reception of a file through FTP, the trigger will occur only after FTP has populated the file. Please note that the “Modified” operation is subject to certain limitations imposed by Windows. In particular file size and date processing may not be timely due to caching considerations. Recursive refers to whether the specified directory should also include any nested sub-directories. If enabled, sub-directories are included. Queue and User may be specified if you wish to monitor directories and/or files on remote non-Windows machines. If neither is specified, ActiveBatch assumes a Windows file specification will be monitored.

Note: All file specifications are evaluated from the Job Scheduler machine’s point-of-view. Note: If using the Delete file operation, please note that some Windows facilities (i.e. DOS/CMD) use the short-form filename for these operations. This means you must also use the short form name for the proper pattern matching.

Note: File Triggers performed on Windows use the Directory Change Notification facility. This facility does have limitations in terms of the number of outstanding directories that may be watched as well as the number of outstanding file triggers at any one time that may be executed. For more information, please read the Knowledge Base articles “File Trigger Session Limitations” and “File Triggers and simultaneous events”. The “File Trigger Session Limitations” article in particular also references the Microsoft article that speaks to various quotas that may need to be increased. This is especially true if you intend to watch or access over 100 file trigger events.

File Triggers performed on a non-Windows system use a built-in polling mechanism to determine directory changes. By default the poll is thirty (30) seconds. Users must ensure that directories to be watched do not contain thousands of file for optimum performance.

Page 240: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

238

Expected Date/Times: This facility, when enabled, allows you to associate a date and time with an expected event. By default, an event may occur at any time and no date/time expectations are set. This means views such as the Daily Activity View, the Runbook or Gantt Chart are meaningless for such jobs and plans since no date or time expectations are shown. When you enable this facility you can associate one or more schedule objects that allow you to set expectations as to when the plan/job is expected to run. The Delta field allows further flexibility for setting up an expected time envelope for your plan/job.

Figure 139 – Expected Date/Time (Initial)

To use the facility, enable the Expected Date/Times checkbox (within the Events dialog box. This dialog appears for all event types (WMI, File Trigger and System Startup). Two (2) buttons will become active; Associate (if you have an existing Schedule object) and New. ActiveBatch leverages the Schedule object for its date and time capability. Note: That in this usage the Schedule object will not produce date and time triggers but rather date and time expectations.

The settings above depict a Schedule object named Daily11pm which produces a daily time expectation of 11pm. Combined with the Delta property of one (1) hour this effectively produces an expectation that this plan or job is expected to run each day between the hours of 11pm and midnight (not including the duration of the plan/job itself).

Figure 140 – Daily Activity (Expected Date/Time Example)

The example above shows plan CaseStudy5 with an “expected” (note the (E)) run-time of 11pm.

Trigger Once Only: If enabled, this event is triggered once and then disabled for the life of the job.

Page 241: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

239

5.13.2.1 Event Privileges

Figure 141 – WMI Event Privilege Settings

The above figure allows you to select one or more privileges (rights) that you would like to assert for the WMI Provider to properly execute the event query.

Page 242: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

240

5.13.2.2 Advanced Event Settings

Advanced: This button allows you to select different authorization and security settings for the WMI query.

Figure 142 – Event Advanced Settings

The above figure allows you to change the Impersonation and/or Authentication levels. Advanced users can select different methods of securely using WMI.

User Account Object to use: This section allows you to select a user account to associate with this event. The drop down button allows you to select from a list of accounts that you have the rights to use. Two smaller buttons to the right allow you to manage or create a User Account object. Advanced Systems highly recommends using a User Account Object instead of embedding the Username/Password within the job itself.

Username/Password: For a local machine (Job Scheduler machine) your logon authentication credentials are used and WMI does not support the specification of different authentication credentials for a “local” machine. For non-Job Scheduler machines you must specify authentication credentials that will be used for WMI Event processing. As with other portions of ActiveBatch, you can indicate that the username and password are to be saved.

Run Job on Event Machine (Generic Queue Only): You can indicate to ActiveBatch that the job queue to select is the machine that actually generated the event. For this feature to work properly the job must be queued to a Generic Queue that contains at least one Execution Queue for the possible event machine. If no valid Execution Queue can be found that matches the event machine the job will not be run.

Page 243: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

241

5.13.3 Plan/Job Completion Trigger ActiveBatch provides the ability to trigger execution of a job or plan when a job or plan completes. You can determine which jobs or plans to trigger based on how your job completes. This means you can trigger one set of jobs if your job completes successfully and another set if your job fails.

Figure 143 – Plan/Job Completion Dialog

The dialog above is presented when you want to add a Plan/Job Completion trigger. A single dropdown list containing all eligible active jobs is presented. Only ActiveBatch Trigger enabled jobs are presented for selection. You then indicate the instance completion status that should trigger the plan/job. Success means to trigger the plan/job if the plan/job completed successfully. Failure means to trigger the plan/job if the plan/job didn’t complete successfully. Exit Code(s) means to trigger the plan/job based on one or more exit code specifications. You can specify a single value, a series of values and/or a range of values. Click OK to confirm and apply the selection. Your selection is then added to the list.

Page 244: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

242

5.14 Constraints A Constraint (or Dependency) is a specification that must be true before a Job is allowed to execute. A Job triggered to execute will not do so unless all constraints have been met (the “Force Run” operation is provided to force a job to begin execution regardless of constraints). ActiveBatch supports five (5) types of constraints: File, Job, Variable, Resource and Day/Time. Section 5.6.4.7 discussed constraints when creating a new job. This section will expand on the dialog mentioned in that section.

Figure 144 – Constraint Tab Dialog

Figure 144 allows you to add, edit or remove a constraint. The constraints are listed in the order they are defined. Three (3) columns of information are listed. Name, type of constraint and description of the constraint. Three (3) buttons are provided to add, edit or remove a constraint.

Page 245: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

243

Constraint Logic: This section indicates how the various listed constraints should be checked and in what order. You can specify comparison, Boolean operators and parenthesis to ensure that any constraints match your expectations. Boolean logic operators, in English or VBScript-style, or arithmetic operators may be used (note: All arithmetic operations are integer based). For example, “and” or && may be specified. A unique label identifies each constraint. In the above example, “JOBA” and “MasterFile” constraints must both be met. See Table 20 more a complete list of operators.

Note: When a constraint is removed you must always ensure that you also remove the associated label referencing that constraint from the Constraint Logic expression. Missing constraints are treated as false.

If constraint logic fails: You’ll also notice several fields that control what actions should be taken if one or more constraints fail. In the example above the job “JOBA” must complete successfully and the file c:\temp\temp.dat must be present, at least 1000 bytes and created within the last five (5) minutes for this dependency to be satisfied. If you look at the bottom of the figure you’ll see a “If constraint logic fails” specification which indicates that we should wait up to 15 minutes to determine whether the constraint failure has resolved itself.

Fail this Job/Plan: This is pretty self-explanatory. ActiveBatch fails the job.

Wait: This indicates that we should wait (the default policy). How long is determined by the next set of paired controls. Check every number units for number interval. Units is one of the following: Hours, Minutes or Seconds (the legal range of the number depends on the unit specified). Interval is one of the following: Days, Hours, Minutes, Seconds, Times or Forever. The default policy is “Check every 2 minutes for 10 minutes”.

Operator Description

+ Addition

- Subtraction

* Multiplication

/ Division

% Modulo

^ Raise to power

&& Logical AND

AND Logical AND

|| Logical OR

OR Logical OR

!= Not Equal

<> Not Equal

NOT, ! NOT or Complement

== Logical Equal

= Equal

>= Greater than or equal

> Greater than

<= Less than or equal

< Less than

Table 20 – Constraint Logic Operators

Page 246: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

244

5.14.1 Instance Constraint An Instance constraint is one where a previous plan/job must have executed to completion before this instance can be allowed to execute. The author of the constraint can further indicate whether the instance must have completed successfully or simply completed.

To add an Instance constraint, click the Add…. Job Constraint button. The following dialog appears:

Figure 145 – Adding a Job Constraint Dialog The information requested, in this dialog box, is to determine the job we’re to be dependent on and what the constraint should be.

Label: This mandatory field names the Job Constraint. This label must be unique within the Plan or Job’s usage.

Job: This mandatory field contains a dropdown box listing all known jobs/plans, by name.

Type: This mandatory field indicates whether the specified job must complete successfully (the default) or just complete.

Instance: This field indicates how current the specified job instance must be to consider the job meeting the Type property. Possible choices are: Exact Active, Last Completed or All Instances.

Exact Active means either the currently active instance or the last scheduled instance. This is the default and most precise setting.

Last Completed means the last completed instance as specified by a user provided time period. When this dropdown is selected, the time control labeled “within the last” becomes active and you can set the days and hours/minutes as a time period for ActiveBatch to determine whether a completed instance meets these requirements.

All Instances includes the preceding settings and expands the scope to include any instance of the job that completed. This is the most flexible setting.

Click OK to confirm and add the dependency to the list. Click Cancel to cancel the operation.

Page 247: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

245

5.14.2 File Constraint To add a File Constraint, click the Add>File Constraint… button. The following dialog appears:

Figure 146 – Adding a File Constraint Dialog

The information requested in this dialog box is to determine the file that we are to be dependent on.

File Spec: This mandatory field indicates the file that we are dependent on. The file specification must be complete and can represent a local or UNC file specification. You can specify wildcard characters. The characters must be added as per the execution machine’s operating system’s requirements. Please note that local represents the execution machine since all file dependency checks are performed in the job’s security context on the execution machine. This means that you must have security access to the file. (Variable Substitution supported).

Check for File Present/Absent: This radio button indicates whether the file must be present or absent. The default is present.

The following checkboxes allow further refinement of the file dependency check.

If enabled File must be available for exclusive access means that no other process can be accessing the file. If a process is accessing the file, the dependency will fail. An example of when to use this might be expecting a customer to FTP a file into your production system. You don’t want to start the job until the file has completed populating.

If enabled File must be at least n bytes means that the present file must be at least n bytes in size in order to successfully pass the file dependency check. This is particularly useful when a zero (0) byte file should be considered as a file dependency check failure.

If enabled File should have been allows you to perform a date validation on the specified file. You can choose Created, Last Accessed, Last Written dates as well as Before or Within and a relative day/time range. The relative time range can be expressed in days, hours and minutes from the initial file dependency check start time. This option allows you to discriminate between “old” files that just happen to still be present from newer files that should have been created.

Page 248: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

246

If enabled the If Wildcard spec… option allows you to further refine wildcard processing by indicating whether ALL files must meet the above checking criteria or simply the first file should result in a dependency check failure. By default, the first file to meet the above criteria will cause the dependency check to succeed.

Page 249: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

247

5.14.3 Variable Constraint Variable constraints are added directly to the Constraint Logic property (so you won’t need to add them later on). The variables that form any constraints must already exist. Variable usage within the constraint should not be confused with variable substitution. In other words when you specify variable(s) as a constraint you don’t specify them with the curly brace syntax.

Figure 147 – Variable Constraint (Active)

In the above figure, an active variable constraint is defined. MasterFolderExists checks whether the directory C:\MasterFiles is present. If it is, a Boolean value of True (1) is returned. Otherwise, a Boolean value of False (0) is used.

Assuming the above, our Constraint Logic box might look like this:

A more complicated expression might involve an activeVariable that represents a SQL query looking for a minimum number of rows as a result. If the variable name was “RecordCount” then “RecordCount > 5” would form a constraint as well. That Constraint Logic box might look like this:

JOBA AND MasterFolderExists AND (RecordCount > 5)

Note: Remember that unless a constraint is specified in the Constraint Logic box, that constraint will not be used.

Page 250: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

248

5.14.4 Resource Constraint A Resource represents a finite property that is to be shared. For example, the maximum number of simultaneous jobs a particular organization might be run. More dynamic resources might be the amount of free disk space a particular system has and the fixed amount needed by this job. If the required amount of disk isn’t available, this job shouldn’t run. The creation of a Resource is discussed in Section 5.14.7. This section discusses the use of an existing Resource object. ActiveBatch Resources are numeric by definition.

Figure 148 – Resource Constraint

This Resource named “FreeSpaceCDrive” references the dynamic resource corresponding to the amount of free space on drive C: (in Megabyte units). This particular job needs one hundred million bytes of free space on C before being allowed to continue and execute (assuming any other constraints are met). For Constraint Logic purposes, if the Resource constraint is met, the label FreeSpaceCDrive is equated to true, if not, false; 100 (megabytes) is then subtracted from the resource.

Page 251: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

249

5.14.5 Day/Time Constraint Day/Time constraints allow you to indicate when a Plan or Job may execute. Three (3) types of day/time constraints are provided: Exclusion, Maximum Dispatch Time and Business Calendar.

The Exclusion List constraint allows you to indicate a day, specific date, and/or one or more time specifications that indicate when the Plan or Job is not allowed to execute. This means that should the Plan or Job be triggered during these days/times the Plan or Job will not execute.

Maximum Dispatch Time refers to the maximum amount of time the Plan or Job may remain on queue, waiting for execution (but not executing) before the Plan or Job Instance should be aborted. This feature is useful when a Plan/Job has been triggered and its execution must occur within a specific time or not at all.

The Business Calendar constraint allows you to indicate that this Plan/Job must adhere to a business calendar and must therefore only execute on business days.

5.14.5.1 Exclusion List Constraint

The Exclusion List as its name implies allows you to specify one or more day and/time specifications that a Plan/Job is not allowed to execute. The list has two (2) properties: Date and Time. The date can be a specific date, a day (Monday…Sunday) or all dates. The time can be a specific time, a series of times and/or time range. With an exclusion list you could indicate that a Job running every 5 minutes not execute at 3:05am. Or, not on Monday’s.

Figure 149 – Date/Time Constraint Properties

The figure above is a dialog box that appears when you want to add or edit a Date/Time Exclusion List item.

Page 252: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

250

5.14.5.2 Maximum Dispatch Time

Maximum Dispatch time is used when a plan or job instance has been instantiated (created) and is on queue but has not been dispatched. This property allows you to create an “expiration time” so that in the event the plan/job is not dispatched before the “Maximum Dispatch Time” the instance is cancelled or aborted.

Note: This property is particularly useful when a long running plan or job must begin to execute by a certain time in order to meet service levels or to avoid impacting other aspects of the business.

5.14.5.3 Calendar Constraint

A Calendar constraint is used when the Plan/Job can only execute on business days. The Calendar object, described in the next section, acts as a filter constraining triggers to only operate on business days. Holidays and non-working days (typically weekends) would not be considered as business days. If the Plan/Job is triggered on a non-business date you can indicate one of three (3) options: Run the Plan/Job on the next business day, previous day or not at all.

Page 253: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

251

5.14.6 Calendars By default, any trigger will cause a Plan/Job to begin execution (subject to other limitations and constraints). Sometimes, however, it is important to run jobs based on Business days. A Business Day is also known as a “Working Day”. An ActiveBatch Calendar contains the specifications for how to determine a working day. In other words, a Calendar acts as a filter or constraint on when (date) a job may run. ActiveBatch Calendar’s are uniquely named and are used by associating the calendar with a job. If a job doesn’t have a calendar associated with it then the job isn’t provided business day processing.

ActiveBatch allows you to define two (2) types of days to the Job Scheduler by creating a Calendar. They are Holidays, and Non-Working Days (which yields Working Days). A Holiday is defined as a day in which the company is normally open for business but isn’t due to the holiday. A Holiday is therefore not considered a holiday if it falls on a non-working day. A Holiday can be defined in a self-relative manner (like the Last Thursday in November is Thanksgiving Day) or via a fixed date without year (like January 1 is always New Year’s Day) or with a fixed date and year. The first two specifications are used regardless of year while the last is only used for the applicable year. Non-Working Days are specified by day-of-the-week. So the Saturday and Sunday checkboxes would be selected to indicate non-working days.

The sample calendar shows both fixed and relative holiday specifications. While calendars are great for defining holidays you don’t have to. You can just define non-business days without also defining any holidays.

Page 254: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

252

5.14.6.1 Calendar – General

Figure 150 – Calendar – General

This selection allows you to name the Calendar as well as describe it.

Name: This field uniquely identifies the Calendar and is specified when defining a job that is to obey business day rules.

Label: This field uniquely identifies the Calendar within the ActiveBatch namespace.

Description: This field provides a description of the Calendar object.

State: This field indicates whether the object is enabled or disabled for use.

Read Only: This field indicates whether the object has been set to Read Only.

Page 255: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

253

5.14.6.2 Calendar – Properties

Figure 151 – Defining a Business Calendar

This selection specifies the dates that should be considered non-business and/or holidays.

Non-Business Days: This area allows you to indicate which days are non-working days. Click the checkbox next to each day that is to be considered a non-working day. By default, Saturday and Sunday are non-working days.

Relative Holiday/Name: This area allows you to indicate holidays based on a relative specification rather than a fixed date. For example, Thanksgiving Day in the United States is the “Fourth Thursday in November”. Three (3) controls allow the relative specification for a holiday. The first control contains the following values: First, Second, Third, Fourth and Last. The second control contains the “day” values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday. The last control contains the months of the year. You may also Name the holiday you have entered. Clicking the Add button enters the relative specification in the list box below. To delete an already entered holiday, select the date and click the Delete button.

Fixed Holiday/Name: This area allows you to indicate holidays that are based on a fixed date. For example, Christmas is December 25. You may specify a fixed date holiday using two methods. If the holiday is to occur on the same date each year, click the Every Date radio button and enter the Month and Day of the holiday. If the holiday is to occur on a fixed date for a specific year, click the Fixed Date radio button and enter the month, day and year (localized) of the holiday. You may also Name the holiday you have entered (limited to 20 characters). When you want to add the fixed holiday, click the Add button.

Page 256: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

254

5.14.6.3 Calendar – Audits

Figure 152 – Calendar Audits

This section details any changes made to the calendar object.

The controls at the top of the dialog allow you to filter the audits based on a starting/ending date. You can also limit the audits retrieved to a maximum number. The refresh button allows you to retrieve any audits that were generated after this dialog was initially displayed.

The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer so you could later paste the data into a document or other program.

The Print… button allows you to print the retrieved audits.

The button Revision History… allows you to select one or more audits concerning changes made to an object and perform a difference operation between the selected revised objects.

Page 257: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

255

5.14.6.4 Calendar – Security

Figure 153 – Calendar Security

This selection allows you to specify security and access permissions for a Calendar object.

Access Description

Read User is allowed to read the object.

Write User is allowed to write to the object.

Modify User is allowed to modify the object. (Read + Write)

Delete User is allowed to delete the object.

Use Account is allowed to use the object and to create a reference to it.

Take Ownership

User is allowed to update the object’s security as well as take ownership.

Change Permissions

User is allowed to change permissions for the object.

Full Control All of the above access is enabled.

Table 21 – Calendar Access

Page 258: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

256

5.14.7 Resources A Resource represents a finite property that you typically need to allocate among various plans and jobs. ActiveBatch supports two (2) types of resources: Constant and Active Resources. The types differ only in how they are populated. A constant resource is initialized once and its usage is tracked. An active resource is initialized from a data source (i.e. SQL SELECT statement) and while its usage is tracked the resource may be populated over a time period. For example, you could create a resource named “LICENSED_APPS” with an initial value of 5. That quantity might represent the maximum number of concurrent copies of a particular licensed application that your company was allowed to run. Each Job could request 1 unit from this resource. That means that a maximum of 5 copies could run. The fact that only 5 could run is the constant part of the resource, but what if you needed to track a dynamic resource? A dynamic resource is one that may not be under ActiveBatch’s complete control. For example, what if we needed to create a resource named C_FREESPACE. This resource might be tracking the freespace on drive C. Since programs other than those launched by ActiveBatch allocate space on drive C a constant resource won’t work. In this case, an active resource would be used. Using WMI’s WQL SELECT statement we could get the current freespace on drive C and also periodically reacquire that freespace over a fixed timed interval. Since the resource is being re-examined over a set interval, we only need to track its usage between the repopulation intervals. For example, if C_FREESPACE had an initial value of 100000000 (one hundred million) and JOBA needed 5000000 (five million) of space, the resulting resource would yield a value of 95000000 (ninety-five million). The next time the resource is examined, the value might instead become 1 gig because someone externally deleted some files and freed up some additional space.

Page 259: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

257

5.14.7.1 Resource – General

Figure 154 – Resource – General

This selection allows you to name and describe the Resource object.

Name: This field uniquely identifies the Resource.

Label: This field uniquely identifies the Resource within the ActiveBatch namespace.

Description: This field provides a description of the Resource object.

State: This field indicates whether the object is enabled or disabled for use.

Read Only: This field indicates whether the object is Read Only or can be modified.

Page 260: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

258

5.14.7.2 Resource – Properties

Figure 155 – Resource – Properties

This selection allows you to define the Resource. Resources can be based on a constant or an active Variable type populated from a data source.

Expression: If this radio button is selected, the Resource is based on a constant. It will be initially populated and then managed by ActiveBatch.

Active Variable: If this radio button is selected, the Resource is populated from a data source. The Resource can be populated more than once depending on the “Re-evaluation Rule”. The data source specification is identical to that of an Active Variable. Clicking on the dropdown handle produces a tree showing the various categories and Active Variable data sources available.

Credentials: All ActiveVariables are executed under established and explicit security credentials. This dropdown lists the eligible User Account objects that can be used. The two buttons to the right allow you to manage and/or create User Account object(s).

Re-evaluation Rule: A Resource can be re-evaluation or re-populated. If Expires is greater than zero (0) the Resource is re-evaluated every n seconds. If Never (Set once only) is specified the Resource is populated only once.

Note: Normally, a Plan or Job that accesses a Resource releases its units when the instance completes. That is not the case when the Resource is subject to timed re-evaluation. In other words, only those resources that are set to “Never” are subject to the typical subtraction (Job starts) and addition (Job completes) that one would expect with a resource.

Page 261: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

259

5.14.7.3 Resource – Audits

Figure 156 – Resource Audits

This section details any changes made to the resource object.

The controls at the top of the dialog allow you to filter the audits based on a starting/ending date. You can also limit the audits retrieved to a maximum number. The refresh button allows you to retrieve any audits that were generated after this dialog was initially displayed.

The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer so you could later paste the data into a document or other program.

The Print… button allows you to print the retrieved audits.

The button Revision History… allows you to select one or more audits concerning changes made to an object and perform a difference operation between the selected revised objects.

Page 262: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

260

5.14.7.4 Resource – Security

Figure 157 – Resource Security

This selection allows you to specify security and access permissions for a Resource object.

Access Description

Read User is allowed to read the object.

Write User is allowed to write the object.

Modify User is allowed to modify the object (Read + Write)

Delete User is allowed to delete the object.

Use Account is allowed to use the object and to create a reference to it.

Take Ownership User is allowed to take ownership.

Change Permissions User is allowed to change permissions for the object.

Full Control All of the above access is enabled.

Table 22 – Resource Access

Page 263: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

261

5.15 Alert Objects A Job, Plan or Queue can have one or more alerts and each alert can have one or more actions. An Alert object is a container or collection of alerts. The advantage of an Alert object is that you can associate the object to one or more event generating objects (like Job, Plan and Queue).

5.15.1 Alert Object – General

Figure 158 – Alert Objects

This selection allows you to name and describe the Alert object.

Name: This field uniquely identifies the Alert object.

Label: This field uniquely identifies the Alert object within the ActiveBatch namespace.

Description: This field provides a description of the Alert object.

State: This field indicates whether the object is enabled or disabled for use.

Read Only: This field indicates whether the object is Read Only or can be modified.

Page 264: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

262

5.15.2 Alert Object – Properties

Figure 159 – Managing Job Alert Objects

Adding alerts is simple since the dialog shown is the standard alert specification. Once you’ve created or modified your Alert object don’t forget to associate the Alert object with your Plan, Job or Queue.

Page 265: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

263

An “Alert” is simply a facility for associating an event with an action. There are currently thirty-six (36) events covering Plan, Job and Queue objects. The action to be specified can be a notification or Plan/Job trigger.

Figure 160 – Job Alert Dialog Enter the information requested and click OK to confirm and add the alert. Click Cancel to cancel the operation.

Alert Type: This mandatory dropdown list contains all the alerts that can be specified for an ActiveBatch job/plan. The following list is used (this table contains only Plan/Job alerts, see Table 4 for Queue alerts):

Alert Description

Job/Plan Begin Execution The job/plan is beginning execution.

Job/Plan Completed The job/plan completed.

Job/Plan Aborted The job/plan was aborted by manual intervention.

Job/Plan Completed in Failure

The job/plan completed in failure.

Job/Plan Completed in Success

The job/plan completed in success.

Job/Plan Pending Execution The job/plan is now pending execution.

Page 266: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

264

Alert Description

Job/Plan Released The job/plan is released from a hold.

Job/Plan On Trigger The job/plan has been triggered for execution.

Job/Plan Run Time Overrun The job/plan has exceeded its expected elapsed time.

Job/Plan CPU Time Overrun The job/plan has exceeded its expected CPU time.

Job/Plan Run Time Underrun

The job/plan has underrun its expected elapsed time.

Job/Plan CPU Time Underrun

The job/plan has underrun its expected CPU time.

Job/Plan Restarted The job/plan has been restarted.

Job/Plan Trigger Failure The job/plan failed to start by trigger.

Job/Plan Constraint Failure The job/plan suffered a constraint failure.

Job/Plan Constraint Wait (Delta)

The job/plan suffered a constraint wait. This alert can be set for an interval (delta) time period.

Job Delayed in Starting The job/plan was delayed in starting on-time.

Job/Plan Instance Skipped A job/plan instance was skipped over from executing due to concurrency limitations

Job/Plan Held The job/plan was held from execution.

Job/Plan Failed Logon Error The job/plan failed due to a logon error.

Job/Plan Exceeded Dispatch Time

The job/plan instance was not executed as it exceeded its maximum dispatch time.

Job/Plan Missed Expected Trigger

The job/plan was not instantiated during an expected date/time period. This alert concerns an event plan/job that was expected to execute during a date/time period.

Table 23 – Plan/Job Alerts

Two (2) action categories are possible: Notification or Trigger.

Notification: The first property of each notification allows you to specify whether you want to use the template shown as is or whether you want to customize the message using the template as a guide. Clicking on the Customize field produces a checkbox. Enabling the checkbox turns customization on. You will then be able to edit those fields that were originally part of the template.

Figure 161 – Notifications Menu

E-Mail (SMTP):

General purpose E-Mail. The To field indicates the destination E-Mail recipient. This must be entered as an acceptable E-Mail address. Multiple E-Mail addresses may be separated by a semi colon. A special prefix may also be inserted for special formatting requirements. (Variable Substitution supported).

Page 267: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

265

Subject is the subject of the alert. By default, ActiveBatch will display the default subject line for this type of alert. You may follow customization rules for this field.

Message is the body of the message. By default, ActiveBatch will display the default body that will appear for this type of alert. You may follow customization rules for this field.

Attachments is a field indicating the file(s) that are to be sent with this alert message as an attachment.

AlphaPager (SMTP):

AlphaPager E-Mail is limited to 150 characters (all parts of the E-Mail). The To field indicates the destination E-Mail recipient. This must be entered as an acceptable E-Mail address. Multiple E-Mail addresses may be separated by a semi colon. A special prefix may also be inserted for special formatting requirements. (Variable Substitution supported).

Subject is the subject of the alert. By default, ActiveBatch will display the default subject line for this type of alert. You may follow customization rules for this field.

Message is the body of the message. By default, ActiveBatch will display the default body that will appear for this type of alert. You may follow customization rules for this field.

BlackBerry (SMTP):

BlackBerry represents the ActiveBatch BlackBerry Wireless Client. If you aren’t using that software, simply select E-Mail to send a BlackBerry a message. The To field indicates the destination E-Mail recipient. This must be entered as an acceptable E-Mail address. Multiple E-Mail addresses may be separated by a semi colon. A special prefix may also be inserted for special formatting requirements. (Variable Substitution supported).

Subject is the subject of the alert. By default, ActiveBatch will display the default subject line for this type of alert. You may follow customization rules for this field.

Message is the body of the message. By default, ActiveBatch will display the default body that will appear for this type of alert. You may follow customization rules for this field.

Attachments is a field indicating the file(s) that are to be sent with this alert message as an attachment.

Messenger: (Variable Substitution supported).

Machine: A machine-name (or machine\username) that is acceptable to the Windows Messenger service.

Message: The message to be sent. You may follow customization rules for this field.

Event Log: (Variable Substitution supported).

Location: This dropdown lists the acceptable Windows Event Log machines. One of the following: Job Scheduler machine, Client and Execution Machine or you may indicate a custom location.

Machine: If you entered Custom you would specify the machine in this field.

SNMP: Generate an SNMP trap when this alert occurs. (Variable Substitution supported).

Destination: This field indicates the TCP/IP Hostname or IP address that is the target of the trap. The default of 255.255.255.255 broadcasts the trap to any listening SNMP agents. Multiple trap manager addresses by be specified using a semi-colon.

Trigger: This dropdown lists all Plans and Jobs that can be triggered should this alert occur. Selecting one will cause a Trigger and Change Parameters operation to occur. Two formal parameters are passed to the job: JobID of the job that was the target of the alert and the alert number (see Table 23). Note: You must have “Trigger and Change Parameters” access permission and the job cannot reside on the OnDemand Queue. If the job already has parameters they will be overwritten for this instance.

Page 268: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

266

5.15.3 Alert – Audits

Figure 162 – Alert Object Audits

This section details any changes made to the alert object.

The controls at the top of the dialog allow you to filter the audits based on a starting/ending date. You can also limit the audits retrieved to a maximum number. The refresh button allows you to retrieve any audits that were generated after this dialog was initially displayed.

The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer so you could later paste the data into a document or other program.

The Print… button allows you to print the retrieved audits.

The button Revision History… allows you to select one or more audits concerning changes made to an object and perform a difference operation between the selected revised objects.

Page 269: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

267

5.15.4 Alert – Security

Figure 163 – Alert Object Security

This selection allows you to specify security and access permissions for an Alert object.

Page 270: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

268

Access Description

Read User is allowed to read the object.

Write User is allowed to write to the object.

Modify User is allowed to modify the object. (Read + Write)

Delete User is allowed to delete the object.

Use Account is allowed to use the object and to create a reference to it.

Take Ownership

User is allowed to take ownership.

Change Permissions

User is allowed to change permissions for the object.

Full Control All of the above access is enabled.

Table 24 – Alert Access

Page 271: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

269

5.16 User Account Name Objects Every ActiveBatch Job runs under the security context of a user account. Just as with Alerts, you have two (2) methods for associating a user account with a Job. You can specify an account for a specific job or you can create a User Account Name Object and associate the object with the Job. The main distinction between the two methods deals with password updating. When you specify an account with the creation of the job you must update the job when the password needs to be changed (perhaps due to security policies at your company). When you create a User Account Name object, you change the object’s password. All jobs that are associated with the object pickup the changed password.

Figure 164 – Execution User Credentials

The above figure shows the two methods. Any existing Username objects that you can select will appear in the drop down list. To create or otherwise manage User Account Name objects, simply click the Manage Accounts button. A list of existing User Account Name objects (if any) will be displayed. To create a new object, click the New button.

Page 272: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

270

5.16.1 User Account – General

Figure 165 – User Account (General)

This selection allows you to name and describe the User Account object.

Name: This field uniquely identifies the User Account object.

Label: This field uniquely identifies the User Account within the ActiveBatch namespace.

Description: This field provides a description of the User Account object.

State: This field indicates whether the object is enabled or disabled for use.

Read Only: This field indicates whether the object is Read Only or can be modified.

Page 273: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

271

5.16.2 User Account – Properties

Figure 166 – User Account (Properties)

The Properties selection allows you to specify username and password credentials that will be used by the Job or other associated object when a security context is needed. The small button to the right allows you to lookup the account using Active Directory. The Authentication Type allows you to specify whether to use standard and/or Kerberos authentication. When a User Account Name object supports both Kerberos and Password authentication, Kerberos is used first and then the Username/Password combination. This ensures that should Kerberos not be supported on the target execution platform your Job will still run successfully.

Page 274: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

272

5.16.3 User Account – Audits

Figure 167 – User Account Audits

This section details any changes made to the user account object.

The controls at the top of the dialog allow you to filter the audits based on a starting/ending date. You can also limit the audits retrieved to a maximum number. The refresh button allows you to retrieve any audits that were generated after this dialog was initially displayed.

The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer so you could later paste the data into a document or other program.

The Print button allows you to print the retrieved audits.

Page 275: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

273

5.16.4 User Account – Security

Figure 168 – User Account Security

By default, only the creator/owner of the object is granted access to use the object.

Access Description

Read User is allowed to read the object.

Write User is allowed to write to the object.

Modify User is allowed to modify the object. (Read + Write)

Delete User is allowed to delete the object.

Use User is allowed to associate object with a Job

Take Ownership

User is allowed to take ownership.

Full Control All of the above access is enabled.

Table 25 – User Account Security

Note: Please use caution as to which accounts or groups you give Use access to. Use access allows that user or group to run jobs using the account without having to specify a password.

Page 276: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

274

5.16.5 Using a User Account Object

The main reason for creating and using a User Account object is that you don’t have to embed a username/password everywhere security credentials are required. As you work with ActiveBatch you’ll see there are many places where security credentials need to be used. A User Account object allows you to secure references to a username/password.

The figure above is taken from the Variables property page. Remember that activeVariables require authentication.

The figure above is taken from the Events property page. When a WMI event notification is requested for a remote machine, authentication is performed.

The figure above is taken from a job’s execution user credentials property page. All ActiveBatch jobs run under the security context of the associated user account.

With all these users of security, having a User Account object simplifies possible maintenance of the underlying OS account. In addition, using a User Account object also abstracts the actual account that’s used. If conditions require the account name to be changed, no changes are required within any of the associated objects. The User Account object alone would change.

Page 277: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

275

5.17 Design View Design View is a visual representation of your jobs and their relationships. As the name implies, we expect most authoring of Plans and Jobs to be performed using Design View. With Design View you can create all the various ActiveBatch objects, and visually link them together.

Figure 169 – Design View (Overview)

Before we delve into the specifics of using Design View let’s discuss the pane itself. Besides the current date and time, the top title bar displays the Zoom factor and the number of jobs displayed for one or more Job Scheduler systems. In this case, 3 jobs are displayed for “ASCI62”.

Select Mode: With this checkbox disabled (the default), when you click and drag the mouse to create a box around your Jobs, the Design View zooms in. With this checkbox enabled, the same operation will select all the Job objects within the box.

Auto Layout: As you can imagine simply displaying Job objects could result in a very cluttered display when those objects may or may not be related to other jobs. The Auto Layout facility allows you to choose a layout algorithm that offers the best and most uncluttered display. Four (4) layouts are available: Hierarchical (default) attempts to display jobs that are related near each other. Unrelated Jobs are displayed last. Figure 169 shows the hierarchical layout. Symmetric, Stack and Circular are alternative auto layout modes.

Select Zoom: This list allows you to zoom the display in or out. You can “zoom to fit” in which case the Design View will choose a zoom scale for all objects to be displayed. While preset zoom percentages are available you can click Custom to specify your own zoom scale. Remember that you can also zoom by dragging your mouse to create a box around the Jobs you want to view. In that case, ActiveBatch will adjust the zoom factor for best display of those Jobs.

Page 278: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

276

The information that is displayed with the Job is simple. If you “mouse over” the plan or job you can see some additional information.

Design View, as opposed to System View, is not subject to auto refresh, so changes to a Job aren’t displayed until you press the F5 (refresh) key.

Page 279: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

277

Figure 170 – Operations

The figure above shows a simple “straight-line” relationship between Jobs “testjob1”, “testjob2” and “testjob3”. Before we discuss what operations we can perform on those objects, observe the menu to the right of the figure. This menu was obtained by right clicking on the “white space” of the display. Several of the operations are common to other views within ActiveBatch. ActiveBatch supports printing this window (as well as Print Preview). This is useful for documentation purposes. You can also integrate this picture into another object (like a Word document) using Save as Image or Copy to Clipboard. The image is saved as a Windows Metafile. When the display contains a great many jobs the Find Job function provides a quick way of locating a specific job. There is a Toggle Full Screen button in the main menu tool bar that allows you to have the Design View display use the full screen.

Page 280: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

278

5.17.1 Find Job (Design View)

Figure 171 – Design View (Find Job)

The dialog above will list all jobs which are displayed. You simply double-click on the Job you want to locate in the Design View display. ActiveBatch will blink the located Job “n” times (see Section 3.5 for Options Preferences) in the display. Enabling the Also Zoom to 100% checkbox will change the Zoom factor when the Job is located.

Page 281: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

279

5.17.2 Printing (Design View) You can Print (or Print Preview) the Design View by selecting the Print (or Print Preview) operation.

Figure 172 – Design View (Print)

The above figure is displayed for Print and Print Preview operations. You can indicate whether to print the graphical view in portrait or landscape mode, whether to “fit to page” or print using the same view scale and to also, optionally, indicate a “footer” message. When Printing, a standard dialog box will appear asking you to select a printer. In Print Preview mode you will see the first page. You may right click and select the next or previous page. If you double-click you can zoom in for greater detail. To close the Print Preview page, simply right-click on select “Close”.

Page 282: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

280

5.17.3 Creating a Plan/Job in Design View To create a Plan/Job with Design View simply right click anywhere in the “white space” of the display and select New Job or New Plan. This will bring up the familiar dialog boxes (and discussed in detail in Section 5.4). Once you added the Plan or Job you’ll see a new Plan or Job object box added to the display. For the purposes of this section, we’ll add a TestJob4 to the other TestJob jobs. TestJob4 will be executed after TestJob3.

The above figure shows what the display now looks like.

Page 283: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

281

5.17.4 Adding a Trigger If you look at the Design View tool bar you’ll see three (3) buttons that look like this:

Completion Trigger is the one that currently pressed in and means that any line drawing will represent a completion trigger association. Alert Trigger (the middle button) represents the triggering of a job (or plan) based on a specific ActiveBatch event. Job Completion (the rightmost button) represents an instance constraint relationship (for example, TestJob1 must complete before TestJob2 can execute). For this discussion, “Completion Trigger” must be enabled.

Now I want to create a Completion Trigger between TestJob3 and TestJob4. To perform that I click on TestJob3 (which selects it) and then click on any of the handles that appear on the object (indicating that it is selected). I then drag that handle (and resulting line) to TestJob4 and drop it. The display will look like this:

Notice the line that is drawn. When you release the mouse within TestJob4 the line will momentarily disappear and a dialog box will take its place.

Page 284: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

282

Figure 173 – Completion Trigger Dialog

Note the To Job/Plan reference to TestJob4. This removes any doubt about the direction of the trigger. We have a choice as to the condition that we want TestJob4 to be triggered. In this case we want to trigger TestJob4 only when TestJob3 executes successfully. So we select Success and click the OK button.

Page 285: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

283

The display now looks like this.

Note the green line/arrow as well as the small “CT” denotes success. The direction of the line and arrow-head further indicate this trigger is from TestJob3 to TestJob4.

Page 286: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

284

5.17.5 Adding a Job Constraint Now let’s add a job constraint. Click on the “Job Constraint” button to enable that facility. We want TestJob4 to run only when TestJob3 completes successfully. So we select TestJob4 and drag the handle from TestJob4 to TestJob3. This brings up the following dialog box.

Figure 174 – Add Instance Constraint Dialog Box

The Label field will be used to name the constraint. By default, the “auto label” feature will label this constraint as JC1 through JCn (where “n” is the highest numbered job constraint). In the example above, we’ve manually labeled the constraint as “TestJob3” to avoid confusion. Typically you will use the Job/Plan instance’s name as the label value. The constraint is applicable to TestJob4. TestJob4 should not execute until TestJob3 completes successfully. The defaults settings are appropriate for what we want so we click OK. Now the display looks like this.

Page 287: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

285

Note the green line with the small “JC” beneath it. JC stands for Job Completion. The anchor at the end of the dependency indicates what Job the other Job is dependent on.

Page 288: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

286

5.17.6 Modifying Triggers and Constraints In the previous sections we created a Job and then a Trigger and Dependency for that job. In this section we’ll learn how to modify or otherwise manage those links.

To modify or delete a link you must select it.

Note that the JC line is selected (you can see the 3 handles). If you wanted to move the line you would simply grab one of the handles and drag the line. To get more information on a link or object, simply place the cursor over the object. You should see a helpful and descriptive tool tip.

Figure 175 – Constraint Tool Tip

The tool tip above describes the constraint we created in the previous sections. The Design View’s use of Tool Tip provides you with a quick way of getting more information without cluttering the display.

Page 289: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

287

To edit or remove the link, simply right click on the selected link.

Figure 176 – Edit a Constraint

You can now choose Edit or Remove. The standard dialog boxes will then appear.

Note: Remember that if you remove a constraint you must still ensure to also remove the constraint label from the Constraint Logic box. Missing constraints specified in Constraint Logic are considered failed.

Page 290: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

288

5.18 Passing Parameters and/or Variables ActiveBatch provides the ability for a job to pass input parameters and/or variables (and their values) to downstream jobs. A downstream job is one that will be triggered via a Completion Trigger. The ActiveBatch utility responsible for this is called abatset. Abatset is a command-line based utility program that is used by a job, at run-time, to modify plan variables and/or to pass input parameters and/or job variable(s) (and their value(s)) to downstream jobs. For example:

abatset /success /failure /param 123

would pass the value “123” as an input parameter for the next downstream job(s) that the current job will trigger via the Completion Trigger facility. To modify a plan variable you might follow this example:

abatset /env ../plan1=abc

This will modify the plan variable “plan1” and change its value to “abc”. That this is a plan variable is indicated by the ../ syntax. Plan variables are set immediately (any qualifiers are ignored with reference to the variable). To pass the current job parameters and variables to the next downstream jobs you might follow this example:

abatset /current

To pass a job variable, use this syntax:

abatset /success /env test1=abc test2=efg

This example will pass two (2) variables, test1 and test2, to the next downstream jobs. ActiveBatch uses a “Replace or Insert” model. If the variable exists, the new value replaces the existing one. If the variable doesn’t exist, the entire variable and it’s value are added to the downstream jobs.

To avoid operating system ambiguity with regard to embedded spaces, you should follow your operating system recommendations. For example, with Windows you would enclose the entire parameter or variable specification within the set of quotation marks. For example:

abaset /success /env “workdir=c:\program files\asci\activebatch”

This avoids the mistake of ActiveBatch thinking that multiple variables are being passed.

Note: This command can only be issued within an ActiveBatch created job.

Page 291: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 5 - Designing the ActiveBatch system

289

5.19 Job Checkpoint, Restart and Progress Indicator ActiveBatch provides several features to allow jobs to automatically restart or failover to an available machine. By default, jobs that don’t have restart enabled are considered to have failed when the machine they execute on fails. Two types of job restart are provided (see Section 5.6.4.15): Machine and Process failure recovery. Restart on Reboot is the more typical and simply means that the job is to be restarted when the machine the job was executing on is rebooted and available. Failover Restart is applicable when the job is placed on a Generic Queue and can be re-dispatched to another available machine. Where “Restart on Reboot” means the job must wait until the execution machine is rebooted, “Failover Restart” means the job can be immediately re-dispatched. When a job is restarted, its “pre” step is executed, followed by the “Main” and “Post” steps. Please note that the ABAT_RESTART variable is set to YES to indicate the job is operating under a restart condition (see Table 9 – Environment Variables for Job Steps in Section 5.6.4.9 for more information).

ActiveBatch supports the concept of Checkpointing. A checkpoint represents non-volatile data that is associated with the batch job and saved by ActiveBatch. The last checkpoint value is made available whenever the batch job is restarted. Of course, the actual data and timing of checkpoints are purely up to the batch job itself. To declare a checkpoint you invoke the AbatChkPt program. For most machines the syntax is:

ABATCHKPT “Checkpoint-data”

ABATCHKPT is the name of the checkpoint program and the data you want to checkpoint appears after the command (with an intervening space). The string specified does not have to be quoted unless the data contains embedded spaces. This command can only be issued within an ActiveBatch created job.

To retrieve the checkpoint value, you must check two ActiveBatch environment variables (or logical names), ABAT_RESTART and ABAT_CHECKPOINT. Both must be set to YES for the checkpoint value (ABAT_CHECKPOINTVAL) to be considered safe and available.

You can also specify a progress indicator, separate from a checkpoint that can be used to visually alert an ActiveBatch client user as to the progress of this job. The progress value will be displayed in a portion of the Job State. The Job State is displayed in many views (although the Daily Activity list is best since it dynamically takes real-time updates). Any language (for example, Visual Basic Scripting) that is COM accessible can access this progress indicator through the COM library AbatScripting. Information on this library can be found in the ActiveBatch Developer’s Guide.

Page 292: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6
Page 293: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

291

6 OPERATING THE ACTIVEBATCH SYSTEM This chapter deals with job scheduling operations. Operators are concerned with the monitoring and management of the jobs and plans that make up the ActiveBatch system. Operations should not be confused with Administration. Administration concerns the implementation of ActiveBatch itself.

The first part of this chapter discusses the various monitoring features found under the Operations role tab.

6.1 Monitoring ActiveBatch Operations ActiveBatch objects contain a lot of information. The various views display that information in different ways to satisfy the information requirements of the different people who need to access ActiveBatch.

6.1.1 Filters As you run more and more plans and jobs it’s easy to get “information overload” and not be able to see what you need from the mass of job/plan instances that have been executed. For that reason, ActiveBatch (through AbatAdmin) offers a filter that allows you to determine what instances you may be interested in.

Figure 177 – Instance Filter Bar

The advantage of the filter bar is that you can more precisely target the specific instances you may be interested in. The filtering is done when accessing the database so you get quicker performance as well. The Limit box allows you to indicate how many instances should be retrieved immediately. When the number of instances exceeds the limit, the Page control allows you to move forward or backward through the collection of instance information. The Instance State menu (see … button) allows you to specify the instance state(s) that you’re interested in. For example, if you only wanted to see “successfully completed instances” you would click that checkbox. You can click multiple states.

Figure 178 – Instance State Selection

Page 294: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

292

The Ordering dropdown indicates whether you want to see the newest or the oldest listed first.

Figure 179 – Instance Filter Bar (Date and Time)

The next series of filtering information is date/time oriented and must be enabled by clicking on the checkbox. By default, when no date/time filtering is specified – no date/time is considered when retrieving an instance(s). The Date dropdown allows you to specify a specific date for instance retrieval. In the above example the date is set to January 25, 2005. The Day Period dropdown allows you to specify a day or day(s) period (interval) that is used in conjunction with the starting date specified. The period specified may also preclude any additional time based filtering. For example, All Day or 1 Day implies a twenty-four (24) hour period. Specifying Custom activates the time portion of the date/time filter. The Time dropdown allows you to specify a specific time. The Time Period dropdown allows you to specify a time period that is used in conjunction with the time specified.

You’ll notice that the Refresh button is color-coded. A green button means that your filter is active and the data you are looking at has been filtered. An orange color means that you’ve changed the filter and must press the Refresh button to see the new data applied against this filter.

Note: You may notice that when you click on Refresh the button will change to Cancel. This allows you to cancel an instance retrieval if the information you’ve requested is taking longer than desired.

Page 295: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

293

6.1.2 Daily Activity This display, found under Daily Activity in the Operations navigation pane, lists all jobs and plans for a specific day. The jobs and plans are listed in alphabetical order by name and represent all jobs/plans that have either run, are currently executing (in some fashion) or are scheduled to execute later in the day. This view is a dynamic real-time display. As jobs run, the display will automatically change to reflect the current state. You can disable this feature if you need to examine the display statically.

Figure 180 – Daily Activity List

The information displayed above is what most operators would need to monitor jobs. Clicking on a column heading changes the sort order. Plans are color coded for easy separation between jobs and plans. Plans are also represented by a tree symbol (plus sign) so you can expand a plan and see its contents.

Each column is further described as follows:

Name The name of the job/plan.

Job ID The unique job/plan instance number.

State Current status of the job/plan. This will be one of the values found in Table 3. A state of “Not Run” means that the plan/job has been scheduled to run but hasn’t as of yet run.

Execution Time Depending on the state of the object, this field for past and present instances reflects the actual execution time. For a future instance this represents the expected execution time. In addition, a letter code indicates the type of forecasted time this instance represents. E=Expected, I=Interval Time and S=Scheduled Time.

Duration Depending on the state of the object, this field for past instances, reflects the actual elapsed time (duration) of the job. If you see a time value in parenthesis, the value represents an under or over elapsed time based on the average run-time (if applicable). For present and future instances, the time value represents the expected (or average) elapsed time.

Queue The name of the queue this job is currently on. “MainQueue” represents a Plan (since that object can contain other objects that will execute on different machine queues).

Exit Code The job/plan’s exit code.

Exit Description The interpreted exit code. (Note: Only ActiveBatch based exit codes are interpreted).

You can perform menu operations on any of the jobs displayed by right clicking on the object.

Page 296: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

294

6.1.3 Gantt Chart The Gantt Chart displays jobs based on a start date and day range. By default, jobs are displayed in alphabetical fashion. Each row consists of the job’s name and a color coded bar indicates the start and ending times. The times are listed horizontally so you can scroll in either direction to view all the displayed jobs.

Figure 181 – Gantt Chart

You can use your mouse to grab the time scale and drag it horizontally. In one direction (to the right) the scale will get smaller and the objects will get larger. In the other direction the scale will get larger. The large Left and Right arrows allow you to scroll the time portion of the display horizontally. Clicking on the plus sign of an object expands the object to show you the completed instances. Multiple instances are compressed into a single item appearing on the left side navigation tree. The boxes of the Gantt chart represent the plans and jobs that have either completed, are currently running or will execute in the future. The sizes of the boxes are based on either actual elapsed times or expected elapsed times based on initial run-time or historical average values.

Page 297: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

295

6.1.4 Properties Window To see more information on an object you can select it and view it’s properties using the Properties window. For example:

Figure 182 – Properties Window

Provides a quick reference of the important properties of the object.

Page 298: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

296

6.1.5 Favorites Window The Favorites Window is similar to that of a Web Browser’s Favorites. Rather than having to navigate the entire tree of ActiveBatch objects you can create a favorite shortcut that represents the object. When you then need to access the object you can quickly find and retrieve it from the Favorites Window.

To add an object as a Favorite use the standard Navigation tree and find the object, then select and right-click the object and select Advanced/Add to Favorites (or Ctrl/D).

Figure 183 – Add To Favorites Menu Selection

When you make this selection you will see this dialog.

You can change the default and enter any name of your choosing. When you click OK the favorite will be added to the Favorites Window.

Figure 184 – Favorites Window

The icons within the window allow you to manage your selection. You can also create a folder to further categorize your selections. Clicking on a Favorite causes the object to be immediately selected in the Navigation Pane.

Page 299: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

297

6.1.6 Runbook The Runbook displays jobs in a diary format. When a day is selected, the time is shown vertically (and you can scroll the display) and jobs are arranged in time slots. Time slots can be between 5 and 60 minutes.

Figure 185 – Runbook

As you can see in the above figure, jobs are displayed color-coded based on how they completed, are currently executed or will execute. Jobs are further displayed vertically based on the job’s elapsed time.

As with the Gantt chart, you can click on an item and display its properties using the Properties window.

Page 300: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

298

6.1.7 System View To filter objects within the System View, you need to enable the option “Show Queue and Group Filter Bar” in the Options\System View dialog (Note: If a System View is present you will need to exit the view entirely to see the filter bar). Two filters are present: Queues and Groups. When filtering please note that a queue or group selection may only be made if jobs are present at the level of viewing. For example, if your root level consists of only plans, both dropdowns will essentially consist of an “All” type setting.

Figure 186 – System View Filter

To select different queues and/or groups click on the … button that appears to the right of each dropdown. You can select one or more items that can be used to filter the job selections.

Page 301: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

299

6.2 Managing Queues Once you’ve created a Queue you’re halfway home to executing a Job. However, while we’re on the subject of Queues let’s complete our discussion by illustrating some types of operations we can perform on Queues.

6.2.1 Deleting a Queue To delete an existing Queue, either right-click to select the Queue icon and choose Delete… or select the Queue icon and choose Queue/Delete… from the menu bar. Deletion of a Queue requires that no jobs of any kind be on queue. ActiveBatch will detect whether there are any jobs on queue and allow you to flush them as part of the deletion process.

Figure 187 – Delete Queue Confirmation The figure above is presented in all cases to ensure you really want to delete the selected queue. Please note that when you delete a Queue, that Queue will also be removed as a member from all Generic Queues it may be associated with. You cannot delete the OnDemand or VariableQueue Queue. Deletion of a Queue requires that you have “Delete” access permission to the Queue object.

Page 302: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

300

6.2.2 Starting and Stopping a Queue Stopping a Queue prevents any jobs that are currently on-queue and in a pending state from additional processing. For an Execution Queue this means those jobs will not be allowed to start execution. If a job is already executing, stopping a Queue does not affect the running job. For a Generic Queue, pending jobs are not dispatched to member Execution Queue(s). Stopping a Queue is therefore beneficial when you know a machine will be subjected to some downtime or a reboot. Another advantage to stopping a member Execution Queue is that jobs submitted to a Generic Queue won’t be dispatched to the stopped Queue.

Figure 188 – Stopping/Starting a Queue

To stop a started Queue, right-click on the selected Queue icon and choose Stop.

Starting a Queue is of course the same general actions except that the Start menu operation is chosen. Normally when you start an Execution Queue the execution machine will be up and available. If it isn’t the Queue will enter a “Starting” state and remain in that state until the execution machine becomes available. Jobs are not dispatched to a Queue in a “Starting” state. The Start/Stop operation is an in-context operation. That means ActiveBatch will select the proper operation depending on the current state of the Queue (e.g. if it’s started, you can stop the Queue).

Page 303: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

301

Figure 189 – Stopping a Queue (Timed) Remember that you can also automatically stop (and start) a Queue based on the Queue’s properties. The figure above is taken from the Queue General tab. This is especially useful when you know a machine won’t be available during certain hours.

To start or stop a Queue, you must have “Manage” access permission on the Queue object.

Page 304: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

302

6.2.3 Open and Close a Queue Stopping and starting a Queue deal with whether jobs are dispatched for execution or left on queue. Opening and closing a Queue deals with whether jobs can be submitted to a Queue by a user. Typically Queues are open to job submissions regardless of whether the Queue can actually support job execution. A “Closed” Queue indicates that jobs will not be accepted for submission. This feature isn’t used very often since most users want to allow job submissions. However to close or open a Queue, you can right-click on the Queue icon and select Open/Close operation. The Open/Close operation is an in-context operation. That means ActiveBatch will select the proper operation depending on the current state of the Queue (i.e. if it’s open, you can close the Queue).

Figure 190 – Opening or Closing a Queue

Remember that you can also automatically schedule open and close operations on a per queue basis as part of the Queue’s properties. Note the Close From field below in Figure 191.

Figure 191 – Restrict Job Submission (Timed)

To open or close a Queue, you must have “Manage” access permission on the Queue object.

Page 305: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

303

6.2.4 Flush Instances on a Queue This operation is used to quickly delete all job instances that have been dispatched to a specific Queue. Rather than delete each job instance individually you can simply flush the Queue. When you flush a queue you lose all job history concerning the flushed jobs. Since this operation may result in the deletion of job instances you will receive a confirmation request if jobs are present on queue.

Figure 192 – Flush Instances on a Queue To flush a Queue, you must hold “Manage” access permission on the Queue object.

Note: A flush instances operation will delete all job instances that have been associated with this queue. Prior to V6, the flush operation also deleted all job definitions as well. This is no longer the case when invoked from AbatAdmin. However, you should be very cautious when flushing a queue since no undo operation is provided.

Page 306: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

304

6.3 Managing Jobs and Plans The figure below shows the operations you can perform by right clicking on a Plan or Job object.

Figure 193 – System View (Job Menu)

Some Plan/Job Operations are to be executed on Job Definitions (Templates) and some only on Instances. For example, you cannot Trigger a Job Instance but you can Trigger a Job Definition.

Page 307: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

305

6.3.1 Instance Operations

6.3.1.1 Change Queue Priority

This operation, valid for job instances that are in a Waiting state, allows you to change a job’s queue priority.

6.3.1.2 Constraint (Dependency) Status

This operation allows you to see which constraints (dependencies) a plan/job instance is actually waiting for. This operation is only valid for a plan/job instance whose status is “Waiting Constraint”.

Figure 194 – Constraint Status

The Constraint Expression box shows the actual constraint logic the plan/job was defined with. Satisifed/Not Satisfied (or True/False) indications are shown in both text and color. Red or a question mark (?) means that the constraint could not be evaluated. This is typically a mistake in entering the variable name. Please note that this status is subject to change and that the constraint expression is a snapshot taken on your request. You may click the Refresh button to retrieve new constraint status information.

Note: You may see two brackets [] with no intervening value. This typically means that the constraint is using Boolean logic and the first portion of the constraint failed so the additional constraints are not evaluated as part of this status operation.

Page 308: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

306

6.3.1.3 Force Run

This operation allows you to force a job to execute even though it is waiting on resources or dependencies to become available. For example, a job is waiting on a constraint and you would like to force the job to continue execution despite the lack of satisfactory dependency conditions.

Figure 195 – Force Run Menu

This operation is valid for Plan/Job Instance’s only.

6.3.1.4 Override Completion Status

This operation, for completed Job Instance(s) only, allows you to change the actual completion status of a job. Consider this example: Job A fails and is supposed to trigger several downstream jobs on success. An engineer access the system and fixes the problem by performing those tasks which Job A was supposed to have done. By performing an “Override Completion Status” operation and setting the Job A instance which originally failed to success, any downstream jobs are now triggered automatically.

Figure 196 – Override Completion Status

This operation is valid for Plan/Job Instance’s only.

This operation allows you to set an exit code and/or simply force success. Optionally you can also avoid triggering downstream jobs and/or alert notifications.

Note: If Job A triggered downstream jobs based on a failure status, those jobs would still have been triggered. In other words, this operation does not “undo” the past.

Page 309: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

307

6.3.1.5 Pause and Resume a Plan/Job

Where Disable and Enable allow you to prevent/release a Plan/Job from/to executing, Pause and Resume are the counterpart commands you would use to suspend an object that is currently executing.

Figure 197 – Pause/Resume a Plan/Job

Like Disable and Enable, Pause and Resume are in-context operations. You may only Pause an executing object. Pause and Resume require “Manage” access permission for the Queue the job is executing on as well as “Read” access permission on the selected Job object. To pause or resume a job right click on the selected Job icon and choose Pause/Resume. Note you cannot pause a non-executing job.

This operation is valid for Plan/Job Instance’s only.

Operating System Note: The implementation of Pause differs based on O/S platform. For Windows systems, only the primary thread of execution associated with the process is suspended. For multi-threading applications this may not have the desired effect. For non-Windows systems, the job process is suspended.

6.3.1.6 Restart Plan/Job Execution

This operation allows you to restart a failed plan/job instance. The plan/job instance is restarted in its entirety. Restart should not be confused with Trigger. Trigger causes a new plan/job instance to be created. The Restart operation causes an existing instance to begin execution.

If you restart a Plan then all job/plan instances are restarted regardless of their previous execution. If you restart a Job then that job instance will begin execution and any Completion and/or Alert triggers will be honored regardless of the previous job instance state.

Page 310: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

308

6.3.1.7 Moving a Job from/to a Queue

Sometimes you need to move a Job from one Queue to another. Moving a Job requires you to hold “Write” access to the selected Job object.

As a designer you can move a job definition from one queue to another by entering Design View for the job you wish to move. Select the destination queue from the designer’s navigation tree and drag the queue and drop it on the desired job. A confirmation dialog will appear. Click OK to move the job to the destination queue or Cancel to cancel the operation.

To move or re-queue job instances(s) that are in a “Waiting” state, select one or more Job(s) and choose Requeue. A list box appears listing all queues. Select one to perform the move operation. This operation will move only instances.

Figure 198 – Requeue Operation

Page 311: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

309

6.3.2 Definition Operations

6.3.2.1 Test Run

This operation allows you to validate whether the security credentials of the plan/job will work. The plan/job itself is not executed. This operation is valid only for Plan/Job definitions (Template). When a single job is selected a message box appears indicating the success or failure of the test run. When a plan is selected, the contents of the plan are displayed in a window with a status indication for each nested job or plan’s test run. The entire plan is tested although a Cancel button allows you to abort the test run.

Figure 199 – Test Run Plan (Initial)

If multiple objects were selected you can either manually deselect them or use the convenient Select/Clear All buttons.

Page 312: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

310

Figure 200 – Test Run Plan (After)

A real-time display shows each object as it is tested and its result.

Note: Test Run is currently restricted to jobs that are assigned to an Execution Queue. If you issue a Test Run with a job assigned to a Generic Queue the result will be failure even though the job may very well be able to run on any of the member Execution Queues.

Page 313: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

311

6.3.2.2 Trigger Plan/Job Execution

ActiveBatch allows the submission of plans/jobs that can execute one or more times based on a variety of date/time or event triggers. The “Trigger” command allows a user or script to generate an ActiveBatch event that starts a job template executing. This trigger allows some interesting uses.

Figure 201 – Triggering a Job

To trigger a plan/job right click on the selected icon and choose Trigger or Trigger (Advanced). The difference between the two Trigger operations is that advanced Trigger will display a dialog box providing more operations you can perform. The simple Trigger operation just triggers the object immediately for execution. Triggering a plan/job requires you to hold at least “Trigger” access permission for the selected object. The object must have ActiveBatch Triggers enabled (see Scheduling/Event tab). A job may be triggered from any ActiveBatch Queue however most trigger jobs are “On Demand” and reside on the OnDemand Queue.

This operation is valid for Plan/Job Definition’s (Template) only.

Page 314: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

312

Figure 202 – Trigger Job Dialog

The dialog box above is presented to determine what actions should be taken with the trigger. If the Job resides on the OnDemand Queue you must specify a Generic or Execution Queue for the triggered job to execute on. Please note that the template job is not copied to the Queue you specified; only the instance of the job is created on the Queue. If the Job does not reside on the OnDemand Queue, you may trigger its execution in place (in other words, the job will start execution on the Queue it was submitted to).

Queue to trigger to: You may specify a Queue that is to receive an instance of this Job for execution. For a job that resides on the OnDemand queue you must specify a different queue. “Trigger and Queue” access permission for the selected job is required. This checkbox will not appear for a Plan.

Parameters: This optional field may be entered to provide new input parameters to the newly created instance of the triggered job. Note that the job template is not changed by this operation. Enabling this radio button will activate the “Edit” button allowing you access to the familiar Variable dialog page. You must have “Trigger and Change Parameters” access permission for this Job to enter new parameters.

Page 315: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

313

Variables: This optional field may be entered to override any variable values that were specified with the object definition and/or to create new variables (and their values). Note that the object definition is not changed by this operation. You must have “Trigger and Change Parameters” access permission for this object to enter new variables.

Account Information for Execution Machine: You may specify alternate security credentials to be used when triggering this job for execution. By default, any security credentials associated with the job are used. This feature is particularly useful when you have multiple users who need to execute the same job but in their own security context. You can specify the credentials through the familiar username/password fields as well as by specifying a Username object. To trigger and specify new credentials requires you to have “Trigger and Change Credentials” access permissions on the selected Job object.

Ignore Completion/Alert Triggers: If selected, ActiveBatch will ignore any Completion and Alert triggers associated with this plan/job. (Note: In previous versions this was referred to as “Ignore Batch Starts”).

Ignore Alert Notifications: If selected, ActiveBatch will not issue any Alert notifications.

Ignore Dependencies: If selected, you are indicating that ActiveBatch is to avoid dependency checking and treat the selected plan/job as though all dependency checks were successfully performed.

Ignore Calendar: If selected, ActiveBatch will ignore any Calendar restrictions and run the job.

Ignore Exclusion List: If selected, ActiveBatch will ignore any date/time scheduling exclusions.

Defer til: If selected, this useful function allows you to defer the actual trigger to a later date/time. By default, when a Trigger command is issued, the object instance is created immediately.

Page 316: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

314

6.3.2.3 Copy and Paste a Plan/Job

This pair of operations is actually performed by the ABATAdmin program as opposed to ActiveBatch itself. Sometimes you want to create a job using most of the information found in another job. ABATAdmin let’s you do just that.

To copy a job right-click on the selected Job icon and choose Copy. This action makes a copy of the Job object.

To paste the copied job, select a Plan or the Jobs & Plans folder and then right click and choose Paste as New Job. The New Job property tab dialog will be displayed allowing you to change any properties concerning your new job. All job properties will be set in the newly pasted job except that your username and security credentials (if any) will be used. If they are not present you will need to enter them. You will also become the owner of the newly created job. Clicking OK confirms the job submission. Clicking Cancel indicates that you want to “undo” the paste operation and not submit the job. The job will, however, remain in the copy buffer. Please note that you must have “Read” access permission to copy the initial Job object.

6.3.2.4 Cut and Paste a Plan/Job

Sometimes you need to move a Plan or Job from one Plan to another. With Cut and Paste you can select the object and choose Cut. You must have Read and Delete access to the object.

To paste the cut object, select the Job Scheduler icon or a plan you want the object to be pasted to and right click to select Paste. The original object will be pasted at that level.

Page 317: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

315

6.3.2.5 Browse

The Browse operation is performed on a Plan definition and, when executed, causes a separate window to appear displaying the nested contents of the Plan. Browse is particularly useful when you need to display the contents of several nested plans. Each plan can be displayed in a separate view.

Figure 203 – Browse Plan

In the above example, plan CaseStudy8 contains the embedded jobs and plans.

Page 318: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

316

6.3.3 Definition and Instance Operations

6.3.3.1 Abort/Delete a Plan/Job

You may abort a Plan/Job Instance regardless of state. Aborting a plan/job will mark the object as “Completed(Aborted)”. The plan/job will still be visible for query purposes.

Deleting a Plan/Job will cause the object to be removed from the database. So object deletion is a permanent and irreversible operation. By definition, when you delete an object you also delete the object’s instances (if any). Both Abort and Delete require confirmation since both operations are potentially destructive.

To abort a Plan/Job Instance you must have “Manage” access permission on the object. To delete an object you must have “Delete” access permission. To abort an instance right click on the selected object and choose the Abort menu operation.

When you abort an instance, a confirmation dialog appears asking you to confirm the operation. Click OK to confirm or Cancel to cancel the operation.

Figure 204 – Abort an Instance Dialog

When you want to delete an object, a confirmation dialog appears asking you to confirm the operation. Click OK to confirm or Cancel to cancel the operation.

Figure 205 – Delete a Job Dialog

ActiveBatch also supports the Abort and Deletion of an Instance and it’s objects in a single operation. Simply right-click on the object and choose Abort & Delete.

Note: Deletion of an object is an irreversible operation. There is no “un-do”. Please make sure that you really want to delete the selected object.

Page 319: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

317

6.3.3.2 Abort Batch

The previous operation allowed you to abort a specific job or plan. Sometimes it is more convenient to abort an entire batch run regardless of which object happens to be executing at the time. To issue an Abort Batch operation, right click on any instance within the desired batch and select Abort Batch.

The following confirmation message will appear to confirm your selection.

Click the Yes button to perform the Abort Batch operation.

Note: You must have Manage level access permission to perform this operation.

6.3.3.3 Hold and Release a Plan/Job

Sometimes it is useful to hold a plan/job and prevent its execution. This capability is also available if the instance has been created but not yet run (for example, the “Not Run” state). ActiveBatch provides this operation through the Hold and Release (Disable/Enable) facility.

Figure 206 – Hold/Release a Plan/Job

Hold and Release are in-context operations. That means that ABATAdmin will choose the proper operation for you to perform based on the state of the job. If the job is not held, you will be able to hold it. If the job is held you will be able to release it. Hold and Release, while job oriented, do require “Manage” access permission for the Queue that the job is on as well as “Read” access permission on the selected Job object. To hold or release a job either right click on the selected Job icon and choose Hold/Release or select the Job icon and choose Job/Hold/Release from the menu bar. Note the job must be in a Pending state (so you cannot hold an executing job). Holding a template job causes no new instances to be created while the template is held.

Note: Do not confuse the Global Disable property with the Enable (Release)/Disable (Hold) operation. Global Disable means that this object and all reference objects are disabled.

Page 320: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

318

6.3.3.4 Printing ActiveBatch Objects

AbatAdmin provides the ability to print various ActiveBatch objects in a “holistic” view. For each object look for the “Print” operation.

Figure 207 – Print Queue Operation

The figure above shows how you would print the selected queue “Server1”.

Figure 208 – Sample Print Queue

The figure above shows a portion of the queue’s characteristics. Note that all of the collections (or related sub-objects) that make up the queue are also displayed. The “printout” produced is an HTML file which can be saved via the Save as… button or printed using the Print button. Each object is printed through the use of a template file. This template file consists of standard HTML tags and special syntax allowing any of the queue’s properties to be retrieved and inserted as desired within the printout. All templates are stored within the Templates sub-directory.

Page 321: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

319

6.4 Resource Operation A resource object that uses an active variable can be forced to re-evaluate.

Figure 209 – Resource - Evaluate Now

Selecting the “Evaluate Now” operation causes the resource’s active variable data source to be immediately re-evaluated regardless of any timed or lack of timed base settings.

Page 322: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

320

6.5 System View System View is a real-time dynamically refreshing display that is capable of showing both relationships and job/plan instance status at the same time. The Design and System View do share many common features. You’ll notice that the title bar and zoom/auto layout features are the same. Where System View diverges from Design View is System View’s ability to dynamically display active jobs as they run. Because System View can display more information you can also control more aspects of ActiveBatch.

6.5.1 System View Overview

The first job ran successfully (you can tell because the box is Green). The middle job (TestJob2) is currently running (you can tell box is Blue and the number 1 in the upper left-hand corner indicates the number of active instances).

Page 323: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

321

Figure 210 – System View (Tool Tip)

While a lot of information is displayed within the Job box you can get more information by simply hovering over the box. The tool tip that’s displayed contains much more information in particular about the last active instance (if any). The above figure shows how the last instance for Job “TestJob1” performed.

Page 324: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

322

6.5.2 System View Shapes System View and the Design View use various shapes and colors to impart Plan/Job information. System View is dynamic and its use of color and shapes is particularly important.

The Rounded Box shape is used to denote a Job.

The Folder shape is used to denote a Plan.

Page 325: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

323

6.5.3 System View Colors System View uses colors to quickly denote a Job’s operational state. The color itself is displayed in a gradient fashion.

Yellow is used to denote a Waiting for Trigger status.

Orange is used to denote a Waiting on Constraint status.

Sea Green is used to denote a Waiting on Queue Busy status.

Cyan is used to denote a PreProcessing status.

Blue is used to denote an Executing status.

Grey is used to denote a Disabled status.

Page 326: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

324

Red is used to denote a recently completed but failed job.

Green is used to denote a recently completed successful job.

Purple is used to denote a recently completed but aborted job.

Note: The primary box color stays resident for a small period of time (which is adjustable by you through the Options menu). The side bar color is persistent and indicates how the last Job instance fared. This side bar color stays resident until another Job instance is created.

Completion Triggers and Instance Constraints Completion Triggers are drawn as a solid line. On Success is colored Green. On Failure is colored Red.

Constraints are drawn as a dotted line. On Success is color coded Green. On Completion is colored Blue.

Page 327: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

325

6.5.4 System View Job/Plan Operations

Figure 211 – System View (Job/Plan Operations)

By right clicking on the selected Job you can perform various operations. The individual job operations have been covered in other sections of this manual; however, you can multi-select jobs in this view to perform a single operation on many jobs. If the Job has active instances a special form of this menu is available which allows you to control a specific instance. Operations performed on a Plan may affect all the objects within the plan.

Page 328: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

326

Figure 212 – System View (Active Instance Menu)

The above figure shows an active instance for JobA. Instance 112364 can be individually controlled based on its state. Notice the grayed out portion titled [Template Operations]. The menu operations below that divider affect the plan/job definition, not the instance. The menu for instance 112364 displays those operations that can be performed on that instance. If JobA were running multiple instances, then a sub-menu operation for each instance would be shown.

Page 329: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

327

6.5.5 System View Operations

Figure 213 – System View Operations

The figure above shows a simple “straight-line” relationship between Jobs “testjob1”, “testjob2” and “testjob3”. Before we discuss what operations we can perform on those objects, observe the menu to the right of the figure. This menu was obtained by right clicking on the “white space” of the display. Several of the operations are common to other views within ActiveBatch. For example, Control/F allows you to have the System View display use the full screen. ActiveBatch supports printing this window (as well as Print Preview). This is useful for documentation purposes. You can also integrate this picture into another object (like a Word document) using Save as Image. The image is saved as a Windows Metafile. When the display contains a great many jobs the Find Job function provides a quick way of locating a specific job.

Page 330: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

328

6.5.5.1 Find Job (System View)

Figure 214 – System View (Find Job)

The dialog above will list all jobs that are displayed. You simply double-click on the Job you want to locate in the System View display. ActiveBatch will blink the located Job “n” times (see Section 3.5 for Options Preferences) in the display. Enabling the Also Zoom to 100% checkbox will change the Zoom factor when the Job is located.

Page 331: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

329

6.5.5.2 Printing (System View)

You can Print (or Print Preview) the System View by selecting the Print (or Print Preview) operation.

Figure 215 – System View (Print)

The above figure is displayed for Print and Print Preview operations. You can indicate whether to print the graphical view in portrait or landscape mode, whether to “fit to page” or print using the same view scale and to also, optionally, indicate a “footer” message (the default is “ActiveBatch”). When Printing, a standard dialog box will appear asking you to select a printer. In Print Preview mode you will see the first page. You may right click and select the next or previous page. If you double-click you can zoom in for greater detail. To close the Print Preview page, simply right-click and select “Close”.

Page 332: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

330

6.5.5.3 Miscellaneous Operations (System View)

You can copy the graphical image to a clipboard or save the image as a Windows Metafile.

By default, the System View is displayed along with other windows. To enter Full Screen mode press Ctrl/F.

Page 333: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

331

6.6 Troubleshooting ActiveBatch was designed to assist operators and designers track down their batch job problems. The sections that follow discuss some of the features that can be used to determine why ActiveBatch did or didn’t execute a job as well as determining why a job didn’t perform properly.

First, you need to remember the difference between a definition and an instance. An instance is an execution copy of an instance. When something goes wrong you want to check the instance’s history and the copy of the instance properties that were present at the time the instance was cloned.

Figure 216 – Job Instance History

The figure above shows the instance of job CaseStudy1. The History category displays a lot of useful information about the job. As you can see this job was successful.

Page 334: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

332

6.6.1 Audits The Job Audit area is the first place to look when a question arises as to ActiveBatch/Job interaction. All exchanges between ActiveBatch and the Job are recorded in this area.

The audit box extract above is for a job instance and tracks the job from submission to end.

The audit box extract above is for a job definition. Audits are produced each time the job is modified as well as each time a job instance fails to execute. Successful job instances are not audited since the Instances pane allows for easy retrieval.

Page 335: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 6 - Operating the ActiveBatch system

333

6.6.2 Job Output Logging ActiveBatch jobs have great flexibility in the area of logging. Logging in the ActiveBatch context means the capture of a job’s standard output and error streams. These streams (usually found under different names depending on the operating system) are available for every job.

6.6.2.1 User Managed Logging

The example above is the default logging properties for a job named JOB-A. ActiveBatch, by default, uses the same location and filename as the main job step. The extension .LOG is added. When JOB-A is started all data to the standard output and error streams will be directed to “c:\JOB-A.log”. If you don’t like the defaults you can always change the entire file specification. If the job is a template job and is subject to multiple runs then the file specification is used above except that the job-id, date and time are also appended to the filename portion. The intent of this is to make the file specification unique such that other instances of the same job don’t overwrite each other. Clicking the checkbox Std Error File causes the standard error stream to be directed to a separate file that is different than that used for standard output.

If the Reuse same log file checkbox is enabled then the same log file name is used even for recurring job runs (this means that the job-id, date and time are also not added). This feature is useful when you are only interested in the last job instance and don’t want to fill your log file directory up with lots of useless files.

Platform Note: On OpenVMS, the Reuse feature will result in multiple versions of the same log file. This is intended. You can always purge the versions down using the OpenVMS command PURGE.

Logging in this fashion is referred to as User Managed. That is because you are required to manage the files (purge them, etc).

Page 336: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

334

6.6.2.2 Centrally Managed Logging

Another choice is for ActiveBatch to manage the log files. After all many users don’t care about the batch job log unless the job fails. By clicking the radio button Centrally Manage Log File you enable this facility. This means that the location and name of the log file is completely left to ActiveBatch. So what do you gain?

Using this feature provides you with two major benefits.

1. If you noticed, enabling this feature also provides you with the ability to indicate the log file retention period. In the example above, ActiveBatch will delete the log file after one (1) day. That’s one less thing you need to do.

2. Your log file can now be viewed from any participating machine without you having to first copy it to your local system. The ability to view a log file can be found on the Job History tab.

Clicking the “View Log File” button (the second from the left) will cause an editor to be started with the job’s log file. By default, Notepad is the editor used. You can change the default editor via the Tools/Options menu.

Page 337: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

335

7 REPORTING

7.1 Reporting Overview The ActiveBatch Reporting Facility allows you to generate customized reports concerning the scheduling and execution of ActiveBatch jobs. You can access the Reporting facility through the View\Reporting Facility menu item on the menu bar.

Figure 217 – Reporting Facility

When you click on the Reporting Facility selection you will see a dialog box similar to Figure 218.

Page 338: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

336

Figure 218 – Report Files Dialog

This dialog box serves several purposes:

1. A list of existing ActiveBatch Reporting (.ABR) files are displayed.

2. You can create, edit, rename or delete ActiveBatch Reporting files.

3. You can select a Job Scheduler machine and run a desired report.

The top-level drop down list displays one or more entered directories in which you store your ABR files. By default, ActiveBatch stores your files in your “My Documents” folder. You can browse and select other folders by either entering a valid specification or by clicking on the button.

Page 339: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 7 - Reporting

337

7.2 Creating a Reporting File An ActiveBatch Reporting file is not a report rather it is a template that can later be used to generate a report. To create a new Reporting file click on the New button.

Figure 219 – Enter Report Filename

You are asked to enter a filename that will be used when creating the Reporting file. As the “Note” above explains do not enter an extension or a path specification. Just enter a filename such as SampleReport and then click the OK button.

Page 340: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

338

Figure 220 – Report Filter

This dialog allows you to create your Report. You can specify search criteria, what columns (fields/properties) to display and their sorting order.

Let’s divide the Report Filter dialog into several sections for easier discussion.

Page 341: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 7 - Reporting

339

7.2.1 Column Selection This part of the dialog allows you to select one or more Job properties (columns) that you would like to report on. You’ll notice that this section of the display contains three (3) headings: Property Name, Type, and Description. Property Name is self-explanatory. Each property is uniquely named. Each property typically corresponds to a database column found in one of the ActiveBatch database tables. Type indicates whether the property is historical (and therefore may or may not be present) or not. Description describes the property. You select columns for display by selecting a property and then click on the Add to Report button. That will cause the property to move down to the Columns to display in report control.

Figure 221 – Property Column Selection

In Figure 221 several columns have been selected. The columns will display in the order they are listed. To change the ordering select the desired column and use the UP and DOWN arrow buttons on the right side of the control.

Page 342: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

340

Figure 222 – Selecting/Sorting Columns

To sort the report into any special sequence, simply select a property in the Columns to display in report and click the button. That will add the property to the sort list. To change the sorting order, use the UP and DOWN arrow buttons that are part of that control. Normally the sorting order for a property is ascending. To change the order, select the property and click the Toggle Sort button. To remove a sorting property, select the property and click the Remove from sort button.

7.2.2 Search Column Criteria Once you’ve selected your columns for display you can add search criteria using two (2) methods. The first is to select a property and then click the Edit Search Criteria… button.

Figure 223 – Property Search Criteria

Figure 223 shows a sample search specification. You can select one from a number of comparison operators followed by the comparison value.

In the figure above, search criteria has been added for the “Name” property (that is to display only job names with

Page 343: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 7 - Reporting

341

“DailyBackup”.

The second approach is to enter SQL syntax into the Additional “Where” clause field. This is useful when you need to perform additional WHERE clause operations that wouldn’t otherwise be supported by the report generator.

This example illustrates pattern matching for the Job Name. When specifying additional “Where” clauses please note that you must ensure that any property in the “Where” clause is also present in the “Columns to display in report”.

Page 344: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

342

7.2.3 Date Specification

Figure 224 – Report Date Specification

One of the most important search criteria is the date specification. By that we mean the date or range of dates that the report will encompass. You have three (3) selections to choose from. No Date Range essentially allows you to report on the entire database. Fixed Date allows you to select a range of specific dates and times. Relative Dates allows you to indicate self-relative dates based on when the report is submitted.

You can also select the state of the Instances, for example, Completed, Held, etc. The checkbox allows you to include Plans (by default, only job instances are reported).

7.2.4 Custom SQL

For advanced SQL users you can enter a complete SELECT statement by clicking on the Custom SQL statement field.

Page 345: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 7 - Reporting

343

7.3 Version 4 Reporting Files If you’ve created Report files using Version 4 you may see a screen similar to this. If you click on the report file a prompt will appear asking whether you wish to convert the reporting file to the newer version. This is a simple but irreversible process.

Figure 225 – Converting a Prior Release Report file

Clicking Yes will convert the file for use with this newer version. You will not be able to use the Report file for the older version. Click No to avoid the conversion process (however the file cannot be used under this release).

Page 346: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

344

7.4 Generating a Report Once you’ve created a Report file you can generate a report. You have two (2) methods of generating a report within ActiveBatch. One is to use AbatAdmin interactively the other is to use the console app abatrptgen. The later is particularly useful for generating reports within an ActiveBatch job itself.

The ActiveBatch Reporting facility works best when ODBC/OLE-DB is installed and available. You should see excellent report generation performance when using this method. However, there may be some occasions when ODBC/OLE-DB or connection to the ActiveBatch database is not feasible. In this case, ActiveBatch will use its COM model for generating reports. When using the COM model, the following restrictions are present: No direct SQL use is allowed and the generation of the report will be significantly slower as compared to using the direct database access method.

The security credentials used when generating a report varies depending on the database authentication model in use. For Windows authentication, by default, your Windows logon credentials are used when generating an ODBC based report. If your logon credentials fail, ActiveBatch will prompt for new security credentials. For Database authentication, by default, the DB Username is specified and you must supply the password. If Database Authentication fails, you will be prompted to confirm the use of COM (RPC) for report generation. As stated previously, COM is significantly slower than ODBC access.

Page 347: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 7 - Reporting

345

7.4.1 Interactive Report Generation

Figure 226 – Generate Report

To generate a report simply select the ActiveBatch Report file and a connected Job Scheduler system. Then click the Run/View Report button. To obtain a report using different reporting dates, click the Run/View Report (Advanced) button. An additional dialog appears with From and To date and times.

Figure 227 – Advanced Report Generation

Page 348: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

346

Figure 228 – Sample Report

The above report was produced using the SanpleReport ABR file. The columns displayed and the overall report are self-explanatory. Note the last 2 items in the report footer. ODBC Connect String can be useful when you need to write your own reports using third party report writers or tools. Likewise SQL Statement shows you the exact SQL SELECT statement that was issued to produce the report.

Reports can be displayed for simple viewing or printed. You can also save generated reports (as HTML files) for later viewing. Users of the ActiveBatch Webserver product can also save these HTML files to a “reporting” location for later viewing by your end-users.

Page 349: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 7 - Reporting

347

7.4.2 Non-Interactive Report Generation In addition to the use of AbatAdmin you can also generate reports non-interactively through the console app AbatRptGen. AbatRptGen supports both the ODBC (preferred) and COM methods for generating reports.

ODBC Method:

AbatRptGen -r ReportFile -o OutputFile -d OdbcConnectString [ -t OutputType ]

ReportFile ActiveBatch Report File (.ABR)

OdbcConnectString ODBC Connect String (see Section 7.4.1 and the comment concerning ODBC Connection String).

OutputFile Report Output file that is generated

OutputType (Optional) Report Output Type (HTML, CSV, XML)

Note: -c ReportFile allows you to convert from an older report file version to the latest version.

For example, to invoke the same report that we produced interactively (in the previous section) the command might be:

Abatrptgen -r “c:\program files\asci\activebatch\reports\SampleReport.abr” -o SampleReport.html

-d “Driver=SQL Server;Server=ENGSERVER1;Database=ASCIABAT”

This convenient command not only generates report files but can also generate a CSV file which can be used to import the report data into a variety of other third-party tools. AbatRptGen can also generate an XML file for simplified parsing and data formatting.

COM Method:

AbatRptGen -r ReportFile -o OutputFile -j JSSMachine [ -u UserName ] [ -p Password ] [ -t OutputType ]

ReportFile ActiveBatch Report File (.ABR)

OutputFile Report Output file that is generated

JSSMachine Job Scheduler machine name (or IP address)

UserName (Optional) Valid Windows Domain\User Account

Password (Optional) Password for above account

OutputType (Optional) Report Output Type (HTML, CSV, XML)

If User Security credentials are omitted then the current logon credentials are used.

Note: The COM method has the following limits:

• No Date Range can be specified.

• No Custom SQL statement or WHERE clause can be specified.

• Job Templates can not be displayed in the report.

Page 350: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

348

7.4.3 Third-Party Tools/Report Writers With ActiveBatch’s use of ODBC-compliant databases you are free to use any tool or report writer (such as Business Intelligence’s Crystal Reports) to query the database.

Page 351: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

349

8 DATE ARITHMETIC

This chapter discusses the Date Arithmetic facilities of ActiveBatch. Date Arithmetic can be used as part of Job Scheduling and/or to perform date arithmetic calculations within an ActiveBatch script.

8.1 Introduction and Syntax Date Arithmetic is a facility in which dates can be computed through a specification of various date tags. The resulting date itself can be produced in a variety of formats. Date Arithmetic can be used within ActiveBatch in four (4) areas:

1. As part of a Custom date specification in a Schedule.

2. As part of the Parameters field for a Process or Script job.

3. When declaring an Active Variable.

4. With a standalone program, on an execution machine, that can perform Date Arithmetic substitution on an input file and produce a new “substituted” file.

The Date Arithmetic syntax is simple; you start with a left angle bracket (<) followed by a command and zero or more qualifiers ending with a right angle bracket (>). For example, <TODAY> would yield today’s date. The difference between a command and a qualifier is that a command represents a specific date; for example, TODAY or YESTERDAY represents specific dates. A qualifier is used to perform some type of calculation on a date. For example, <TODAY/-DAY> would mean “today minus 1 day”.

What benefits do you get from the Date Arithmetic facility? First, most business applications require the use of dates for generating various reports, aging of database records, etc. The ability to calculate dates, in various formats, can satisfy this requirement. Next, while the Schedule object itself is useful for generating date/time triggers when a pattern is present (i.e. every other Monday, etc) it’s not as easy to use when several non-pattern dates must be entered. This non-pattern date list is easily accomplished with the Date Arithmetic’s calendar facility. You can create a calendar of dates, using the point-and-shoot method and then specify that calendar as part of a Schedule object’s Custom property.

8.1.1 Commands A command yields a specific date and may be used without any qualifiers. The following table displays the commands that are supported by ActiveBatch’s Date Arithmetic facility.

Command Description

TODAY Today’s date

TOMORROW Tomorrow’s date

YESTERDAY Yesterday’s date

BOM Beginning of Month

EOM End of Month

BOW Beginning of Week

EOW End of Week

BOY Beginning of Year

EOY End of Year

Page 352: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

350

Command Description

BOQ Beginning of Quarter

EOQ End of Quarter

YEAR Year

MONDAY – SUNDAY Day tags for all seven days

Table 26 – Date Arithmetic Commands

The commands above, unless otherwise specified, assume today’s system date. The system date is the date supplied by the platform operating system. While several of the above commands are self-explanatory, there are several that do require an explanation. By default, BOW is the beginning of the week, which is Monday. EOW is the end of the week, which is Sunday. BOQ is the beginning of the quarter and assumes a calendar year, while EOQ is the end of the quarter (and makes the same assumption). MONDAY through SUNDAY commands use an integral week. For example, if today is October 1st and that date is a Wednesday, the MONDAY tag would be September 29th, TUESDAY would be September 30th and WEDNESDAY would be October 1st, etc.

There is one special command that is missing from the table. DATE is a tag that can be used depending on the context of the operation. DATE represents an ActiveBatch supplied or customer supplied date. We’ll talk more about the DATE command as we progress through this chapter.

8.1.2 Qualifiers Qualifiers perform the actual date arithmetic and computation. Zero or more qualifiers can be specified and the date arithmetic is performed from left to right eventually yielding a date. The date is substituted based on the date format. By default, dates are displayed as ddmmmyy. The following table displays supported qualifiers.

Qualifier Description

/±DAY=n Add or subtract days. If n is omitted, 1 is used.

/±WEEK=n Add or subtract weeks. If n is omitted, 1 is used.

/±MONTH=n Add or subtract month. If n is omitted, 1 is used.

/±QUARTER=n Add or subtract quarters. If n is omitted, 1 is used.

/±YEAR=n Add or subtract years. If n is omitted. 1 is used.

/±MONDAY=n Add or subtract Mondays (you can replace MONDAY with each day). If n is omitted, 1 is used.

/NEXT Move forward 1 unit (unit depends on current context)

/LAST Move backward 1 unit (unit depends on current context)

/SUPPRESS Suppress leading characters

/FORMAT=format-spec Produces date using date specification string.

Table 27 – Date Arithmetic Qualifiers

The qualifiers found in the above table add or subtract to the starting date to produce a new date that is then used in any additional calculations. For example, <BOM/-WEDNESDAY> means the last Wednesday of the previous month. You can also specify a value without a qualifier in which case “days” are assumed. For example, <TODAY/+5> means 5 days from the current date.

Page 353: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 8 - Date Arithmetic

351

Examples:

<BOY/+MONTH=5/-DAY/-MONDAY> would yield Memorial Day (US holiday).

<BOM/+MONDAY> would yield first Monday in month

<TODAY/+FRIDAY> would yield next Friday

Format Qualifier Description

/FORMAT=ddmmmyy Default date format

/FORMAT=dd Numeric day of month

/FORMAT=ddd Abbreviated day of week (e.g. Mon, Tue, etc)

/FORMAT=dddd Alphabetic day of week (e.g. Monday, Tuesday, etc)

/FORMAT=mm Numeric month number

/FORMAT=mmm Abbreviated alphabetic month (e.g. Jan, Feb, etc)

/FORMAT=mmmm Alphabetic month (e.g. January, February, etc)

/FORMAT=yy Two digit numeric year

/FORMAT=yyyy Four digit numeric year

/FORMAT=jjj Julian day of year (001-365 or 366)

/FORMAT=ww Week of year

/FORMAT=hh Hour (00-23)

/FORMAT=mi Minute (00-59)

/FORMAT=ss Second (00-59)

/FORMAT=cc Fraction of second (00-99)

Table 28 – Format Qualifier

You can also format a date with slashes (/) however the string must be quoted (i.e. /FORMAT=”mm/dd/yyyy”).

8.2 Custom Schedule Specification When Date Arithmetic is used as part of a custom schedule specification you can specify any valid Date Arithmetic tags except /FORMAT.

The Custom portion of a date specification in a Schedule consists of two parts: a calculated date and another calculated date in the event the first date falls on a non-business day. The calculated date is straightforward and consists of one or more Date Arithmetic tags. The second calculated date (if the first falls on a non-business day) supports an additional command: DATE. The command DATE represents the first calculated date. This allows a second date arithmetic specification to start with that date. For example, <DATE/-FRIDAY> means use the previous Friday from that date or <DATE/+TUESDAY> might mean use next Tuesday. You are under no obligation to use the DATE command. You can use any other command and qualifier set of tags.

The example above equates to the last Monday in May.

Page 354: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

352

8.3 Variables and Process/Script Input Parameters You can also use Date Arithmetic as part of your input command-line parameters (using the Parameters property). Simply specify the Date Arithmetic tags. When Date Arithmetic is used in this manner there are several other tags that can be specified.

8.4 Fiscal Calendar and User Date Tags The date tags specified in Table 29 allow you to perform date calculations on Gregorian dates. For business date calculations a fiscal date must typically be used. The Date Arithmetic facility allows you to create a calendar in which you can specify fiscal dates for a given year. For example, you can indicate begin and end dates for a month or quarter for a specific fiscal year.

Tag Description

/CALENDAR=file-specification A calendar file. The file specification is an Execution Machine accessible file representing a calendar.

/BOFY /EOFY Fiscal Beginning and End of Year (valid only when /CALENDAR is specified)

/BOFM /EOFM Fiscal Beginning and End of Month (valid only when /CALENDAR is specified)

/BOFQ /EOFQ Fiscal Beginning and End of Quarter (valid only when /CALENDAR is specified)

Table 29 – Calendar Date Arithmetic Tags

The calendar file is created using the Date Arithmetic GUI program (AbatDateAdmin). This program allows you to create a calendar file. A calendar file contains the above fiscal date tags as well as any other “user” date tags you decide to create. Each date tag can have zero or more date values associated with it. Finally, all date values are contained within a single fiscal year. This means that a valid calendar file should have date values for at least one (1) fiscal year. You can store multiple fiscal years within a single calendar file. AbatDateAdmin produces an XML file that in turn can be used to produce a binary image calendar file. The calendar file is used by the Date Arithmetic facility for fiscal date processing. This file can be downloaded onto one or more execution machines. You can generate as many calendar files, as you need.

You can also create your own date arithmetic tags. Naming rules are quite simple. You can’t name your tag so it conflicts with one of the built-in tags mentioned in this chapter. You can identify a date tag as having begin/end context. Using best practices, we recommend adding a B or an E to your date tag. So just as BOM means “beginning of month” you could create a date tag such as BSALES (beginning of sales period) and ESALES (end of sales period). There is no requirement that you create both sets of date tags. The following date tags are reserved for future use and cannot be specified: HOLIDAY, HOLIDAYS, BUSDAY, NONBUSDAY.

Page 355: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 8 - Date Arithmetic

353

8.5 Date Arithmetic Calendar Administration AbatDateAdmin is a Windows GUI program that is used to create Date Arithmetic calendar files for fiscal and user specified date tags. Remember that you don’t have to create a calendar file for simple Gregorian calendar date tags (and their values).

When AbatDateAdmin first runs, the following dialog is presented:

This simply allows you to quick way of either creating a new calendar file or opening an existing one.

8.5.1 Creating a Date Arithmetic Calendar To create a new calendar file, run AbatDateAdmin (from the ActiveBatch Program Group menu) and select “File\New”.

Figure 229 – Creating a new Date Arithmetic Calendar

The calendar needs to be named (a simply default name of NewAbatCalendar.xml is provided). You can also specify an optional description. When you initially create a calendar you will also be prompted to create a fiscal year. A fiscal year consists of the year value itself as well as the staring and ending day of the fiscal year.

Page 356: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

354

Figure 230 – Specifying a Fiscal Year

As you can see this dialog is divided into three (3) major areas (other than the top field that notes the fiscal year). You need to specify the beginning and ending dates for the fiscal year. By default, Gregorian calendar dates are used. The next second beneath the initial limits of the fiscal year are the Fiscal Quarter limits. The third section denotes each fiscal month.

Page 357: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 8 - Date Arithmetic

355

8.5.2 Assigning Dates to a Date Tag Once you’ve created an initial fiscal year you’ll see a window similar to this:

Figure 231 – Date Arithmetic Date Tagging

The calendar is set by default to the beginning month of the fiscal year. A dropdown above the calendar allows you to quickly choose different fiscal years within the calendar. The current month is shown with a Back and Next arrow allowing you to navigate to other fiscal months.

Page 358: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

356

Next, you will probably want to create Date Tags to associate business dates for possible date arithmetic use.

You have two (2) methods for adding a Date Tag. You can select Tag\Add Tag from the Menu bar or you can click on the ADD button in the Date Tag area. Either approach will produce the following dialog.

Figure 232 – Create Date Tag

In the above example, we’re creating a tag named “MON_RPT_RUN” which will represent a date each month that we need a certain report run. Click OK to create the Date Tag.

The figure above shows the tag in the date tag list. Next, you can associate dates with that tag. The easiest way of associating date(s) is to simply click on the calendar month and date that’s displayed. Each click adds your selected date. So if I want to add January 7 and 21 to the MON_RPT_RUN tag, I would click on 7 and 21. The date’s list would look like this:

Page 359: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 8 - Date Arithmetic

357

To manually enter dates against a date tag, you can use the edit box (next to the ADD button in the dates list) to enter a date..

Page 360: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

358

If you made a mistake, press the DELETE button on the keyboard and the last date value will be removed. Alternatively, you can select one or more dates or date tags and then right click to delete them.

Note: A date value can appear on multiple date tags. After all, January 1 could be the start of the fiscal year, month and quarter.

Once a date has been associated with a date tag the date changes color to light blue as a visual clue that the date has been associated.

8.5.3 Managing Date Tags Once you’ve assigned dates to the built-in fiscal date tags you may want to create your own date tags. Remember that a date tag simply refers to one or more dates. To create a date tag, click on the Menu bar under “Edit\User Date Tags”. You’ll see a dialog box that will allow you to name the date tag and specify a description for the tag. To create the tag, click on the Add button. For example, you can create a date tag named PAYROLL that is expected to be the dates when your company pays its employees. That date could be every other Friday except when a month has five weeks. When you specify PAYROLL as in <TODAY/PAYROLL> you mean the next payroll date. Another example might be to create two date tags: BMANURUN and EMANURUN. That means <BMANURUN> would refer to the beginning of the manufacturing run and <EMANURUN> would be the end of the manufacturing run dates. ActiveBatch best practices calls for a beginning type date tag to begin with the prefix B and an ending date tag to use the prefix E. You can create a date tag with no date values. Typically a date tag will have values and B/E prefix date tags would have the same number of date values. If you want to modify the date tag, for example, change its name or description, click on the Edit button and update the desired fields.

If you decide to delete a date tag, you would select the Delete button. You’ll receive a confirmation message box asking you to confirm the deletion.

8.5.4 Save, Save As and Compile Once you’ve created your calendar and applicable fiscal years you need to output the binary calendar file. The Save and Save As operations cause AbatDateAdmin to output an XML file. The XML file can be easily saved or subjected to source control tracking. The Compile operation causes AbatDateAdmin to output a binary calendar file. The binary calendar file is what is actually used by the Date Arithmetic system to perform it’s date calculations, not the XML file. By default, AbatDateAdmin will implicitly create a new binary calendar file whenever the Save or Save As commands are performed (in other words an implicit Compile is performed). This preference can be changed via the Options menu.

Once you create the binary calendar file, it is this file that can be shipped to other execution machines and used by Date Arithmetic utilities local to that platform.

8.5.5 Import This operation allows you to import an existing XML calendar file and use it’s contents.

8.5.6 Printable View This menu option allows you to print your calendar.

Page 361: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 8 - Date Arithmetic

359

8.6 Date Arithmetic COM Facility ActiveBatch Date Arithmetic also supports a programmatic COM interface. This allows COM accessible languages the ability to issue Date Arithmetic operations as part of their language. The library AbatComDateSub provides this ability. A single object named DateSub is provided. This object provides three (3) methods: GetDate, GetDateString and Reset.

GetDate – Compute Date Arithmetic Expression and return OLE date.

This method has the following usage syntax requirements:

GetDate (DateExp, [Date], [SimulatedDate]) as OutputDate

Where:

Input

DateExp (string) is a parameter representing a valid Date Arithmetic expression (i.e. <BOM>).

Date (date), if specified, is used to satisfy the <DATE> tag. If omitted, the <DATE> tag uses today’s value.

SimulatedDate (date) is an optional parameter that if specified can be used in place of today’s date. This means that the tag <TODAY> as well as any other tag will use this value for computation purposes. SimulatedDate is therefore useful when you want to see what other dates will generate for the specified tag(s).

Output

OutputDate (date) is the resultant computed date.

GetDateString – Compute Date Arithmetic Expression and return date as a string.

This method has the following usage syntax requirements:

GetDateString (DateExp, [Date], [SimulatedDate]) as OutputDateString

Where:

Input

DateExp (string) is a parameter representing a valid Date Arithmetic expression (i.e. <BOM>).

Date (date), if specified, is used to satisfy the <DATE> tag. If omitted, the <DATE> tag uses today’s value.

SimulatedDate (date) is an optional parameter that if specified can be used in place of today’s date. This means that the tag <TODAY> as well as any other tag will use this value for computation purposes. SimulatedDate is therefore useful when you want to see what other dates will generate for the specified tag(s).

Output

OutputDateString (string) is the resultant computed date.

Note: The only difference between the two (2) methods above is that the output date is either passed back as an OLE Date or a String.

Reset – Clear Memory Calendar Cache.

This method requires no arguments and is used to clear any cached calendar files that you may have specified through previous date expression tags. By default, Date Arithmetic caches any calendar files specified for improved performance. If you modify a calendar you should invoke this method to reset the cache.

Page 362: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

360

8.6.1 Date Arithmetic COM Example This sample Vbscript shows how simple it is to use the ActiveBatch Date Arithmetic COM facility. Dates are passed back in Date and String format. Remember that in the Date format the display obeys regional settings.

Option Explicit dim i,datesub, inputtag(18), outputdate, outputdatestr Set datesub =createobject("AbatComDateSub.DateSub") inputtag(1) = "<TODAY> " inputtag(2) = "<TOMORROW> " inputtag(3) = "<YESTERDAY>" inputtag(4) = "<BOM> " inputtag(5) = "<EOM> " inputtag(6) = "<BOW> " inputtag(7) = "<EOW> " inputtag(8) = "<BOY> " inputtag(9) = "<EOY> " inputtag(10) = "<BOQ> " inputtag(11) = "<EOQ> " inputtag(12) = "<MONDAY> " inputtag(13) = "<Tuesday> " inputtag(14) = "<Wednesday>" inputtag(15) = "<Thursday> " inputtag(16) = "<Friday> " inputtag(17) = "<Saturday> " inputtag(18) = "<SUNDAY> " for i = 1 to 18 outputdate = datesub.GetDate(inputtag(i)) outputdatestr = datesub.GetDateString(inputtag(i)) wscript.echo "the inputtag is : " & inputtag(i) wscript.echo vbtab & " the outputdate is: " & outputdate & " ... the outputdateString is: " & outputdatestr next wscript.echo "Done" The output of this script, run on Monday, January 17, 2005, would look like this: Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. the inputtag is : <TODAY> the outputdate is: 1/17/2005 ... the outputdateString is: 17Jan05 the inputtag is : <TOMORROW> the outputdate is: 1/18/2005 ... the outputdateString is: 18Jan05 the inputtag is : <YESTERDAY> the outputdate is: 1/16/2005 ... the outputdateString is: 16Jan05 the inputtag is : <BOM> the outputdate is: 1/1/2005 ... the outputdateString is: 01Jan05 the inputtag is : <EOM> the outputdate is: 1/31/2005 ... the outputdateString is: 31Jan05 the inputtag is : <BOW> the outputdate is: 1/17/2005 ... the outputdateString is: 17Jan05 the inputtag is : <EOW>

Page 363: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 8 - Date Arithmetic

361

the outputdate is: 1/23/2005 ... the outputdateString is: 23Jan05 the inputtag is : <BOY> the outputdate is: 1/1/2005 ... the outputdateString is: 01Jan05 the inputtag is : <EOY> the outputdate is: 12/31/2005 ... the outputdateString is: 31Dec05 the inputtag is : <BOQ> the outputdate is: 1/1/2005 ... the outputdateString is: 01Jan05 the inputtag is : <EOQ> the outputdate is: 3/31/2005 ... the outputdateString is: 31Mar05 the inputtag is : <MONDAY> the outputdate is: 1/17/2005 ... the outputdateString is: 17Jan05 the inputtag is : <Tuesday> the outputdate is: 1/18/2005 ... the outputdateString is: 18Jan05 the inputtag is : <Wednesday> the outputdate is: 1/19/2005 ... the outputdateString is: 19Jan05 the inputtag is : <Thursday> the outputdate is: 1/20/2005 ... the outputdateString is: 20Jan05 the inputtag is : <Friday> the outputdate is: 1/21/2005 ... the outputdateString is: 21Jan05 the inputtag is : <Saturday> the outputdate is: 1/22/2005 ... the outputdateString is: 22Jan05 the inputtag is : <SUNDAY> the outputdate is: 1/23/2005 ... the outputdateString is: 23Jan05 Done The differences between the Date and String formats become obvious. The Date format obeys regional settings when displayed and the String format uses the ActiveBatch default. We could reformat the date using the /FORMAT qualifier as a modifier on the date tags. As you can also see the tags are case-insensitive.

Page 364: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

362

8.7 Date Arithmetic Test Utility ABATDATETEST is a stand-alone program that allows you to enter a date arithmetic specification followed by a range of dates that will be considered as “Today” for the purposes of testing the expression. The test utility provides the ability for you to see the results of your date arithmetic expression and ensure that it meets your expectations.

Figure 233 – Date Arithmetic Test Utility

Expression to Test: You enter the date arithmetic tag expression that you would like evaluated. Any other data entered is ignored and will be present in the test output column. This control allows you to see the last “n” occurrences of date tag expressions entered. A Clear List button to the right allows you to clear the currently entered expression.

Interval: This value indicates the number of days to use when testing the expression between the From and To dates. By default, the value is one (1) day. If the value exceeds the total range of possible dates, an error is produced.

From/To Dates: These fields allow you to test your expression across a range of dates. That way you can determine whether the date expression meets your needs. By default, the current full month is selected. To specify a single day, set From and To to the same value.

Table of Results: This table contains two (2) columns. The test date and the resulting output from the expression. A Clear button appears at the bottom left edge of the table. This allows you to manually clear the results table. By default, the results table is cleared for each expression test. Two (2) options are available: Do not clear before each expression… and Do not compact results. A Clear results is also available for manual clearing. By default, if the same result is produced for all given input dates, AbatDateTest will compact the results into a beginning and ending date entry.

Page 365: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 8 - Date Arithmetic

363

8.8 Stand-alone Date Arithmetic Substitution Utility You can invoke Date Arithmetic as part of a stand-alone utility named ABATDATESUB. ABATDATESUB is meant to be used on a source file that contains Date Arithmetic tags and produces an output file with the actual computed dates substituted as appropriate.

ABATDATESUB supports all of the Date Arithmetic tags mentioned in Chapter 8. The syntax for the ABATDATESUB utility is:

ABATDATESUB input-file-spec output-file-spec [-d date] [-s simulate-date]

Where:

Input-file-spec is a valid file specification representing an input ASCII file that contains Date Arithmetic tags (if no tags are found the output file will be identical to the source input file).

Output-file-spec is a valid file specification representing an output file that will be created. Any Date Arithmetic tags found in the input-file will be substituted in the output file.

-d date is an optional parameter. If specified, the format must be DDMMMYYYY. This date will be used to populate the DATE tag. Please note that TODAY will always be the system date and that only the DATE tag is populated with this value. If this value is omitted and the DATE tag specified, the system date is used.

-s simulate-date is an optional parameter. If specified, the format must be DDMMMYYYY. This date will be used to represent TODAY in all date tag operations. If omitted, TODAY is populated from the system date. This parameter is useful when you want to test date processing for dates other than the system date.

ABATDATESUB also supports a Date Substitution file. This ASCII file has the following format:

<USER-TAG> <DATE-TAG>

User-Tag is a user created tag (that cannot conflict with an existing Date Arithmetic tag) and when found in a source file will cause the Date-Tag contents to be inserted in its place. For example,

<CHRISTMAS-DAY> <BOY/+MONTH=11/+DAY=24>

means that when the tag <CHRISTMAS-DAY> is found, the resulting Date Arithmetic tags will be used. A Date Substitution file allows you to embed more meaningful and self-descriptive tags for your application. The environment variable ABATDATESUB_ALIAS represents the file specification of the date substitution file.

Page 366: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6
Page 367: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

365

9 USING THE ACTIVEBATCH COMMAND-LINE

INTERFACE

This manual concerns the use of ActiveBatch and the ABATAdmin program. This section describes the set of commands available through the console interface. Console commands are useful in that you can always issue these commands regardless of scripting language capability. The console command interface doesn’t provide access to the entire set of ActiveBatch capability. For programmatic access you are encouraged to read the ActiveBatch Developer’s Guide and the use of Microsoft COM automation with ActiveBatch.

The commands that follow are divided into two categories: Queue and Job. Queue commands create and otherwise manage the batch queue system itself. Job commands are those necessary for submitting a job to a queue for background execution and also for managing those jobs within the batch system.

The commands that follow require the verb ABAT to execute in a CMD console. If you have XLNT (Version 3 or later) installed you don’t need to preface the command. For example:

ABAT SUBMIT job-name /QUEUE=test-queue

This command would be invoked within the CMD console subsystem. If you are using ActiveBatch with XLNT you can invoke the commands below just as you would other XLNT commands. For example, the same command above would be:

$ SUBMIT job-name /QUEUE=test-queue

Note: The /ON qualifier can be used to direct requests to any licensed and active ActiveBatch Job Scheduler. The /ON qualifier also supports the specification of TCP/IP fully qualified hostnames as well as IP addresses.

The command qualifiers (with some minor exceptions) use the Queue and Job Policies to establish defaults.

Page 368: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

366

9.1 Conventions Certain commands and qualifiers accept date and time values. You can specify these values in one of the following formats:

9.1.1 Absolute Time An absolute time is a specific date or time of day. The format for an absolute time is as follows:

“[dd-mmm-yyyy][:hh:mm:ss]”

The fields are:

dd Day of month (range from 1 to 31, depending on month) mmm Month (JAN...DEC) yyyy Year hh Hour (range from 0 to 23) mm Minute (range from 0 to 59) ss Second (range from 0 to 59)

The following rules apply to an absolute time:

• You can truncate the date or the time from the right.

• The date must contain at least one hyphen.

• You can omit any of the fields (other than month if a date is specified) as long as you include the punctuation marks that separate the fields.

• A truncated or omitted date field defaults to the corresponding fields for the current date.

• A truncated or omitted time field defaults to zero.

Example:

1-DEC-1997 Midnight, December 1, 1997. 15-DEC-1997:13:00 1:00 PM, December 15, 1997 20-DEC::30 12:30 AM, December 20, 1997 16:30 4:30 PM today

9.1.2 Delta Time A delta time is an offset from the current date and time to a future time. The format of a delta time is:

“+[dddd-][hh:mm:ss]”

The fields are as follows:

dddd Number of days (range from 0 to 9999) hh Hours (range from 0 to 23) mm Minutes (range from 0 to 59) ss Seconds (range from 0 to 59)

Page 369: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

367

The following rules apply to a delta time:

• You must specify a plus (+) sign.

• You can truncate a delta time on the right.

• If you specify the number of days, include a hyphen

• You can omit fields within the time as long as you include the punctuation that separates the fields.

• If you omit the time field, the default is zero.

Examples:

“+5-“ 5 days from now “+3” 3 hours from now “+:30” 30 minutes from now

Page 370: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

368

9.1.3 Combination Time To combine absolute and delta times, specify an absolute time followed by a delta time.

“[absolute time][+delta time]”

“[absolute time][-delta time]”

The following rules apply:

• Precede the delta time value by a plus sign for future time or a minus sign for past time.

• Enclose the entire specification in quotation marks if a plus or minus sign precedes the delta time value.

• Omit the absolute time value if you want to offset the delta time from the current date and time.

• Remember that the rules for absolute and delta time values still apply.

You can also specify TODAY, TOMORROW or YESTERDAY (the time is always midnight (00:00:00.000)) as well as MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY or SUNDAY (which calculate a forward date to the next day/date, the time is always midnight).

Examples: “+5” 5 hours from now. “-1” Current time minus 1 hour. (Note that the 1 is interpreted as an hour and not a day because it is not followed by a

hyphen.) “-3-“ Current time minus 3 days. (Note the hyphen.) “+:5” 5 minutes from now. “-:5” Current time minus 5 minutes.

Page 371: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

369

9.2 ABATAVLMGR This command allows you to control the high-availability features of ActiveBatch’s Job Scheduler system. These features are only available if licensed and enabled.

With abatavlmgr you can designate preference order in terms of active and standby Job Scheduler machines, failover a Job Scheduler manually, stop a Job Scheduler service and also list the active set of Job Scheduler machines.

Format:

ABATAVLMGR command [qualifiers]

Parameters:

command

This required argument specifies the action to be performed. Valid commands are: ABORT, ACTIVE, CONFIG, FAILOVER, LIST, START and STOP.

Qualifiers:

-d connect_str

This qualifier is required for all commands except START and STOP. This qualifier indicates the connection string information or ODBC system DSN to use to access the ActiveBatch database.

-p password

This optional qualifier indicates the password for a –u qualifier. This qualifier may be required if your database access uses database rather than Windows authentication.

-u username

This optional qualifier indicates the username that abatavlmgr should use when accessing the database. This qualifier and –password may be required if your database access requires Database rather than Windows authentication.

Example:

Abatavlmgr list –d abatdemo

This command lists the status of the Job Scheduler failover set for the database accessed through DSN abatdemo.

Page 372: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

370

9.3 ABATCHKPT This command allows you to either associate persistent data with a job instance for the purposes of possible restart/checkpoint or you can send progress information as to where a job may currently be executing.

Format:

ABATCHKPT data

Parameters:

data

This mandatory parameter contains the information to either be checkpointed as persistent data or the progress information as to where a job is currently executing.

Example:

Abatchkpt “Test 1 of 15”

Page 373: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

371

9.4 ABATDATESUB This command allows you to perform date arithmetic and substitution from a base source file that contains date arithmetic tags and creates an output file with the computed dates in place of the tags.

Format:

ABATDATESUB source-file output-file [date]

Parameters:

Source-file

This mandatory parameter indicates the file specification of the input source file. This file should contain date arithmetic tags (although it is not a requirement).

Output-file

This mandatory parameter indicates the output file specification. This file will contain the computed dates in place of the tags.

Date

When specified, this optional parameter, will be used to load the <DATE> tag. The format of this parameter is DDMMMYYYY. If this parameter is omitted, today’s date is used.

Example:

Abatdatesub c:\template.dat c:\output.dat

Page 374: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

372

9.5 ABATDBPWD This command allows you to create, update or remove an encrypted DB Password associated with an ActiveBatch database. During the product installation you were given an opportunity to indicate what type of authentication you supported for access to the ActiveBatch database. For database authentication you needed to specify a user account and a password. This utility command allows you to change the encrypted version of that password. This may be necessary if you have to change the password associated with the user account.

Format:

ABATDBPWD [password]

Parameter:

password

This optional argument specifies the password to be encrypted. If it is omitted, the utility will prompt twice (with echo disabled) for a new password. If you specify a NULL argument (i.e. “”), the password registry item is deleted. This is what you would do if you decided to have an account with no password (i.e. password is blank).

Example:

abatdbpwd password

This command encrypts the word “password” and stores that encrypted form in the ActiveBatch Job Scheduler registry.

Page 375: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

373

9.6 ABATEXECSQL This command allows you to execute streams of SQL statements.

Format:

ABATEXECSQL connect-str script.sql [username] [password] [-s]

Parameter:

connect-str

This required parameter provides either a connection string or a data source name (DSN) to use to access the database.

script.sql

This required parameter indicates the file specification containing the SQL statements.

username

This optional argument specifies the username to be used when accessing the database. By default, Windows authentication is assumed and the current logon security credentials are used. If your database uses the native authentication scheme you will want to specify a username and password.

password

This optional argument specifies the password to be used in conjunction with the specified username.

Qualifiers:

-s

This optional qualifier enables silent mode operation. Silent mode disables all message logging (including errors).

Remarks:

While you can specify a DSN, you may see a performance penalty since a new layer (ADO) has been introduced to support the connection-string method of attaching to a database. To avoid this penalty, we recommend that you use the connection-string method instead of a DSN. This causes ADO to use OLE/DB instead of ODBC.

Example:

Abatexecsql “file name=activebatch.udl” c:\test.sql

This command executes a series of SQL statements contained in the file “c:\test.sql”. The Microsoft DataLink file, ActiveBatch.udl, contains the server, database and authentication information necessary to successfully connect to the database. Note: Microsoft Data Link requires that the UDL file be Unicode.

abatexecsql abattest c:\test.sql

This command executes a series of SQL statements contained in the file “c:\test.sql” and applies those commands to the database as denoted by its DSN “abattest”.

Page 376: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

374

9.7 abatpty This command, for UNIX-based machines only, allows you to execute a program that requires a tty.

Format:

abatpty [-d driver] [-einv] program-specification [arguments,..]

Parameter:

program-specification

This required parameter specifies the location of the program that is to be executed under the newly created ptty device.

Qualifiers:

–d driver

This optional qualifier indicates what driver is to be used for stdin/stdout.

–e

This optional qualifier indicates noecho for slave pty.

–n

This optional qualifier indicates not interactive

–i

This optional qualifier indicates that EOF is to be ignored on standard input.

–v

This optional qualifier indicates verbose (for abatpty debugging).

Usage and Remarks:

This command is useful when a program requires a tty (or in this case a “ptty”) for proper operation. To use this program with an ActiveBatch job, place “abatpty” in the script filename portion of a Process type job and then place any abatpty qualifiers, your program specification and any arguments in the parameters field of the job. If you’re uncertain as to what abatpty qualifiers are to be used you should typically specify “–i”.

This program was adapted from a UNIX freeware program named “pty”.

Example:

abatpty –i sample

This command executes the program “sample” under a newly created ptty.

Page 377: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

375

9.8 ABATRPTGEN (Direct Database Method) This command allows you to generate ActiveBatch reports from pre-existing Report Definition files using ODBC/OLE-DB access (highly recommended).

Format:

ABATRPTGEN -r ReportFile –o OutputFile –d OdbcConnect [ -t OutputType]

Qualifiers:

-c ReportFile

This qualifier may be used to convert Report definition files (.ABR) from a prior version.

-r ReportFile

This required qualifier provides the Report definition file (.ABR) specification.

-o OutputFile

This required qualifier provides the output file specification of the report file itself.

-d OdbcConnect

This required qualifier provides the connection information for ODBC to connect to your selected database. (See Section 7.4.1 and the comment concerning ODBC Connection String)

-t OutputType

This optional qualifier indicates the type of report file produced. By default, HTML is used. You can also specify CSV or XML.

Example:

abatrptgen -r “c:\program files\asci\activebatch\reports\SampleReport.abr” -o SampleReport.html

-d “Driver=SQL Server;Server=ENGSERVER1;Database=ASCIABAT”

This convenient command not only generates report files but can also generate a CSV file which can be used to import the report data into a variety of other third-party tools. AbatRptGen can also generate an XML file for simplified parsing and data formatting.

Page 378: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

376

9.9 ABATRPTGEN (COM Method) This command allows you to generate ActiveBatch reports from pre-existing Report Definition files using the COM method. This method is only recommended if you want to generate a report concerning future activity.

Format:

ABATRPTGEN -r ReportFile –o OutputFile –j JSSMachine [-u Username] [p Password] [ -t OutputType]

Qualifiers:

-r ReportFile

This required qualifier provides the Report definition file (.ABR) specification.

-o OutputFile

This required qualifier provides the output file specification of the report file itself.

-j JSSMachine

This required qualifier provides the Job Scheduler machine name (or IP address) for connection through ActiveBatch COM.

-u Username

This optional qualifier allows you to specify an alternative username for COM security purposes when connecting to the Job Scheduler. By default, your logon credentials are used.

-p Password

This optional qualifier (typically used in conjunction with –u above) allows you to specify a password for the username specified with the –u qualifier.

-t OutputType

This optional qualifier indicates the type of report file produced. By default, HTML is used. You can also specify CSV or XML.

Example:

abatrptgen -r “c:\program files\asci\activebatch\reports\SampleReport.abr” -o SampleReport.html

-j ASCI52

Page 379: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

377

9.10 ABATSET

This command allows a job to pass parameters and/or variables (and their values) to jobs that will be triggered through the Completion Trigger facility. The Completion Trigger facility (previously known as Batch Start) allows you to establish jobs that are triggered for execution based on whether the job completes successfully or in failure.

Format:

ABATSET [/current] [/success | /failure] [/param parameter-list] [/env var=value,…] [/var var=value,…]

Qualifiers:

/current

If specified, the job’s current parameters and environment variables are passed to the Completion triggered jobs. /param, /env and /var qualifiers are ignored if specified.

/success | /failure

If specified, the respective qualifier indicates which Completion Trigger list should be used for the parameters and/or variables. For example, if /success is specified, then the parameters/variables specified are used for Completion Trigger Success processing. If neither /success or /failure are specified then both Completion Trigger lists are used. Please note that if you need to specify different parameters/variables for both lists you will need to specify two (2) separate abatset commands. In addition, please note that modifications to plan variables are applied immediately and not subject to the success or failure qualifiers.

/param

This optional qualifier indicates the parameters that you would like to pass to the Completion Triggered jobs. Each parameter is delimited by a space. If you need to pass an embedded space then the shell rules for your Operating System apply (for example, “ “, or \”).

/env var=value …

/var var=value …

This optional qualifier indicates the variables and their values that should be passed. “var” indicates the environment variable and “val” indicates the value. If the value contains an embedded space then the shell rules for your Operating System apply. If the environment variable as specified is already a part of the job’s environment variables, then the new value is replaced. If the environment variable isn’t a part of the job’s environment, then both the environment variable and its associated value are inserted. To access an upstream variable (as might exist in a Plan) use ../ (dot, dot, forward slash) syntax. For example, /env ../plan_var=test would access the variable plan_var in the upstream plan.

Page 380: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

378

9.11 ABATUPDPWD This command allows you to maintain your stored user accounts on Microsoft Windows systems. Stored user accounts and passwords are those in which the “Save/Remember Password” checkbox has been enabled. This checkbox is presented whenever security credentials are required and allow the convenience of saving a user account and password rather than having to re-enter the data. This is similar to saving passwords when using a web browser. AbatUpdPwd allows you to otherwise maintain (add, replace, delete, list) those stored user accounts. Please note that you can only access these stored accounts that are associated with your current Windows security credentials. In other words, User A cannot access User B’s stored accounts.

Format:

ABATUPDPWD password [user-account] [machine-queue] [/ADD | /REPLACE]

ABATUPDPWD user-account [machine-queue] /DELETE

ABATUPDPWD /DELETEALL

ABATUPDPWD /LIST

Qualifiers:

machine-queue

This parameter further qualifies the user-account parameter since two or more machines may have the same user-account but different passwords (in which case they are really different accounts). If the user-account is a domain account then a domain should be specified in this parameter. If the user-account is specific for a given machine then the machine name should be specified here. Rather than specify a machine you can specify an ActiveBatch queue name that is to provide context in distinguish similar usernames that actually represent different accounts for different machines. Typically the queue would be a generic queue since the machine associated with an execution queue would avoid any username ambiguity.

password

This parameter, if specified, is the password to be associated with a user-account. If omitted, the program will prompt twice, with echo disabled, to confirm the new password.

user-account

This parameter indicates the user-account that is to be stored or deleted. The user account is entered using the same syntax that would be specified and is acceptable on the target machine it is expected to be used on. For Windows machines, domain\user or machine\user is typically specified. For other platforms, the username would be specified.

Example:

Abatupdpwd newpassword sample\user

This command updates the user account (sample\user) with a new password.

Page 381: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

379

9.12 ABAT Commands

9.12.1 CLOSE/QUEUE

The CLOSE/QUEUE command prevents further job submission. Format:

CLOSE/QUEUE queue-name

Parameter:

queue-name

This required parameter indicates the specific queue that is to be closed.

Qualifiers: /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: CLOSE/QUEUE TESTQUEUE This example closes a queue named TESTQUEUE and prevents further job submission to the queue.

Page 382: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

380

9.12.2 DELETE/JOB

The DELETE/JOB command aborts or deletes a specific job or plan, or in the case of a job/plan definition, the definition and its instances can be aborted or deleted. Format:

DELETE/JOB=job-entry-id/qualifiers

Qualifiers:

/INSTANCE This qualifier will abort the executing copy of a scheduled job. A template job will remain eligible for re-execution at a later time. This qualifier is ignored if /PERMANENT is specified. /JOB=job-entry-id This required qualifier indicates the specific job entry via its unique entry identification that is to be aborted/deleted. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /PATH=path This qualifier allows you to lookup a specific object using the object’s path (for example, “/Testjob” would refer to the object labeled ‘TestJob’). /PERMANENT This qualifier, if specified, indicates that the job is to be deleted. By default, job(s) are aborted and a job's history can be viewed in the Runbook.

Example: $ DELETE/JOB=5/ON=NTSERVER1 This example aborts a job with the job id of 5 on the Job Scheduler machine NTSERVER1.

Page 383: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

381

9.12.3 DELETE/QUEUE

The DELETE/QUEUE command deletes a named queue. Format:

DELETE/QUEUE/qualifiers queue-name

Parameter:

queue-name The name of the queue which is to be deleted. ActiveBatch requires that no jobs be present on the queue (otherwise you should use the /FLUSH qualifier).

Qualifiers: /FLUSH This qualifier indicates that any jobs which are held or pending are to be deleted prior to deleting the queue itself. By default, pending jobs are not deleted. A queue cannot be deleted with pending jobs. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: $ DELETE/QUEUE TESTQUEUE /FLUSH This example deletes a queue named TESTQUEUE and the /FLUSH Qualifier deletes any jobs which are held or pending.

Page 384: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

382

9.12.4 FLUSH/QUEUE

This command will delete all jobs on a specified queue. Jobs can also be deleted by job state and/or be specifying the user’s username. Format:

FLUSH/QUEUE/qualifiers queue-name Parameter:

queue-name The name of the queue on which the flush operation is to be performed.

Qualifiers: /BY_JOB_STATUS=(ABORTING | EXECUTING | PENDING | TIMED_RELEASE | HOLDING | COMPLETED) This qualifier indicates which jobs by “job state” are to be deleted. By default, all jobs are deleted. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /USERNAME=username This qualifier allows the search of jobs to be narrowed to a specific username. By default, the search is not narrowed to a specific user.

Example: $ FLUSH/QUEUE TESTQUEUE This example will delete all jobs that are in the queue named TESTQUEUE.

Page 385: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

383

9.12.5 HOLD

This command will hold a job or plan definition. In other words, the state of the object is changed to “Hold” (or Disabled). Format:

HOLD/JOB=job-entry-id/qualifiers Qualifiers:

/JOB=job-entry-id This required qualifier indicates the specific job entry via its unique entry identification is to be set to “Hold” status. Please note that an active executing job cannot have its state changed via this command. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /PATH=path This qualifier allows you to lookup a specific job using the object’s path (for example, “/Testjob” would refer to the object labeled ‘TestJob’).

Example: $ HOLD/JOB=5/ON=NTSERVER1 This example will hold a pending or completed job with an entry id of 5 on Job Scheduler machine NTSERVER1.

Page 386: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

384

9.12.6 INITIALIZE Queue

This command is used to create or initialize a new queue within the ActiveBatch system. Format:

INITIALIZE/QUEUE/qualifiers queue-name Parameter:

queue-name This required parameter represents a unique name for a batch queue.

Qualifiers: /BASE_PRIORITY=(IDLE | BELOWNORMAL | NORMAL | ABOVENORMAL | HIGH |REALTIME | number) This qualifier represents the operating system scheduling priority assigned to the batch process at job startup. For non-Windows 2000/NT machines, a priority number would be used. /CLOSE This qualifier indicates whether the initial state of the queue should be to allow job submissions. If /CLOSE is specified, job submissions will not be allowed. By default, the initial queue state is OPEN. /CLOSE and /OPEN are mutually exclusive. /CLOSE_TIME=(hh:mm-hh:mm) This qualifier indicates the time of day that the queue is to remain closed. During the remaining portion the queue is open. The time specifier hh:mm represents a 24-hour time. The time range indicates the starting and ending closing time. /DENY=(account:access…,…) This qualifier is used to deny an account access that the account may also obtain through a group. account refers to the WinNT account name (or group) and access refers to one or more of the following keywords: EXECUTIVE, MANAGE and USER. To specify more than one level of access to be denied, separate each access with a colon. Multiple accounts may be specified by delimiting each account/access string with a comma. /DESCRIPTION=”string” This qualifier allows a short description to be assigned and stored with the created queue. /[NO]EVENT_LOG=keyword | \\machine This qualifier indicates whether the Windows 2000/NT Event Log should be used for start and stop batch job messages and, if so, which machine’s event log should be used. Available keywords are: Client, JobScheduler and ExecutionMachine. You may also specify a specific machine by prefacing the machine name with a \\ (2 backslashes) notation. To avoid using the Event Log specify /NOEVENT_LOG. /EXEC_ON=machine-name For an execution queue, this qualifier indicates the machine that submitted jobs are to be executed on. /GENERIC=(ExecQueue1, ExecQueue2,…. ExecQueueN) This qualifier indicates that the queue to be created is a generic queue. A generic queue points to one or more execution queues. The values specified with this qualifier are the actual execution queue names. If this qualifier is omitted, the queue is assumed to be an execution type queue. /GRANT=(account:access,…) This qualifier is used to associate security permissions to the queue that is to be created. By default, the owner and Administrator are given full access to the queue and the all other users are given Submit level access (this default can be changed with the SET BATCH command). To associate different permissions for this queue, you may specify one or more accounts and the level of access each account (or group) may have with this queue. Access is specified using one or more of the following keywords:

FULL Complete access EXECUTIVE Give/Take Ownership MANAGE Ability to issue queue management commands USER Ability to SUBMIT jobs

Each keyword specified must be separated by a colon. Multiple accounts are separated by a comma. /HOLD_ON_ERROR This qualifier is used to establish a default for jobs which are submitted on this queue. When enabled, the job will be automatically placed in a Hold state if the job completes on error. /JOB_LIMIT=number This qualifier, valid for execution queues, indicates the number of simultaneous jobs that may be executed for this execution queue. The valid range is 1 through 10. By default, one is assumed.

Page 387: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

385

/JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /OPEN This qualifier indicates that the queue is available for job submissions. By default, the /OPEN qualifier is assumed. /PRIORITY=number This qualifier indicates the default queue priority to be used when submitting a job to a queue and a priority is not specified as part of job submission. This qualifier should not be mistaken as the scheduling priority of the job (see /BASE_PRIORITY). The valid range is 1 through 99. The default is 10. /REMOVE=(account,…) This qualifier removes the specified accounts permissions. More than one account may be specified separated by a comma. /SCHEDULING = (SEQUENTIAL | ROUND-ROBIN | BALANCED) This qualifier indicates the scheduling algorithm which will be used for a Generic queue. Sequential means that jobs are submitted to the first Execution Queue listed until that queue is executing its maximum job limit. Round-Robin means that each queue, in turn, is given a job to execute until its job limits are met. Balanced indicates that a workload balancing approach be used which determines the best machine to run on based on CPU, memory and other parameters. /[NO]START This qualifier indicates the initial queue state after becoming initialized. /START (default) indicates that any pending jobs which are eligible to become executable should be started. /NOSTART indicates that the jobs should not be started for execution. Please note that OPEN and CLOSE qualifiers deal with the ability to submit jobs to a queue while START and NOSTART deal with the ability to execute those eligible jobs. /STOP_TIME=(hh:mm-hh:mm) This qualifier indicates the time of day that the queue is to remain stopped. During the remaining portion the queue is started. The time hh:mm represents a 24-hour time. The time range indicates the starting and ending stopped time. /USER_CHAR=(char:datatype:value,…) This qualifier is used to associate user characteristics with an Execution Queue. Char indicates a user characteristic name. This name is free form but cannot contain spaces. Datatype is either String or Numeric. Value is a string or numeric value based on the characteristic datatype. You may specify multiple characteristics by separating each with a comma. /WORKING_FOLDER=device-directory-spec This qualifier indicates the default working directory for jobs submitted to this queue in which a directory has not been specified.

Example: $ INITALIZE/QUEUE TESTQUEUE /DESCRIPTION="A Test Queue" This example creates a queue called TESTQUEUE with a description of "A Test Queue".

Page 388: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

386

9.12.7 MODIFY/JOB

This command is used to modify a job’s characteristics on queue. Format:

MODIFY/JOB=job-entry-id/qualifiers Qualifiers:

/[NO]ACTIVEBATCH_EVENT This qualifier indicates whether the job can accept an ActiveBatch TRIGGER command. The default is that a job can accept the command. /[NO]ACCOBJ=user-account-name This qualifier indicates whether a user account name object is being referenced for security (username, password) information. Negating this qualifier indicates the object’s reference is to be removed from this job. User account name objects are highly recommended for security purposes instead of using embedded security credentials within the job. /AFTER=combination-time This qualifier is used to defer a job so that the job will be executed at some future time. The time specified is any valid combination time (including keywords TODAY and TOMORROW). If /AFTER is specified without a combination time specified the keyword TODAY is assumed. By default, job execution is assumed to be immediate. /BASE_PRIORITY=(LOW | BELOWNORMAL | NORMAL | ABOVENORMAL | HIGH | REALTIME | number) This qualifier represents the operating system scheduling priority assigned to the batch job. For Windows 2000/NT machines the keywords above are used. For non-Windows machines, a priority number must be specified. By default, the base priority is taken from the queue’s characteristics. /CALENDAR=calendar-name This qualifier associates a business calendar with the job. This allows a job to be scheduled only on working days. /CATEGORY=”string” This qualifier indicates the user category or other string value that will be kept with the job. /CONTACT=(delivery:target[:time],…) This qualifier is used to denote contact information for those machines/users that are to be notified when a job starts or completes execution. Delivery represents one of two keywords which indicate how the notification is to be occur. MAIL or MESSENGER are valid delivery keywords. Target represents either a machine name, if the delivery is MESSENGER, or a valid e-mail address if the delivery is MAIL. Time indicates either a START or FINISH job time criteria that is used to indicate when the notification is to be sent. If “time” is omitted, then FINISH is assumed. You may specify more than one contact by separating each contact specification with a comma. /DENY=(account:access,…) This qualifier is used to deny an account access that the account may also obtain through a group. account refers to the WinNT account name (or group) and access refers to one or more of the following keywords: READ, WRITE, DELETE, EXECUTE, TAKEOWNERSHIP, TRIGGER, TRIGGERPARAM and TRIGGERQUEUE. To specify more than one level of access to be denied, separate each access with a colon. Multiple accounts may be specified by delimiting each account/access string with a comma.

Page 389: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

387

/DESCRIPTION=”string” This qualifier is used to set the pending job’s description specified at job submission time. /DOCUMENTATION=”string” This qualifier is used to associate a documentation reference with the job. /EVERY=(MINUTE=mm,… , HOUR=hh,… , WEEKDAY=ddd,… , DAY=dd,… , MONTH=mm,…) Note: This qualifier while supported is obsolete and has been superceded by the /SCHEDULE qualifier. This qualifier indicates that a rescheduled job entry is to be created. By default, if all keywords are omitted, a job entry is created that will execute at midnight each day. Valid keywords are as follows. Specification of multiple values or multiple keywords is supported through the use of comma delimitation.

MINUTE valid range of 0 through 59. Default is 0. HOUR valid range of 0 through 23. Default is 0. WEEKDAY acceptable values are SUN, MON, TUE, WED, THU, FRI, SAT. DAY valid range of 1 through 31. A day which is specified as greater than the number of days in the

month denotes the last day of the month. Default is every day of a month. MONTH valid range of 1 through 12. Default is every month.

The EVERY and INTERVAL qualifiers are mutually exclusive. When a DAY is specified that exceeds the actual number of days in the month, ActiveBatch will assume that the last day of the month is to be selected. If multiple DAYs are specified which exceed the actual number of days in the month, the job will be scheduled once on the last day of the month. /[NO]FAILURESTART=(job-id,…) This qualifier indicates one or more jobs to trigger if the job completes in failure. One or more job-id’s are entered in a comma delimited format. /NOFAILURESTART removes all failure job triggers. /GRANT=(account:access,…) This qualifier is used to associate security permissions to the job that is to be created. To associate permissions for this job, you may specify one or more accounts and the level of access each account (or group) may have. Access is specified using one or more of the following keywords:

READ Read access WRITE Read and Write access DELETE Delete access TAKEOWNERSHIP Take Ownership TRIGGER Trigger access TRIGGERQUEUE Trigger with Queue change access TRIGGERPARAM Trigger with Parameters change EXECUTIVE Security/Take Ownership FULL Complete access

Each keyword specified must be separated by a colon. Multiple accounts are separated by a comma. /GROUP=name This qualifier indicates the group name for this job. A group name may be used to group related jobs and perform group operations.

Page 390: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

388

/[NO]HOLD[=(SUBMIT, ERROR, COMPLETION)] This qualifier is used to set the “Hold” state. The SUBMIT keyword (the default if only /HOLD is specified) indicates the job is to enter a “Hold” state immediately upon a successful submission. The COMPLETED keyword indicates the job is to enter a “Hold” state upon job completion. One or both keywords may be specified. /IFACTIVE=(keyword | WAIT[:time]) This qualifier indicates whether more than one instance of a scheduled job can execute. Possible keywords are: SKIP, MULTIPLE and WAIT. SKIP indicates that the scheduled instance should be skipped if an instance is already executing. MULTIPLE indicates that more than one instance of the job can run. WAIT indicates that the job should wait. You may optionally indicate how long to wait before skipping the job. SKIP is the default. /IMMEDIATE This qualifier when used with the /SCHEDULE qualifier indicates that the job is to run immediately. /INTERVAL=delta-time This qualifier indicates that a rescheduled job entry should be created. A valid delta time can be specified with the exclusion of the TODAY and YESTERDAY keywords. The delta-time specification allows for a self-relative time specification in days, hours, minutes and seconds which are added to the last submission time of the job. EVERY and INTERVAL qualifiers are mutually exclusive. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LABEL=label This qualifier is used to set the job’s object label. The label portion of an object is used to scripting purposes to uniquely identify the object. If this qualifier is omitted, ActiveBatch will create a unique label using a portion of the job’s name. /LOG This qualifier is used to display a message when the operation is successful. /[NO[MANAGE_LOGFILES This qualifier is used to indicate whether ActiveBatch is to centrally manage the job’s log files. If enabled, the location and name of the job’s log files are specified by ActiveBatch (you can programmatically obtain the names). If disabled, you retain the ability to locate and name the log files. /[NO]MAX_RESTARTS=n This qualifier is used to specify the maximum number of restarts the job may undergo. /NOMAX_RESTARTS means an unlimited number and a value specified means the job will be limited to that number of restarts. Please note that this value is applicable until the job completes. /NAME=jobname This qualifier is used to set the name of the submitted job. By default , the job name is set to that of the filename portion of the job file specification.

Page 391: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

389

/[NO]NOTIFY[=username] This qualifier is used to indicate that the user submitting the job wants to be notified when the job completes. If a value is set with the NOTIFY qualifier that value is a username specification. By default, NONOTIFY is assumed. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /[NO]OUTPUT[=file-specification] This qualifier is used to indicate whether a log file is to be created with the batch job and if so the specification of that log file. /NOOUTPUT means that a log file isn’t to be created. By default, a batch log file is produced in the current directory of the created job. The default batch log file specification is the job-file-specification with a .LOG extension. When /INTERVAL or /EVERY or /SCHEDULE is specified, the following additional information is automatically appended to the output log filename: _mmdddyyyy_hhmmss. This helps keep each individual log file separate and distinct as a batch job is rescheduled. Note: This qualifier is ignored if the /MANAGE_LOGFILES qualifier is specified. /[NO]PARAMETER=(value1,…value8) This qualifier is used to set the input parameters associated with a specific job. Values specified may be strings or numbers. A maximum of eight (8) values may be specified. NOPARAMETER means that no input parameters are to be associated with the job (which is the default). /PASSWORD[=”string”] This qualifier is used to associate a password in conjunction with the current username or a username specified with the /USERNAME qualifier. If specified as a “string” value be sure to enclose the password as a quoted string to prevent the case from being changed. If a password value is not specified, the command will prompt for one (echo is disabled for security purposes). /PATH=path This qualifier allows you to lookup a specific job using the object’s path (for example, “/Testjob” would refer to the object labeled ‘TestJob’). /[NO]POST_STEP=file-specification This qualifier indicates that a post-job step is to be performed. /[NO]PRE_STEP=file-specification This qualifier indicates that a pre-job step is to be performed. The pre-job step is executed prior to the main job file. /PRIORITY=number This qualifier is used to set the queue insertion priority of a job. The valid range is 1 through 99. By default, the queue insertion priority is taken from the queue’s characteristics. /PROCESSORMASK=n This qualifier is used, in a multi-processing system, to denote processor affinity. The value specified should be considered a bit-mask. For example, a value of 3 means bit 0 and 1 and would denote processors zero and one. /QUEUE_SELECTION=ANY | ALL | EVENT This qualifier, appropriate to Generic Queues only, allows you to select whether one eligible execution queue should be used, all eligible machine queues should be used or only the machine that generated the event should be used. /[NO]READ_ONLY This qualifier indicates that the job’s properties should be set to a “read only” state. The default is /NOREAD_ONLY. /REMOVE=(account,…) This qualifier removes the specified accounts permissions. More than one account may be specified separated by a comma. /[NO]RESTART=[WAIT | FAILOVER | TERMINATE] This qualifier is used to set the restartability of an executing job. /RESTART indicates that the job is to be automatically requeued for execution. /NORESTART indicates that the job is to be removed from the queueing system in the event of a system failure. /[NO]RETAIN_HISTORY=days This qualifier is used to indicate the retention period for a completed job. The /NORETAIN_HISTORY means that the job’s history is to be removed when the ActiveBatch Database Purge program runs. A value specified indicates the number of days to save the history information. /[NO]RETAIN_LOGFILES=days This qualifier is used to indicate the retention period of the job’s log files. The /NORETAIN_LOGFILES means that the job’s log files are to be removed when the ActiveBatch Database Purge program runs. A value specified indicates the number of days to save the log files. Please note that this value should not be less than that specified for /RETAIN_HISTORY (otherwise it will be automatically adjusted to the same value).

Page 392: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

390

/[NO]REUSE This qualifier may be used to enable or disable the “Reuse Log File” facility. By default, this property is disabled which means that every instance run results in a new log file. Reuse Log file enabled means that a single log file is created (except OpenVMS in which a new version of the log file is created). /[NO]RUNONCE This qualifier is used to specify whether the job is to run once regardless of whether the job is date/time triggered or event triggered. The default is /NORUNONCE. /[NO]SAVE_PASSWORD This qualifier, valid on Windows 2000/NT machines only, indicates that the password specified should be saved. /NOSAVE_PASSWORD indicates that a saved password should be removed and any specified password should not be saved. /[NO]SCHEDULE=(name,…) If specified this qualifier indicates that the named schedules should be associated with this job. The schedules must already exist (if not, you should use the INITIALIZE/SCHEDULE command to create one). /SUCCESSRULE=(n | n-n | ODD | EVEN | LZERO | NTMSG) This qualifier indicates how ActiveBatch interprets the main job step’s exit code. The values specified all indicate that the job completed successfully. You may specify a single value, a range of values and/or a keyword indicating success. /[NO]SUCCESSSTART=(job-id,…) This qualifier indicates one or more jobs to trigger if the job completes successfully. One or more job-id’s are entered in a comma delimited format. /TAKE_OWNERSHIP This qualifier indicates that the current user is requesting ownership of the specified job. The user must have Executive or Full access permission in order to successfully take ownership. /[NO]TERMINATE This qualifier indicates whether children processes should be terminated when the job exits. On Windows NT V4, children processes are identified as having the same parent id (PID). This technique is not precise. On Windows 2000, a job with this qualifier enabled, is created as a job object. OpenVMS and Unix operating systems terminate child or subprocess trees regardless of the setting of this qualifier. By default, /NOTERMINATE is assumed. /TIME_ZONE= CLIENT | JOBSCHED | UTC This qualifier indicates the time zone which should be used by the Job Scheduler to actually schedule time triggers. By default the Job Scheduler’s time zone is used. /USERNAME=username This qualifier is used to set the username that initially submitted the job for execution. Typically when this qualifier is used, the /PASSWORD qualifier is asserted as well. /WORKING_FOLDER=device-directory-spec This qualifier indicates the default working directory for this job.

Example: $ MODIFY/JOB=5/ON=NTSERVER1/HOLD/NORESTART This example will hold a job with an entry id of 5 on queue server machine NTSERVER1 and change the state to ‘Hold” and make the job non-restartable in the event of a system failure.

Page 393: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

391

9.12.8 MODIFY/QUEUE

This command is used to change a queue’s characteristics.

Format: MODIFY/QUEUE/qualifiers queue-name

Parameter: queue-name This required parameter represents the name of the batch queue that is to be modified.

Qualifiers: /BASE_PRIORITY=(IDLE | BELOWNORMAL | NORMAL | ABOVENORMAL | HIGH |REALTIME | number) This qualifier represents the operating system scheduling priority assigned to the batch process at job startup. For non-Windows 2000/NT machines, a priority number would be used. By default, NORMAL priority is used. /CLOSE_TIME=(hh:mm-hh:mm) This qualifier indicates the time of day that the queue is to remain closed. During the remaining portion the queue is open. The time specifier hh:mm represents a 24-hour time. The time range indicates the starting and ending closing time. /DENY=(account:access,…) This qualifier is used to deny an account access that the account may also obtain through a group. account refers to the WinNT account name (or group) and access refers to one or more of the following keywords: EXECUTIVE, MANAGE and USER. To specify more than one level of access to be denied, separate each access with a colon. Multiple accounts may be specified by delimiting each account/access string with a comma. /DESCRIPTION=”string” This qualifier allows a short description to be assigned and stored with the created queue. /[NO]EVENT_LOG=keyword | \\machine This qualifier indicates whether the Windows 2000/NT Event Log should be used for start and stop batch job messages and, if so, which machine’s event log should be used. Available keywords are: Client, JobScheduler and ExecutionMachine. You may also specify a specific machine by prefacing the machine name with a \\ (2 backslashes) notation. To avoid using the Event Log specify /NOEVENT_LOG. /EXEC_ON=machine-name For an execution queue, this qualifier indicates the machine that submitted jobs are to be executed on. /GENERIC=(ExecQueue1, ExecQueue2,…. ExecQueueN) This qualifier indicates that the queue to be created is a generic queue. A generic queue points to one or more execution queues. The values specified with this qualifier are the actual execution queue names. If this qualifier is omitted, the queue is assumed to be an execution type queue. /GRANT=(account:access,…) This qualifier is used to associate security permissions to the queue that is to be created. By default, the owner and Administrator are given full access to the queue and the all other users are given Submit level access (this default can be changed with the SET BATCH command). To associate different permissions for this queue, you may specify one or more accounts and the level of access each account (or group) may have with this queue. Access is specified using one or more of the following keywords:

FULL Complete access EXECUTIVE Give/Take Ownership MANAGE Ability to issue queue management commands USER Ability to SUBMIT jobs

Each keyword specified must be separated by a colon. Multiple accounts are separated by a comma. /JOB_LIMIT=number This qualifier, valid for execution queues, indicates the number of simultaneous jobs that may be executed for this execution queue. The valid range is 1 through 10. By default, one is assumed. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD.

Page 394: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

392

/JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /PRIORITY=number This qualifier indicates the default queue priority to be used when submitting a job to a queue and a priority is not specified as part of job submission. This qualifier should not be mistaken as the scheduling priority of the job (see /BASE_PRIORITY). The valid range is 1 through 99. The default is 10. /REMOVE=(account,…) This qualifier removes the specified accounts permissions. More than one account may be specified separated by a comma. /SCHEDULING = (SEQUENTIAL | ROUND-ROBIN | BALANCED) This qualifier indicates the scheduling algorithm which will be used for a Generic queue. Sequential means that jobs are submitted to the first Execution Queue listed until that queue is executing its maximum job limit. Round-Robin means that each queue, in turn, is given a job to execute until its job limits are met. Balanced indicates that a workload balancing approach be used which determines the best machine to run on based on CPU, memory and other parameters. /STOP_TIME=(hh:mm-hh:mm) This qualifier indicates the time of day that the queue is to remain stopped. During the remaining portion the queue is started. The time hh:mm represents a 24-hour time. The time range indicates the starting and ending stopped time. /TAKE_OWNERSHIP This qualifier indicates that the current user is requesting ownership of the specified queue. The user must have Executive or Full access permission in order to successfully take ownership. /USER_CHAR=(char:datatype:value,…) This qualifier is used to associate user characteristics with an Execution Queue. Char indicates a user characteristic name. This name is free form but cannot contain spaces. Datatype is either string or numeric. Value is a string or numeric value based on the characteristic datatype. You may specify multiple characteristics by separating each with a comma. /WORKING_FOLDER=device-directory-spec This qualifier indicates the default working directory for jobs submitted to this queue in which a directory has not been specified.

Example: $ MODIFY/QUEUE TESTQUEUE /BASE_PRIORITY=HIGH - /GRANT=EVERYONE:MANAGE - /JOB_LIMIT=5 This example will modify a queue named TESTQUEUE and set the O/S priority to HIGH, grant the Everyone Group Manage permissions, set the job limit to 5.

Page 395: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

393

9.12.9 OPEN/QUEUE

The OPEN/QUEUE command allows job submission. Format:

OPEN/QUEUE queue-name Parameter:

queue-name This required parameter indicates the specific queue that is to be opened.

Qualifiers: /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: $ OPEN/QUEUE TESTQUEUE This example opens the queue named TESTQUEUE and allows new job submission.

Page 396: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

394

9.12.10 PAUSE

This command will pause an executing job instance. Note: On Windows 2000/NT machines, only the primary thread is suspended. For a multi-threaded process this may not necessarily produce the expected results.

Format: PAUSE/JOB=job-entry-id/qualifiers

Qualifiers: /JOB=job-entry-id This required qualifier indicates the specific job entry via its unique entry identification that is to be “Paused”. Please note that this command is only applicable to an executing job. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: $ PAUSE/JOB=5/ON=NTSERVER1 This example will pause an executing job with an entry id of 5 on queue server NTSERVER1.

Page 397: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

395

9.12.11 RELEASE

This command will release a held job.

Format: RELEASE/JOB=job-entry=id/qualifiers

Qualifiers: /JOB=job-entry-id This required qualifier indicates the specific job entry via its unique entry identification that is currently held and will now be released for possible execution. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /PATH=path This qualifier allows you to lookup a specific job using the object’s path (for example, “/Testjob” would refer to the object labeled ‘TestJob’).

Example: $ RELEASE/JOB=5/ON=NTSERVER1 This example will release a held job with an entry id of 5 on queue server machine NTSERVER1.

Page 398: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

396

9.12.12 REQUEUE

This command will requeue (or move) a job to another queue.

Format: RELEASE/JOB=job-entry=id/qualifiers

Qualifiers: /JOB=job-entry-id This required qualifier indicates the specific job entry via its unique entry identification that is to be moved to another queue. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /PATH=path This qualifier allows you to lookup a specific job using the object’s path (for example, “/Testjob” would refer to the object labeled ‘TestJob’). /QUEUE=new-queue-name This qualifier indicates the destination queue that this job is to be moved to.

Example: $ REQUEUE/JOB=15/QUEUE=MASTER This example will requeue job 15 to queue MASTER.

Page 399: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

397

9.12.13 RESTART

This command will restart an existing job or plan instance.

Format: RESTART/qualifiers

Qualifiers: /JOB=job-entry-id This required qualifier indicates the specific object via its unique object identification number. Note: Only an instance (and not a definition) can be restarted. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: $ RESTART/JOB=5/ON=NTSERVER1 This command will abort and then restart the job with an entry id of 5 on a machine named NTSERVER1.

Page 400: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

398

9.12.14 RESUME

This command will resume a paused job instance.

Format: RESUME/JOB=job-entry-id/qualifiers

Qualifiers: /JOB=job-entry-id This required qualifier indicates the specific object via its unique object identification number. Note: Only an instance (and not a definition) can be resumed. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: $ RESUME/JOB=5/ON=NTSERVER1 This example will resume a paused job with an entry id of 5 on Job Scheduler machine NTSERVER1.

Page 401: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

399

9.12.15 SET BATCH

This command allows an Administrator to establish defaults for an ActiveBatch user as well as change ActiveBatch Administrator status.

Format: SET BATCH/qualifiers Qualifiers:

/DENY=(account:access…,…) This qualifier is used to deny an account access that the account may also obtain through a group. account refers to the WinNT account name (or group) and access refers to one or more of the following keywords: EXECUTIVE, MANAGE and USER. To specify more than one level of access to be denied, separate each access with a colon. Multiple accounts may be specified by delimiting each account/access string with a comma. /GRANT=(account:access,…) This qualifier is used to associate security permissions to the queue that is to be created. By default, the owner and Administrator are given full access to the queue and the all other users are given Submit level access (this default can be changed with the SET BATCH command). To associate different permissions for this queue, you may specify one or more accounts and the level of access each account (or group) may have with this queue. Access is specified using one or more of the following keywords:

FULL Complete access EXECUTIVE Give/Take Ownership MANAGE Ability to issue queue management commands USER Ability to SUBMIT jobs

Each keyword specified must be separated by a colon. Multiple accounts are separated by a comma. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Page 402: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

400

/[NO]QUEUE=queue-name This qualifier allows you to designate a default Queue to be used when a SUBMIT command is issued. By default, the /QUEUE qualifier is required to be specified with the SUBMIT command. Negating the qualifier causes the default to be removed. /REMOVE=(account,…) This qualifier removes the specified accounts permissions. More than one account may be specified separated by a comma. /[NO]SCHEDULER=machine This qualifier allows you to designate a default Job Scheduler machine to be used when invoking other command-line utilities. By default the local machine is assumed. Negating the qualifier causes the default to be removed.

Page 403: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

401

9.12.16 SHOW JOB

This command will display batch jobs based on various search parameters.

Format: SHOW JOB/qualifiers Qualifiers:

/ALL_JOBS By default, only jobs submitted by the owner are eligible for display. This qualifier indicates that all batch jobs, regardless of who submitted the job, are eligible for possible display. /BRIEF This qualifier indicates that only very terse information be displayed for each job. BRIEF is the default. /BY_JOB_STATUS=( DEFERRED | EXECUTING | HELD | PENDING) This qualifier allows you to further refine the search to those jobs in the above specified job states. /EXECUTION_QUEUE This qualifier allows the search for eligible jobs to be further refined to those on execution queues. /FULL This qualifier is used to display complete information on all jobs which are to be displayed. /BRIEF is the default. /GENERIC This qualifier displays jobs that are on a generic queue. EXECUTION_MACHINE and GENERIC qualifiers are mutually exclusive. /JOB=job-entry-id This required qualifier indicates the specific job entry via its unique entry identification is to be set to “Hold” status. Please note that an active executing job cannot have its state changed via this command. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /PATH=path This qualifier allows you to lookup a specific job using the object’s path (for example, “/Testjob” would refer to the object labeled ‘TestJob’).

Page 404: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

402

/OUTPUT=FileSpecification This qualifier allows the command display to be redirected to a disk file. By default, the output of this command is sent to Standard Out (normally the console window). /USERNAME=username This qualifier allows the search for eligible jobs to be further refined to a specific username. By default, the username of this command is used for job selection. ALL_JOBS and USERNAME are mutually exclusive.

Note: If Job, Name and/or Label are specified the following order of precedence is used: Job, Name and then Label. Example:

$ SHOW JOB /FULL /JOB=6 Job 6 submitted to Queue TESTQUEUE on TEST by XLNTUSER Job Name : TEST2 Status : Retained : CFFD00B5 Priority : 10 File : C:\TESTXCP\TEST2.XCP Command Shell : XLNT Log File : C:\TESTXCP\TEST2.LOG Characteristics : Job Restart disabled, Notification enabled for TEST:XLNTUSER via NT Messenger Service, Log File printing disabled, Log File deleted

This example shows a batch job with an ID of 6 on a machine called TEST and shows all information about that job.

Page 405: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

403

9.12.17 SHOW QUEUE

This command will display batch jobs based on various search parameters.

Format: SHOW QUEUE/qualifiers [queue-name]

Parameter: queue-name

This optional parameter represents a specific queue name to display. If omitted, all queues are eligible for display. Qualifiers:

/ALL_JOBS By default, only jobs submitted by the owner are eligible for display. This qualifier indicates that all batch jobs, regardless of who submitted the job, are eligible for possible display. /BRIEF This qualifier indicates that only very terse information be displayed for each job. BRIEF is the default. /EXECUTION_MACHINE=machine-name This qualifier allows the search for eligible jobs to be further refined to those execution queues which are associated with a given machine. /FULL This qualifier is used to display complete information on all jobs which are to be displayed. /BRIEF is the default. /GENERIC This qualifier displays jobs that are on a generic queue. EXECUTION_MACHINE and GENERIC qualifiers are mutually exclusive. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Page 406: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

404

/OUTPUT=FileSpecification This qualifier allows the command display to be redirected to a disk file. By default, the output of this command is sent to Standard Out (normally the console window). /USERNAME=username This qualifier allows the search for eligible jobs to be further refined to a specific owner. By default, the username of this command is used for job selection. ALL_JOBS and OWNER are mutually exclusive.

Example: $ SHOW QUEUE TESTQUEUE /FULL Execution Queue TESTQUEUE on TEST, owned by XLNTUSER Status : Started, Opened Job Retention : Failed Jobs Base Priority : NORMAL Queue Priority : 10 Command Shell : XLNT Job Limit : 1 Description: A Test Queue Account Permissions ------- ----------- Administrators Granted: EXECUTIVE, MANAGE, USER SYSTEM Granted: EXECUTIVE, MANAGE, USER Everyone Granted: USER DOMAIN\XLNTUSER Granted: EXECUTIVE, MANAGE, USER Jobs on Queue TESTQUEUE No Jobs on Queue This example shows the queue called TESTQUEUE with complete information on all jobs.

Page 407: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

405

9.12.18 START/QUEUE

The START/QUEUE command allows a queue to be started for job execution.

Format: START/QUEUE queue-name

Parameter: queue-name This required parameter indicates the specific queue that is to be started.

Qualifiers: /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: $ START/QUEUE TESTQUEUE This example starts the queue named TESTQUEUE for job execution.

Page 408: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

406

9.12.19 STOP/QUEUE

The STOP/QUEUE command prevents further job execution on a queue basis and/or aborts a currently executing job.

Format: STOP/QUEUE queue-name

Parameter: queue-name This required parameter indicates the specific queue that is to be stopped.

Qualifiers: /AFTER_EXECUTION This qualifier indicates that the currently executing job should be allowed to complete prior to the queue being stopped. AFTER_EXECUTION is the default. /CLOSE This qualifier indicates that the queue is to be closed for job submission. /IMMEDIATE This qualifier indicates that the currently executing job is to be aborted immediately. By default, the job is allowed to complete (see AFTER_EXECUTION). /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example: $ STOP/QUEUE TESTQUEUE /IMMEDIATE This example stops the queue named TESTQUEUE immediately rather than waiting for the jobs to execute.

Page 409: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

407

9.12.20 SUBMIT

The SUBMIT command is used to submit a job for batch execution.

Format: SUBMIT/qualifiers job-file-specification

Parameter: job-file-specification This required parameter is a file specification which will represent the job. The file specification may be an executable (.EXE) or any file which contains a known file association.

Qualifiers: /[NO]ACTIVEBATCH_EVENT This qualifier indicates whether the job can accept an ActiveBatch TRIGGER command. The default is that a job can accept the command. /[NO]ACCOBJ=user-account-name This qualifier indicates whether a user account name object is being referenced for security (username, password) information. Negating this qualifier indicates the object’s reference is to be removed from this job. User account name objects are highly recommended for security purposes instead of using embedded security credentials within the job. /AFTER=combination-time This qualifier is used to defer a job so that the job will be executed at some future time. The time specified is any valid combination time (including keywords TODAY and TOMORROW). If /AFTER is specified without a combination time specified the keyword TODAY is assumed. By default, job execution is assumed to be immediate. /BASE_PRIORITY=(LOW | BELOWNORMAL | NORMAL | ABOVENORMAL | HIGH | REALTIME | number) This qualifier represents the operating system scheduling priority assigned to the batch job. For Windows 2000/NT machines the keywords above are used. For non-Windows machines, a priority number must be specified. By default, the base priority is taken from the queue’s characteristics. /CALENDAR=calendar-name This qualifier associates a business calendar with the job. This allows a job to be scheduled only on working days. /CATEGORY=”string” This qualifier indicates the user category or other string value that will be kept with the job. /CONTACT=(delivery:target[:time],…) This qualifier is used to denote contact information for those machines/users that are to be notified when a job starts or completes execution. Delivery represents one of two keywords which indicate how the notification is to be occur. MAIL or MESSENGER are valid delivery keywords. Target represents either a machine name, if the delivery is MESSENGER, or a valid e-mail address if the delivery is MAIL. Time indicates either a START or FINISH job time criteria that is used to indicate when the notification is to be sent. If “time” is omitted, then FINISH is assumed. You may specify more than one contact by separating each contact specification with a comma. /COPY=(PRE, POST, MAIN) This qualifier is used to indicate which batch job file steps should be copied to the selected Execution Machine. The keywords PRE, POST and MAIN indicate which batch file steps are to be copied. By default, no batch files are copied. /DENY=(account:access,…) This qualifier is used to deny an account access that the account may also obtain through a group. account refers to the WinNT account name (or group) and access refers to one or more of the following keywords: READ, WRITE, DELETE, EXECUTE, TAKEOWNERSHIP, TRIGGER, TRIGGERPARAM and TRIGGERQUEUE. To specify more than one level of access to be denied, separate each access with a colon. Multiple accounts may be specified by delimiting each account/access string with a comma. /DESCRIPTION=”string” This qualifier is used to set the pending job’s description specified at job submission time. /DOCUMENTATION=”string” This qualifier is used to associate a documentation reference with the job. /EVERY=(MINUTE=mm,… , HOUR=hh,… , WEEKDAY=ddd,… , DAY=dd,… , MONTH=mm,…) Note: This qualifier while supported is obsolete and has been superceded by the /SCHEDULE qualifier. This qualifier indicates that a rescheduled job entry is to be created. By default, if all keywords are omitted, a job entry is created that will execute at

Page 410: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

408

midnight each day. Valid keywords are as follows. Specification of multiple values or multiple keywords is supported through the use of comma delimitation.

MINUTE valid range of 0 through 59. Default is 0. HOUR valid range of 0 through 23. Default is 0. WEEKDAY acceptable values are SUN, MON, TUE, WED, THU, FRI, SAT. DAY valid range of 1 through 31. A day which is specified as greater than the number of days in the

month denotes the last day of the month. Default is every day of a month. MONTH valid range of 1 through 12. Default is every month.

The EVERY and INTERVAL qualifiers are mutually exclusive. When a DAY is specified that exceeds the actual number of days in the month, ActiveBatch will assume that the last day of the month is to be selected. If multiple DAYs are specified which exceed the actual number of days in the month, the job will be scheduled once on the last day of the month. /FAILURESTART=(job-id,…) This qualifier indicates one or more jobs to trigger if the job completes in failure. One or more job-id’s are entered in a comma delimited format. /GRANT=(account:access,…) This qualifier is used to associate security permissions to the job that is to be created. To associate permissions for this job, you may specify one or more accounts and the level of access each account (or group) may have. Access is specified using one or more of the following keywords:

READ Read access WRITE Read and Write access DELETE Delete access TAKEOWNERSHIP Take Ownership TRIGGER Trigger access TRIGGERQUEUE Trigger with Queue change access TRIGGERPARAM Trigger with Parameters change EXECUTIVE Security/Take Ownership FULL Complete access

Each keyword specified must be separated by a colon. Multiple accounts are separated by a comma. /GROUP=name This qualifier indicates the group name for this job. A group name may be used to group related jobs and perform group operations. /HOLD[=(SUBMIT, ERROR, COMPLETION)] This qualifier is used to set the initial “Hold” state of a job. If this qualifier is not specified, the job will become eligible for execution based on its position in an execution queue. The SUBMIT keyword (the default if only /HOLD is specified) indicates the job is to enter a “Hold” state immediately upon a successful submission. The ERROR keyword indicates that the job is to enter a “Hold” state if the job completes in error. The COMPLETION keyword indicates the job is to enter a “Hold” state upon job completion (regardless of whether the job was successful or not). One or more keywords may be specified. /IFACTIVE=(keyword | WAIT[:time]) This qualifier indicates whether more than one instance of a scheduled job can execute. Possible keywords are: SKIP, MULTIPLE and WAIT. SKIP indicates that the scheduled instance should be skipped if an instance is already executing. MULTIPLE indicates that more than one instance of the job can run. WAIT indicates that the job should wait. You may optionally indicate how long to wait before skipping the job. SKIP is the default. /IMMEDIATE This qualifier when used with the /SCHEDULE qualifier indicates that the job is to run immediately. /INTERACTIVE=(NORMAL | MAXIMIZED | MINIMIZED) This qualifier indicates that the job is to be executed interactively on the desktop. The keywords NORMAL, MAXIMIZED and MINIMIZED indicate the starting state of the visible window. If the qualifier is specified and the keyword is omitted, NORMAL is assumed.

Page 411: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

409

/INTERVAL=delta-time This qualifier indicates that a rescheduled job entry should be created. A valid delta time can be specified with the exclusion of the TODAY and YESTERDAY keywords. The delta-time specification allows for a self-relative time specification in days, hours, minutes and seconds which are added to the last submission time of the job. EVERY and INTERVAL qualifiers are mutually exclusive. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LABEL=label This qualifier is used to set the job’s object label. The label portion of an object is used to scripting purposes to uniquely identify the object. If this qualifier is omitted, ActiveBatch will create a unique label using a portion of the job’s name. /LOG This qualifier is used to display a message when the operation is successful. /[NO[MANAGE_LOGFILES This qualifier is used to indicate whether ActiveBatch is to centrally manage the job’s log files. If enabled, the location and name of the job’s log files are specified by ActiveBatch (you can programmatically obtain the names). If disabled, you retain the ability to locate and name the log files. /[NO]MAX_RESTARTS=n This qualifier is used to specify the maximum number of restarts the job may undergo. /NOMAX_RESTARTS means an unlimited number and a value specified means the job will be limited to that number of restarts. Please note that this value is applicable until the job completes. /NAME=jobname This qualifier is used to set the name of the submitted job. By default , the job name is set to that of the filename portion of the job file specification. /[NO]NOTIFY[=username] This qualifier is used to indicate that the user submitting the job wants to be notified when the job completes. If a value is set with the NOTIFY qualifier that value is a username specification. By default, NONOTIFY is assumed. Note: This qualifier has been made obsolete by the /CONTACT qualifier. The equivalent syntax is /CONTACT=machine-name:MESSENGER:FINISH. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /[NO]OUTPUT[=file-specification] This qualifier is used to indicate whether a log file is to be created with the batch job and if so the specification of that log file. /NOOUTPUT means that a log file isn’t to be created. By default, a batch log file is produced in the current directory of the created job. The default batch log file specification is the job-file-specification with a .LOG extension. When /INTERVAL or /EVERY or /SCHEDULE is specified, the following additional information is automatically appended to the output log filename: _mmdddyyyy_hhmmss. This helps keep each individual log file separate and distinct as a batch job is rescheduled. Note: This qualifier is ignored if the /MANAGE_LOGFILES qualifier is specified. /[NO]PARAMETER=(value1,…value8) This qualifier is used to set the input parameters associated with a specific job. Values specified may be strings or numbers. A maximum of eight (8) values may be specified. NOPARAMETER means that no input parameters are to be associated with the job (which is the default). /PASSWORD[=”string”] This qualifier is used to associate a password in conjunction with the current username or a username specified with the /USERNAME qualifier. If specified as a “string” value be sure to enclose the password as a quoted string to prevent the case from being changed. If a password value is not specified, the command will prompt for one (echo is disabled for security purposes). /POST_STEP=file-specification This qualifier indicates that a post-job step is to be performed.

Page 412: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

410

/PRE_STEP=file-specification This qualifier indicates that a pre-job step is to be performed. The pre-job step is executed prior to the main job file. /PRIORITY=number This qualifier is used to set the queue insertion priority of a job. The valid range is 1 through 99. By default, the queue insertion priority is taken from the queue’s characteristics. /PROCESSORMASK=n This qualifier is used, in a multi-processing system, to denote processor affinity. The value specified should be considered a bit-mask. For example, a value of 3 means bit 0 and 1 and would denote processors zero and one. /QUEUE=queue-name This qualifier is used to indicate the queue that the job is to be submitted on. This qualifier is required unless a default queue has been established using the SET BATCH command. /QUEUE_SELECTION=ANY | ALL | EVENT This qualifier, appropriate to Generic Queues only, allows you to select whether one eligible execution queue should be used, all eligible machine queues should be used or only the machine that generated the event should be used. /[NO]READ_ONLY This qualifier indicates that the job’s properties should be set to a “read only” state. The default is /NOREAD_ONLY. /REMOVE=(account,…) This qualifier removes the specified accounts permissions. More than one account may be specified separated by a comma. /[NO]RESTART=[WAIT | FAILOVER | TERMINATE] This qualifier is used to set the restartability of an executing job. /RESTART indicates that the job is to be automatically requeued for execution. /NORESTART indicates that the job is to be removed from the queueing system in the event of a system failure. /[NO]RETAIN_HISTORY=days This qualifier is used to indicate the retention period for a completed job. The /NORETAIN_HISTORY means that the job’s history is to be removed when the ActiveBatch Database Purge program runs. A value specified indicates the number of days to save the history information. /[NO]RETAIN_LOGFILES=days This qualifier is used to indicate the retention period of the job’s log files. The /NORETAIN_LOGFILES means that the job’s log files are to be removed when the ActiveBatch Database Purge program runs. A value specified indicates the number of days to save the log files. Please note that this value should not be less than that specified for /RETAIN_HISTORY (otherwise it will be automatically adjusted to the same value). /[NO]REUSE This qualifier may be used to enable or disable the “Reuse Log File” facility. By default, this property is disabled which means that every instance run results in a new log file. Reuse Log file enabled means that a single log file is created (except OpenVMS in which a new version of the log file is created). /[NO]RUNONCE This qualifier is used to specify whether the job is to run once regardless of whether the job is date/time triggered or event triggered. The default is /NORUNONCE. /[NO]SAVE_PASSWORD This qualifier, valid on Windows 2000/NT machines only, indicates that the password specified should be saved. /NOSAVE_PASSWORD indicates that a saved password should be removed and any specified password should not be saved.

Page 413: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

411

/SCHEDULE=(name,…) If specified this qualifier indicates that the named schedules should be associated with this job. The schedules must already exist (if not, you should use the INITIALIZE/SCHEDULE command to create one). /SUCCESS_RULE=(n | n-n | ODD | EVEN | LZERO | NTMSG,…) This qualifier indicates how ActiveBatch interprets the main job step’s exit code. The values specified all indicate that the job completed successfully. You may specify a single value, a range of values and/or a keyword indicating success. /SUCCESS_START=(job-id,…) This qualifier indicates one or more jobs to trigger if the job completes successfully. One or more job-id’s are entered in a comma delimited format. /TAKE_OWNERSHIP This qualifier indicates that the current user is requesting ownership of the specified job. The user must have Executive or Full access permission in order to successfully take ownership. /[NO]TERMINATE This qualifier indicates whether children processes should be terminated when the job exits. On Windows NT V4, children processes are identified as having the same parent id (PID). This technique is not precise. On Windows 2000, a job with this qualifier enabled, is created as a job object. OpenVMS and Unix operating systems terminate child or subprocess trees regardless of the setting of this qualifier. By default, /NOTERMINATE is assumed. /TIME_ZONE= CLIENT | JOBSCHED | UTC This qualifier indicates the time zone which should be used by the Job Scheduler to actually schedule time triggers. By default the Job Scheduler’s time zone is used. /USERNAME=username This qualifier is used to set the username that initially submitted the job for execution. Typically when this qualifier is used, the /PASSWORD qualifier is asserted as well. /WORKING_FOLDER=device-directory-spec This qualifier indicates the default working directory for this job.

Example: $ SUBMIT C:\TEST\TEST.XCP /QUEUE=TESTQUEUE –

/NAME=TESTJOB /NOOUTPUT /USERNAME="XLNTUSER" /PASSWORD="12345" This example will submit a batch job with a procedure name of C:\TEST\TEST.XCP, to a queue named TESTQUEUE, with a jobname of "TESTJOB" and will not send the output to a Logfile. It will also submit it under a username of XLNTUSER and a password of 12345.

Page 414: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

412

9.12.21 SYNCHRONIZE

The Synchronize command allows the issuer to wait for the completion of an identified and running batch job.

Format: SYNCHRONIZE/qualifiers

Qualifiers: /JOB=entry-identification This qualifier identifies a job through its unique job entry identification number assigned when the job is submitted to a queue. If you specify both /JOB and the job-name parameter, /JOB will be used. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports).

Example:

$ SYNCHRONIZE /JOB=6 This example causes the issuer to wait for the completion of batch job entry id number 6.

Page 415: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 9 - Using the ActiveBatch Command-Line Interface

413

9.12.22 TRIGGER

The Trigger command allows the issuer to trigger an existing job or plan for immediate execution. You must have “Trigger” access permission to use this command.

Format: TRIGGER/qualifiers

Qualifiers: /IGNORE=(DEPENDENCIES, CALENDAR, EXLCUSION) This qualifier indicates that the job is to ignore certain associated restrictions. The keyword restrictions are: DEPENDENCIES, CALENDAR and EXCLUSION. You may specify one or more qualifiers. By default, all restrictions are enforced. This qualifier is intended to be used when an operator or someone knowledgeable about the job and system intentionally wants to force the job to execute. /JOB=entry-identification This qualifier identifies a job or plan through its unique entry identification number assigned when the job/plan is created. If you specify /JOB, /NAME and/or /PATH, /JOB will be used. /JS_PASSWORD[=password] This qualifier is used in combination with the /JS_USERNAME and, optionally, /JS_SAVEPASSWORD to specify a password to be used with the value of /JS_USERNAME to form an authentication credential to communicate with the Job Scheduler machine. /[NO]JS_SAVEPASSWORD This qualifier indicates that the password specified with /JS_PASSWORD is to be stored for future authentication purposes. You can specify this qualifier only when /JS_PASSWORD is also specified. To delete a stored password specify /NOJS_SAVEPASSWORD. /JS_USERNAME=username This qualifier is used in combination with ./JS_PASSWORD to form an authentication credential used to communicate with the Job Scheduler machine. /LOG This qualifier is used to display a message when the operation is successful. /NAME=job-name This qualifier represents a unique job name that is to be triggered for execution. If /JOB is also specified, this qualifier is ignored. /ON=scheduler-machine-name This qualifier allows the command to be directed to the named Job Scheduler machine. You may specify any valid machine name or IP address (depending on the protocols your machine supports). /PARAMETERS=(param1,…,param8) This qualifier allows you to set input parameters when the job instance is created. You must hold “Trigger with Parameters” job access permissions to specify this qualifier. /PATH=path This qualifier allows you to lookup a specific job using the object’s path (for example, “/Testjob” would refer to the object labeled ‘TestJob’). /QUEUE=queue-name This qualifier is used to explicitly create a job instance on the specified queue. You must hold “Trigger with Queue” job access permission to set this qualifier. /SYNCHRONIZE This qualifier allows you to combine the functions of triggering a job or plan instance and then waiting for the instance to complete (by synchronizing on the newly created instance). /VARIABLES=(var1=value1, …) This qualifier allows you to pass variables and their values to the plan or job that you are about to trigger. If the variable currently exists within the target object, that variable’s value will be replaced. If the variable does not exist a new variable (and it’s value) will be created.

Page 416: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6
Page 417: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

415

10 ACTIVEBATCH SCRIPTING AND PROGRAMMING The ActiveBatch Client sub-system is Microsoft COM based. This means that ActiveBatch is a collection of objects, properties and methods. ActiveBatch allows you to use any object-oriented language (and scripting language) to directly manipulate these objects.

To learn more about the programmatic aspects of ActiveBatch, we invite you to read the “ActiveBatch Developer’s Guide”.

Page 418: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

416

10.1 ActiveBatch Object Topology Figure 234 is a drawing that visually describes the different ActiveBatch objects and their relationship.

Figure 234 – ActiveBatch Object Relationship

Page 419: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

417

11 ACTIVEBATCH MESSAGES

The following tables list all the pertinent ActiveBatch messages. The message codes follow the Windows 2000/NT convention and contain the severity as part of the message code. In addition, the messages themselves contain a facility code “ABAT”, a severity code (“I”, “W”,”E”) and the message name followed by the text of the message. All ActiveBatch messages are contained in the ABATMSG.DLL file and can be found in the ActiveBatch installation directory.

Please note that the tables do not contain every ActiveBatch message but rather the messages that a user can typically expect to see. The first table lists all the messages in alphabetical order; the second table lists the messages using the numeric value (in hex).

Message Value (hex) Description/Action ABAT-E-ABORTENTRY, Entry has been aborted CFFD00C5 A job has been marked as ‘aborted’. ABAT-E-ALLOCFAIL, Failure to allocate memory CFFD0008 This is an internal error usually indicating that

insufficient hardware or software resources are available to satisfy a memory request.

ABAT-E-ASSOCNOTFND, Failure to determine file association

CFFD015E The Execution Agent was unable to find the job file’s extension to program association. The job was not run.

ABAT-E-AUDPURGEFAIL, Failed to purge Audit ID %1!d!

CFFD01EB This DBPurge message can appear in the NT Application Event Log and indicates that DBPurge was unable to remove old audit messages from a specific job.

ABAT-E-BADPARAM, Bad parameter received CFFD000B This is a general error indicating that a bad parameter was specified. Depending on the context you should specify a legal value or property and try again.

ABAT-E-BATCHSTARTERR, unable to launch Batch Start job

CFFD01CA A job completed and had a Batch Start (Success or Failure) action associated with it. That action could not be performed. Additional information accompanies this message indicating more specifically what the problem was.

ABAT-E-CONNECTFAIL, Failure to connect to Server, %1!s!

CFFD0005 This is a general non-specific error indicating that the client was unable to connect to a server machine. Please check the machine name or IP address and try again.

ABAT-E-COPYFILEERROR, An error occurred while copying the file '%1!s!' to the Job Scheduler because the file cannot be found or there was an error opening/reading the file.

CFFD01A7 This message can occur if the “Copy File” feature is enabled for a Main, Pre or Post file. As the message indicates an error occurred while attempting to copy the file to the Job Scheduler.

ABAT-E-CRELOGFILE, Failure to create log file CFFD015F The Execution Agent was unable to create the batch job’s log file. Typically, the log file specification is not valid or proper OR the main job script file specification is also not valid. Please check the log/script file specification and ensure it can be created from the Execution machine.

ABAT-E-DBPURGEFAIL, An error occurred while running the DBPurge process. Please examine the NT Event Log/DBPurge Log for further details

CFFD01EA Self-explanatory. This error message concerns the running of the DBPurge facility to prune unneeded jobs from the ActiveBatch system.

ABAT-E-DEPENDFAIL, dependency failure CFFD01AE The Batch Job failed because a job dependency could not be satisfied.

ABAT-E-DISCONFAIL, Failure to disconnect from CFFD000E An error occurred disconnecting from a Job Scheduler

Page 420: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

418

Message Value (hex) Description/Action server machine. This is typically not something to be overly

concerned about since the error occurs on the disconnect itself.

ABAT-E-DUPLICATE_KEY_VALUE, Duplicate key value

CFFD0070 This error is returned when an attempt has been made to create an object with a duplicate key (2 objects with the same name).

ABAT-E-DUPLICFND, A duplicate license was found. Please ensure that all licenses are valid and unique.

CFFD01D7 This serious error usually indicates some level of license tampering. Please run the ABATLIC program to obtain more information.

ABAT-E-EAGENTADNAMERR, unable to translate Exec Agent Active Directory Name

CFFD0239 An Active Directory published name was provided by a user and could not be translated. Please check the AD name given and try again.

ABAT-E-EMGRCONNECTFAIL, Failure to connect to Execution Queue Manager

CFFD0007 The Job Scheduler was unable to connect to the Execution Agent machine. Please check the machine name or IP address and try again; the machine may not be on the network; the machine may not be running RPC or DCE services.

ABAT-E-EMGRFAIL, Network connection to the execution machine has been lost

CFFD0033 Self-explanatory. Depending on network conditions this problem may resolve itself as the machine is re-discovered.

ABAT-E-EXCCPUTIME, job aborted exceeding expected cpu time

CFFD01C5 The Execution Agent has set this job’s exit status code because of an overrun for CPU time and has aborted the job.

ABAT-E-EXCMAXDISPATCH, job exceeded maximum dispatch time

CFFD0233 This job was terminated because it tried to execute after its established dispatch time.

ABAT-E-EXCRUNTIME, job aborted exceeding expected run time

CFFD01C4 The Execution Agent has set this job’s exit status code because of an overrun for elapsed run time and has aborted the job.

ABAT-E-EXECABORT, job aborted due to Execution Agent failure

CFFD01D1 A job was aborted when an Execution Agent/machine failed. The job was not marked as being restartable.

ABAT-E-FAILURE, Failure in Batch Queue Management System operation

CFFD0002 A non-specific error occurred. The error is typically either internal or transient. Please try the operation again.

ABAT-E-FILESIZEERROR, The file being copied is larger than the system policy allows for

CFFD01A8 The ActiveBatch Administrator has prevented your file from being copied to the Execution Machine through the System policy CopyScriptMax

ABAT-E-FORCERUNERR, unable to Force Run job -- see JSS log for details

CFFD023B A Force Run command was issued and was unable to execute. The JSS log (found in the LOG sub-directory provides additional information).

ABAT-E-GETOWNER, unable to obtain object owner

CFFD01E5 ActiveBatch is unable to retrieve the owner of the object. This error may appear if the domain of the owner’s account is not available.

ABAT-E-HASASSOCIATIONS, object is associated with other items

CFFD0230 The object you want to delete is referred to by other objects. You must either disassociate these object references or enable the forceddelete flag to forcibly de-reference these associations.

ABAT-E-IMPERSONERR, Failure to impersonate client

CFFD00CF This error can be returned if you attempt to connect to a Job Scheduler while the Scheduler is still in the process of starting. Please wait a moment and try again.

ABAT-W-INCONSOS, ActiveBatch Product Edition is inconsistent with Operating System level

8FFD022E The ActiveBatch base product license you’ve previously entered does not allow operation on this Operating system type (for example, Enterprise or Datacenter Server).

Page 421: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 11 - ActiveBatch Messages

419

Message Value (hex) Description/Action ABAT-E-INITQFAIL, Failure to initialize a queue CFFD000D The operation to initialize a queue failed. The queue

was not created. A more specific error usually accompanies this error.

ABAT-E-INITSD, Failure to initialize ABAT Security Descriptor

CFFD0100 This is an internal error indicating a failure to create a security descriptor the object. This error may be logged to the product’s trace file.

ABAT-E-INSTSKIPPED, instance skipped due to active instance

CFFD01EC This audit message indicates that a job instance could not be executed because the template’s property did not allow multiple concurrent copies of the job to run simultaneously.

ABAT-E-INSTWAITFAIL, active instance wait failed CFFD01ED This audit message indicates that a job instance could not be executed because the “If Job Active… Wait” property was enabled and the timeout period expired.

ABAT-E-INSUFFPRV, Insufficient privilege to perform Batch Queue Management operation

CFFD00FA You attempted to perform a queue or job operation for which you lack sufficient access permissions.

ABAT-E-INVCALCONFIG, An invalid Calendar configuration was made. Please make sure that all the calendar will allow a job to run at least once

CFFD01FF You have attempted to create a job and schedule combination in which the job will never run. For example, scheduling a job on December 25th and then assigning a Calendar with Christmas as a holiday.

ABAT-E-INVHISTPROP, Job save history duration must be greater or equal to the log file retension period

CFFD01C6 Self-explanatory.

ABAT-W-INVJOBTYPE, job type is not valid for specified operation

8FFD0231 The operation attempted is illegal when used against a job’s template. Please verify operation and then issue against job instance.

ABAT-E-INVOPER, An invalid operation was specified

CFFD00DD Either: an invalid context was specified on an enumeration, or an invalid operation was specified based on a job current state. For example, attempting to release a job which isn’t held.

ABAT-E-INVOPNCLSTIME, Invalid queue OPEN time range or CLOSE time range

CFFD0024 The time you entered was not in 24-hour time format. 00:00 through 23:59 is the legal range.

ABAT-E-INVOSPRIORITY, Invalid operating system priority

CFFD0040 An illegal O/S priority value has been specified as part of a job.

ABAT-E-INVOSQPRIORITY, Invalid operating system scheduling priority

CFFD0020 You specified an illegal O/S priority value as the Job default with a queue.

ABAT-E-INVREGVAL, Invalid registry key value, %1!s!

CFFD0009 Data associated with a Registry Key is of an incompatible type. For example, the datatype should be REG_DWORD and the value was found to be REG_SZ; the value itself is not legal.

ABAT-E-INVSTRTSTPTIME, Invalid queue START time range or STOP time range

CFFD0023 The time you entered was not in 24-hour time format. 00:00 through 23:59 is the legal range.

ABAT-E-ITEMALREADYEXISTS, The item being added to the collection already exists

CFFD019D This general error indicates that you are attempting to add an object to a collection and the object already exists. For example, trying to add the same account and access to a security collection.

ABAT-E-JOBABORT, Job aborted during execution CFFD00C9 This is the exit status code of a job that has been aborted.

ABAT-W-JOBHELD, job is held 8FFD0236 You attempted to trigger a job that is held for execution. Release the job first and then retry.

ABAT-E-JOBHISTORYERR, History information for the requested job could not be found

CFFD01A9 This is an internal error indicating that the Job’s History information could not be retrieved.

ABAT-W-JOBNOTWAITING, job is not in a wait state

8FFD0232 You tried to Force Run a job that is not in a wait state

Page 422: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

420

Message Value (hex) Description/Action ABAT-E-JOBSCHEDFAIL, Job Scheduler failed to start

CFFD019A This is the exit status code of a Job Scheduler Service which could not be started. Check the trace file or NT Application Event Log for more information.

ABAT-E-JOBSONQUEUE, Jobs exist on queue CFFD00C4 An attempt to delete a queue failed due to jobs currently on queue. You can indicate that a ‘flush’ operation first be performed prior to the actual queue delete.

ABAT-E-JOBUNDERRUN, job has underrun specified time

CFFD0235 A job with monitoring enabled completed execution in much less time than was unexpected. The job is marked as having failed.

ABAT-E-JSSCONNECTFAIL, Failure to connect to Job Scheduler

CFFD0006 The client was unable to connect to the Job Scheduler machine. Please check the machine name or IP address and try again; the machine may not be on the network.

ABAT-E-JSSSTARTUPERR, unable to start Job Scheduler - refer to AbatJss.log for details

CFFD022F The Job Scheduler service cannot be started. Please check the AbatJSS.log file (in the LOG sub-directory) for more information.

ABAT-E-KEY_VALUE_NOT_FOUND, Key not found

CFFD006F This error/warning code indicates that a search for a specific object failed to be found in the database.

ABAT-E-LICENSEXP, license has expired CFFD0161 The evaluation serial number has expired. Please contact ASCI or your distributor for an extension.

ABAT-E-LOCALONLYLIC, This Personal Edition license is only permitted to communicate with a single Execution Agent on the Local Machine.

CFFD01DA When using the Personal Edition license you are restricted to a Workstation/Professional NT system and all connections are local to that system.

ABAT-E-LOGONERR, error logging user onto Execution Machine

CFFD00B5 This error indicates that the user’s username and/or password was not proper for logging the user onto the Execution Machine. Check the username and password (may be case sensitive) for the target system. More specific details may be found in the job’s log file.

ABAT-E-MAXEAGENTLIC, The maximum number of execution agent licenses has been met

CFFD01D3 This licensing error indicates that the maximum number of Execution Agent licenses has been reached. Count each Execution Machine you are attempting to connect to (regardless of whether the machine is active or the queue is started) and then compare against the value reported by the ABATLIC program.

ABAT-E-MSONLYLIC, This Job Scheduler license only permits connections to Microsoft Execution Agents

CFFD01D4 You are attempting to connect to a non-Microsoft Execution Agent and your license only permits you to connect to Microsoft Execution Agents.

ABAT-E-NOBINDINGFND, Binding handle not available or invalid registry %n protocol specified

CFFD000A This is an error indicating that a protocol sequence established in the Registry is not available on this machine. The RPC protocol sequence Registry key should be examined since it contains erroneous transports.

ABAT-E-NOMACHINENAME, No machine name has been specified

CFFD0003 A machine name needs to be specified. This error most typically occurs as a requirement for an execution queue or when connecting to a Job Scheduler machine.

ABAT-E-NOMORE, No more items 8FFD0178 This message code, typically returned as part of a context search, indicates that no more objects are available.

ABAT-E-NOPASSWORD, No password specified CFFD0013 Attempting an advanced connection requires a password; attempting to execute a batch job requires a password (unless Blank Password is enabled). Specify the password and try again. Note: You can let Activebatch remember the password for you.

Page 423: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 11 - ActiveBatch Messages

421

Message Value (hex) Description/Action ABAT-E-NOQUEUENAME, No queue name specified

CFFD0010 No queue name was specified and one was required. Specify a valid queue name and try again.

ABAT-E-NOSUCHQUEUE, specified queue does not exist

CFFD00B0 Self-explanatory.

ABAT-E-NOTCONNECTED, A connection has not been successfully made to a Job Scheduler

CFFD019C You have attempted to perform an operation that requires a current connection to a Job Scheduler machine. Please make the connection and try again.

ABAT-E-NOTGENERIC, This is not a generic queue, unable to associate execution queues

CFFD00F9 Self-explanatory. Check queue properties.

ABAT-W-OBJEXISTS, an object of that name already exists

8FFD0234 You attempted to insert an object with a name that conflicts with an already existing object. The object you insert requires a unique name.

ABAT-E-OPENCMDFILE, Failure to open command procedure

CFFD0160 The Execution Agent was unable to open the batch job’s script file. Please check the main job’s file specification and ensure it can be opened from the Execution machine.

ABAT-E-PROPERTYREADONLY, You cannot modify this job because it is set as Read Only

CFFD01B5 Self-explanatory.

ABAT-E-QUEUEALRDYEXISTS, The queue already exists

CFFD0038 An attempt to create a queue of the same name failed since queue names must be unique.

ABAT-E-QUEUENOTFND, Queue not found CFFD002C The queue name you specified does not exist. Please check the spelling and try again.

ABAT-E-REGOPENERR, Failure to open registry HKEY_LOCAL_MACHINE subkey %1!s!

CFFD001C ActiveBatch was unable to open a Registry Key value in HKEY_LOCAL_MACHINE. While you should check Registry security permissions this error typically means that the ActiveBatch Registry keys have been corrupted or otherwise tampered with. You should try executing a product REPAIR through the ADD/REMOVE Control Panel applet.

ABAT-E-REGVALERR, Failure to obtain registry value %1!s!

CFFD001D ActiveBatch was unable to obtain the specified Registry value-name. Typically this means the ActiveBatch Registry keys and/or value names have been corrupted or otherwise tampered with. You should try executing a product REPAIR through the ADD/REMOVE Control Panel applet.

ABAT-E-REQPROPERTYINV, The required property %1!s! is either absent or invalid

CFFD01A5 Self-explanatory.

ABAT-E-RUNJOBINTERACTIVE, Unable to run the job interactively

CFFD01FC An error occurred while attempting to run this job interactively. The error is most likely due to a lack of desktop permissions.

ABAT-E-SERVERCOMMUNICATIONERROR, There was an error that occurred while communicating with the server

CFFD01A2 The client interface encountered an error while communicating with the Job Scheduler.

ABAT-E-TAKEOWNERFAIL, attempt to take ownership of specified object failed

CFFD01E4 Your attempt to take ownership of this object failed. Verify that you have “Executive” level permission.

ABAT-E-UNEXPEXCEPTCOM, An unexpected exception has occurred in the COM client

CFFD01DF Self-explanatory.

ABAT-E-WRKSTNONLYLIC, The Personal Edition license is only permitted to run on a Workstation Platform

CFFD01F9 Self-explanatory.

ABAT-I-ADDBATCHPRIV, The account under which this job is executing has been adjusted to have the "Logon as Batch" right

4FFD01DD The batch user has been automatically granted the “Logon as a Batch User” right.

Page 424: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

422

Message Value (hex) Description/Action ABAT-I-DEPENDSAT, dependency is satisfied 4FFD01AD This audit message indicates that all job dependencies

were met. ABAT-I-EVTTRIGGERED, job triggered by event 4FFD0181 An event occurred which triggered execution of a job. ABAT-I-JOBSTART, job %1!s!(%2!s!) started successfully on queue %3!s!

4FFD00B1 Self-explanatory. This message is displayed by the command-line client.

ABAT-I-JSSUP, The ActiveBatch Job Scheduler Service has started

4FFD0036 Self-explanatory. Typically found in the JSS Trace file or NT Application Event Log indicating the Job Scheduler Service has been started.

ABAT-I-MARKDELETE, job marked for deletion 4FFD01B4 Typically a template job is marked for deletion when one or more active instances are still executing.

ABAT-I-NOWBEM, WBEM services will not be available on this system

4FFD0191 Microsoft’s WMI Services are either not available or have not been started.

ABAT-S-SUCCESS, normal successful completion 0FFD0001 Operation completed normally. No action to be taken. ABAT-W-ACCTLOOKUP, unable to lookup account 8FFD019E ActiveBatch was unable to lookup the specified

accounts SID and validate the account. Check any domain and account name spelling.

ABAT-W-ASSIGNJOBFAIL, unable to assign process to job object

8FFD01B1 The Execution Agent could not create a Windows 2000 Job Object within which to encapsulate the batch job.

ABAT-W-CPYFILERR, error copying file to execution machine

8FFD0184 The Job Scheduler was unable to open the job step(s) script/program file. An additional error code provides more information.

ABAT-W-CREPRCERR, error creating batch process for job %1!s!

8FFD00B6 An error occurred creating the batch job process. More specific details may be found in the job’s log file.

ABAT-W-EXCRESTART, maximum restart value exceeded

8FFD01D2 The job could not be restarted as it has reached its maximum restart count.

ABAT-W-GETSDERR, unable to obtain Security Descriptor

8FFD01B8 ActiveBatch was unable to find the object’s Security Descriptor.

ABAT-W-JOBCANTEXEC, job cannot execute based on Exclusion List/Calendar

8FFD01E9 This audit message appears if a job was scheduled for execution but could not be executed due to an Exclusion List or Calendar conflict.

ABAT-W-JOBNOTEXEC, job not currently executing

8FFD0168 You cannot restart a job that is not currently executing.

ABAT-W-JSSCONNFAIL, failed to connect to Job Scheduler on %1!s!

8FFD00B8 Self-explanatory. Check that the machine’s name or IP address is correct; verify that the machine is up and connected to the proper network; verify the RPCSS or DCE services have been started.

ABAT-W-LOADJOBSFAIL, unable to load job objects dll

8FFD01B3 For Windows 2000 machines, the Execution Agent attempts to load a special DLL which associates Windows Job Objects with ActiveBatch jobs. This warning indicates that Windows 2000 Job Objects will not be used.

ABAT-W-NOCOPY, unable to copy files to execution machine

8FFD0183 Self-explanatory. Please check the job step(s) file specifications. They must be accessible from the client machine.

ABAT-W-NOQUEUESFOUND, no active execution queues found

8FFD0182 This error can occur when a Generic Queue with Round Robin scheduling determines that no active execution queues are available to dispatch a job.

ABAT-W-NOSUCHALERT, no such alert 8FFD017D The specified alert could not be found for update or deletion purposes.

ABAT-W-NOSUCHCALENDAR, specified calendar does not exist

8FFD01E0 Self-explanatory.

ABAT-W-NOSUCHCHAR, no such characteristic 8FFD0177 The machine or user characteristic you specified could

Page 425: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 11 - ActiveBatch Messages

423

Message Value (hex) Description/Action not be found.

ABAT-W-NOSUCHCONTACT, contact information not found

8FFD017A The specified user/machine contact information could not be found for update or deletion purposes.

ABAT-W-NOSUCHJOB, specified job does not exist 8FFD00BB Self-explanatory. The job’s ID did not match any present jobs in the system.

ABAT-W-NOSUCHPOLICY, specified policy does not exist

8FFD0198 The specified policy does not exist. Check the policy name spelling.

ABAT-W-NOTNT, operation requires Windows NT 8FFD00AF The Job Scheduler and Execution Agent services cannot be run on non-Windows 2000/NT systems.

ABAT-W-NOTTEMPLATE, not a template job 8FFD0199 The specified job is not a template. Certain operations can only be performed on a template job, for example, you cannot submit or move a non-template job to the OnDemand queue.

ABAT-W-PROCAFFINITY, unable to set processor affinity

8FFD01BF A processor mask was specified for this job. However, the mask affinity operation could not be performed. The job will still execute. This can be caused if the number of actual processors is less than that specified or an O/S specific restriction on assigning processors to jobs is violated.

ABAT-W-PROPTYLOCKED, property is locked 8FFD018D An attempt to modify a property failed because the property was locked and cannot be changed by an ActiveBatch non-Administrator.

ABAT-W-REQPARMABS, required parameter absent

8FFD017E You didn’t specify a schedule ID or the query event string for a Job.

ABAT-W-RPCEXCEPT, RPC Exception thrown 8FFD01B6 This message, if displayed, would be found in a product trace file.

ABAT-W-SCHEDATTACHED, jobs attached to this schedule

8FFD0167 You cannot delete this schedule since jobs are currently associated. You can disassociate the jobs from this schedule and then delete the schedule.

ABAT-W-TERMJOBFAIL, unable to terminate job object

8FFD01B2 The Execution Agent could not terminate the Windows 2000 Job Object. More information typically follows this error.

ABAT-W-TRIGGERFAIL, failed to trigger/clone job 8FFD0192 A job was triggered was unable to be cloned. An additional message provides more information concerning this condition.

ABAT-W-TRIGGERSDISABLED, ActiveBatch Event Triggers are disabled

8FFD01C3 Unable to issue TRIGGER command as ActiveBatch Triggers are not enabled.

ABAT-W-UNEXPEXCEPT, unexpected exception occurred

8FFD0068 An unexpected exception occurred. Typically this message code is not delivered to user code and is found in the product’s trace file depending on the trace level specified.

ABAT-W-UNKJSS, unknown Job Scheduler 8FFD01A6 The Execution Agent was unable to reconnect back to the Job Scheduler machine.

ABAT-W-WBEMCONN, unable to connect to WBEM

8FFD01C1 The WMI software has either not been installed or started.

ABAT-W-WMIQUERYFAIL, WMI Query request failed

8FFD01C2 ActiveBatch encountered an error issuing the Event Query string to WMI

Database Error: Communications Error CFFD00EC This error usually indicates that insufficient resources have been allocated for the Database server.

Database Error: Record manager inactive CFFD0079 This is an initialization error and indicates that the Database server has not been started. Verify that W32MKDE.EXE exists within the ActiveBatch installation directory.

Page 426: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

424

Table 30 – ActiveBatch Messages (Alphabetical)

Page 427: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 11 - ActiveBatch Messages

425

The hexadecimal values below are subject to change and are documented for reference information only.

VALUE (HEX) Message Description/Action

0FFD0001 ABAT-S-SUCCESS, normal successful completion

Operation completed normally. No action to be taken.

4FFD0036 ABAT-I-JSSUP, The ActiveBatch Job Scheduler Service has started

Self-explanatory. Typically found in the JSS Trace file or NT Application Event Log indicating the Job Scheduler Service has been started.

4FFD00B1 ABAT-I-JOBSTART, job %1!s!(%2!s!) started successfully on queue %3!s!

Self-explanatory. This message is displayed by the command-line client.

4FFD0181 ABAT-I-EVTTRIGGERED, job triggered by event An event occurred which triggered execution of a job. 4FFD0191 ABAT-I-NOWBEM, WBEM services will not be

available on this system Microsoft’s WMI Services are either not available or have not been started.

4FFD01AD ABAT-I-DEPENDSAT, dependency is satisfied This audit message indicates that all job dependencies were met.

4FFD01B4 ABAT-I-MARKDELETE, job marked for deletion Typically a template job is marked for deletion when one or more active instances are still executing.

4FFD01DD ABAT-I-ADDBATCHPRIV, The account under which this job is executing has been adjusted to have the "Logon as Batch" right

The batch user has been automatically granted the “Logon as a Batch User” right.

8FFD0068 ABAT-W-UNEXPEXCEPT, unexpected exception occurred

An unexpected exception occurred. Typically this message code is not delivered to user code and is found in the product’s trace file depending on the trace level specified.

8FFD00AF ABAT-W-NOTNT, operation requires Windows NT

The Job Scheduler and Execution Agent services cannot be run on non-Windows 2000/NT systems.

8FFD00B6 ABAT-W-CREPRCERR, error creating batch process for job %1!s!

An error occurred creating the batch job process. More specific details may be found in the job’s log file.

8FFD00B8 ABAT-W-JSSCONNFAIL, failed to connect to Job Scheduler on %1!s!

Self-explanatory. Check that the machine’s name or IP address is correct; verify that the machine is up and connected to the proper network; verify the RPCSS or DCE services have been started.

8FFD00BB ABAT-W-NOSUCHJOB, specified job does not exist

Self-explanatory. The job’s ID did not match any present jobs in the system.

8FFD0167 ABAT-W-SCHEDATTACHED, jobs attached to this schedule

You cannot delete this schedule since jobs are currently associated. You can disassociate the jobs from this schedule and then delete the schedule.

8FFD0168 ABAT-W-JOBNOTEXEC, job not currently executing

You cannot restart a job that is not currently executing.

8FFD0177 ABAT-W-NOSUCHCHAR, no such characteristic The machine or user characteristic you specified could not be found.

8FFD0178 ABAT-E-NOMORE, No more items This message code, typically returned as part of a context search, indicates that no more objects are available.

8FFD017A ABAT-W-NOSUCHCONTACT, contact information not found

The specified user/machine contact information could not be found for update or deletion purposes.

8FFD017D ABAT-W-NOSUCHALERT, no such alert The specified alert could not be found for update or deletion purposes.

8FFD017E ABAT-W-REQPARMABS, required parameter absent

You didn’t specify a schedule ID or the query event string for a Job.

8FFD0182 ABAT-W-NOQUEUESFOUND, no active execution queues found

This error can occur when a Generic Queue with Round Robin scheduling determines that no active execution

Page 428: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

426

VALUE (HEX) Message Description/Action

queues are available to dispatch a job. 8FFD0183 ABAT-W-NOCOPY, unable to copy files to

execution machine Self-explanatory. Please check the job step(s) file specifications. They must be accessible from the client machine.

8FFD0184 ABAT-W-CPYFILERR, error copying file to execution machine

The Job Scheduler was unable to open the job step(s) script/program file. An additional error code provides more information.

8FFD018D ABAT-W-PROPTYLOCKED, property is locked An attempt to modify a property failed because the property was locked and cannot be changed by an ActiveBatch non-Administrator.

8FFD0192 ABAT-W-TRIGGERFAIL, failed to trigger/clone job

A job was triggered was unable to be cloned. An additional message provides more information concerning this condition.

8FFD0198 ABAT-W-NOSUCHPOLICY, specified policy does not exist

The specified policy does not exist. Check the policy name spelling.

8FFD0199 ABAT-W-NOTTEMPLATE, not a template job The specified job is not a template. Certain operations can only be performed on a template job, for example, you cannot submit or move a non-template job to the OnDemand queue.

8FFD019E ABAT-W-ACCTLOOKUP, unable to lookup account

ActiveBatch was unable to lookup the specified accounts SID and validate the account. Check any domain and account name spelling.

8FFD01A6 ABAT-W-UNKJSS, unknown Job Scheduler The Execution Agent was unable to reconnect back to the Job Scheduler machine.

8FFD01B1 ABAT-W-ASSIGNJOBFAIL, unable to assign process to job object

The Execution Agent could not create a Windows 2000 Job Object within which to encapsulate the batch job.

8FFD01B2 ABAT-W-TERMJOBFAIL, unable to terminate job object

The Execution Agent could not terminate the Windows 2000 Job Object. More information typically follows this error.

8FFD01B3 ABAT-W-LOADJOBSFAIL, unable to load job objects dll

For Windows 2000 machines, the Execution Agent attempts to load a special DLL which associates Windows Job Objects with ActiveBatch jobs. This warning indicates that Windows 2000 Job Objects will not be used.

8FFD01B6 ABAT-W-RPCEXCEPT, RPC Exception thrown This message, if displayed, would be found in a product trace file.

8FFD01B8 ABAT-W-GETSDERR, unable to obtain Security Descriptor

ActiveBatch was unable to find the object’s Security Descriptor.

8FFD01BF ABAT-W-PROCAFFINITY, unable to set processor affinity

A processor mask was specified for this job. However, the mask affinity operation could not be performed. The job will still execute. This can be caused if the number of actual processors is less than that specified or an O/S specific restriction on assigning processors to jobs is violated.

8FFD01C1 ABAT-W-WBEMCONN, unable to connect to WBEM

The WMI software has either not been installed or started.

8FFD01C2 ABAT-W-WMIQUERYFAIL, WMI Query request failed

ActiveBatch encountered an error issuing the Event Query string to WMI

8FFD01C3 ABAT-W-TRIGGERSDISABLED, ActiveBatch Event Triggers are disabled

Unable to issue TRIGGER command as ActiveBatch Triggers are not enabled.

8FFD01D2 ABAT-W-EXCRESTART, maximum restart value The job could not be restarted as it has reached its

Page 429: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 11 - ActiveBatch Messages

427

VALUE (HEX) Message Description/Action

exceeded maximum restart count. 8FFD01E0 ABAT-W-NOSUCHCALENDAR, specified

calendar does not exist Self-explanatory.

8FFD01E9 ABAT-W-JOBCANTEXEC, job cannot execute based on Exclusion List/Calendar

This audit message appears if a job was scheduled for execution but could not be executed due to an Exclusion List or Calendar conflict.

CFFD0002 ABAT-E-FAILURE, Failure in Batch Queue Management System operation

A non-specific error occurred. The error is typically either internal or transient. Please try the operation again.

CFFD0003 ABAT-E-NOMACHINENAME, No machine name has been specified

A machine name needs to be specified. This error most typically occurs as a requirement for an execution queue or when connecting to a Job Scheduler machine.

CFFD0005 ABAT-E-CONNECTFAIL, Failure to connect to Server, %1!s!

This is a general non-specific error indicating that the client was unable to connect to a server machine. Please check the machine name or IP address and try again.

CFFD0006 ABAT-E-JSSCONNECTFAIL, Failure to connect to Job Scheduler

The client was unable to connect to the Job Scheduler machine. Please check the machine name or IP address and try again; the machine may not be on the network.

CFFD0007 ABAT-E-EMGRCONNECTFAIL, Failure to connect to Execution Queue Manager

The Job Scheduler was unable to connect to the Execution Agent machine. Please check the machine name or IP address and try again; the machine may not be on the network; the machine may not be running RPC or DCE services.

CFFD0008 ABAT-E-ALLOCFAIL, Failure to allocate memory This is an internal error usually indicating that insufficient hardware or software resources are available to satisfy a memory request.

CFFD0009 ABAT-E-INVREGVAL, Invalid registry key value, %1!s!

Data associated with a Registry Key is of an incompatible type. For example, the datatype should be REG_DWORD and the value was found to be REG_SZ; the value itself is not legal.

CFFD000A ABAT-E-NOBINDINGFND, Binding handle not available or invalid registry %n protocol specified

This is an error indicating that a protocol sequence established in the Registry is not available on this machine. The RPC protocol sequence Registry key should be examined since it contains erroneous transports.

CFFD000B ABAT-E-BADPARAM, Bad parameter received This is a general error indicating that a bad parameter was specified. Depending on the context you should specify a legal value or property and try again.

CFFD000D ABAT-E-INITQFAIL, Failure to initialize a queue The operation to initialize a queue failed. The queue was not created. A more specific error usually accompanies this error.

CFFD000E ABAT-E-DISCONFAIL, Failure to disconnect from server

An error occurred disconnecting from a Job Scheduler machine. This is typically not something to be overly concerned about since the error occurs on the disconnect itself.

CFFD0010 ABAT-E-NOQUEUENAME, No queue name specified

No queue name was specified and one was required. Specify a valid queue name and try again.

CFFD0013 ABAT-E-NOPASSWORD, No password specified

Attempting an advanced connection requires a password; attempting to execute a batch job requires a password (unless Blank Password is enabled). Specify

Page 430: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

428

VALUE (HEX) Message Description/Action

the password and try again. Note: You can let Activebatch remember the password for you.

CFFD001C ABAT-E-REGOPENERR, Failure to open registry HKEY_LOCAL_MACHINE subkey %1!s!

ActiveBatch was unable to open a Registry Key value in HKEY_LOCAL_MACHINE. While you should check Registry security permissions this error typically means that the ActiveBatch Registry keys have been corrupted or otherwise tampered with. You should try executing a product REPAIR through the ADD/REMOVE Control Panel applet.

CFFD001D ABAT-E-REGVALERR, Failure to obtain registry value %1!s!

ActiveBatch was unable to obtain the specified Registry value-name. Typically this means the ActiveBatch Registry keys and/or value names have been corrupted or otherwise tampered with. You should try executing a product REPAIR through the ADD/REMOVE Control Panel applet.

CFFD0020 ABAT-E-INVOSQPRIORITY, Invalid operating system scheduling priority

You specified an illegal O/S priority value as the Job default with a queue.

CFFD0023 ABAT-E-INVSTRTSTPTIME, Invalid queue START time range or STOP time range

The time you entered was not in 24-hour time format. 00:00 through 23:59 is the legal range.

CFFD0024 ABAT-E-INVOPNCLSTIME, Invalid queue OPEN time range or CLOSE time range

The time you entered was not in 24-hour time format. 00:00 through 23:59 is the legal range.

CFFD002C ABAT-E-QUEUENOTFND, Queue not found The queue name you specified does not exist. Please check the spelling and try again.

CFFD0033 ABAT-E-EMGRFAIL, Network connection to the execution machine has been lost

Self-explanatory. Depending on network conditions this problem may resolve itself as the machine is re-discovered.

CFFD0038 ABAT-E-QUEUEALRDYEXISTS, The queue already exists

An attempt to create a queue of the same name failed since queue names must be unique.

CFFD0040 ABAT-E-INVOSPRIORITY, Invalid operating system priority

An illegal O/S priority value has been specified as part of a job.

CFFD006F ABAT-E-KEY_VALUE_NOT_FOUND, Key not found

This error/warning code indicates that a search for a specific object failed to be found in the database.

CFFD0070 ABAT-E-DUPLICATE_KEY_VALUE, Duplicate key value

This error is returned when an attempt has been made to create an object with a duplicate key (2 objects with the same name).

CFFD0079 Database Error: Record manager inactive This is an initialization error and indicates that the Database server has not been started. Verify that W32MKDE.EXE exists within the ActiveBatch installation directory.

CFFD00B0 ABAT-E-NOSUCHQUEUE, specified queue does not exist

Self-explanatory.

CFFD00B5 ABAT-E-LOGONERR, error logging user onto Execution Machine

This error indicates that the user’s username and/or password was not proper for logging the user onto the Execution Machine. Check the username and password (may be case sensitive) for the target system. More specific details may be found in the job’s log file.

CFFD00C4 ABAT-E-JOBSONQUEUE, Jobs exist on queue An attempt to delete a queue failed due to jobs currently on queue. You can indicate that a ‘flush’ operation first be performed prior to the actual queue delete.

CFFD00C5 ABAT-E-ABORTENTRY, Entry has been aborted A job has been marked as ‘aborted’. CFFD00C9 ABAT-E-JOBABORT, Job aborted during

execution This is the exit status code of a job that has been aborted.

Page 431: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 11 - ActiveBatch Messages

429

VALUE (HEX) Message Description/Action

CFFD00CF ABAT-E-IMPERSONERR, Failure to impersonate client

This error can be returned if you attempt to connect to a Job Scheduler while the Scheduler is still in the process of starting. Please wait a moment and try again.

CFFD00DD ABAT-E-INVOPER, An invalid operation was specified

Either: an invalid context was specified on an enumeration, or an invalid operation was specified based on a job current state. For example, attempting to release a job which isn’t held.

CFFD00EC Database Error: Communications Error This error usually indicates that insufficient resources have been allocated for the Database server.

CFFD00F9 ABAT-E-NOTGENERIC, This is not a generic queue, unable to associate execution queues

Self-explanatory. Check queue properties.

CFFD00FA ABAT-E-INSUFFPRV, Insufficient privilege to perform Batch Queue Management operation

You attempted to perform a queue or job operation for which you lack sufficient access permissions.

CFFD0100 ABAT-E-INITSD, Failure to initialize ABAT Security Descriptor

This is an internal error indicating a failure to create a security descriptor the object. This error may be logged to the product’s trace file.

CFFD015E ABAT-E-ASSOCNOTFND, Failure to determine file association

The Execution Agent was unable to find the job file’s extension to program association. The job was not run.

CFFD015F ABAT-E-CRELOGFILE, Failure to create log file The Execution Agent was unable to create the batch job’s log file. Typically, the log file specification is not valid or proper OR the main job script file specification is also not valid. Please check the log/script file specification and ensure it can be created from the Execution machine.

CFFD0160 ABAT-E-OPENCMDFILE, Failure to open command procedure

The Execution Agent was unable to open the batch job’s script file. Please check the main job’s file specification and ensure it can be opened from the Execution machine.

CFFD0161 ABAT-E-LICENSEXP, license has expired The evaluation serial number has expired. Please contact ASCI or your distributor for an extension.

CFFD019A ABAT-E-JOBSCHEDFAIL, Job Scheduler failed to start

This is the exit status code of a Job Scheduler Service which could not be started. Check the trace file or NT Application Event Log for more information.

CFFD019C ABAT-E-NOTCONNECTED, A connection has not been successfully made to a Job Scheduler

You have attempted to perform an operation that requires a current connection to a Job Scheduler machine. Please make the connection and try again.

CFFD019D ABAT-E-ITEMALREADYEXISTS, The item being added to the collection already exists

This general error indicates that you are attempting to add an object to a collection and the object already exists. For example, trying to add the same account and access to a security collection.

CFFD01A2 ABAT-E-SERVERCOMMUNICATIONERROR, There was an error that occurred while communicating with the server

The client interface encountered an error while communicating with the Job Scheduler.

CFFD01A5 ABAT-E-REQPROPERTYINV, The required property %1!s! is either absent or invalid

Self-explanatory.

CFFD01A7 ABAT-E-COPYFILEERROR, An error occurred while copying the file '%1!s!' to the Job Scheduler because the file cannot be found or there was an error opening/reading the file.

This message can occur if the “Copy File” feature is enabled for a Main, Pre or Post file. As the message indicates an error occurred while attempting to copy the file to the Job Scheduler.

CFFD01A8 ABAT-E-FILESIZEERROR, The file being copied is larger than the system policy allows for

The ActiveBatch Administrator has prevented your file from being copied to the Execution Machine through the System policy CopyScriptMax

Page 432: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

430

VALUE (HEX) Message Description/Action

CFFD01A9 ABAT-E-JOBHISTORYERR, History information for the requested job could not be found

This is an internal error indicating that the Job’s History information could not be retrieved.

CFFD01AE ABAT-E-DEPENDFAIL, dependency failure The Batch Job failed because a job dependency could not be satisfied.

CFFD01B5 ABAT-E-PROPERTYREADONLY, You cannot modify this job because it is set as Read Only

Self-explanatory.

CFFD01C4 ABAT-E-EXCRUNTIME, job aborted exceeding expected run time

The Execution Agent has set this job’s exit status code because of an overrun for elapsed run time and has aborted the job.

CFFD01C5 ABAT-E-EXCCPUTIME, job aborted exceeding expected cpu time

The Execution Agent has set this job’s exit status code because of an overrun for CPU time and has aborted the job.

CFFD01C6 ABAT-E-INVHISTPROP, Job save history duration must be greater or equal to the log file retension period

Self-explanatory.

CFFD01CA ABAT-E-BATCHSTARTERR, unable to launch Batch Start job

A job completed and had a Batch Start (Success or Failure) action associated with it. That action could not be performed. Additional information accompanies this message indicating more specifically what the problem was.

CFFD01D1 ABAT-E-EXECABORT, job aborted due to Execution Agent failure

A job was aborted when an Execution Agent/machine failed. The job was not marked as being restartable.

CFFD01D3 ABAT-E-MAXEAGENTLIC, The maximum number of execution agent licenses has been met

This licensing error indicates that the maximum number of Execution Agent licenses has been reached. Count each Execution Machine you are attempting to connect to (regardless of whether the machine is active or the queue is started) and then compare against the value reported by the ABATLIC program.

CFFD01D4 ABAT-E-MSONLYLIC, This Job Scheduler license only permits connections to Microsoft Execution Agents

You are attempting to connect to a non-Microsoft Execution Agent and your license only permits you to connect to Microsoft Execution Agents.

CFFD01D7 ABAT-E-DUPLICFND, A duplicate license was found. Please ensure that all licenses are valid and unique.

This serious error usually indicates some level of license tampering. Please run the ABATLIC program to obtain more information.

CFFD01DA ABAT-E-LOCALONLYLIC, This Personal Edition license is only permitted to communicate with a single Execution Agent on the Local Machine.

When using the Personal Edition license you are restricted to a Workstation/Professional NT system and all connections are local to that system.

CFFD01DF ABAT-E-UNEXPEXCEPTCOM, An unexpected exception has occurred in the COM client

Self-explanatory.

CFFD01E4 ABAT-E-TAKEOWNERFAIL, attempt to take ownership of specified object failed

Your attempt to take ownership of this object failed. Verify that you have “Executive” level permission.

CFFD01E5 ABAT-E-GETOWNER, unable to obtain object owner

ActiveBatch is unable to retrieve the owner of the object. This error may appear if the domain of the owner’s account is not available.

CFFD01EA ABAT-E-DBPURGEFAIL, An error occurred while running the DBPurge process. Please examine the NT Event Log/DBPurge Log for further details

Self-explanatory. This error message concerns the running of the DBPurge facility to prune unneeded jobs from the ActiveBatch system.

CFFD01EB ABAT-E-AUDPURGEFAIL, Failed to purge Audit ID %1!d!

This DBPurge message can appear in the NT Application Event Log and indicates that DBPurge was unable to remove old audit messages from a specific job.

Page 433: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Chapter 11 - ActiveBatch Messages

431

VALUE (HEX) Message Description/Action

CFFD01EC ABAT-E-INSTSKIPPED, instance skipped due to active instance

This audit message indicates that a job instance could not be executed because the template’s property did not allow multiple concurrent copies of the job to run simultaneously.

CFFD01ED ABAT-E-INSTWAITFAIL, active instance wait failed

This audit message indicates that a job instance could not be executed because the “If Job Active… Wait” property was enabled and the timeout period expired.

CFFD01F9 ABAT-E-WRKSTNONLYLIC, The Personal Edition license is only permitted to run on a Workstation Platform

Self-explanatory.

CFFD01FC ABAT-E-RUNJOBINTERACTIVE, Unable to run the job interactively

An error occurred while attempting to run this job interactively. The error is most likely due to a lack of desktop permissions.

CFFD01FF ABAT-E-INVCALCONFIG, An invalid Calendar configuration was made. Please make sure that all the calendar will allow a job to run at least once

You have attempted to create a job and schedule combination in which the job will never run. For example, scheduling a job on December 25th and then assigning a Calendar with Christmas as a holiday.

Table 31 – ActiveBatch Messages (Numeric)

Page 434: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6
Page 435: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

433

12 INDEX

AbatAdmin Connecting ......................................................................... 61 Exiting ................................................................................ 60 Options ............................................................................... 49 Starting ............................................................................... 59 Tools .................................................................................. 47

ABATLIC ............................................................ 418, 420, 430 Absolute Time ...................................................................... 366 ActiveBatch

Architecture ....................................................................... 18 Error Messages .................................................................. 33 Hot Keys ............................................................................ 32 icons ................................................................................... 30 Introduction ........................................................................ 15 Namespace ......................................................................... 19 Objects ............................................................................... 19 User Types ......................................................................... 35

ActiveBatch Admin ......................................................... 26, 59 ActiveBatch Admin Application . 16, 18, 26, 29, 30, 32, 58, 61,

94, 213, 314, 317, 365 ActiveBatch Administrators ............................................. 128 Alert Objects ........................................................................ 261 Architecture ........................................................................... 18

Business Day.................................................. 22, 103, 160, 251

Calendar Audits ............................................................................... 254 Properties ......................................................................... 252 Security ............................................................................ 255

Calendars ............................................................................. 251 Client .......................... 16, 58, 80, 100, 155, 265, 384, 391, 415 CLOSE/QUEUE .................................................................. 379 Combination Time ............................................................... 368 Completion Trigger .............................................................. 241 Configuration ......................................................................... 44 Connect ...................................................................... 29, 61, 62

Advanced ........................................................................... 62 Firewall .............................................................................. 63

Constraints ..................................................................... 22, 242 Calendar ..................................................................... 22, 250 Date-Time .......................................................................... 22 Day-Time ......................................................................... 249 File ............................................................................. 22, 245 Instance ............................................................................ 244 Job ...................................................................................... 22

Resource .................................................................... 22, 248 Variable ..................................................................... 22, 247

Daily Activity ................................................................ 36, 293 Date Arithmetic ................................................................... 349

Administration ................................................................. 353 COM ................................................................................ 359 Commands ....................................................................... 349 Date Substitution ............................................................. 363 Qualifiers ......................................................................... 350 Test .................................................................................. 362

DBPurge ...................................................... 109, 173, 417, 430 Definition Operations

Copy-Paste ....................................................................... 314 Hold ................................................................................. 317 Release ............................................................................. 317 Test Run ........................................................................... 309 Trigger ............................................................................. 311

DELETE/JOB ...................................................................... 380 DELETE/QUEUE ............................................................... 381 Delta Time ........................................................................... 366 Design View ........................................................................ 275

Find Job ........................................................................... 278 Printing ............................................................................ 279 Using ............................................................................... 280

E-Mail Properties ................................................................. 140 Error Messages .................................................... 417, 424, 431 Event Triggers ............................................. 156, 236, 423, 426 Exclusion List ...................................................................... 249 ExecAutoRight .................................................................... 128 Execution Agent . 16, 18, 20, 79, 128, 138, 146, 149, 162, 417,

418, 420, 421, 422, 423, 425, 426, 427, 429, 430 Execution Machine ................ 21, 265, 418, 420, 428, 429, 430 Execution Queue ..... 19, 20, 76, 79, 80, 81, 89, 90, 91, 92, 93,

128, 147, 148, 149, 150, 240, 300, 312, 385, 392, 404, 418, 427

Export .................................................................................. 214

Failure Batch Start ............................................................... 156 FileSystem Properties .......................................................... 142 FLUSH/QUEUE .................................................................. 382 FTP Properties ..................................................................... 141

Gantt Chart .................................................................... 37, 294 Generic Queue ....................................................................... 20

Page 436: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

434

Creating .............................................................................. 90 Scheduling Algorithm ................................................ 91, 147

Graphical View .................................................................... 197

HOLD .................................................. 383, 384, 388, 390, 408 Holiday ................................................................................ 251 Hot Keys ................................................................................ 32

Import .................................................................................. 215 INITIALIZE Queue ............................................................. 384 Instance ................................................................................ 198

Audits ............................................................................... 203 History ............................................................................. 198 Log ................................................................................... 204 MOF Text ........................................................................ 201 Properties ......................................................................... 205 Variables .......................................................................... 200

Instance Operations .............................................................. 305 Change Queue Priority ..................................................... 305 Constraint Status .............................................................. 305 Force Run ......................................................................... 306 Override Completion Status ............................................. 306 Pause ................................................................................ 307 Restart .............................................................................. 307 Resume ............................................................................ 307

Instance View ........................................................................ 41

Job .................................................................................... 20, 95 Alerts ................................................ 107, 156, 171, 263, 264 Audits ............................................................................... 176 Central Manage Log File ......................................... 165, 334

Retention ...................................................................... 165 Constraints ....................................................................... 157 Counters ........................................................................... 175 Date/Time Trigger ........................................................... 154

Immediate .................................................................... 154 Interval ................................................................. 154, 243

Date-Time Constraint ....................................................... 159 Defining ........................................................................... 133 Definition ......................................................................... 128 E-Mail .............................................................................. 132 Environment Variables .................................................... 131 Environmental variables .................................................. 139 File Name ......................................................................... 136 FileSystem ....................................................................... 132 FTP .................................................................................. 132 History ..................................................................... 173, 177

Retention ...................................................................... 173 If Job Active ............................................. 104, 162, 419, 431 Interactive ................................................................ 138, 146 Log File ............................................................................ 334 Log File Name ................................................................. 166

Machine Characteristics................................................... 147 Maximum Restarts ........................................................... 173 Monitor CPU Time .......................................................... 169 Monitor Elapsed Time ............................................. 105, 167 OS Priority ....................................................................... 161 Parameters ............... 94, 137, 145, 265, 312, 387, 408, 413 Process ............................................................................. 132 Processor Mask ................................................................ 161 Queue Priority ................................................................. 161 Queue Selection ............................................................... 147 Restart .............................................................................. 172 Revision ........................................................................... 177 Script ............................................................................... 132 Search string .................................................................... 138 Security ............................................................................ 178 States ................................................................................. 75 Submission Queue ........................................................... 161 Success Code Rule ................................................... 138, 146 Terminate all child processes ................................... 138, 146 Types ............................................................................... 132 Variables .......................................................................... 151 Working Directory ........................................................... 161

Job Scheduler 16, 18, 19, 26, 29, 58, 61, 62, 64, 66, 69, 76, 80, 100, 131, 136, 139, 155, 164, 223, 236, 237, 240, 251, 265, 365, 379, 380, 381, 382, 383, 385, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 403, 405, 406, 409, 411, 412, 413, 417, 418, 420, 421, 422, 423, 425, 426, 427, 429, 430 Connecting ......................................................................... 61 Disconnecting .................................................................... 64 Licensing ........................................................................... 64 Properties ........................................................................... 66

Job-Plan Operations Abort ................................................................................ 316 Delete ............................................................................... 316 Printing ............................................................................ 318

Log View ............................................................................... 29

Machine Characteristics ........................................ 81, 148, 149 MODIFY/JOB ............................................................. 386, 390 MODIFY/QUEUE ....................................................... 391, 392

Namespace ............................................................................. 19 Navigation Pane ..................................................................... 29 NTMSG ....................................................... 138, 146, 390, 411

Object Description ........................................................................ 74 Enabled .............................................................................. 74 ID ....................................................................................... 74

Page 437: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

Index

435

Label .................................................................................. 74 Name .................................................................................. 74 Path .................................................................................... 74 State ................................................................................... 74

Objects ......................................................................... 422, 426 Alert ................................................................................... 22 Job ...................................................................................... 20 Job Object ........................................................ 422, 423, 426 Plan .................................................................................... 20 Queue ................................................................................. 19 Reference ........................................................................... 19 Schedule ............................................................................. 21 User Account ..................................................................... 22

OnDemand ........... 19, 20, 93, 94, 265, 299, 311, 312, 423, 426 OPEN/QUEUE .................................................................... 393 OpenVMS ............................................ 138, 139, 146, 390, 411 Options ................................................................................... 49

PAUSE ................................................................................. 394 Plan .................................................................................. 20, 95

ActiveBatch Event Trigger .............................................. 101 Alerts ................................................................................ 107 Completion Properties ..................................................... 108 Completion Rule .............................................................. 110 Completion Triggers ........................................................ 112 Constraints ....................................................................... 102 Counters ........................................................................... 113 Date-Time Interval ............................................................. 99 Date-Time Trigger ............................................................. 99

Deferred ......................................................................... 99 Immediate ...................................................................... 99

Definition ........................................................................... 96 Event Trigger ................................................................... 101 History ............................................................................. 115

Retention ...................................................................... 109 Maximum Restarts ........................................................... 109 Restart .............................................................................. 108 Security ............................................................................ 116 Variables ............................................................................ 98

Plan-Job Operations Abort ................................................................................ 212 Copy-Paste ....................................................................... 212 Delete ............................................................................... 212 Hold ................................................................................. 213 Release ............................................................................. 213 Requeue ........................................................................... 308 Show Dependent Objects ................................................. 211

Policies ................................................................................... 44 Product Editions ..................................................................... 16

Personal .................................................... 420, 421, 430, 431 Properties Window .............................................................. 295

Queue ..................................................................................... 19 Alerts .................................................................................. 83

Audits ................................................................................ 85 Counters ............................................................................. 84 Execution

Creating ......................................................................... 76 Job Execution Limit ........................................................... 80 Operating Times ................................................................ 78 Security .............................................................................. 86 States ................................................................................. 74

Queue Operations Close ................................................................................ 302 Delete ............................................................................... 299 Flush ................................................................................ 303 Open ................................................................................ 302 Start ................................................................................. 300 Stop .................................................................................. 300

Queue Priority ..................................................................... 404 Queue Security ................................................................ 86, 87

Reference ............................................................................... 19 Reference object .................................................................. 206

Properties ......................................................................... 208 RELEASE ............................................................ 382, 395, 396 Reporting ....................................................................... 45, 335 REQUEUE .......................................................................... 396 Resource

Audits .............................................................................. 259 Properties ......................................................................... 257 Security ............................................................................ 260

Resource Operations Evaluate ........................................................................... 319

Resources ............................................................................. 256 RESTART ........................................... 131, 289, 389, 397, 410 RESUME ............................................................................. 398 Runbook ........................................................................ 38, 297 Runbook View ................................................................. 37, 51

Schedule ................................................ 21, 100, 155, 223, 224 Audits .............................................................................. 231 Copying ........................................................................... 234 Day Specification ............................................................ 227 Delete ............................................................................... 234 Edit .................................................................................. 234 Properties ......................................................................... 225 Security ............................................................................ 232 Time Specification ........................................................... 226

Script Properties .................................................................. 145 serial number ............................................................... 420, 429 SET BATCH ............................................... 384, 391, 399, 410 SHOW JOB ................................................................. 401, 402 SHOW QUEUE ........................................................... 403, 404 Slider Notification ................................................................. 46 SMTP ........................................................................... 264, 265 START/QUEUE .................................................................. 405 STOP/QUEUE ..................................................................... 406

Page 438: ActiveBatch V6 Reference Manual · ActiveBatch® Reference Manual 6

ActiveBatch® Reference Manual

436

SUBMIT .............. 365, 384, 388, 391, 399, 400, 407, 408, 411 Submitting a Job .................................................................. 128 Success Code Rule ....................................................... 138, 146 SYNCHRONIZE ................................................................. 412 System View .................................................................. 39, 320

Take Ownership ................................................................... 215 Tools ...................................................................................... 47 TRIGGER ............................ 386, 387, 407, 408, 413, 423, 426 Triggers .................................................................................. 21

Events ................................................................................ 21 Schedule ............................................................................. 21

User Account Name ............................................................. 269 Audits ............................................................................... 272 Properties ......................................................................... 270 Security ............................................................................ 273

Use ................................................................................... 274 User Characteristics ....................................................... 81, 150 User Types

Administrators ................................................................... 43 Designers ........................................................................... 35

Variables ................................................................................ 21 Active .............................................................................. 219 Built-in ............................................................................. 220 Definition ......................................................................... 218 Use ................................................................................... 218

WMI ................ 58, 66, 236, 237, 239, 240, 422, 423, 425, 426

XLNT .................................................. 138, 146, 365, 402, 404