Académique Documents
Professionnel Documents
Culture Documents
Version 6.1.01
Copyright 2002 BMC Software, Inc., as an unpublished work. All rights reserved. BMC Software, the BMC Software logos, and all other BMC Software product or service names are registered trademarks or trademarks of BMC Software, Inc. Oracle is a registered trademark, and the Oracle product names are registered trademarks or trademarks of Oracle Corp. All other registered trademarks or trademarks belong to their respective companies.
THE USE AND CONTENTS OF THIS DOCUMENTATION ARE GOVERNED BY THE SOFTWARE LICENSE AGREEMENT ENCLOSED AT THE BACK OF THIS DOCUMENTATION.
Telephone Fax
Customer Support
You can obtain technical support by using the Support page on the BMC Software Web site or by contacting Customer Support by telephone or e-mail. To expedite your inquiry, please see Before Contacting BMC Software.
operating system and environment information machine type operating system type, version, and service pack or other maintenance level such as PUT or PTF system hardware configuration serial numbers related software (database, application, and communication) including type, version, and service pack or maintenance level
iii
sequence of events leading to the problem commands and options that you used messages received (and the time and date that you received them) product error messages messages from the operating system, such as file system full messages from related software
iv
Contents
Contents
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Chapter 1 Overview
How the CONTROL-M/EM API Works . . . . . . . . . . . . . . . . . . . . . . 1-2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 The APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Who Should Use This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Chapter 2 Installation
Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 CONTROL-M Product Support . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Platform and Operating System Support . . . . . . . . . . . . . . . . . . 2-2 Additional Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Chapter 3 Configure the CONTROL-M/EM API
Preparing Your Project Environment . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Writing Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 Running Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Chapter 4 Creating Request Calls
CONTROL-M/EM API Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 Session Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Deciding Which Class to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Response Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 XML String Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Using EMXMLInvoker Class Calls . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Initializing and Stopping the CONTROL-M/EM API Services . 4-15
BMC Software, Inc., Confidential and Proprietary Information
Contents
Submitting a Request Using the EMXMLInvoker class . . . . . . .4-16 Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-20 Using EMBasicXMLInvoker Class Calls . . . . . . . . . . . . . . . . . . . . .4-21 Submit a Request Using the EMBasicXMLInvoker class . . . . . .4-21
Chapter 5 Response Handling
Response Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 Response String Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 EMAPI_tokenResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3 EMAPI_PollResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7 EMAPI_errorResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7 EMAPI_<Requestname>Response . . . . . . . . . . . . . . . . . . . . .5-11 Interpreting Response Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-12 Parts of a Response String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-12 Analyzing a Response String . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-13
Chapter 6 Advanced Features and Optimization
Modifying Initialization Properties . . . . . . . . . . . . . . . . . . . . . . . . . .6-1 Prototype 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-2 Prototype 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-3 Prototype 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-4 Getting and Setting CONTROL-M/EM API Properties . . . . . . . . . .6-6 getProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-6 setProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-7 Polling Interval Timeout Configuration . . . . . . . . . . . . . . . . . . . . . . .6-8 setPollRequestIntervalMilli . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-9 setPollRequestTimeoutMilli . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-9
Chapter 7 Diagnostics and Troubleshooting
CONTROL-M/EM API Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-1 Default Logging Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-2 Modifying Logging Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . .7-2 Environment Configuration Troubleshooting . . . . . . . . . . . . . . . . . .7-6 CLASSPATH: Missing Libraries or Directories . . . . . . . . . . . . .7-6 Java Virtual Machine Parameters . . . . . . . . . . . . . . . . . . . . . . . .7-7 Orbix Domain Initialization Failure . . . . . . . . . . . . . . . . . . . . . .7-10 Application Runtime and Communication Troubleshooting . . . . . . .7-11
Chapter 8 Call Reference
vi
EMBasicXMLInvoker Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 invoke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 setPollRequestIntervalMilli . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 setPollRequestTimeoutMilli . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 EMXMLInvoker Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 done . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 encodePassword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 getProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 invoke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 setProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 GASComponent Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18 GASComponent (Prototype 1) . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 GASComponent (Prototype 2) . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 GSRComponent Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 GSRComponent (Prototype 1) . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 GSRComponent (Prototype 2) . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 InvokeException Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 getMajorCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 getMinorCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 getReason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27
Chapter 9 Request Reference
Add/Delete Condition Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 Change Alert Status Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16 Job Creation Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-53 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58 Order/Force Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-59 Request Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-59 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-64 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-76 Polling Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-77
BMC Software, Inc., Confidential and Proprietary Information
Contents
vii
Request Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-77 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-79 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-82 Timeout Reset Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-83 Request Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-83 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-85 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-88 Tracking Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-89 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-89 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-92 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-97 User Registration Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-98 Request Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-98 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-101 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-104 User Unregistration Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-105 Request Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-105 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-108 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-111
Appendix A Request Format Examples
Add Condition/Delete Condition Request . . . . . . . . . . . . . . . . . . . . A-2 Example 1: Add a Condition to a CONTROL-M . . . . . . . . . . . A-2 Example 2: Delete a Condition from a CONTROL-M . . . . . . . A-2 Job Creation Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 Example 1: Create a Job Requiring Confirmation . . . . . . . . . . A-3 Example 2: Create a Cyclic Job . . . . . . . . . . . . . . . . . . . . . . . . . A-4 Example 3: Create a Job Including In and Out Conditions . . . . A-5 Example 4: Create a Job that Requires Resources . . . . . . . . . . A-6 Example 5: Create a Job that Includes On-Do Statements . . . . A-7 Example 6: Create a Job that Includes On-Do Statements . . . . A-8 Order/Force Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9 Example 1: Order a Unix Job . . . . . . . . . . . . . . . . . . . . . . . . . . A-9 Example 2: Force a Unix Job . . . . . . . . . . . . . . . . . . . . . . . . . . A-9 Example 3: Force a Unix Job into a Recent Group Scheduling Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10 Example 4: Force a Unix Job into a Recent Group Scheduling Table while Allowing for Duplication . . . . . . . . . . . . . . . . . . A-11 Example 5: Force a Scheduling Table that Contains a Group Scheduling Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
BMC Software, Inc., Confidential and Proprietary Information
viii
Appendix B
Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B-2 Error Code Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B-4 NULL Exception Errors (Major Code 000) . . . . . . . . . . . . . . . .B-6 Low-level API Exceptions (Major Code 100) . . . . . . . . . . . . . .B-7 Parser Exceptions (Major Code 200) . . . . . . . . . . . . . . . . . . . . .B-8 CONTROL-M/Server Errors: Group 1 (Major Code 300) . . . . .B-9 CONTROL-M/Server Errors: Group 2 (Major Code 301) . . . . .B-12 CONTROL-M/Server Errors: Group 3 (Major Code 302) . . . . .B-14 Generic Request Exceptions (Major Code 401) . . . . . . . . . . . . .B-15 Poll Request Errors (Major Code 403) . . . . . . . . . . . . . . . . . . . .B-16 Add/Delete Condition Request Errors (Major Code 404) . . . . .B-17 Order/Force Request Errors (Major Code 405) . . . . . . . . . . . . .B-18 Tracking Request Errors (Major Code 406) . . . . . . . . . . . . . . . .B-19 Authorization Request Errors (Major Code 407) . . . . . . . . . . . .B-20 Alerts Request Errors (Major Code 408) . . . . . . . . . . . . . . . . . .B-21 Create Active Job Request Errors (Major Code 409) . . . . . . . . .B-22 CONTROL-M/EM API Java Client Errors (Major Code 500) . .B-23 Gateway Messages (Major Code 600) . . . . . . . . . . . . . . . . . . . .B-24
Glossary Index
Contents
ix
Figures
Figures
Figure 1-1 Figure 3-1 Figure 4-1 Figure 4-2 Figure 4-3 Figure 4-4 Figure 5-1 Figure 7-1 Figure 7-2 CONTROL-M/EM API Flow Diagram . . . . . . . . . . . . . . . . . . . Sample Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparison of Request Methods. . . . . . . . . . . . . . . . . . . . . . . . EMBasicXMLInvoker Request Session . . . . . . . . . . . . . . . . . . EMXMLInvoker Request Session . . . . . . . . . . . . . . . . . . . . . . . EMXMLInvoker Polling Request Steps . . . . . . . . . . . . . . . . . . Order/Force Response Example . . . . . . . . . . . . . . . . . . . . . . . . emapi_log.cfg File Example with Default Parameters . . . . . . . RollingFileAppender Example Properties . . . . . . . . . . . . . . . . . 1-3 3-3 4-8 4-10 4-12 4-13 5-15 7-3 7-5
Figures
xi
xii
Tables
Tables
Table 2-1 Table 2-2 Table 2-3 Table 2-4 Table 2-5 Table 4-1 Table 4-2 Table 4-3 Table 4-4 Table 5-1 Table 5-2 Table 5-3 Table 6-1 Table 7-1 Table 8-1 Table 8-2 Table 8-3 Table 8-4 Table 8-5 Table 8-6 Table 9-1 Table 9-2 Table 9-3 Table 9-4 Table 9-5 Table 9-6 Table 9-7 Table 9-8 Supported Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Database Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . CONTROL-M/EM API Compressed File Names . . . . . . . . . . . CONTROL-M/EM API Primary Subdirectories . . . . . . . . . . . . Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONTROL-M/EM API (EMXMLInvoker) Use Flow . . . . . . . Request Types Listed by Component Type . . . . . . . . . . . . . . . . Polling Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request Types Listed by Component Type . . . . . . . . . . . . . . . . Response String Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Token Response XML Parameters Description . . . . . . . . . . . . . Error Response XML Parameters Description . . . . . . . . . . . . . CONTROL-M/EM API Properties Parameters . . . . . . . . . . . . . Log Message Priority Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . CONTROL-M/EM API Classes . . . . . . . . . . . . . . . . . . . . . . . . EMBasicXMLInvoker Methods. . . . . . . . . . . . . . . . . . . . . . . . . EMXMLInvoker Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GASComponent Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . GASComponent Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . InvokeException Class Methods . . . . . . . . . . . . . . . . . . . . . . . . Requests Listed in this Chapter . . . . . . . . . . . . . . . . . . . . . . . . . Request Reference Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add/Delete Condition XML Parameters Description . . . . . . . . Add/Delete Condition Response XML Parameters Description Change Alert Status XML Parameters Description . . . . . . . . . . Change Alert Status Response XML Parameters Description. . Job Creation Request XML Parameters Description . . . . . . . . . Order/Force XML Parameters Description . . . . . . . . . . . . . . . . 2-2 2-2 2-4 2-5 2-6 4-3 4-18 4-20 4-22 5-2 5-4 5-8 6-7 7-3 8-1 8-4 8-9 8-18 8-21 8-24 9-1 9-2 9-5 9-8 9-11 9-14 9-22 9-61
Tables
xiii
Table 9-9 Table 9-10 Table 9-11 Table 9-12 Table 9-13 Table 9-14 Table 9-15 Table 9-16 Table 9-17 Table 9-18 Table 9-19 Table 9-20 Table B-1 Table B-2 Table B-3 Table B-4 Table B-5 Table B-6 Table B-7 Table B-8 Table B-9 Table B-10 Table B-11 Table B-12 Table B-13 Table B-14 Table B-15 Table B-16 Table B-17 Table B-18
Order/Force Response XML Parameters Description (Native API) 9-66 Order/Force Response XML Parameters Description (Basic API) 9-72 Polling Request XML Parameters Description . . . . . . . . . . . . . 9-78 Poll Response XML Parameters Description . . . . . . . . . . . . . . . 9-80 Timeout Reset Request XML Parameters Description. . . . . . . . 9-84 Timeout Reset Response XML Parameters Description . . . . . . 9-86 Tracking Request XML Parameters Description . . . . . . . . . . . . 9-90 Tracking Request Response XML Parameters Description . . . . 9-93 Registration Request XML Parameters Description . . . . . . . . . 9-99 User registration Response XML Parameters Description. . . . . 9-101 Unregistration Request XML Parameters Description . . . . . . . . 9-105 User Unregistration Response XML Parameters Description . . 9-109 Log Message Priority Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2 Error and Exception Major Codes . . . . . . . . . . . . . . . . . . . . . . . B-4 NULL Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-6 Low Level API Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 Parser Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-8 CONTROL-M/Server Errors: Group 1. . . . . . . . . . . . . . . . . . . . B-9 CONTROL-M Server Errors: Group 2. . . . . . . . . . . . . . . . . . . . B-12 CONTROL-M Server Errors: Group 3. . . . . . . . . . . . . . . . . . . . B-14 Generic Request Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15 Poll Request Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-16 Add/Delete Condition Request. . . . . . . . . . . . . . . . . . . . . . . . . . B-17 Order/Force Request Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-18 Job Tracking Request Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19 Authorization Request Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20 Alerts Request Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21 Create Active Job Request Errors. . . . . . . . . . . . . . . . . . . . . . . . B-22 CONTROL-M/EM API Java Client Errors . . . . . . . . . . . . . . . . B-23 Gateway Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-24
xiv
About . . .
To get the most benefit from this book, you should be familiar with your host operating system.
This book is organized as follows. In addition, a glossary of terms and an index appear at the end of the book.
Chapter /Appendix
Chapter 1
Description
Overview Describes what the CONTROL-M/EM API can do and how it works. Installation Describes thow to install the API fileson your computer. Configure the CONTROL-M/EM API Describes the how to configure the CONTROL-M/EM API for use in your projects.
Chapter 2 Chapter 3
xv
Chapter /Appendix
Chapter 4
Description
Creating Request Calls Describes how to initialize the API and create requests to CONTROL-M/EM. Response Handling Describes the types of responses that are sent by CONTROL-M/EM and how to handle them in your project. Advanced Features and Optimization Describes advanced, optional procedures for further configuring use of the CONTROL-M/EM API. Diagnostics and Troubleshooting Describes methods for identifying and resolving problems that may occur when using the CONTROL-M/EM API. Call Reference Describes the classes and methods of the CONTROL-M/EM API calls. Request Reference Describes how to format the XML request strings that are sent to CONTROL-M/EM. Request Format Examples Presents sample request files. Error Codes and Exceptions Describes the various return codes that can be displayed when using the CONTROL-M/EM API.
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Appendix A Appendix B
Related Documentation
BMC Software products offer several types of documentation: online and printed books online Help release notes
In addition to this book, you can find useful information in the publications listed in the following table.
xvi
CONTROL-M User Manual (OS/390) describes all CONTROL-M concepts, features, facilities and operating instructions in detail. It can be used as a learning guide as well as a reference guide. CONTROL-M Administrator Guides are supplied based on the type of computer(s) in each sites CONTROL-M installation(s). These guides describe installation, setup, security and utilities that apply to CONTROL-M for OpenVMS, and AS/400 platforms. CONTROL-M/Agent Administrator Guide describes installation and maintenance of CONTROL-M/Agent on the various types of supported platforms. CONTROL-M/Server Administrator Guide describes installation and maintenance of CONTROL-M/Server on the various types of supported platforms. CONTROL-M/Enterprise Manager User Guide describes all CONTROL-M/EM concepts, features, facilities and operating instructions in detail. It can be used as a learning guide as well as a reference guide. CONTROL-M/Enterprise Manager Administrator Guide describes administrator responsibilities, customization, maintenance and security of CONTROL-M/EM. CONTROL-M/Desktop User Guide describes components used to define and manage CONTROL-M job processing definitions, Scheduling tables, and Calendars in CONTROL-M/EM. CONTROL-M Installation Guide describes the installation processes for implementing CONTROL-M/EM and CONTROL-M/Server environments on Microsoft Windows and Unix platforms. CONTROL-M Job Parameter and Variable Reference Guide describes the parameters used for creating job processing definitions.
xvii
CONTROL-M/Enterprise Manager Utilities Reference Guide describes the utilities used for creating and managing objects in the job production environment and maintaining various aspects of CONTROL-M/Enterprise Manager.
Online books are formatted as Portable Document Format (PDF) files. You can view them, print them, or copy them to your computer by using Acrobat Reader 3.0 or later.You can access online books from the documentation compact disc (CD) that accompanies your product or from the World Wide Web. In some cases, installation of Acrobat Reader and downloading the online books is an optional part of the product-installation process. For information about downloading the free reader from the Web, go to the Adobe Systems site at http://www.adobe.com. To view any online book that BMC Software offers, visit the support page of the BMC Software Web site at http://www.bmc.com/support.html. Log on and select a product to access the related documentation. (To log on, first-time users can request a user name and password by registering at the support page or by contacting a BMC Software sales representative.)
To Request Additional Printed Books
BMC Software provides a core set of printed books with your product order. To request additional books, go to http://www.bmc.com/support.html.
BMC Software, Inc., Confidential and Proprietary Information
xviii
Release Notes
Printed release notes accompany each BMC Software product. Release notes provide up-to-date information such as updates to the installation instructions last-minute product information
The latest versions of the release notes are also available on the Web at http://www.bmc.com/support.
Conventions
The following abbreviations are used in this guide:
Abbreviation
CONTROL-M/EM Net <home-directory>
Description
CONTROL-M/Enterprise Manager CONTROL-M/EM Network Directory in which CONTROL-M/EM is installed
xix
{Option A|Option B}
The vertical bar is used to separate choices. For example: {AND|OR} means that you specify either AND or OR.
Square brackets are used to enclose parameters that are optional. Format syntax, operating system terms, literal examples, and JCL scripts are presented in this typeface. In instructions, boldface type highlights information that you enter. File names, directory names and paths, dialog box names, and Web addresses also appear in boldface type. Italic type is used to emphasize important terms. The titles of BMC Software product documentation are also displayed in italic type. The symbol
Boldface
Italics
An ellipsis ( . . . ) indicates that you can repeat the preceding item or items as many times as necessary. A vertical bar ( | ) separating items indicates that you must choose one item. In the following example, you would choose a, b, or c: a|b|c
Option Symbol
xx
Overview
The CONTROL-M/Enterprise Manager API is an open interface for external applications that enables you to exploit the capabilities of CONTROL-M/EM and CONTROL-M. The CONTROL-M/EM API enables users of your application to perform the following functions in the CONTROL-M Business Integrated Scheduling environment: Log a user in or out of CONTROL-M/EM Create jobs and Group Scheduling tables in the CONTROL-M Active Jobs file Order and force jobs Order and force Scheduling tables Track job execution Manipulate Conditions Manipulate Alerts
Overview
1-1
Initialization
Before sending requests, the CONTROL-M/EM API must be initialized. To initialize the API is to initialize the CORBA processes that forward requests from the client side of the API to the CONTROL-M/EM GUI Server and the Global Alerts Server.
The APIs
In this version of the API, a developer can interact with two CONTROL-M/EM server components: GUI Server Global Alerts Server
The developer initializes an instance of the EMXMLInvoker or EMBasicXMLInvoker, chooses which component to communicate with, and authenticates him or herself with the API. From them on, an unlimited number of requests can be sent. Each API request has a pre-determined syntax and a set of parameters. There are two distinct invocation methods: Native (EMXMLInvoker class) Basic (EMBasicXMLInvoker class)
1-2
The differences between the two classes is described in Deciding Which Class to Use on page 4-7. When the user is finished sending requests, the CONTROL-M/EM API can be stopped or can be left running for the next user.
Figure 1-1 CONTROL-M/EM API Flow Diagram
Overview
1-3
1-4
Installation
The CONTROL-M/Enterprise Manager API is supplied as a compressed file. When decompressed, this file creates a directory structure containing the CONTROL-M/EM API files. The following topics are described: Software Requirements Installation
Software Requirements
For the CONTROL-M/EM API to operate properly, supported software and hardware must be installed.
Installation
2-1
CONTROL-M/Server for Windows NT version 6.1.0x CONTROL-M/Server for Unix version 6.1.0x CONTROL-M for OS/390 version 6.1.0x
Component
API Client Component
Unix Platforms
IBM AIX 4.3.3 Sun Solaris 2.6, 2.7, and 2.8 HP-UX 11.0 and 11.11, using the long filenames option
Table 2-2
Microsoft Windows
Oracle Server versions 8.1.7, 9i Sybase Adaptive Server versions 12, 12.5 MSSQL versions 7.0 and 2000
Unix Platforms
Oracle Server versions 8.1.7, 9i Sybase Adaptive Server versions 12, 12.5
2-2
The CONTROL-M/EM API uses the Orbix 2000 version 1.2 CORBA implementation as the carrier for API requests. Orbix 2000 version 1.2 Server is installed together with CONTROL-M/EM. An Orbix client is installed together with the API.
Installation
2-3
Installation
The CONTROL-M/EM API can be installed on either Microsoft Windows or Unix computers. For more detailed compatibility information, see CONTROL-M Product Support on page 2-1.
Step 1
Install the CONTROL-M/EM API to a Unix or Microsoft Windows computer. Unzip or untar the appropriate compressed file. Use one of the following procedures:
Microsoft Windows
Using Microsoft Windows Explorer, navigate to the <CD>:\emapi_files\emapi-610-nt.zip file on the CONTROL-M/EM installation CD. Double-click on the filename.
Unix
Enter the following command for AIX and HP-UX: uncompress -c <CD_path>/emapi_files/<filename>.Z | tar xvf Enter the following command for Solaris:
uncompress -c <CD_path>/EMAPI_FILES/<filename>.Z | tar xvf -
The appropriate file is located on your CONTROL-M/EM installation CD in the <CD>\emapi_files directory.Filenames are listed in Table 2-3.
Table 2-3 CONTROL-M/EM API Compressed File Names
Platform
Microsoft Windows Solaris HP-UX AIX
2-4
The emapi-610 directory tree is created. All CONTROL-M/EM API files are located under this directory. Four primary subdirectories are created under the emapi-610 directory. They are described in Table 2-4.
Table 2-4 CONTROL-M/EM API Primary Subdirectories
Directory
emapi-610\iona
Description
Contains files for running the Orbix Java Client, used for communication between the API and the CONTROL-M/EM GUI Server and the Global Alerts Server. Includes: omg.jar orbix2000.jar Contains the .dtd files that validate the xml-formatted request strings sent and received using the API. Contains sample implementations of the API. Contains the API .jar files, including: emapi.jar The API implementation files. log4j.jar Files used by the API logging facility.
emapi-610\xmldata
emapi-610\examples emapi-610\classes
The processes for configuring the CONTROL-M/EM API on computers running Microsoft Windows and on computers running Unix are identical, except for differences in the names of some of the files used. These differences, and the names of other files that are used during configuration are described in Table 2-5.
Installation
2-5
Table 2-5
Configuration Files
Name
emapi-configure.exe (on Microsoft Windows) emapi-configure (on Unix) emapi-env.bat (on Microsoft Windows) emapi-env.sh (on Unix) ctmemapi.properties
Description
Creates files used in later stages of configuration and enables the API with access other key components. These components include: The Orbix Locator The CONTROL-M/EM GUI Server The Global Alerts Server. Automatically adds API directory pathnames into the CLASSPATH environment variable. Note: This file is created by the emapi-configure(.exe) file when it is run. Contains the locations of: CONTROL-M/EM GUI Server Global Alerts Server XMLDATAPATH property Note: This file is created by the emapi-configure(.exe) file when it is run. Starts an interactive utility for changing the hostnames of the CONTROL-M/EM GUI Server and Global Alerts Server.
Step 2
Obtain the following information: The Orbix Locator hostname and port Hostnames of the CONTROL-M/EM GUI Server and Global Alerts Server
2.B
Run the emapi-610\emapi-configure.exe file (Unix: emapi-610\emapi-configure). At the prompt, the following text is displayed:
This script will configure EM/API library Execute configure -? for more details. Press any key to begin. [continue]:
BMC Software, Inc., Confidential and Proprietary Information
2-6
2.C
Press any key. If CONTROL-M/EM is not installed on this computer, go to Step 2.D on page 2-7. If CONTROL-M/EM is installed on the computer, the following prompt is displayed:
CONTROL-M/Enterprise Manager detected. -----------------------------------------CONTROL-M/Enterprise Manager configuration detected. Do you want to use the same Orbix configuration? Press Y to use the current Orbix configuration properties. Go to Step 2.F on page 2-7. Press N to supply new Orbix configuration information. Continue with Step 2.D
2.D
Press any key. The following prompt is displayed: Orbix 2000 - Locator hostname -------------------------------------------Enter the Orbix 2000 - Locator hostname (press Enter if local) [nt-tlv357]:
2.E
Enter the name of the Orbix 2000 Locator host computer and press Enter. The following prompt is displayed: Orbix 2000 - Locator port number -------------------------------------------Enter the Orbix 2000 - Locator port (press Enter to accept the default) [3075]:
2.F
Enter the port number that the Orbix 2000 Locator uses and press Enter. The following prompt is displayed:
Installation
2-7
Control-M/Enterprise Manager - GUI Server hostname -------------------------------------------Enter the GUI Server hostname (press Enter if local) [nt-tlv357]:
2.G
Enter the name of the CONTROL-M/EM GUI Server host computer and press Enter. The following prompt is displayed: Control-M/Enterprise Manager - Global Alerts Server hostname -------------------------------------------Enter the Global Alerts Server hostname (press Enter if local) [apihost]:
2.H
Enter the name of the CONTROL-M/EM Global Alerts Server host computer and press Enter.
Installation is complete. You must now prepare your project and its environment to use the CONTROL-M/EM API. These issues are discussed in Chapter 3, Configure the CONTROL-M/EM API.
2-8
Your project is in the development environment when you are creating and testing the project on your development computer. The running environment is the project environment when your program is released for use.
3-1
Follow these steps for both the development environment and the running environment.
Step 1
Set the environment variables for the environment by running the emapi-env.bat (or emapi-env.sh) file. For emapi-env.sh on Unix, run the following command: . emapi-env.sh Running the command with the above syntax ensures that the variables are valid after the command is run.
Step 2
3-2
import com.bmc.ctmem.emapi.*; public class EMAPISample { public EMAPISample() { } /** run once before submitting requests */ public void do_init(String[] args) { EMXMLInvoker.init(args); }
/** run once before exiting the program */ public void do_terminate() { EMXMLInvoker.done(); } /** This submits the XMLRequest received as a parameter * and returns the response */ public String submit_request(String XMLRequest) { String XMLResponse=""; // Creates a component ComponentType gsr_comp = new GSRComponent(); // Creates a new EMXMLInvoker instance EMXMLInvoker my_invoker = new EMXMLInvoker(gsr_comp); try { // Submits the request given as a parameter XMLResponse = my_invoker.invoke(XMLRequest); } catch(InvokeException i) { // must handle InvokeException } return XMLResponse; } }
Step 1
Import the CONTROL-M/EM API into your project with the following command:
import com.bmc.ctmem.emapi.*;
3-3
Step 2
Create a class that uses the CONTROL-M/EM API functionality that you want to employ in your project. The first thing this class must do is call the init method. This method is described in Initializing and Stopping the CONTROL-M/EM API Services on page 4-15.
Example EMXMLInvoker.init();
Step 3
Select the CONTROL-M/EM component with which the project will communicate (the CONTROL-M/EM GUI Server or the Global Alerts Server).
Example: GUI Server ComponentType gsr_comp = new GSRComponent();
For more information, see Submitting a Request Using the EMXMLInvoker class on page 4-16.
Step 4
For more information, see Submitting a Request Using the EMXMLInvoker class on page 4-16. The class is now ready. You can use it in your project.
Step 5
3-4
To run your project, you must pass it the relevant Java Virtual Machine variables. This is discussed in Running Your Project on page 3-6.
3-5
Set the environment variables for the CONTROL-M/EM API by running the emapi-env.bat (or emapi-env.sh) file. For emapi-env.sh on Unix, run the following command: . emapi-env.sh Running the command with the above syntax ensures that the variables are valid after the command is run.
Step 2
Ensure that the environment variables are set for the Java environment and that the path includes the Java installation location. If they are not set, run the following commands:
Microsoft Windows set JAVA_HOME=<java_installation_location> set PATH=<java_installation_location>;%PATH% Unix setenv JAVA_HOME <java_installation_location> setenv PATH <java_installation_location>:$PATH
Step 3
Copy the emapi-610\ctmemapi.properties file to your projects working directory. Run the java command from the project working directory, using the following CORBA parameters: These parameters are needed by the CONTROL-M/EM API. Pass them to your project as the first and second runtime parameters.
For Microsoft Windows
java.exe -Dorg.omg.CORBA.ORBClass=com.iona.corba.art.artimpl.ORBImpl -Dorg.omg.CORBA.ORBSingletonClass=com.iona.corba.art.artimpl.ORBSingleton -classpath %CLASSPATH% <project_main_class>
Step 4
3-6
For Unix
java -Dorg.omg.CORBA.ORBClass=com.iona.corba.art.artimpl.ORBImpl -Dorg.omg.CORBA.ORBSingletonClass=com.iona.corba.art.artimpl.ORBSingleton -classpath $CLASSPATH <project_main_class>
The command must be entered as a single line. It is divided here to fit on the page.
Note
Optionally, you can pass these parameters using one of the alternative methods are described in Java Virtual Machine Parameters on page 7-7.
3-7
3-8
The CONTROL-M/EM API is a set of Java classes that manipulate an existing set of functions in the server side of the API. These classes enable Java developers to send requests to CONTROL-M/EM server components from within their own applications. This chapter discusses the following topics: CONTROL-M/EM API Sessions Deciding Which Class to Use Using EMXMLInvoker Class Calls Using EMBasicXMLInvoker Class Calls
Encode the password string that is used in the register request. Mandatory. Extract the user token supplied in the EMAPI_registerResponse response. Include this token in future communications using the API. Mandatory. When the EMXMLInvoker class is used, automate the sending of Polling requests to monitor the outcome of requests that require polling. The EMBasicXMLInvoker automates polling internally. Translate user actions into requests that the CONTROL-M/EM API can send and receive those requests. Mandatory. Parse the XML-formatted responses that the server side of the CONTROL-M/EM API returns to extract relevant data for use in your program. Mandatory.
These mandatory actions must be performed in a specific order. To illustrate this concept, an example of a CONTROL-M/EM API session is presented below. In the example, the actions of the program user are shown together with the corresponding actions that your program must perform to use the CONTROL-M/EM API.
4-2
Session Example
The user logs on to a program, submits a Job Creation request to CONTROL-M/EM, and logs off. To do so, the user performs the following actions: 1. The user logs on to the host computer of the program that uses the CONTROL-M/EM API. 2. The user starts the program that uses the CONTROL-M/EM API. 3. The user logs in to CONTROL-M/EM (sends a Registration request). 4. The user performs an action that results in a Job Creation request (for example) being sent to CONTROL-M/EM. 5. The user receives confirmation that the request was submitted. 6. The user performs additional actions that result in other requests being sent to CONTROL-M/EM. 7. The user logs out of CONTROL-M/EM (sends an Unregistration request). In reality, far more actions are being performed by both the program that the user is using and by CONTROL-M/EM. The user is not aware of these actions. these actions are described in Table 4-1.
Table 4-1 CONTROL-M/EM API (EMXMLInvoker) Use Flow (Part 1 of 4)
Step
1
User Actions
Log in End user logs on to a remote computer to use a program that uses the CONTROL-M/EM API. User starts Client-Side Program End user starts the program.
API Actions
None.
Program start Required action: Initialize the API using the init method of the EMBasicXMLInvoker class. Usage: Mandatory.
4-3
Table 4-1
Step
3
User Actions
User Logs in to CONTROL-M/EM End user must supply a username and password.
None.
Submit request Required action: User makes request that results in a job being submitted to CONTROL-M/EM. Usage: Mandatory. None.
API (client side) translates request Required action: API translates user action into a Job Creation request that is sent to CONTROL-M/EM using the invoke method of the EMXMLInvoker class. Usage: Mandatory.
CONTROL-M/EM returns response Required actions: CONTROL-M/EM sends one of the following responses: EMAPI_AsyncResponse returns Tracking ID EMAPI_errorResponse returns errors EMAPI_<Async_Request_Name>Response returns the actual response API (client side) polls for answer Required actions: Parse Tracking ID from response Program initiates polling by sending a Poll request using the invoke method. Poll request includes Tracking ID. Usage: Mandatory.
None.
4-4
Table 4-1
Step
8
User Actions
None.
API Actions
CONTROL-M/EM returns response Required actions: CONTROL-M/EM automatically sends a response that can be one of the following: EMAPI_errorResponse returns errors EMAPI_PollResponse returned when request being executed EMAPI_<Async_Request_Name>Response returns the actual outcome of the request Usage: Mandatory. API (client side) processes response Required actions: The program parses the reponse. Usage: Mandatory. If response is an error, notify user If response is actual outcome of the request, notify user of outcome If request still being processed, send additional poll request Usage: Mandatory. Continue Polling from API (client side) Required actions: Program initiates polling by sending a Poll request using the invoke method. Poll request includes Tracking ID. Usage: Mandatory. Note: Continue polling and processing responses until receiving an EMAPI_<Async_Request_Name>Response reponse, which returns the actual outcome of the request. Note: If an error severe enough to stop the request process is received instead, the program should be examined and the user session ended. API (client side) processes response Required actions: The program parses the response and notifies the user of the outcome of the request. Usage: Mandatory.
None.
10
None.
11
None.
4-5
Table 4-1
Step
12
User Actions
Submit request Required action: User makes request. Usage: Optional. User Logs off of CONTROL-M/EM
API Actions
Repeat steps 5-11 for each request that requires polling.
13
14
None.
CONTROL-M/EM returns response Required action: CONTROL-M/EM send an EMAPI_unregisterResponse response. This response notifies the user that he has been logged off. If the Unregistration request was unsuccessful, the response will contain a list of errors. Usage: Mandatory. Program stop (Optional) Required action: Stop the API using the done method. Usage: Mandatory, when the program is stopped.
15
None.
4-6
The EMBasicXMLInvoker and EMXMLInvoker classes may be used interchangeably, even in the same session. Since the EMBasicXMLInvoker class inherits from the EMXMLInvoker class you need to initialize the API only once. The two classes differ in only two respects. They are that: The EMXMLInvoker requires you to poll manually for responses. The EMBasicXMLInvoker polls automatically for responses. This is discussed in Response Handling on page 4-7. The EMBasicXMLInvoker uses .dtd files to validate XML-formatted requests/responses, but the EMXMLInvoker class does not. This is discussed in XML String Validation on page 4-14.
Response Handling
The EMXMLInvoker requires you to poll manually for responses. The EMBasicXMLInvoker polls automatically for responses. The EMBasicXMLInvoker behavior is described in When to Use the EMBasicXMLInvoker class on page 4-9. The EMXMLInvoker behavior is described in When to Use the EMXMLInvoker Class on page 4-11.
Figure 4-1 illustrated the structural differences between the two request methods.
4-7
Figure 4-1
4-8
The EMBasicXMLInvoker class eliminates the effort of polling by not returning the response until either the final response is available from the server, or the API times out. The advantage is that the user does not have to process the responses or place additional requests. There are, however, some disadvantages to using only the EMBasicXMLInvoker class: The API call may be blocked for several seconds, generally until the final response is available or the call times out. The time-out period is configurable. The EMBasicXMLInvoker class performs additional processing after receiving the response so it can determine its course of action. The EMBasicXMLInvoker class performs XML parsing. This makes it more resource-intensive than the EMXMLInvoker class.
4-9
Figure 4-2
4-10
The EMXMLInvoker class communicates XML-formatted requests to CONTROL-M/EM and returns responses to the program that issued the requests. It does not do any post processing of the response data. Certain requests (such as the Job Creation request) take time for CONTROL-M to process. As a result, they do not return a response that contains the outcome of the request (because that outcome has not yet been determined). A user of the EMXMLInvoker class may have to make several requests to check whether the expected response is available. To facilitate this, the user sends a poll request. To identify the original request (for which the polling is being performed) the poll request includes a tracking ID, which is supplied in a response from CONTROL-M/EM immediately after certain requests are submitted. These requests are: Order/Force Request Add/Delete Condition Request Job Creation Request
The program must submit this tracking ID in a poll request several times, until the required response is available.
4-11
Figure 4-3
The polling process (indicated by the black box in Figure 4-3 on page 4-12 above) is illustrated in Figure 4-4 on page 4-13.
4-12
Figure 4-4
The advantage of this approach is that the API always replies immediately to the request. No extra time or resources are spent processing the responses.
4-13
The XMLDATAPATH property is defined in the ctmemapi.properties file. The EMXMLInvoker class does not examine the XML-formatted data it sends or receives, and it does not depend on the presence of .dtd files. An EMXMLInvoker request session adds a series of polling request steps to the EMBasicXMLInvoker request session displayed on Figure 4-2. How to use the EMXMLInvoker is described in Using EMXMLInvoker Class Calls on page 4-15. How to use the EMBasicXMLInvoker is described in Using EMBasicXMLInvoker Class Calls on page 4-21.
4-14
The CONTROL-M/EM API makes use of services that need to be initialized and terminated only once. There is no need to initialize and stop for every new user session or call.
The API services are started using the EMXMLInvoker static method, init. The prototype described below uses a default CORBA configuration and should be used in most circumstances.
Note
There are two additional init prototypes. They are described in Modifying Initialization Properties on page 6-1.
Prototype
4-15
init is a method of the EMXMLInvoker. The init method should be called at program startup. It does not need to be run before every request or prior to every interactive session.
Stopping the API Services
When you have finished using the CONTROL-M/EM API in your project, the API must be stopped. The API services are stopped using the EMXMLInvoker static method, done. There is only one done method prototype:
Prototype
Before invoking an object with an instance of the EMXMLInvoker, you must assign it a reference to the CONTROL-M/EM component that will process the request. An instance of EMXMLInvoker must hold either GSRComponent or GASComponent.
BMC Software, Inc., Confidential and Proprietary Information
4-16
Example
ComponentType myComponent = new GSRComponent(); EMXMLInvoker gsrInvoker = new EMXMLInvoker(myComponent);
The GSRComponent class represents the CONTROL-M/EM GUI Server component in your network. The GASComponent class represents the CONTROL-M/EM Global Alerts Server component in your network.
The component you specify when you invoke the object (GSRComponent or GASComponent) must be appropriate to the task that you want to perform. Request types and the components that process those requests are listed in Table 4-2.
4-17
Table 4-2
Request Type
Job Creation Order/Force Add/Delete Condition Alert Status Modification Polling User Registration User Unregistration Time-out Reset Job Tracking
X X X X X X X X X
Note
Identifying information for these components was recorded in the ctmemapi.properties file when you configured the API. This file contains the hostname for each component. In networks in which more than one GUI Server or GAS is installed, only one of each component will be listed in the ctmemapi.properties file. The API works only with the components listed in the file. You cannot modify the file to include more than one GUI Server or GAS.
public String invoke(String xmlRequest) throws InvokeException Where xmlRequest is a string that is formatted according to the XML request specification that is presented in this book. A request in XML format (xmlRequest), specifying the action that the CONTROL-M installation is to perform, is required for each call.
BMC Software, Inc., Confidential and Proprietary Information
4-18
The various types of requests that you can make are described in Chapter 9, Request Reference. To invoke an object with the EMXMLInvoker:
Step 1
Create an instance of the EMXMLInvoker containing a reference to a CONTROL-M/EM server component type. This specified server component type component will process the request that you create in Step 2.
Example
GSRComponent gsrComponent = new GSRComponent(); EMXMLInvoker gsrInvoker = new EMXMLInvoker(gsrComponent);
Step 2
Note
The invoke method can throw an exception if the application failed to process the invoke call (for example, if communication between CONTROL-M/EM and CONTROL-M fails). For more information, see Application Runtime and Communication Troubleshooting on page 7-11.
4-19
Polling
There are two types of requests: Requests that receive direct feedback about action taken by CONTROL-M/EM regarding the request. Requests that do not receive direct feedback. These requests receive a tracking ID as a response. By sending a polling request including this tracking ID, the user can retrieve feedback about action taken by CONTROL-M/EM when it becomes available or a notice that the request is still being processed. Only certain requests types require polling, as described in Table 4-3.
Table 4-3 Polling Requirements
Polling
Required
Request Type
Order/Force Request Add/Delete Condition Request Job Creation Request Polling Request User Registration Request User Unregistration Request Time-out Reset Request Alert Status Modification Request Job Tracking Request
Not Required
For more information about the polling request, see page 9-77.
4-20
Before invoking an object with an instance of the EMBasicXMLInvoker, you must assign it a reference to the CONTROL-M/EM component that will process the request. An instance of EMBasicXMLInvoker must hold either GSRComponent or GASComponent.
Example
ComponentType myComponent = new GSRComponent(); EMBasicXMLInvoker gsrInvoker = new EMBasicXMLInvoker(myComponent);
The GSRComponent class represents the CONTROL-M/EM GUI Server component in your network. The GASComponent class represents the CONTROL-M/EM Global Alerts Server component in your network.
4-21
The component you specify when you invoke the object (GSRComponent or GASComponent) must be appropriate to the task that you want to perform. Request types and the components that process those requests are listed in Table 4-2.
Table 4-4 Request Types Listed by Component Type
Request Type
Job Creation Order/Force Add/Delete Condition Alert Status Modification Polling User Registration User Unregistration Time-out Reset Job Tracking
X X X X X X X X X
Note
Identifying information for these components was recorded in the ctmemapi.properties file when you configured the API. This file contains the hostname for each component. In networks in which more than one GUI Server or GAS is installed, only one of each component will be listed in the ctmemapi.properties file. The API works only with the components listed in the file. You cannot modify the file to include more than one GUI Server or GAS.
4-22
Where xmlRequest is a string that is formatted according to the XML request specification that is presented in this book. A request in XML format (xmlRequest), specifying the action that the CONTROL-M installation is to perform, is required for each call. To invoke an object with the EMBasicXMLInvoker:
Step 1
Create an instance of the EMBasicXMLInvoker containing a reference to a CONTROL-M/EM server component type. This specified server component type component will process the request that you create in Step 2.
Example
GSRComponent gsrComponent = new GSRComponent(); EMBasicXMLInvoker gsrInvoker = new EMBasicXMLInvoker(gsrComponent);
Step 2
Note
The invoke method can throw an exception if the application failed to process the invoke call (for example, if communication between CONTROL-M/EM and CONTROL-M fails). For more information, see Application Runtime and Communication Troubleshooting on page 7-11.
4-23
4-24
Response Handling
Every time a request is made, CONTROL-M/EM replies by sending one or more response strings (in XML format) to the person who submitted the request. Responses can inform the CONTROL-M/EM API user about the following information: The status of the request that was made The status of any jobs in CONTROL-M that were affected by the request The status of polling (if it was performed) Errors that were generated by the request and polling
You can parse the contents of these response strings for use in your project. The following topics are included in this chapter: Response Types Response String Formats Interpreting Response Strings
Response Handling
5-1
Response Types
All responses from CONTROL-M/EM are sent as XML-formatted text strings. There are four response types. The response types are described in Table 5-1.
Table 5-1 Response String Types
Response Type
EMAPI_TokenResponse EMAPI_PollResponse EMAPI_<Requestname>Response EMAPI_errorResponse
Description
This response is sent following all requests that require polling. Informs you that your original request is being processed (status: EXEC). The response that informs you of the outcome of your initial request. Used when any request you place returns an error.
Each response type is described below. Included in each description are the circumstances in which such a response is sent.
5-2
EMAPI_tokenResponse
The EMAPI_tokenResponse response contains a unique response token that identifies the request for the purpose of polling for the result of the request. This response is returned by CONTROL-M/EM after a request, such as Job Creation, is sent successfully.
dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error (#PCDATA)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error-list (ctmem:error)> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:response_token (#PCDATA)> <!ELEMENT ctmem:response_data (ctmem:response_token)> <!ATTLIST ctmem:response_data ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:response ( ctmem:status, ctmem:response_data )> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response )> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
Response Handling
5-3
Parameters
Table 5-2 Token Response XML Parameters Description (Part 1 of 3)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_tokenResponse.dtd"> message_package Identifies the beggining and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Wrapper for the status and response_data elements. request_name Request type for which the response was generated. Valid values: register
Example <ctmem:response ctmem:name=poll> <ctmem:status>Error</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=403 ctmem:minor=1 ctmem:severity=Error> <ctmem:error_message>Error: Invalid token supplied. </ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Description of message content (for example, Error). String. Contained in the response element. Example <ctmem:status>ERROR</ctmem:status>
5-4
Table 5-2
Parameter
response_data
Description
Valid Values
Describes the response and the jobs to which the response refers. String. Contained in the response element. Contains the request_name attribute and the response_token element. Example <ctmem:response_data request_name="register"> <ctmem:response_token>1234</ctmem:response_token> </ctmem:response_data>
response_token
Tracking ID assigned by the API. String. Contained in the response_data element. Example <ctmem:response_token>1234</ctmem:response_token>
error-list
Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list>
Response Handling
5-5
Table 5-2
Parameter
error
Description
Valid Values
Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
5-6
EMAPI_PollResponse
The EMAPI_pollResponse response is returned in response to a poll request. It indicates that the initial request (the outcome of which you are polling for) is still being processed (status: EXEC). The poll response is described under Polling Request on page 9-77.
EMAPI_errorResponse
CONTROL-M/EM returns the The EMAPI_errorResponse response when an error has occured. The error can result from any of a number of sources, including: Incorrect XML formatting of the request string The request being sent cannot be processed by CONTROL-M/EM CONTROL-M/EM component malfunction Communication difficulties between components
The response can contain one or more errors, arranged in a list that notes the highest degree of severity among the errors in the group. Each error is listed. For every error, a major code that indicates the class of error, a minor code that identifies the specific error type, the severity rating of the error, and a text message that briefly describes the problem are included. All errors are described in Appendix B, Error Codes and Exceptions.
Response Handling
5-7
dtd
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:response (ctmem:status, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
Parameters
Table 5-3 Error Response XML Parameters Description (Part 1 of 3)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_errorResponse.dtd">
5-8
Table 5-3
Parameter
message_package
Description
Valid Values
Identifies the beggining and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status and error-list elements. request_name Request type for which the response was generated. Valid values: poll
Example <ctmem:response ctmem:name=poll> <ctmem:status>Error</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=403 ctmem:minor=1 ctmem:severity=Error> <ctmem:error_message>Error: Invalid token supplied. </ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Description of message content (for example, Error). String.
Example <ctmem:status>Error</ctmem:status>
Response Handling
5-9
Table 5-3
Parameter
error-list
Description
Valid Values
Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
5-10
EMAPI_<Requestname>Response
The EMAPI_<Requestname>Response response contains the outcome of the initial request. The name of the request for which the response is returned is contained in the .dtd filename for this response type. For example, EMAPI_job_trackResponse.dtd is the validation file for the response to the Job Tracking request. When EMAPI_<Requestname>Response is returned following request that requires polling (Job Creation, Order/Force, or Add/Delete Condition) that was sent using the init method of the EMXMLInvoker (Native API) class, the response will also contain information about the status of polling. Each EMAPI_<Requestname>Response string is described in Chapter 9, Request Reference, together with the appropriate request.
Response Handling
5-11
Some responses have more units than others, depending on how may separate answers are providing being provided.
5-12
If one or more errors occurred, a list of errors is included. Each error is described with its major and minor codes and a text description.
In regular type: Identifying data required for XML validation and the outer message package In Bold: Poll response envelope and Poll request status
Response Handling
5-13
In Italics: Request-specific envelope, request-specific status, and request-specific information Requests made using a method from the EMBasicXMLInvoker class do not require polling. Therefore, responses to these requests contain only a response to the initial request (such as the request to register the user) Response to a request made using the EMBasicXMLInvoker class:
<!DOCTYPE ctmem:message_package SYSTEM "EMAPI_any_requestResponse.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema" ctmem:version="1.0"> <ctmem:response ctmem:request_name="any_request_name"> <ctmem:status>OK</ctmem:status> ...request specific info... </ctmem:response> </ctmem:message_package>
In regular type: Identifying data required for XML validation and the outer message package In Italics: Request-specific envelope, request-specific status, and request-specific information
Example
In this example, an Order request to order two jobs was sent using a method of the Native API (EMXMLInvoker). Polling for the response was conducted The Order/Force reponse was returned. It contained the following information: The status of the poll request for which the response was returned. The status of the order (or force) request The status of each individual job that was ordered
5-14
The entire response string is displayed in Figure 5-1. Following the figure, the response is broken down and explained, unit by unit.
Figure 5-1 Order/Force Response Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_OrderForceResponse.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema"> <ctmem:response name="poll"> <ctmem:status>OK</ctmem:status> <ctmem:response_data request_name = "order_force"> <ctmem:status>OK</ctmem:status> <ctmem:jobs> <ctmem:job> <status>OK</status> <job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </job_data> </ctmem:job> <ctmem:job> <status>ERROR</status> <ctmem:error-list ctmem:highest_severity="Error" > <ctmem:error ctmem:major="32000" ctmem:minor="00001" ctmem:severity="Error" > <ctmem:error_message> Job "Job1". Security violation </ctmem:error_message> </ctmem:error> </ctmem:error-list> </ctmem:job> </ctmem:jobs> </ctmem:response_data> </ctmem:response> </ctmem:message_package>
The poll response unit identifies the type of request to which it corresponds ("poll") and the status of the request (OK). If an error had occurred in processing the poll request (status="ERROR"), a list of errors would have been included.
BMC Software, Inc., Confidential and Proprietary Information
Response Handling
5-15
</ctmem:status>
The initial request response unit identifies the type of request to which it corresponds ("order_force") and the status of the request (OK). The status indicated here describes the overall success of the Order request. It does not address whether individual jobs could be ordered. If an error had occurred in processing the Order/Force request (status="ERROR"), a list of errors would have been included.
Jobs List
<ctmem:jobs> <ctmem:job> <status>OK</status> <job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </job_data> </ctmem:job> <ctmem:job> <status>ERROR</status> <ctmem:error-list ctmem:highest_severity="Error"> <ctmem:error ctmem:major="32000" ctmem:minor="00001" ctmem:severity="Error"> <ctmem:error_message>Job "Job1". Security violation </ctmem:error_message> </ctmem:error> </ctmem:error-list> </ctmem:job> </ctmem:jobs>
This response unit returns the Order request results for each individual job: The first job was ordered successfully (status="OK"). The status is accompanied by information that describes the job that was ordered.
5-16
An error occurred when the second job was ordered. As a result, the job was not ordered. An error list containing one error is included.
Response Handling
5-17
5-18
If you intend to use the default initialization properties, you do not need to read Modifying Initialization Properties . CORBA is an architecture and specification for creating, distributing, and managing distributed program objects in a network. In the CONTROL-M/EM API, CORBA is implemented through the use of Orbix, a third-party product that brokers requests among the components of distributed applications (acts as middleware).
BMC Software, Inc., Confidential and Proprietary Information
6-1
The CONTROL-M/EM API init method initializes the CORBA Object Request Broker (ORB) in accordance with instructions that you (the programmer) supply in the init call. The default init prototype, Prototype 1, is called without the need to supply additional parameters or properties. The two additional init prototypes, Prototypes 2 and 3, enable you to specify alternate parameters and properties for initializing the Orbix ORB.
Prototype 1
public static void init ()
Prototype 1 (the default prototype) initializes the CORBA services using a CONTROL-M/EM API-specific Orbix configuration that was created during the API post-installation configuration (using emapi-configure). The default init prototype is described in Initializing and Stopping the CONTROL-M/EM API Services on page 4-15. This Orbix configuration information is contained in the emapi.cfg file located under the emapi-610\iona\etc\domains directory.
6-2
Prototype 2
public static void init(String[] args)
This init prototype enables you to include an array of strings representing a list of arguments.
Arguments
The args parameter generally contains your command line arguments for the applications main. This enables you to control ORB initialization from outside the program.
Note
For a list of Orbix parameters suitable for use in args, see the manufacturers documentation.
Code Example
public class HelloWorld { public static void main(String[] args) { EMXMLInvoker.init(args); ... } }
Run Example
java HelloWorld -ORBdomain_name orbix2000 The application will configure Orbix ORB with configuration information from the orbix2000.cfg file. For Orbix ORB initialization to succeed, one of the following must be true: The location of the orbix2000.cfg file directory is included in the CLASSPATH environment variable.
6-3
The ORBconfig_domains_dir parameter must point to the directory in which the orbix2000.cfg file is located.
Prototype 3
public static void init(String[] args, Properties props)
This init prototype enables you to include an array of strings representing a list of arguments.
Arguments
The args parameter generally contains your command line arguments for the applications main. This enables you to control ORB initialization from outside the program.
Note
For a list of Orbix parameters suitable for use in args, see the manufacturers documentation.
Properties
The props parameter (Properties) can contain Orbix ORB parameters, using the same options as in the command line that was passed as the first parameter (args).
Note
Code Example
public class HelloWorld { public static void main(String[] args) { Properties props = new Properties(); props.setProperty("ORBdomain_name", "orbix2000"); EMXMLInvoker.init(args, props);
6-4
... } }
Run Example
java HelloWorld The application will configure Orbix ORB with configuration information from the orbix2000.cfg file (referred to in the example without a file extension).
Note
This run example is used for illustrative purposes. To run it, you must add Java virtual machine (JVM) parameters and the CONTROL-M/EM API CLASSPATH. These concepts are discussed in Chapter 2, Installation. For Orbix ORB initialization to succeed, one of the following must be true: The location of the orbix2000.cfg file directory is included in the CLASSPATH environment variable. The ORBconfig_domains_dir parameter must point to the directory in which the orbix2000.cfg file is located.
By using both values for props and args, you can supply values for props that can be overridden by values that are supplied for args.
6-5
getProperties
The getProperties method will return the properties object that you specified with the setProperties method. If you have not set the CONTROL-M/EM API properties using setProperties, using getProperties will return the properties object containing the values in the ctmem.properties file under your <project>\<application> working directory. Each call to getProperties reads the ctmem.properties file. Any modifications made to this file while the application is running will affect subsequent calls to getProperties.
Prototype public Properties getProperties();
The CONTROL-M/EM API default parameter properties are described in Table 6-1. These parameters were specified in the ctmemapi.properties file during configuration of the CONTROL-M/EM API.
6-6
Table 6-1
Parameter
com.bmc.ctmem.emapi.GSR.hostname com.bmc.ctmem.emapi.GAS.hostname com.bmc.ctmem.emapi.XMLDATAPATH
Description
Set to the hostname of the CONTROL-M/EM GUI Server. Set to the hostname of the Global Alerts Server. Set to the location of the XML .dtd (validation) files.
setProperties
Use setProperties to modify the CONTROL-M/EM API properties values. All subsequent calls to getProperties will return the Properties object that you specified with setProperties.
Prototype
public void setProperties(Properties props); If the CONTROL-M/EM API receives Properties that do not contain the parameters described in Table 6-1, the localhost value is used in their place. It is recommended that you supply parameter values for the CONTROL-M/EM servers that are being used.
Example
In this example, setProperties is called before the CONTROL-M/EM API is used. As a result, the CONTROL-M/EM API does not read the properties from the ctmem.properties file.
{ Properties props = new Properties(); props.setProperty("com.bmc.ctmem.emapi.GSR.hostname", "comp1"); props.setProperty("com.bmc.ctmem.emapi.GAS.hostname", "comp2"); EMXMLInvoker.setProperties(props); ... // From this point forward, any new instance of EMXMLInvoker will work with comp1 for the GUI Server and with comp2 for GAS }
6-7
setPollRequestIntervalMilli and setPollRequestTimeoutMilli are methods of the EMBasicXMLInvoker class. They are not included in the EMXMLInvoker class. If you do not intend to use the EMBasicXMLInvoker class, you do not need to read this section. The total number of times that polling is conducted is a function of the values determined by the setPollRequestIntervalMilli and setPollRequestTimeoutMilli methods and the amount of time that each poll request takes.
Example
The total amount of time for polling is set at 10,000 milliseconds (10 seconds), using the setPollRequestTimeoutMilli method. The time between poll requests is set at 2000 milliseconds (2 seconds), using the setPollRequestintervalMilli method. Each polling request takes about 500 milliseconds (0.5 seconds). 10,000 / (2000 + 500) = 4 poll requests
6-8
setPollRequestIntervalMilli
The setPollRequestIntervalMilli method determines the time, in milliseconds, between poll requests. This time is measured from the end of the current poll request. The actual time that it takes to carry out the polling request is taken into account.
Prototype public void setPollRequestIntervalMilli(final long timeout)
setPollRequestTimeoutMilli
The setPollRequestTimeoutMilli method determines the total time, in milliseconds, that is allotted for polling for a response to a request.
Prototype
public void setPollRequestTimeoutMilli(final long timeout) Default: -1 milliseconds. The -1 value indicates that polling is carried on until a response is received. There is no timeout value.
6-9
6-10
The topics discussed in this chapter can help you, the developer, to analyze the performance of the CONTROL-M/EM API and prevent conflicts before they arise. The topics included in this chapter are: CONTROL-M/EM API Logging Environment Configuration Troubleshooting Application Runtime and Communication Troubleshooting
7-1
Introductory information about modifying logging mechanism behavior is described in Modifying Logging Behavior on page 7-2. However, to make effective changes, you must consult the Log4J documentation.
Logging Parameters
Whether you are placing logging configuration information in the emapi_log.cfg file or in your project code, this information must be in accordance with Log4J specifications (described in the Log4J documentation).
BMC Software, Inc., Confidential and Proprietary Information
7-2
If you are modifying logging behavior, the priority of messages that are recorded in the log must be indicated in your configuration file. Message priority levels supported by Log4J are described in Table 7-1. The levels described in the table are ordered from the most critical to the least critical.
Note
Each setting includes messages of that level and more critical levels.
Table 7-1
Level
FATAL ERROR WARN INFO DEBUG
Description
Displays fatal error messages. Displays messages for fatal and non-fatal errors. Displays warning messages and all error messages. Displays system information, warnings, and all errors. Displays debugging information and all other priority messages.
A sample log configuration file, containing common attributes, is displayed in Figure 7-1.
Figure 7-1
log4j.rootCategory=ERROR log4j.category.com.bmc.ctmem.emapi=ERROR, EMAPI_Appender # set appender for EMAPI log4j.appender.EMAPI_Appender=org.apache.log4j.Rolling FileAppender log4j.appender.EMAPI_Appender.file=emapi.log log4j.appender.EMAPI_Appender.append=true log4j.appender.EMAPI_Appender.maxFileSize=50kb
BMC Software, Inc., Confidential and Proprietary Information
7-3
the priority of the root category is set to ERROR. If your project code uses the Log4J library (in addition to its use by the CONTROL-M/EM API), the root category determines the highest overall priority of log messages. In the second line of the example:
log4j.category.com.bmc.ctmem.emapi=ERROR, EMAPI_Appender
An appender is defined for a specified category. The category can have multiple appenders. The appender that is defined here is assigned a logging priority. The appender is EMAPI_Appender. The category is com.bmc.ctmem.emapi. The logging priority is ERROR.
The remaining lines of the example define the properties of the appender,
EMAPI_Appender. The properties that are assigned in the file are
dependent on the type of appender that is being defined. This example illustrates a RollingFileAppender with the following properties:
7-4
Figure 7-2
Code
file=emapi.log append=true maxFileSize=50kb maxBackupIndex=2 layout=org.apache.log4j. SimpleLayout
Description
Indicates that the log output file is named emapi.log. Indicates that new information is added to the end of the log file. Indicates that the maximum file of the log file is 50kb. Indicates the number of backups made (number of old log files saved). Indicates the format for entries to the log file.
7-5
Some CONTROL-M/EM API directories, .jar libraries, or library locations may be missing from your application class path (CLASSPATH).
Solution
Ensure that the following files and directories are in the class path:
<full_path>/emapi-610/iona/orbix_art/1.2/classes/omg.jar <full_path>/emapi-610/iona/orbix_art/1.2/classes/orbix2000.jar <full_path>/emapi-610/iona/etc <full_path>/emapi-610/iona/etc/domains <full_path>/emapi-610/classes/log4j.jar <full_path>/emapi-610/classes/xerces.jar <full_path>/emapi-610/classes/emapi.jar <full_path>/emapi-610/classes/jbcl.jar
7-6
Your application fails during init initialization or when the invoke method is first used.
Possible Cause
Check the log file to see if a message similar to the following has been written:
ERROR - resolve naming service failed during initial reference: org.omg.CORBA.COMM_FAILURE: minor code: 1398079490 completed: No at com.sun.corba.se.internal.iiop.IIOPConnection.writeLock(Unknown Source)
If: You received an org.omg.CORBA.COMM_FAILURE exception, -AND The exception was thrown from com.sun.corba.se.internal.iiop package,
You probably did not specify to the virtual machine that it must use the Iona (Orbix) implementation (in place of the Sun default implementation). You must specify to the Java virtual machine that it must use the Orbix implementation. Use one of the following methods.:
7-7
Method 1
Run the java command from the project working directory, using the
following parameters: java -Dorg.omg.CORBA.ORBClass=com.iona.corba. art.artimpl.ORBImpl -Dorg.omg.CORBA.ORBSingletonClass=com.iona.corba. art.artimpl.ORBSingleton <project_app_name> where <project_app_name> is your projects executable file.
Method 2
1. Create a file containing the following text: org.omg.CORBA.ORBClass=com.iona.corba.art.arti mpl.ORBImpl org.omg.CORBA.ORBSingletonClass=com.iona.corba .art.artimpl.ORBSingleton 2. Save the file with the name orb.properties in one of the following directories: If you are using JDK: <JDK_home>/jre/lib If you are using JRE: <JRE_home>/lib
Method 3
Call the init method using the properties illustrated in the code
example (assuming that args is your application command line arguments):
Properties props = new Properties(); props.setProperty("org.omg.CORBA.ORBClass", "com.iona.corba.art.artimpl.ORBImpl");
BMC Software, Inc., Confidential and Proprietary Information
7-8
7-9
Possible Cause
The Orbix domain configuration file (<ORBdomain_name>.cfg) pathname in your application class path may not be correct. If you changed to a different Orbix ORB domain (by initializing the API using the init ORBdomain_name property, you may have neglected to change the Orbix domain configuration file (<ORBdomain_name>.cfg) pathname in your application class path.
Solution
Modify the Orbix domain configuration file (<ORBdomain_name>.cfg) pathname in your application class path to point to the ORB domain that you want to use.
7-10
The CONTROL-M/EM API cannot communicate with the Orbix Locator or Naming Services services because: The Orbix services are down. The Locator hostname and Locator port settings in the emapi.cfg file (Orbix domain configuration file) are incorrect.
Solutions
Ensure that: The Orbix services (IT Naming and Locator) are running (started) on the Orbix Server host computer. The Locator hostname and Locator port settings in the emapi.cfg file point to the computer that hosts the Orbix Server that you are using.
Possible Cause 2
Communication cannot be established with the CONTROL-M/EM GUI Server or Global Alerts Server because: Hostnames of the GUI Server and/or the Global Alerts Server are incorrect in the ctmemapi.properties file.
7-11
Hostnames of the GUI Server and/or the Global Alerts Server were specified (with incorrect values) in the code.
Solutions
Ensure that: The CONTROL-M/EM GUI Server is running. The hostnames and ports of the CONTROL-M/EM server components (GUI Server and Global Alerts Servers) are registered correctly in the Orbix services (IT Naming and Locator). If you are using more than one Orbix Server, you are currently using the Orbix Server that serves the CONTROL-M/EM GUI Server and Global Alerts Server to which you are sending API requests.
7-12
Call Reference
This chapter provides reference information about all public functions that you, the developer, can access when using the CONTROL-M/EM API in your project. Detailed information for implementing these functions is located in other parts of this Guide. References to this material are listed in the See Also section included under each function heading.
Note
The information in this chapter provides you with the necessary information to create requests in the form of XML strings.
Table 8-1
Class
ComponentType
Description
An abstract base class representing a CONTROL-M/EM component supported for use with the CONTROL-M/EM API. See page 8-3. The EMBasicXMLInvoker class is inherited from the EMXMLInvoker class. See page 8-4. The primary class of the API. See page 8-9. The GASComponent class represents the Global Alerts Server (GAS). See page 8-18.
Call Reference
8-1
Table 8-1
Class
GSRComponent InvokeException
Description
The GASComponent class represents the CONTROL-M/EM GUI Server. See page 8-21. This class is used to process error feedback from CONTROL-M/EM. See page 8-24.
8-2
ComponentType Class
An abstract base class representing a CONTROL-M/EM component supported for use with the CONTROL-M/EM API.
Note
The Global Alerts Server (GAS) and the GUI Server are supported for use with the CONTROL-M/EM API. When you send a request (for example, to change the status of an Alert) the CONTROL-M/EM component to which this request is referred is not indicated in the request. Instead, the request is referred by the ComponentType instance to the appropriate component. The GSRComponent class and the GASComponent class are derived from the ComponentType class. These classes are used when creating an instance of the EMXMLInvoker or the EMBasicXMLInvoker. For more information, see GASComponent Class on page 8-18 and GSRComponent Class on page 8-21.
Call Reference
8-3
EMBasicXMLInvoker Class
The EMBasicXMLInvoker class is inherited from the EMXMLInvoker class. It shares many of the methods of that class. The EMBasicXMLInvoker class uses the methods listed in Table 8-2.
Table 8-2 EMBasicXMLInvoker Methods (Part 1 of 2)
Method
done
Description
An EMXMLInvoker static method that stops the CONTROL-M/EM API services by breaking the connection with the Orbix CORBA processes. The done implementation is the as it is under EMXMLInvoker. For more information, see done on page 8-10. An EMXMLInvoker static method that encodes a given text string for use in a Registration request. For more information, see encodePassword on page 8-11. An EMXMLInvoker static method used to obtain the CONTROL-M/EM Global Alerts Server or GUI Server hostnames from the ctmem.properties file. For more information, see getProperties on page 8-12. An EMXMLInvoker static method that starts the CONTROL-M/EM API services and initializes the Orbix Object Request Broker (ORB) with default values or with values specified with its optional parameters. The init implementation is the as it is under EMXMLInvoker. For more information, see init on page 8-13. Used to send a request to CONTROL-M/EM. the request is sent as an XML text string. When the invoke method is used with the EMBasicXMLInvoker class, polling for responses from CONTROL-M/EM is automatic. For more information, see invoke on page 8-6.
encodePassword
getProperties
init
invoke
8-4
Table 8-2
Method
setPollRequestInter valMilli
Description
Determines the interval, in milliseconds, between automatic poll requests. For more information, see setPollRequestIntervalMilli on page 8-7. Determines the total time, in milliseconds, allotted for polling following a request. For more information, see setPollRequestTimeoutMilli on page 8-8. An EMXMLInvoker static method used to specify the CONTROL-M/EM Global Alerts Server or GUI Server hostnames and a location from which to obtain them. For more information, see setProperties on page 8-17.
setPollRequestTime outMilli
setProperties
Call Reference
8-5
invoke Summary:
Used to send a request to CONTROL-M/EM. the request is sent as an XML text string. When the invoke method is used with the EMBasicXMLInvoker class, polling for responses from CONTROL-M/EM is automatic.
xml request string. This string is a request that the user sends to CONTROL-M/EM. The string is a text file in an XML format that the CONTROL-M/EM API can accept and interpret.
Return Codes
Response in XML format. Response data that addresses the request that was sent. It is returned as an XML formatted string.
See Also
8-6
setPollRequestIntervalMilli Summary:
Sets the interval between automatically-sent poll requests. This time is measured from the end of the current poll request. This value must be less than or equal to the value specified with the setPollRequestTimeoutMilli method.
None.
See Also
Call Reference
8-7
setPollRequestTimeoutMilli Summary:
Total time that is allotted for polling. This value must be greater than or equal to the value specified with the setPollRequestIntervalMilli method.
None.
See Also
8-8
EMXMLInvoker Class
The EMXMLInvoker class is the primary class of the API. It methods are used to initiate and stop the API, get and set API properties, and send requests to CONTROL-M/EM. The EMXMLInvoker class uses the methods listed in Table 8-3.
Table 8-3 EMXMLInvoker Methods
Method
done
Description
An EMXMLInvoker static method that stops the CONTROL-M/EM API services by breaking the connection with the Orbix CORBA processes. For more information, see done on page 8-10. An EMXMLInvoker static method that encodes a given text string for use in a Registration request. For more information, see encodePassword on page 8-11. An EMXMLInvoker static method used to obtain the CONTROL-M/EM Global Alerts Server or GUI Server hostnames from the ctmem.properties file. For more information, see getProperties on page 8-12. An EMXMLInvoker static method that starts the CONTROL-M/EM API services and initializes the Orbix Object Request Broker (ORB) with default values or with values specified with its optional parameters. For more information, see init on page 8-13. Used to send a request to CONTROL-M/EM. the request is sent as an XML text string. When the invoke method is used with the EMXMLInvoker class, the user must activate polling to receive a response from CONTROL-M/EM. For more information, see invoke on page 8-16. An EMXMLInvoker static method used to specify the CONTROL-M/EM Global Alerts Server or GUI Server hostnames and a location from which to obtain them. For more information, see setProperties on page 8-17.
encodePassword
getProperties
init
invoke
setProperties
Call Reference
8-9
done Summary:
An EMXMLInvoker static method that stops the CONTROL-M/EM API services by breaking the connection with the Orbix CORBA processes.
None.
Return Codes
None.
See Also
Initializing and Stopping the CONTROL-M/EM API Services on page 4-15 init on page 8-13
8-10
encodePassword Summary:
An EMXMLInvoker static method that encodes a text string for use as a user password in the User Registration request.
password. Text string, subject to all limitations that apply to a CONTROL-M/EM password.
Return Codes
User Registration Request on page 9-98 For information on acceptable passwords, see the CONTROL-M Installation Guide
Call Reference
8-11
getProperties Summary:
Used to obtain the CONTROL-M/EM Global Alerts Server or GUI Server hostnames from the ctmem.properties file.
None.
Return Codes Parameter
<host_of_the_GUI_Server>
Description
Hostname of the CONTROL-M/EM GUI Server. Default: com.bmc.ctmem.emapi.GSR.hostname Hostname of the Global Alerts Server. Default: com.bmc.ctmem.emapi.GAS.hostname Location of the XML .dtd (validation) files. Default: com.bmc.ctmem.emapi.XMLDATAPATH
<host_of_the_Alerts_Server>
<path_to_XML_data_files>
See Also
setProperties on page 8-17 Getting and Setting CONTROL-M/EM API Properties on page 6-6
8-12
init Summary:
An EMXMLInvoker static method that starts the CONTROL-M/EM API services and initializes the Orbix Object Request Broker (ORB) with default values or with values specified with its optional parameters. There are three prototypes. The init method must be run at program startup.
Prototype 1
None.
Return Codes
None.
See Also
done on page 8-10 Initializing and Stopping the CONTROL-M/EM API Services on page 4-15
Call Reference
8-13
Prototype 2
This init prototype enables you to include an array of strings representing a list of arguments.
Syntax public static void init(String[] args) Parameters
For a list of Orbix parameters suitable for use in args, see the manufacturers documentation.
Return Codes
None.
See Also
done on page 8-10 Initializing and Stopping the CONTROL-M/EM API Services on page 4-15 Modifying Initialization Properties on page 6-1
8-14
Prototype 3
This init prototype enables you to include an array of strings representing a list of arguments.
Syntax public static void init(String[] args, Properties props) Parameters
For a list of Orbix parameters suitable for use in args, see the manufacturers documentation. The props parameter (Properties) can contain Orbix ORB parameters, using the same options as in the command line that was passed as the first parameter (args).
Note
None.
See Also
done on page 8-10 Initializing and Stopping the CONTROL-M/EM API Services on page 4-15 Modifying Initialization Properties on page 6-1
Call Reference
8-15
invoke Summary:
Used to send a request to CONTROL-M/EM. the request is sent as an XML text string. When the invoke method is used with the EMXMLInvoker class, the user must activate polling to receive a response from CONTROL-M/EM.
xml request string. This string is a request that the user sends to CONTROL-M/EM. The string is a text file in an XML format that the CONTROL-M/EM API can accept and interpret.
Return Codes
Response in XML format. Response data that addresses the request that was sent. It is returned as an XML formatted string.
See Also
8-16
setProperties Summary:
Used to specify the CONTROL-M/EM Global Alerts Server or GUI Server hostnames and the source from which to obtain them.
Description
Set to the hostname of the CONTROL-M/EM GUI Server. Default: com.bmc.ctmem.emapi.GSR.hostname Set to the hostname of the Global Alerts Server. Default: com.bmc.ctmem.emapi.GAS.hostname Location of the XML .dtd (validation) files. Default: com.bmc.ctmem.emapi.XMLDATAPATH
<host_of_the_Alerts_Server>
<path_to_XML_data_files>
Return Codes
None.
See Also
getProperties on page 8-12 Getting and Setting CONTROL-M/EM API Properties on page 6-6
Call Reference
8-17
GASComponent Class
Represents the Global Alerts Server (GAS). When creating an instance of EMXMLInvoker (or EMBasicXMLInvoker) with a reference to a GASComponent type, the request will be sent to the specified CONTROL-M/EM Global Alerts Server. The GASComponent class uses the constructors listed in Table 8-4.
Table 8-4 GASComponent Constructors
Constructor
GASComponent (Prototype 1)
Description
Using this constructor, the request is sent to the Global Alerts Server hostname specified in the ctmemapi.properties file. For more information, see GASComponent (Prototype 1) on page 8-19. Using this constructor, the request is sent to the Global Alerts Server hostname specified with the hostname parameter. For more information, see GASComponent (Prototype 2) on page 8-20.
GASComponent (Prototype 2)
8-18
None.
Return Codes
None.
See Also
ComponentType Class on page 8-3 GASComponent (Prototype 2) on page 8-20 GSRComponent Class on page 8-21
Call Reference
8-19
None.
See Also
ComponentType Class on page 8-3 GASComponent (Prototype 1) on page 8-19 GSRComponent Class on page 8-21
8-20
GSRComponent Class
Represents the GUI Server. When creating an instance of EMXMLInvoker (or EMBasicXMLInvoker) with a reference to a GSRComponent type, the request will be sent to the specified CONTROL-M/EM GUI Server. The GASComponent class uses the constructors listed in Table 8-4.
Table 8-5 GASComponent Constructors
Constructor
GSRComponent (Prototype 1)
Description
Using this constructor, the request is sent to the GUI Server hostname specified in the ctmemapi.properties file. For more information, see GSRComponent (Prototype 1) on page 8-22. Using this constructor, the request is sent to the GUI Server hostname specified with the hostname parameter. For more information, see GSRComponent (Prototype 2) on page 8-23.
GSRComponent (Prototype 2)
Call Reference
8-21
None.
Return Codes
None.
See Also
ComponentType Class on page 8-3 GASComponent Class on page 8-18 GSRComponent (Prototype 2) on page 8-23
8-22
None.
See Also
ComponentType Class on page 8-3 GSRComponent (Prototype 1) on page 8-22 GASComponent Class on page 8-18
Call Reference
8-23
InvokeException Class
The InvokeException class enables the CONTROL-M/EM API user to obtain error information when an exception is thrown. The InvokeException class includes the methods listed in Table 8-6.
Table 8-6 InvokeException Class Methods
Method
getMajorCode
Description
Used to obtain the Major Code that identifies the error family to which an error belongs. For more information, see getMajorCode on page 8-25. Used to obtain the Minor Code of an error. The Minor Code provides a unique identifier for the error in the family to which it belongs. For more information, see getMinorCode on page 8-26. Used to obtain the text description of an error. For more information, see getReason on page 8-27.
getMinorCode
getReason
8-24
getMajorCode Summary:
Used to obtain the Major Code that identifies the error family to which an error belongs.
None
Return Codes
int. An integer that identifies the error family to which the error belongs.
See Also
getMinorCode on page 8-26 getReason on page 8-27 Appendix B, Error Codes and Exceptions
Call Reference
8-25
getMinorCode Summary:
Used to obtain the Minor Code of an error. The Minor Code provides a unique identifier for the error in the family to which it belongs.
None.
Return Codes
int. An integer that provides a unique identifier for the error in the family to which it belongs.
See Also
getMajorCode on page 8-25 getReason on page 8-27 Appendix B, Error Codes and Exceptions
8-26
getReason Summary:
Syntax public String getReason() Parameters
None.
Return Codes
getMajorCode on page 8-25 getMinorCode on page 8-26 Appendix B, Error Codes and Exceptions
Call Reference
8-27
8-28
Request Reference
Each request that you can make using the CONTROL-M/Enterprise Manager API must be passed to CONTROL-M/EM as a string in XML format. Requests are listed alphabetically.
Table 9-1 Requests Listed in this Chapter
Request Type
Add/Delete Condition Request Change Alert Status Request Job Creation Request
Description
Adds or deletes Global conditions. Changes the status of an alert (for example, from not_noticed to handled). Creates a job processing or Group Scheduling table definition and inserts it into the Active Jobs file. Inserts a job or Group Scheduling table into the Active Jobs file immediately (force) or subject to scheduling criteria (order). Polls the Response repository in the CONTROL-M/EM GUI Server to receive completion confirmation from earlier job processing requests. Resets the user registration token timeout counter to zero. Tracks the progress of existing jobs in the CONTROL-M installation.
Order/Force Request
Polling Request
Request Reference
9-1
Table 9-1
Request Type
User Registration Request User Unregistration Request
Description
Sends the username and password of the user to the target server component. This logs the user into CONTROL-M/EM and starts the session. Logs the user out of CONTROL-M/EM and ends the session.
The XML format for each request is described in this chapter, together with the information in Table 9-2.
Table 9-2 Request Reference Format
Topic
Description Request Format Response
Description
A brief description of the action specified in the request. Including the .dtd file, a table in which the elements of the .dtd file are described, and one or more examples of a finished XML document. The types of possible responses are described, as well as the format in which those responses must be received. Format instructions include the .dtd file, a table in which the elements of the .dtd file are described, and one or more examples of a finished XML document. Errors specific to the request type are described, as well as the format in which those responses must be received. Format instructions include the .dtd file, a table in which the elements of the .dtd file are described, and one or more examples of a finished XML document.
Errors
Parameter Names
9-2
To create a successful request, particularly a Job Creation request or an Order or Force Job request, it is recommended to become familiar with CONTROL-M job parameters.
Tip
For details about CONTROL-M job parameters, see the CONTROL-M Job Parameter and Variable Reference Guide. The element names in this chapter often differ from the names of the job parameters to which they correspond. Search for parameters by name in the index of the CONTROL-M Job Parameter and Variable Reference Guide. For example, to find information about the rerun_interval element (in the Job Creation request), search the Reference Guide index for rerun_interval. You will be directed to the Interval parameter.
Request Reference
9-3
Both Add Condition and Delete Condition use the same .dtd (validation) file and share the same format.
Request
EMAPI_add_delete_condition.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:condition (ctmem:name, ctmem:odate)> <!ELEMENT ctmem:control_m (#PCDATA)> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED> <!ELEMENT ctmem:name (#PCDATA)> <!ELEMENT ctmem:odate (#PCDATA)> <!ELEMENT ctmem:request (ctmem:control_m, ctmem:condition)> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED>
9-4
Parameters
Table 9-3 Add/Delete Condition XML Parameters Description (Part 1 of 2)
Parameter
Description
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_add_delete_condition.dtd"> message_package Identifies the beginning and end of the request data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the request element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> request Type of request contained in the XML file. Contains the name and user_token attributes. Is a wrapper for the control_m and condition elements. name Name of the request type. Valid values: add_condition delete_condition Tracking ID assigned by the API. String.
user_token
Example <ctmem:request name=add_condition user_token=$tracking_id$> <ctmem:control_m>CTM_HQ</ctmem:control_m> <ctmem:condition> <ctmem:name>Cond_1</ctmem:name> <ctmem:odate>1231</ctmem:odate> </ctmem:condition> </ctmem:request> control_m Name of the CONTROL-M installation that will process the request. String.
Example: <ctmem:control_m>CTM_HQ</ctmem:control_m>
BMC Software, Inc., Confidential and Proprietary Information
Request Reference
9-5
Table 9-3
Parameter
condition
Description
Condition description wrapper. Wrapper for the name and odate elements that identify the specific condition being added or deleted. Example <ctmem:condition> <ctmem:name>Cond_1</ctmem:name> <ctmem:odate>1231</ctmem:odate> </ctmem:condition>
name
String.
<ctmem:name>Cond_1</ctmem:name> odate Order date of the condition . String. Valid values: mmdd STAT
Example: <ctmem:odate>1231</ctmem:odate>
Example
For sample XML strings, see Add Condition/Delete Condition Request on page A-2.
9-6
Responses
There are two possible responses to the requestone that is returned when a condition is added and another that is returned when a condition is deleted. The files are identical, apart from the following: The names of the .dtd files, which are listed in the XML-formatted string as SYSTEM="<dtd_file_name>" The add condition response .dtd file is EMAPI_add_conditionResponse.dtd The add condition response .dtd file is EMAPI_delete_conditionResponse.dtd The value for the ctmem:name element is dependent on the request to which the response string is returned: For an Add Condition response: add_condition For a Delete Condition response: delete_condition
EMAPI_add_conditionResponse.dtd and EMAPI_delete_conditionResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:response (ctmem:status, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package
Request Reference
9-7
Parameters
Table 9-4 Add/Delete Condition Response XML Parameters Description (Part 1 of 3)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_add_conditionResponse.dtd"> message_package Identifies the beginning and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status and error-list elements. request_name Request type for which the response was generated. Valid values: add_condition delete_condition
Example <ctmem:response ctmem:name=add_condition> <ctmem:status>Error</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response>
9-8
Table 9-4
Parameter
status
Description
Description of message content (for example, Error).
Valid Values
String.
Example: <ctmem:status>Error</ctmem:status> error-list Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Request Reference
9-9
Table 9-4
Parameter
error_message
Description
Valid Values
Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. Example: <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
Errors
See Add/Delete Condition Request Errors (Major Code 404) on page B-17.
9-10
Request
EMAPI_change_alert_status.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:alert_id (#PCDATA)> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:request (ctmem:alert_id, ctmem:status)> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED > <!ELEMENT ctmem:status (#PCDATA)>
Parameters
Table 9-5 Change Alert Status XML Parameters Description
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_change_alert_status.dtd">
Request Reference
9-11
Table 9-5
Parameter
message_package
Description
Valid Values
Identifies the beginning and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the request element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version (1.0)> <ctmem:request name=change_alert_status user_token=$tracking_id$> <ctmem:alert_id>333444555</ctmem:alert_id> <ctmem:status>handle</ctmem:status> </ctmem:request> </ctmem:message_package> request Type of request contained in the XML file. Contains the name and user_token attributes. Is a wrapper for the alert_id and status elements. name Name of the request type. Valid values: change_alert_status Tracking ID assigned by the API. String.
user_token
Example <ctmem:request name=change_alert_status user_token=$tracking_id$> <ctmem:alert_id>333444555</ctmem:alert_id> <ctmem:status>handle</ctmem:status> </ctmem:request> alert_id The ID number of the alert. String. For more information, see the Alerts chapter of the CONTROL-M/Enterprise Manager API User Guide. Example: <ctmem:alert_id>12345</ctmem:alert_id> status Required status for the specified alert. Valid values: handled noticed not_noticed
9-12
Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_change_alert_status.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema" ctmem:version="1.0"> <ctmem:request ctmem:name="change_alert_status" ctmem:user_token="$USER_TOKEN$"> <ctmem:alert_id>12345</ctmem:alert_id> <ctmem:status>handle</ctmem:status> </ctmem:request> </ctmem:message_package>
Response
EMAPI_change_alert_statusResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:response (ctmem:status, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
Request Reference
9-13
Parameters
Table 9-6 Change Alert Status Response XML Parameters Description (Part 1 of 2)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_change_alert_statusResponse.dtd"> message_package Identifies the beginning and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status and error-list elements. request_name Request type for which the response was generated. Valid values: change_alert_status
Example <ctmem:response ctmem:name=change_alert_status> <ctmem:status>Error</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=408 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Invalid alert operation.</ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Description of message content (for example, Error). String.
Example: <ctmem:status>Error</ctmem:status>
9-14
Table 9-6
Parameter
error-list
Description
Valid Values
Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. Example: <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
Request Reference
9-15
Errors
See Alerts Request Errors (Major Code 408) on page B-21.
9-16
To create a job in a Group Scheduling table: Indicate to which Group Scheduling table to associate the job, by doing the following: Specify the group_id value of the Group Scheduling table in the group_id parameter in the job specification, and Specify the name of the Group Scheduling table in the group parameter in the job specification. This value must be identical to the group parameter value in the Group Scheduling table specification. Do not specify scheduling_group for the task_type parameter. Specify all other parameters required for the job.
To create a Group Scheduling table: Specify scheduling_group as the value for the task_type parameter. Specify a name for the Group Scheduling table in the group parameter. Specify all other parameters required for the table. After the Group Scheduling table has been created, note the value of the group_id parameter. This value must be supplied for the group_id parameter of jobs that are associated with the Group Scheduling table.
Request Reference
9-17
Request
EMAPI_create_aj.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:action (#PCDATA)> <!ELEMENT ctmem:active_job (ctmem:job_name?, ctmem:mem_name?, ctmem:mem_lib?, ctmem:owner?, ctmem:task_type, ctmem:task_class, ctmem:application, ctmem:group, ctmem:odate?, ctmem:confirm_flag?, ctmem:order_table?, ctmem:order_library?, ctmem:max_wait?, ctmem:description?, ctmem:prevent_nct2?, ctmem:doc_member?, ctmem:doc_lib?, ctmem:time_from?, ctmem:time_until?, ctmem:rerun_interval?, ctmem:rerun_member?, ctmem:priority?, ctmem:critical?, ctmem:cyclic?, ctmem:auto_archive?, ctmem:sys_db?, ctmem:arch_max_days?, ctmem:arch_max_runs?, ctmem:rerun_max?, ctmem:over_lib?, ctmem:time_due_out?, ctmem:node_group?, ctmem:group_id?, ctmem:count_cyclic_from?, ctmem:reten_days?, ctmem:reten_gen?, ctmem:time_reference?, ctmem:time_zone?, ctmem:application_type?, ctmem:application_version?, ctmem:application_form?, ctmem:application_cm_version?, ctmem:multiagent?, ctmem:schedule_environment?, ctmem:system_affinity?, ctmem:request_nje?, ctmem:sysout_option?, ctmem:sysout_from_class?, ctmem:sysout_parameter?, ctmem:adjust_condition?, ctmem:command?, ctmem:autoedit_assignments?, ctmem:ctb_steps?, ctmem:in_conditions?, ctmem:control_resources?, ctmem:quantitative_resources?, ctmem:pipes?, ctmem:out_conditions?, ctmem:step_ranges?, ctmem:shouts?, ctmem:on_do_statements?)> <!ELEMENT ctmem:and_or (#PCDATA)> <!ELEMENT ctmem:application (#PCDATA)> <!ELEMENT ctmem:application_cm_version (#PCDATA)> <!ELEMENT ctmem:application_form (#PCDATA)> <!ELEMENT ctmem:application_type (#PCDATA)> <!ELEMENT ctmem:application_version (#PCDATA)> <!ELEMENT ctmem:auto_archive (#PCDATA)>
BMC Software, Inc., Confidential and Proprietary Information
9-18
<!ELEMENT ctmem:autoedit_assignments (ctmem:autoedit_assignment*)> <!ELEMENT ctmem:autoedit_assignment (ctmem:name, ctmem:value)> <!ELEMENT ctmem:owner (#PCDATA)> <!ELEMENT ctmem:cc (#PCDATA)> <!ELEMENT ctmem:code (#PCDATA)> <!ELEMENT ctmem:command (#PCDATA)> <!ELEMENT ctmem:condition (#PCDATA)> <!ELEMENT ctmem:confirm (#PCDATA)> <!ELEMENT ctmem:control_m (#PCDATA)> <!ELEMENT ctmem:control_resources (ctmem:control_resource*)> <!ELEMENT ctmem:control_resource (ctmem:resource, ctmem:type)> <!ELEMENT ctmem:count_cyclic_from (#PCDATA)> <!ELEMENT ctmem:critical (#PCDATA)> <!ELEMENT ctmem:cyclic (#PCDATA)> <!ELEMENT ctmem:ctb_arguments (#PCDATA)> <!ELEMENT ctmem:ctb_name (#PCDATA)> <!ELEMENT ctmem:ctb_steps (ctmem:ctb_step*)> <!ELEMENT ctmem:ctb_step (ctmem:ctb_step_position, ctmem:ctb_type, ctmem:ctb_name, ctmem:ctb_arguments)> <!ELEMENT ctmem:ctb_step_position (#PCDATA)> <!ELEMENT ctmem:ctb_type (#PCDATA)> <!ELEMENT ctmem:date (#PCDATA)> <!ELEMENT ctmem:description (#PCDATA)> <!ELEMENT ctmem:destination (#PCDATA)> <!ELEMENT ctmem:do (ctmem:action, ctmem:parameter?, ctmem:from_class?)> <!ELEMENT ctmem:do_autoedit (ctmem:name, ctmem:value)> <!ELEMENT ctmem:do_cond (ctmem:condition, ctmem:date, ctmem:sign)> <!ELEMENT ctmem:do_ctbrule (ctmem:name, ctmem:parameter)> <!ELEMENT ctmem:do_forcejob (ctmem:job, ctmem:table, ctmem:odate, ctmem:dsn?)> <!ELEMENT ctmem:do_ifrerun (ctmem:confirm, ctmem:from_program_step?, ctmem:to_program_step?, ctmem:from_procedure_step?, ctmem:to_procedure_step?)> <!ELEMENT ctmem:do_mail (ctmem:to, ctmem:cc?, ctmem:subject, ctmem:message, ctmem:urgency)> <!ELEMENT ctmem:do_shout (ctmem:destination, ctmem:message, ctmem:urgency)>
BMC Software, Inc., Confidential and Proprietary Information
Request Reference
9-19
<!ELEMENT ctmem:do_sysout (ctmem:option, ctmem:parameter, ctmem:from_class?)> <!ELEMENT ctmem:doc_member (#PCDATA)> <!ELEMENT ctmem:doc_lib (#PCDATA)> <!ELEMENT ctmem:dsn (#PCDATA)> <!ELEMENT ctmem:flag (#PCDATA)> <!ELEMENT ctmem:from_class (#PCDATA)> <!ELEMENT ctmem:from_procedure_step (#PCDATA)> <!ELEMENT ctmem:from_program_step (#PCDATA)> <!ELEMENT ctmem:group (#PCDATA)> <!ELEMENT ctmem:in_conditions (ctmem:in_condition*)> <!ELEMENT ctmem:in_condition (ctmem:condition, ctmem:date, ctmem:and_or)> <!ELEMENT ctmem:job (#PCDATA)> <!ELEMENT ctmem:job_name (#PCDATA)> <!ELEMENT ctmem:arch_max_days (#PCDATA)> <!ELEMENT ctmem:arch_max_runs (#PCDATA)> <!ELEMENT ctmem:confirm_flag (#PCDATA)> <!ELEMENT ctmem:max_wait (#PCDATA)> <!ELEMENT ctmem:mem_name (#PCDATA)> <!ELEMENT ctmem:mem_lib (#PCDATA)> <!ELEMENT ctmem:message (#PCDATA)> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:multiagent (#PCDATA)> <!ELEMENT ctmem:name (#PCDATA)> <!ELEMENT ctmem:node_group (#PCDATA)> <!ELEMENT ctmem:odate (#PCDATA)> <!ELEMENT ctmem:order_table (#PCDATA)> <!ELEMENT ctmem:order_library (#PCDATA)> <!ELEMENT ctmem:on_do_statements (ctmem:on_do_statement+)> <!ELEMENT ctmem:on_do_statement (ctmem:on_statements, ctmem:do_statements)> <!ELEMENT ctmem:on_statements (ctmem:on_statement+)> <!ELEMENT ctmem:do_statements (ctmem:do | ctmem:do_autoedit | ctmem:do_shout | ctmem:do_forcejob | ctmem:do_ctbrule | ctmem:do_sysout | ctmem:do_ifrerun | ctmem:do_cond | ctmem:do_mail)+>
9-20
<!ELEMENT ctmem:on_statement (ctmem:code, ctmem:statement?, ctmem:program_step?, ctmem:procedure_step?, ctmem:and_or?)> <!ELEMENT ctmem:option (#PCDATA)> <!ELEMENT ctmem:out_conditions (ctmem:out_condition*)> <!ELEMENT ctmem:out_condition ((ctmem:condition, ctmem:date, ctmem:sign))> <!ELEMENT ctmem:parameter (#PCDATA)> <!ELEMENT ctmem:pipes (ctmem:pipe*)> <!ELEMENT ctmem:pipe (ctmem:flag, ctmem:name)> <!ELEMENT ctmem:prevent_nct2 (#PCDATA)> <!ELEMENT ctmem:priority (#PCDATA)> <!ELEMENT ctmem:procedure_step (#PCDATA)> <!ELEMENT ctmem:program_step (#PCDATA)> <!ELEMENT ctmem:quantitative_resources (ctmem:quantitative_resource*)> <!ELEMENT ctmem:quantitative_resource (ctmem:resource, ctmem:quantity)> <!ELEMENT ctmem:quantity (#PCDATA)> <!ELEMENT ctmem:request (ctmem:control_m, ctmem:active_job)> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED ctmem:mode CDATA #IMPLIED > <!ELEMENT ctmem:request_nje (#PCDATA)> <!ELEMENT ctmem:rerun_interval (#PCDATA)> <!ELEMENT ctmem:rerun_max (#PCDATA)> <!ELEMENT ctmem:over_lib (#PCDATA)> <!ELEMENT ctmem:rerun_member (#PCDATA)> <!ELEMENT ctmem:resource (#PCDATA)> <!ELEMENT ctmem:reten_days (#PCDATA)> <!ELEMENT ctmem:reten_gen (#PCDATA)> <!ELEMENT ctmem:schedule_environment (#PCDATA)> <!ELEMENT ctmem:shouts (ctmem:shout*)> <!ELEMENT ctmem:shout (ctmem:when?, ctmem:time?, ctmem:destination, ctmem:message, ctmem:urgency)> <!ELEMENT ctmem:sign (#PCDATA)> <!ELEMENT ctmem:statement (#PCDATA)> <!ELEMENT ctmem:step_ranges (ctmem:step_range)> <!ELEMENT ctmem:step_range (ctmem:name, ctmem:from_program_step, ctmem:to_program_step, ctmem:from_procedure_step, ctmem:to_procedure_step)>
BMC Software, Inc., Confidential and Proprietary Information
Request Reference
9-21
<!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT
ctmem:subject (#PCDATA)> ctmem:sys_db (#PCDATA)> ctmem:sysout_from_class (#PCDATA)> ctmem:sysout_option (#PCDATA)> ctmem:sysout_parameter (#PCDATA)> ctmem:adjust_condition (#PCDATA)> ctmem:system_affinity (#PCDATA)> ctmem:table (#PCDATA)> ctmem:group_id (#PCDATA)> ctmem:task_type (#PCDATA)> ctmem:task_class (#PCDATA)> ctmem:time (#PCDATA)> ctmem:time_due_out (#PCDATA)> ctmem:time_from (#PCDATA)> ctmem:time_reference (#PCDATA)> ctmem:time_until (#PCDATA)> ctmem:time_zone (#PCDATA)> ctmem:to (#PCDATA)> ctmem:to_procedure_step (#PCDATA)> ctmem:to_program_step (#PCDATA)> ctmem:type (#PCDATA)> ctmem:urgency (#PCDATA)> ctmem:value (#PCDATA)> ctmem:when (#PCDATA)>
Parameters
Table 9-7 Job Creation Request XML Parameters Description (Part 1 of 32)
Parameter
Description
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_create_aj.dtd">
9-22
Table 9-7
Parameter
message_package
Description
Indicates to CONTROL-M/EM the beginning and end of the Job Creation Request XML specification. Job Creation specifications are placed between the opening and closing messages_package tags. Contains the version and ctmem (schema) attributes. Wrapper for the request element. xmlns:ctmem version (1.0) Schema pathname or URL and filename. String. version (1.0)
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version (1.0)></ctmem:message_package> request Indicates to CONTROL-M/EM the beginning and end of the Job Creation request. Contains the name, user_token, and mode attributes. Wrapper for the control-m and one active_job elements. name Name of the API request. Mandatory. Valid value: create_aj The user token that was assigned during registration. String. Mandatory. When this attribute is specified, the XML format of the Create Job request file is validated by CONTROL-M/EM. The jobs specified in the file are NOT submitted to the Active Jobs file. Optional. Valid value: validate
user_token
mode
Example <ctmem:request ctmem:name="create_aj" ctmem:user_token="1234567" mode=validate> </ctmem:request> control-m Data center name. String. Mandatory. Example: <ctmem:control-m>CTM_NYC</ctmem:control-m>
Request Reference
9-23
Table 9-7
Parameter
active_job
Description
Specification for a single job. The parameters of the job are included as elements between the opening and closing active_job tags. Contains no attributes. Example: <ctmem:active_job> ... </ctmem:active_job>
adjust_condition
Indicates whether to ignore prerequisite conditions normally set by predecessor jobs if the relevant predecessor jobs are not scheduled. This parameter is relevant only for jobs in a Group Scheduling table. Optional. Valid values: no (Dont ignore. Default.) yes (Ignore relevant prerequisite conditions) Contained in the active_job element. Example: <ctmem:adjust_condition>yes</ctmem:adjust_condition>
application
Name of the application to which the jobs group belongs. Used as a descriptive name for related groups of jobs. Contained in the active_job element. Example: <ctmem:application>APPL_1</ctmem:application>
application_cm_ version
Indicates the version of external application (for example, SAP or Oracle Applications) Control Module (CM) that is installed in the CONTROL-M installation. Specified together with the application_form, application_type, and application_version elements. Contained in the active_job element. Example <ctmem:application_cm_version>610</ctmem:application_cm_version>
application_form
Specifies a predefined set of external application parameters that will be displayed in the External Application panel of the CONTROL-M/EM Job Editing form. Specified together with the application_cm_version, application_type, and application_version elements. Contained in the active_job element. Example: <ctmem:application_form>SAP</ctmem:application_form>
application_type
Indicates the type of external application (for example, SAP or Oracle Applications) on which the external application job will run. Specified together with the application_cm_version, application_form, and application_version elements. Contained in the active_job element. Example: <ctmem:application_type>SAP</ctmem:application_type>
9-24
Table 9-7
Parameter
application_ version
Description
Indicates the version of the external application (for example, SAP or Oracle Applications) on which the external application job will run. Specified together with the application_cm_version, application_form, and application_type elements. Contained in the active_job element. Example: <ctmem:application_version>4.6</ctmem:application_version>
arch_max_days
Maximum number of days to retains the SYSDATA archive dataset for jobs that ended NOTOK. [OS/390 only] Contained in the active_job element. Example: <ctmem:arch_max_days>5</ctmem:arch_max_days>
arch_max_runs
Maximum number of job runs to retain the SYSDATA archive dataset for jobs that ended NOTOK. [OS/390 only] Contained in the active_job element. Example: <ctmem:arch_max_runs>10</ctmem:arch_max_runs>
auto_archive
Determines whether or not SYSDATA is to be archived. Contained in the active_job element. [OS/390 only] Valid values: yes no Contained in the active_job element. Example: <ctmem:auto_archive>Y</ctmem:auto_archive>
autoedit_ assignment
A single AutoEdit expression. Contained in the autoedit_assignments element. Wrapper for the name and value elements. Example <ctmem:autoedit_assignment> <ctmem:name>%%PARM1</ctmem:name> <ctmem:value>%%TIME+%%DATE</ctmem:value> </ctmem:autoedit_assignment> name Name of theAutoEdit variable.
Example: <ctmem:name>Job1</ctmem:name> value Value of the AutoEdit expression. Contained in the do_autoedit and autoedit_assignment elements.
Example: <ctmem:do_autoedit>%%@TIME</ctmem:do_autoedit>
Request Reference
9-25
Table 9-7
Parameter
autoedit_ assignments
Description
Wrapper for one or more autoedit_assignment elements. Contained in the active_job element. Example <ctmem:autoedit_assignments> <ctmem:autoedit_assignment> <ctmem:name>%%PARM1</ctmem:name> <ctmem:value>%%TIME+%%DATE</ctmem:value> </ctmem:autoedit_assignment> </ctmem:autoedit_assignments>
command
Command string supplied when the job Task Type (the task_type element) is Command. Optional. Contained in the active_job element. Example: <ctmem:command>dir</ctmem:command>
confirm_flag
Specifies whether user confirmation is required before the job is submitted for execution. String. Valid values: no - Job needs no confirmation to run. Default. yes - Job must be confirmed to run. Contained in the active_job element. Example: <ctmem:confirm_flag>no</ctmem:confirm_flag>
control_resource
Beginning and end tags indicating a Control resource. Contained in the control_resources element. Wrapper for the resource and type elements. Example <ctmem:control_resource> <ctmem:resource>disk</ctmem:resource> <ctmem:type>shared</ctmem:type> </ctmem:control_resource> resource Name of the specified resource.
Example: <ctmem:resource>Disk</ctmem:resource> type Indicates job access to a Control resource. Valid values: exclusive - default shared
Example: <ctmem:control_resource>shared</ctmem:control_resource>
9-26
Table 9-7
Parameter
control_resources
Description
Beginning and end tags containing one or more Control resource specifications. Contained in the active_job element. Wrapper for one or more control_resource elements. Example <ctmem:control_resources> <ctmem:control_resource> <ctmem:resource>disk</ctmem:resource> <ctmem:type>shared</ctmem:type> </ctmem:control_resource> </ctmem:control_resources>
count_cyclic_from
Indicates whether the interval between successive runs of a cyclic job is calculated from the start or the end of the previous job run. Specified only for cyclic jobs (when the cyclic element is specified). Valid values: start Counts interval from the start of the previous job run end Counts interval from the end of the previous job run Contained in the active_job element. Example: <ctmem:count_cyclic_from>START</ctmem:count_cyclic_from>
critical
Indicates that the job is a critical-path job in CONTROL-M. Valid values: yes a critical path job no not a critical path job Contained in the active_job element. Example: <ctmem:critical>yes</ctmem:critical>
Request Reference
9-27
Table 9-7
Parameter
ctb_step
Description
Specification for a single CTB Step parameter. CTB Step adds CONTROL-M/Analyzer steps as the first and/or last step of the execution of the job. Contained in the ctb_steps element. Wrapper for the ctb_name, ctb_step_position, ctb_type, and ctb_arguments elements. Example <ctmem:ctb_step> <ctmem:ctb_name>CHKCALC</ctmem:ctb_name> <ctmem:ctb_step_position>start</ctmem:ctb_step_position> <ctmem:ctb_arguments>%%ODATE</ctmem:ctb_arguments> <ctmem:ctb_type>rule</ctmem:ctb_type> </ctmem:ctb_step> ctb_arguments CONTROL-M/Analyzer argument.
Example: <ctmem:ctb_arguments>%%ODATE</ctmem:ctb_arguments> ctb_name Name of the CONTROL-M/Analyzer entity. Must be a valid name of a CONTROL-M/Analyzer rule or mission.
Example: <ctmem:ctb_name>CHKCALC</ctmem:ctb_name> ctb_step_position Indicates where to place the CONTROL-M/Analyzer step in the job. Contained in the ctb_step element.
Example: <ctmem:ctb_type>RULE</ctmem:ctb_type> ctb_steps Contains one or more CTB Step parameter specifications. Contained in the active_job element. Wrapper for the ctb_step element. Example <ctmem:ctb_steps> <ctmem:ctb_step> <ctmem:ctb_name>CHKCALC</ctmem:ctb_name> <ctmem:ctb_step_position>start</ctmem:ctb_step_position> <ctmem:ctb_arguments>%%ODATE</ctmem:ctb_arguments> <ctmem:ctb_type>rule</ctmem:ctb_type> </ctmem:ctb_step> </ctmem:ctb_steps>
9-28
Table 9-7
Parameter
cyclic
Description
Indicates if a job is cyclic. Valid values: yes Cyclic job no Non-cyclic job Contained in the active_job element. Example: <ctmem:cyclic>yes</ctmem:cyclic>
description
Text description of the job. Contained in the active_job element. Example: <ctmem:description>Acct dept report</ctmem:description>
doc_lib
Name of the directory/library containing the job documentation file. Contained in the active_job element. Example: <ctmem:doc_lib>acctdocs</ctmem:doc_lib>
doc_member
Name of the file containing job documentation. Contained in the active_job element. Example: <ctmem:doc_member>jobdoc.txt</ctmem:doc_member>
group
Name of the group to which the job belongs. Used as a descriptive name for related groups of jobs. Contained in the active_job element. Example: <ctmem:group>Acct</ctmem:group>
group_id
Request Reference
9-29
Table 9-7
Parameter
in_condition
Description
A single In condition. Wrapper for the condition, date, and and_or elements. Contained in the in_conditions element. Example <ctmem:in_condition> <ctmem:condition>Cond1</ctmem:condition> <ctmem:date>1501</ctmem:date> <ctmem:and_or>or</ctmem:and_or> </ctmem:in_condition> and_or Specifies the relationship between two successive items in a series. Optional. Valid values: and or
Example: <ctmem:condition>Cond1</ctmem:condition> date Specifies an order date for various condition formats.
Example: <ctmem:date>ODAT</ctmem:date> in_conditions Wrapper for all the In conditions in the job. Wrapper for the in_condition element. Contained in the active_job element. Example <ctmem:in_conditions> <ctmem:in_condition> <ctmem:condition>Cond1</ctmem:condition> <ctmem:date>1501</ctmem:date> <ctmem:and_or>or</ctmem:and_or> </ctmem:in_condition> <ctmem:in_condition> <ctmem:condition>Cond2</ctmem:condition> <ctmem:date>ODAT</ctmem:date> </ctmem:in_condition> <ctmem:in_conditions>
9-30
Table 9-7
Parameter
job_name
Description
Name of the job. Contained in the active_job element. Example: <ctmem:job_name>Job1</ctmem:job_name>
max_wait
Number of extra days (beyond the original scheduling date) that the job is allowed to remain in the Active Jobs file awaiting execution. Integer. Contained in the active_job element. Example: <ctmem:max_wait>5</ctmem:max_wait>
mem_lib
Name of the library/directory in which the job script resides. String. Contained in the active_job element. Example: <ctmem:mem_lib>MVS.MEM.LIB</ctmem:mem_lib>
mem_name
Name of the file that contains the job script. String. Contained in the active_job element. Example: <ctmem:mem_name>MEM1</ctmem:mem_name>
multiagent
When selected, broadcasts job submission details to all Agents within a specified Node Group. Not for OS/390. Optional. Valid values: yes run as multi-agent job no not run as multi-agent job. Default. Contained in the active_job element. Example: <ctmem:multiagent>yes</ctmem:multiagent>
node_group
Host name of a node group to which the job should be submitted. Not for OS/390. Contained in the active_job element. Example: <ctmem:node_group>NYAGENTS</ctmem:node_group>
odate
Original scheduling date of a job. Contained in the active_job element. Example: <ctmem:odate>ODAT</ctmem:odate>
Request Reference
9-31
Table 9-7
Parameter
on_do_statement
Description
An On statement can have one or more Do statements associated with it. The on_do_statement element is a container for a single On statement and all its associated Do statements. Contained in the on_do_statements element. Wrapper for the on_statements and do_statements elements. <ctmem:on_do_statement> <ctmem:on_statements> <ctmem:on_statement> <ctmem:statement>*</ctmem:statement> <ctmem:code>ok</ctmem:code> </ctmem:on_statement> </ctmem:on_statements> <ctmem:do_statements> <ctmem:do_cond> <ctmem:condition>cond1</ctmem:condition> <ctmem:date>odat</ctmem:date> <ctmem:sign>delete</ctmem:sign> </ctmem:do_cond> </ctmem:do_statements> </ctmem:on_do_statement>
on_do_statements
Container for all On and Do statements in the job processing definition. Contained in the active_job element. Wrapper for one or more on_do_statement elements. <ctmem:on_do_statements> <ctmem:on_do_statement> <ctmem:on_statements> <ctmem:on_statement> <ctmem:statement>*</ctmem:statement> <ctmem:code>ok</ctmem:code> </ctmem:on_statement> </ctmem:on_statements> <ctmem:do_statements> <ctmem:do_cond> <ctmem:condition>cond1</ctmem:condition> <ctmem:date>odat</ctmem:date> <ctmem:sign>delete</ctmem:sign> </ctmem:do_cond> </ctmem:do_statements> </ctmem:on_do_statement> </ctmem:on_do_statements>
9-32
Table 9-7
Parameter
order_table
Description
Default or dummy Scheduling table to which you indicate the job belongs. A Scheduling table is not necessary because jobs that are created with the CONTROL-M/EM API are inserted directly into the Active Jobs file. However, you may want to include a value for this parameter so that the job can be tracked during statistical analysis that uses Scheduling table as a criterion. Contained in the active_job element. Example: <ctmem:order_table></ctmem:order_table>
order_library
Default or dummy Scheduling table library in which Scheduling table documentation is said to be stored. A Scheduling table (and, by extension, a Scheduling table library) are not necessary because jobs that are created with the CONTROL-M/EM API are inserted directly into the Active Jobs file. However, you may want to include a value for this parameter so that the job can be tracked during statistical analysis that uses Scheduling table or Scheduling Table Library as criteria. This parameter is specified only for OS/390 jobs for which the order_table element was also specified. Contained in the active_job element. Example: <ctmem:order_library></ctmem:order_library>
Request Reference
9-33
Table 9-7
Parameter
out_condition
Description
Specificatin for a single Out condition. Contained in the out_conditions element. Wrapper for the condition, date, and sign elements. Example <ctmem:out_condition> <ctmem:condition>Cond5</ctmem:condition> <ctmem:date>1212</ctmem:date> <ctmem:sign>add</ctmem:sign> </ctmem:out_condition> condition Condition name. When specified, it is be accompanied by the other condition parameter element, date (and, optionally, by sign or and_or).
Example: <ctmem:condition>Cond1</ctmem:condition> date Specifies an order date for various condition formats.
Example: <ctmem:date>ODAT</ctmem:date> sign Indicates whether to add or delete an Out condition Valid values: add delete
Example: <ctmem:sign>delete</ctmem:sign> out_conditions Container for all Out conditions specified in the job processing definition. Contained in the active_job element. Wrapper for one or more out_condition elements. Example <ctmem:out_conditions> <ctmem:out_condition> <ctmem:condition>Cond5</ctmem:condition> <ctmem:date>1212</ctmem:date> <ctmem:sign>add</ctmem:sign> </ctmem:out_condition> </ctmem:out_conditions> over_lib Name of the alternate job script library/directory. Contained in the active_job element. Example: <ctmem:over_lib>MVS.MEM2.LIB</ctmem:over_lib>
9-34
Table 9-7
Parameter
owner
Description
Owner (username) associated with the job. Contained in the active_job element. Example: <ctmem:owner>johnr</ctmem:owner>
pipe
Indicates a dataset to be replaced by a pipe with the same name. Used only if CONTROL-M/WorkLoad is installed. [For OS/390 jobs, only.] Contained in the pipes element. Wrapper for the name and flag elements. Example <ctmem:pipe> <ctmem:name>CTL.IVP.FILE</ctmem:name> <ctmem:flag>a</ctmem:flag> </ctmem:pipe> flag Valid values: yes no
Example: <ctmem:flag>no</ctmem:flag> name Name of the item in question (for example, when specified for request, name is the name of the request; when specified for pipe, name is the name of the pipe)
Example: <ctmem:name>job1</ctmem:name> pipes Container for all pipe specifications in the job. Contained in the active_job element. Wrapper for one or more pipe elements. Example <ctmem:pipes> <ctmem:pipe> <ctmem:name>CTL.IVP.FILE</ctmem:name> <ctmem:flag>a</ctmem:flag> </ctmem:pipe> </ctmem:pipes>
Request Reference
9-35
Table 9-7
Parameter
prevent_nct2
Description
Prevents dataset cleanup before the original job run. [OS/390 only]. Optional. Valid values: no Does not prevent dataset cleanup. Default. yes Prevents dataset cleanup. Contained in the active_job element. Example: <ctmem:prevent_nct2>yes</ctmem:prevent_nct2>
priority
Indicates CONTROL-M job priority. String. Contained in the active_job element. Example: <ctmem:priority>aa</ctmem:priority>
quantitative_ resource
User-defined variable representing a resource in the CONTROL-M installation. Contained in the quantitative_resources element. Wrapper for the resource and quantity elements. Example <ctmem:quantitative_resource> <ctmem:resource>Disk</ctmem:resource> <ctmem:quantity>10</ctmem:quantity> </ctmem:quantitative_resource> quantity Amount of the specified quantitative resource.
Example: <ctmem:resource>disk</ctmem:resource> quantitative_ resources Container for the quantitative resources specified in the job. Contained in the active_job element. Wrapper for the quantitative_resource element. Example <ctmem:quantitative_resources> <ctmem:quantitative_resource> <ctmem:resource>disk</ctmem:resource> <ctmem:quantity>10</ctmem:quantity> </ctmem:quantitative_resource> </ctmem:quantitative_resources>
9-36
Table 9-7
Parameter
request_nje
Description
Specifies the node in the JES network on which the job is to execute. [OS/390 only] String. Contained in the active_job element. Example: <ctmem:request_nje>R23<ctmem:request_nje>
rerun_interval
Specifies the length of time to wait between reruns of a job or between cyclic runs of a job. The value is expressed as a number and a letter. The number indicates the amount. The letter indicates the unit of measurement. Valid values: 0 - 64800M (minutes) 0 - 1080H (hours) 0 - 45D (days) Default: 0. Contained in the active_job element. Example: <ctmem:rerun_interval>30D</ctmem:rerun_interval>
rerun_max
Specifies the maximum number of reruns that can be performed for the job. Integer. Valid values: 0-99. Contained in the active_job element. Example: <ctmem:rerun_max>50</ctmem:rerun_max>
rerun_member
Name of the JCL member to use when the job is automatically rerun. [OS/390 only] String. Optional. Contained in the active_job element. Example: <ctmem:rerun_member>filez</ctmem:rerun_member>
reten_days
Number of days to retain the job in the History Jobs file. [OS/390, only]. String. Contained in the active_job element. Example: <ctmem:reten_days>4</ctmem:reten_days>
reten_gen
Maximum number of generations of the job to keep in the History Jobs file.[OS/390, only]. String. Contained in the active_job element. Example: <ctmem:reten_gen>2</ctmem:reten_gen>
schedule_ environment
Indicates the JES2 workload management scheduling environment that is to be associated with the job. OS/390, only. String. Contained in the active_job element. Example: <ctmem:schedule_environment>schd2</ctmem:schedule_environment>
Request Reference
9-37
Table 9-7
Parameter
shout
Description
The Shout parameter indicates a message to be sent (shouted) to one or more specified destinations when certain conditions are met. Contained in the shouts element. Wrapper for the destination, message, time, urgency, and when elements. Example <ctmem:shout> <ctmem:when>not_ok</ctmem:when> <ctmem:time>+5</ctmem:time> <ctmem:destination>emuser</ctmem:destination> <ctmem:urgency>urgent</ctmem:urgency> <ctmem:message>Job ran long.</ctmem:message> </ctmem:shout> destination Recipient of a Shout message. Specified in both the Shout or the Do Shout parameters.
Example: <ctmem:time>1200</ctmem:time> urgency Indicates the severity of a mail or shout message. Valid values: regular (Default) urgent very_urgent
Example: <ctmem:urgency>urgent</ctmem:urgency> when Time that the Shout message was sent. Valid values: ok not_ok rerun late_submission late_time execution_time
Example: <ctmem:when>1430</ctmem:when>
9-38
Table 9-7
Parameter
shouts
Description
Wrapper for all shouts included in the job processing definition. Contained in the active_job element. Wrapper for one or more shout elements. Example <ctmem:shouts> <ctmem:shout> <ctmem:when>late_time</ctmem:when> <ctmem:time>+5</ctmem:time> <ctmem:destination>emuser</ctmem:destination> <ctmem:urgency>urgent</ctmem:urgency> <ctmem:message>Job ran long.</ctmem:message> </ctmem:shout> </ctmem:shouts>
Request Reference
9-39
Table 9-7
Parameter
step_range
Description
Specifies a range of steps within the steps of an On PGMST statement. Contained in the step_ranges element. Wrapper for the from_procedure_step, from_program_step, name, to_procedure_step, and to_program_step elements. Example <ctmem:step_range> <ctmem:name>range_a</ctmem:name> <ctmem:from_program_step>Step1<ctmem:from_program_step> <ctmem:to_program_step>Step6<ctmem:to_program_step> </ctmem:step_range> from_procedure_ step Procedure step (EXEC statement) that invokes a procedure from which the specified program step program is executed.
Example: <ctmem:from_procedure_step>+EVERY</ctmem:from_process_step> from_program_step Job step. The execution results of the program executed by the job step are checked against the specified codes criteria.
Example: <ctmem:to_program_step>Step4</ctmem:to_program_step>
9-40
Table 9-7
Parameter
step_ranges
Description
Contains all step_range definitions in the job. Contained in the active_job element. Wrapper for the step_range element. Example <ctmem:step_ranges> <ctmem:step_range> <ctmem:name>range_a</ctmem:name> <ctmem:from_program_step>Step1<ctmem:from_program_step> <ctmem:to_program_step>Step6<ctmem:to_program_step> </ctmem:step_range> <ctmem:step_range> <ctmem:name>range_b</ctmem:name> <ctmem:from_program_step>step1<ctmem:from_program_step> <ctmem:to_program_step>step8<ctmem:to_program_step> </ctmem:step_range> <ctmem:step_ranges>
sys_db
Indicates that a single dataset will be used for archiving the SYSDATA of all jobs until it is full, when another dataset will be started. [OS/390 only] Valid values: yes Single dataset created for the SYSDATA of each job run. no Separate dataset created for the SYSDATA of each job run. Contained in the active_job element. Example: <ctmem:sys_db>yes</ctmem:sys_db>
sysout_from_class
Limits the sysout handling operation to only sysouts from the specified class. [OS/390 only] Contained in the active_job element. Example: <ctmem:sysout_from_class>b</ctmem:sysout_from_class>
Request Reference
9-41
Table 9-7
Parameter
sysout_option
Description
Sysout Handling options. Optional. Valid values (non-OS/390): copy delete move release Valid values (non-OS/390): copy delete move release change_class Contained in the active_job element. Example: <ctmem:sysout_option>delete</ctmem:sysout_option>
sysout_parameter
Certain OPTION values require that you supply additional information (such as Release, NewDest). Contained in the active_job element. Example: <ctmem:sysout_parameter>sysfile.txt</ctmem:sysout_parameter>
system_affinity
Indicates the identity of the system in which the job must be initiated and executed (in JES2). Indicates the identity of the processor on which the job must execute (in JES3). Note: For OS/390 jobs only. Contained in the active_job element. Example: <ctmem:system_affinity>SYS3</ctmem:system_affinity>
task_class
CONTROL-D mission. Mandatory for CONTROL-D jobs. Valid values: distribution decollation Contained in the active_job element. Example: <ctmem:task_class>Decollation</ctmem:task_class>
9-42
Table 9-7
Parameter
task_type
Description
Type of the job (task) to be performed by CONTROL-M. job task detached external command dummy scheduling_group Contained in the active_job element. Example: <ctmem:task_type>Command</ctmem:task_type>
time_due_out
Time that the job is expected to finish. Contained in the active_job element. Example: <ctmem:time_due_out>1200</ctmem:time_due_out>
time_from
Indicates the earliest time for submitting the job. Contained in the active_job element. Example: <ctmem:time_from>1200</ctmem:time_from>
time_reference
time_until
Indicates the latest time for submitting the job. Contained in the active_job element. Example: <ctmem:time_until>1200</ctmem:time_until>
time_zone
Indicates the global time zone used to calculate the interval for time-related conditions. Contained in the active_job element. Example: <ctmem:time_zone>EST</ctmem:time_zone>
Request Reference
9-43
Table 9-7
Parameter
do_statements
Description
Contains one or more Do statements associated with specific On statements. Contained in the on_do_statement element. Wrapper for the do, do_autoedit, do_cond, do_ctbrule, do_forcejob. do_ifrerun, do_mail, do_shout, and do_sysout elements. Example <ctmem:do_statements> <ctmem:do_shout> <ctmem:destination>zivb</ctmem:destination> <ctmem:message>Call Accounting department.</ctmem:message> <ctmem:urgency>U</ctmem:urgency> </ctmem:do_shout> <ctmem:do> <ctmem:action>RERUN</ctmem:action> </ctmem:do> </ctmem:do_statements>
do
Modifies the status of the job based on criteria specified with the On and On Statement/Code parameters. Contained in the do_statements element. Wrapper for the action element. Example <ctmem:do> <ctmem:action>rerun</ctmem:action> </ctmem:do> action Action specified for a Do statement. Mandatory when a do element is specified. String. Optional. Valid values: ok not_ok rerun stop_cyclic
Example: <ctmem:action>ok</ctmem:action>
9-44
Table 9-7
Parameter
do_autoedit
Description
Assigns an AutoEdit variable when the On criteria are met. Contained in the do_statements element. Wrapper for the name and value elements. Example <ctmem:do_autoedit> <ctmem:name>%%PARM1</ctmem:name> <ctmem:value>%%DATE</ctmem:value> </ctmem:do_autoedit> name Name of the item in question (for example, when specified for request, name is the name of the request; when specified for pipe, name is the name of the pipe)
Example: <ctmem:do_autoedit>%%@TIME</ctmem:do_autoedit>
Request Reference
9-45
Table 9-7
Parameter
do_cond
Description
Assigns an In or Out condition when the On criteria are met. Contained in the do_statements element. Wrapper for the condition, date, and sign elements. Example <ctmem:do_cond> <ctmem:condition>Cond1</ctmem:condition> <ctmem:date>ODAT</ctmem:date> <ctmem:sign>DEL</ctmem:sign> </ctmem:do_cond> condition Condition name. When specified, it is be accompanied by the other condition parameter element, date (and, optionally, by sign or and_or). Wrapped in the in_condition and out_condition elements.
Example: <ctmem:condition>Cond1</ctmem:condition> date Specifies an order date for various condition formats.
Example: <ctmem:date>ODAT</ctmem:date> sign Indicates whether to add or delete an Out condition Valid values: add delete
Example: <ctmem:sign>DEL</ctmem:sign> do_ctbrule Invokes a CONTROL-M/Analyzer rule to be executed during the processing of a specific program step when an On condition is met. Contained in the do_statements element. Wrapper for the name and parameter elements. Example <ctmem:do_ctbrule> <ctmem:name>GOVTBAL</ctmem:name> <ctmem:parameter>DOREPORT,10,%%ODATE</ctmem:parameter> <ctmem:do_ctbrule> name Name of the CONTROL-M/Analyzer rule.
Example: <ctmem:name>GOVTBAL</ctmem:name> parameter parameter contains arguments that are passed to the CONTROL-M/Analyzer rule.
Example: <ctmem:parameter>sysdoc.txt</ctmem:parameter>
BMC Software, Inc., Confidential and Proprietary Information
9-46
Table 9-7
Parameter
do_forcejob
Description
Forces a specified job when the current job is performed. Contained in the do_statements element. Wrapper for the job, table, odate, and dsn elements. Note: The dsn element is for OS/390 jobs, only. Example <ctmem:do_forcejob> <ctmem:job>Job0</ctmem:job> <ctmem:odate>ODAT</ctmem:odate> <ctmem:table>Tbl1</ctmem:table> </ctmem:do_forcejob> dsn Name of the directory/library containing Scheduling table file. [OS/390 only]
Example: <ctmem:dsn>TBLDIR</ctmem:dsn> job Specifies the job name of the job that will be forced.
Example: <ctmem:odate>ODAT</ctmem:odate> table Name of the Scheduling table with which the job specified in do_forcejob is associated.
Example: <ctmem:table>Tbl_7</ctmem:table>
Request Reference
9-47
Table 9-7
Parameter
do_ifrerun
Description
Specifies job steps to be executed during rerun of a job. Only for networks using CONTROL-M/Restart. Contained in the do_statements element. Wrapper for the confirm, from_program_step, from_procedure_step, to_program_step, and to_procedure_step elements. Example <ctmem:do_ifrerun> <ctmem:from_program_step>step1</ctmem:from_program_step> <ctmem:to_program_step>step5</ctmem:to_program_step> <ctmem:confirm>1</ctmem:confirm> </ctmem:do_ifrerun> confirm Indicates that a job rerun specified by the Do If Rerun parameter must be manually confirmed before it is executed. Valid values: yes requires confirmation no no confirmation required
Example: <ctmem:confirm>yes</ctmem:confirm> from_procedure_ step Procedure step (EXEC statement) that invokes a procedure from which the specified program step program is executed.
Example: <ctmem:from_procedure_step>+EVERY</ctmem:from_process_step> from_program_step Job step. The execution results of the program executed by the job step are checked against the specified codes criteria.
Example <ctmem:to_program_step>Step4</ctmem:to_program_step>
9-48
Table 9-7
Parameter
do_mail
Description
Contained in the do_statements element. Wrapper for the confirm, to, cc, subject, message, and urgency elements. Example <ctmem:do_mail> <ctmem:to>zivb</ctmem:to> <ctmem:cc>admin</ctmem:cc> <ctmem:subject>job failure</ctmem:subject> <ctmem:message>Call Accounting department.</ctmem:message> <ctmem:urgency>urgent</ctmem:urgency> </ctmem:do_mail> cc Optional additional address to which a Do Mail can be sent. Optional.
Example: <ctmem:subject>Annual report printed.</ctmem:subject> urgency Indicates the severity of a mail or shout message. Valid values: regular (Default) urgent very_urgent (for do_shout and shout, only)
Example: <ctmem:urgency>urgent</ctmem:urgency>
Request Reference
9-49
Table 9-7
Parameter
do_shout
Description
Sends a shout message when the On criteria are met. Contained in the do_statements element. Wrapper for the confirm, destination, message, and urgency elements. Example <ctmem:do_shout> <ctmem:destination>zivb</ctmem:destination> <ctmem:message>Call Accounting department.</ctmem:message> <ctmem:urgency>urgent</ctmem:urgency> </ctmem:do_shout> destination Recipient of a Shout message. Specified in both the Shout or the Do Shout parameters.
Example: <ctmem:message>Computer down.</ctmem:message> urgency Indicates the severity of a mail or shout message. Valid values: regular (Default) urgent very_urgent (for do_shout and shout, only)
Example: <ctmem:urgency>urgent</ctmem:urgency>
9-50
Table 9-7
Parameter
do_sysout
Description
Determines what to do with the sysout documentation when On criteria are met. Contained in the do_statements element. Wrapper for the confirm, option, parameter, and from_class elements. Example <ctmem:do_sysout> <ctmem:option>Copy</ctmem:option> <ctmem:parameter>sysdoc.txt</ctmem:parameter> <ctmem:from_class>J</ctmem:from_class> </ctmem:do_sysout> from_class Specifies the class of jobs whose sysouts are handled using the Do Sysout specifications of the job.
Example: <ctmem:from_class>J</ctmem:from_class> option Do Sysout parameter sysout handling options. Valid values: Release Delete Copy Move File NewDest ChangeClass Note: Copy and Move are not used with OS/390. File, NewDest, and ChangeClass are used only with OS/390.
Example: <ctmem:option>Copy</ctmem:option> parameter parameter contains additional sysout handling information. The type of information required is dependent on the value of the option element.
Example: <ctmem:parameter>sysdoc.txt</ctmem:parameter>
Request Reference
9-51
Table 9-7
Parameter
on_statement
Description
Specifies a statement and error code that determine when/if Do statements should be applied. Contained in the on_statements element. Wrapper for the code, statement, program_step, procedure_step, and and_or elements. <ctmem:on_statement> <ctmem:code>*</ctmem:code> <ctmem:statement>*</ctmem:statement> </ctmem:on_statement> and_or Specifies the relationship between two successive items in a series. Optional.
Example: <ctmem:and_or>or</ctmem:and_or> code Code value for the On Statement/Code parameter. Valid values: ok not_ok
Example: <ctmem:code>ok</ctmem:code> procedure_step Step in the procedure that triggers the On statement. String.
Example: <ctmem:procedure_step>STEP1</ctmem:procedure_step> program_step Step in the program that triggers the On statement. String.
Example: <ctmem:program_step>STEP1</ctmem:program_step> statement statement can be: A character string containing a statement from the job script file (1-132 characters). The specified string can be a portion of the statement. An asterisk (*), when code is a completion status for a job.
Example: <ctmem:statement>*</ctmem:statement>
9-52
Table 9-7
Parameter
on_statements
Description
Multiple On statements can be included in a job. The on_statements element contains all of the On statements in a single on_do_statement package. Contained in the on_do_statements element. Wrapper for one or more on_statement elements. <ctmem:on_statements> <ctmem:on_statement> <ctmem:code>ok</ctmem:code> <ctmem:statement>*</ctmem:statement> </ctmem:on_statement> <ctmem:on_statement> <ctmem:code>*</ctmem:code> <ctmem:statement>C****</ctmem:statement> </ctmem:on_statement> </ctmem:on_statements>
Example
Numerous Job Creation sample files are presented in Chapter , Request Format Examples.
Response
Responses to job and Group Scheduling table creation requests are sent in a format conforming to the standard described in the .dtd file below.
EMAPI_create_ajResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED >
BMC Software, Inc., Confidential and Proprietary Information
Request Reference
9-53
<!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:order_id (#PCDATA)> <!ELEMENT ctmem:rba (#PCDATA)> <!ELEMENT ctmem:mem_name (#PCDATA)> <!ELEMENT ctmem:job_name (#PCDATA)> <!ELEMENT ctmem:is_group (#PCDATA)> <!ELEMENT ctmem:ret_text (#PCDATA)> <!ELEMENT ctmem:job_data (ctmem:rba, ctmem:order_id, ctmem:mem_name?, ctmem:job_name?, ctmem:is_group, ctmem:ret_text?)> <!ELEMENT ctmem:job (ctmem:status, ctmem:job_data?, ctmem:error_list?)> <!ELEMENT ctmem:jobs (ctmem:job+)> <!ELEMENT ctmem:response_data (ctmem:status, ctmem:jobs?, ctmem:error_list?)> <!ATTLIST ctmem:response_data ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:response (ctmem:status, ctmem:response_data?, ctmem:jobs?, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version CDATA #REQUIRED>
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_create_ajResponse.dtd">
9-54
Parameter
message_package
Description
Indicates to CONTROL-M/EM the beginning and end of the Order/Force Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the ctmem attribute and the response element. xmlns:ctmem version Schema pathname or URL and filename. String. 1.0
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Wrapper for the status, error-list, response_data, and jobs elements. request_name Request type for which the response was generated. Valid value: create_aj
Example <ctmem:response ctmem:request_name=create_aj> </ctmem:response> response_data Describes the response and the jobs to which the response refers. Contains the request_name attribute. Wrapper for the status, jobs, and error-list elements. request_name Valid value: create_aj
Example <ctmem:response_data request_name = "order_force"> </ctmem:response_data> status Describes the condition of the element that contains it.(for example, Error). String. Contained in the response, response_data, and job elements. Example <ctmem:status>Error</ctmem:status>
Request Reference
9-55
Parameter
error-list
Description
Begins and ends the list of xxx errors. Contains the highest_severity attrbute. Wrapper for the one or more error elements. Note: error-list contains the errors reported for the response, response_data, and job elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=405 ctmem:minor=4 ctmem:severity=Error> <ctmem:error_message>No jobs were ordered. </ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String.
9-56
Parameter
jobs
Description
Wrapper for one or more job elements. Contained in the response and response_data elements. Example:<ctmem:jobs></ctmem:jobs>
job
Tags that indicate a single job. Contqained in the jobs element. Wrapper for the status, error-list, and job_data elements. Example <ctmem:job> <ctmem:status>OK</ctmem:status> <ctmem:job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </ctmem:job_data> </ctmem:job>
job_data
Element that contains other elements (parameters) that describe the job. Wrapper for the is_group, order_id, mem_name, job_name, and ret_text elements. Example <ctmem:job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </ctmem:job_data>
mem_name
Name of the file that contains the job script. String. Contained in the job_data element. Example <ctmem:mem_name>myjob.bat</ctmem:mem_name>
order_id
Serial number assigned to the job by the CONTROL-M installation. String. Contained in the job_data element. Example: <ctmem:order_id>56643</ctmem:order_id>
job_name
Name of the job. String. Contained in the job_data element. Example: <ctmem:job_name>job33</ctmem:job_name>
Request Reference
9-57
Parameter
is_group
Description
Indicates whether the job is a member of a Group Scheduling table. Valid values: no (not a member of a Group Scheduling table) yes (member of a Group Scheduling table) Contained in the job_data element. Example: <ctmem:is_group>yes</ctmem:is_group>
ret_text
Text describing the job run. String. Contained in the job_data element. Example: <ctmem:ret_text>"Job was ordered"</ctmem:ret_text>
Errors
Job creation errors are described in Create Active Job Request Errors (Major Code 409) on page B-22.
9-58
Order/Force Request
Does the following operations with jobs and Group Scheduling tables: Order a job. The job is entered into the Active Jobs file only when its scheduling criteria are met. Force a job. The Job is entered into the Active Jobs file whether or not its scheduling criteria are met. Order or force a Group Scheduling table. All jobs in the table are ordered or forced.
The mandatory parameters for ordering a job differ from the mandatory parameters that are specified when ordering or forcing a Group Scheduling table. Optional parameters can be supplied for both jobs and Group Scheduling tables.
Note
Order and Force requests using the API are supported by CONTROL-M for OS/390 version 6.1.01 or later and by other CONTROL-M releases version 6.0.01 or later. This functionality is supported by CONTROL-M/EM version 6.1.01 or later.
Request Format
EMAPI_order_force.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:control_m (#PCDATA)> <!ELEMENT ctmem:force_it (#PCDATA)> <!ELEMENT ctmem:job_id (#PCDATA)> <!ELEMENT ctmem:job_name (#PCDATA)> <!ELEMENT ctmem:odate (#PCDATA)> <!ELEMENT ctmem:table_library (#PCDATA)>
BMC Software, Inc., Confidential and Proprietary Information
Request Reference
9-59
<!ELEMENT ctmem:table_name (#PCDATA)> <!ELEMENT ctmem:autoedit_assignments (ctmem:autoedit_assignment+)> <!ELEMENT ctmem:autoedit_assignment (ctmem:name, ctmem:value)> <!ELEMENT ctmem:name (#PCDATA)> <!ELEMENT ctmem:value (#PCDATA)> <!ELEMENT ctmem:into_group (#PCDATA)> <!ELEMENT ctmem:group_id (#PCDATA)> <!ELEMENT ctmem:allow_dup (#PCDATA)> <!ELEMENT ctmem:scheduling_group_info (ctmem:into_group, ctmem:group_id?, ctmem:allow_dup?)> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:request (ctmem:force_it, ctmem:control_m, ctmem:job_id?, ctmem:job_name?, ctmem:table_name, ctmem:table_library?, ctmem:odate, ctmem:autoedit_assignments?, ctmem:scheduling_group_info?)> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED >
9-60
Parameters
Table 9-8 Order/Force XML Parameters Description
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_order_force.dtd"> message_package Indicates to CONTROL-M/EM the beginning and end of the Order/Force Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the version and ctmem (schema) attributes. xmlns:ctmem version (1.0) Schema pathname or URL and filename. String. version (1.0)
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version (1.0)></ctmem:message_package> request Indicates to CONTROL-M/EM the beginning and end of the Order/Force request. Contains the name and user_token attributes. Wrapper for the control_m, force_it, job_id, job_name, table_name, table_library, odate, autoedit_assignments, and scheduling_group_info elements. name Name of the API request. Valid value: order_force The user token that was assigned during registration. String.
user_token
Example <ctmem:request ctmem:name="order_force" ctmem:user_token="1234567"></ctmem:request> control_m Data center name. Mandatory for both jobs and Scheduling tables. String.
Example <ctmem:control_m>CTM_NYC</ctmem:control_m>
Request Reference
9-61
Table 9-8
Parameter
force_it
Description
Indicates whether the job is ordered or forced. Mandatory for both jobs and Scheduling tables.
Valid Values
no - orders job/table yes - forces job/table
Example: <ctmem:force_it>yes</ctmem:force_it> job_id Serial number of the job. Mandatory for jobs. Must be left empty for tables. String.
Example: <ctmem:job_id>1403</ctmem:job_id> job_name Name of the job. Mandatory for jobs. Must be left empty for tables. String.
Example: <ctmem:job_name>job33</ctmem:job_name> odate Enables you to order the job with a specific date. Mandatory for both jobs and Scheduling tables. Valid values: Numerical date ( yyyymmdd format) ODAT
Example: <ctmem:odate>20010424</ctmem:odate> table_library Scheduling table library. Optional for both jobs and Scheduling tables. String.
Example: <ctmem:table_library=juntbls></ctmem:table_library> table_name Name of the Scheduling table. Mandatory for both jobs and Scheduling tables. String.
Example: <ctmem:table_name>hrtb67</ctmem:table_name> autoedit_ assignments Container for the AutoEdit statements. Wrapper for one or more autoedit_assignment elements. Example: <ctmem:autoedit_assignments><ctmem:autoedit_assignments/> autoedit_ assignment Tag in which a single AutoEdit statement is placed. There can be multiple AutoEdit statements. Optional. Wrapper for the name and value elements.
9-62
Table 9-8
Parameter
name
Description
Name of the AutoEdit variable. Mandatory, if the autoedit_assighnment element is specified.
Valid Values
String.
Example: <ctmem:value>311201</ctmem:value> scheduling_group _ info Tag that holds the descriptive information for the Group Scheduling table. Mandatory for jobs in Group Scheduling tables. Wrapper for the into_group, group_id, and allow_dup elements. Example <ctmem:scheduling_group_info> <ctmem:into_group>RECENT</ctmem:into_group> <ctmem:group_id>grp03</ctmem:group_id> <ctmem:allow_dup>1</ctmem:allow_dup> </ctmem:scheduling_group_info> into_group Indicates into which Group Scheduling table the job is placed. Optional for jobs. Not used for tables. RECENT NEW STANDALONE SELECTED order ID of a Group Scheduling table
Example: <ctmem:into_group>NEW</ctmem:into_group> group_id Serial number identifying the Group Scheduling table. Optional for jobs. Must be left empty for tables. String.
Example: <ctmem:group_id>grp03</ctmem:group_id> allow_dup Allows duplicate jobs in a Group Scheduling table. Optional for jobs. Must be left empty for tables (accepts default). Valid values: no - Not allowed yes - Allowed (default)
Example: <ctmem:allow_dup>1</ctmem:allow_dup>
Request Reference
9-63
Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_order_force.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema" ctmem:version="1.0"> <ctmem:request ctmem:name="order_force" ctmem:user_token="$USER_TOKEN$"> <ctmem:force_it>yes</ctmem:force_it> <ctmem:control_m>mig</ctmem:control_m> <ctmem:job_id>1</ctmem:job_id> <ctmem:job_name>job33</ctmem:job_name> <ctmem:table_name>tbl2</ctmem:table_name> <ctmem:table_library/> <ctmem:odate>20010424</ctmem:odate> <ctmem:autoedit_assignments> <ctmem:autoedit_assignment> <ctmem:name>KUKU</ctmem:name> <ctmem:value>123</ctmem:value> </ctmem:autoedit_assignment> </ctmem:autoedit_assignments> <ctmem:scheduling_group_info> <ctmem:into_group>selected</ctmem:into_group> <ctmem:group_id>we433</ctmem:group_id> <ctmem:allow_dup>yes</ctmem:allow_dup> </ctmem:scheduling_group_info> </ctmem:request> </ctmem:message_package>
Responses
An Order/Force request made using the EMXMLInvoker (Native) API format returns a different response than a request made using the EMBasicXMLInvoker (Basic) API format:
9-64
An Order/Force request made using the EMXMLInvoker (Native) API requires manual polling. Therefore, the Order/Force reponse will initially contain a wrapper that reports on the status of the polling itself. Information about the result of the request itself is inside this wrapper. When an Order/Force request is made using the EMBasicXMLInvoker (Basic) API, polling is automatic. the wrapper that reports the status of the poll request is not included in the response. The response information is limited to the result of the request itself. This information is supplied by the CONTROL-M installation.
The .dtd file is the same in both cases. However, the parameters contained in the file differ somewhat. Parameters for Order/Force requests made using the EMXMLInvoker API are described in Table 9-9, Order/Force Response XML Parameters Description (Native API), on page 9-66. Parameters for Order/Force requests made using the EMBasicXMLInvoker API are described in Table 9-9, Order/Force Response XML Parameters Description (Native API), on page 9-66.
EMAPI_order_forceResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED > <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED > <!ELEMENT ctmem:order_id (#PCDATA)> <!ELEMENT ctmem:mem_name (#PCDATA)>
BMC Software, Inc., Confidential and Proprietary Information
Request Reference
9-65
<!ELEMENT ctmem:job_name (#PCDATA)> <!ELEMENT ctmem:is_group (#PCDATA)> <!ELEMENT ctmem:ret_text (#PCDATA)> <!ELEMENT ctmem:job_data (ctmem:order_id, ctmem:mem_name?, ctmem:job_name?, ctmem:is_group?, ctmem:ret_text)> <!ELEMENT ctmem:job (ctmem:status, ctmem:job_data?, ctmem:error_list?)> <!ELEMENT ctmem:jobs (ctmem:job+)> <!ELEMENT ctmem:response_data (ctmem:status, ctmem:jobs?, ctmem:error_list?)> <!ATTLIST ctmem:response_data ctmem:request_name CDATA #REQUIRED > <!ELEMENT ctmem:response (ctmem:status, ctmem:response_data?, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED > <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_order_forceResponse.dtd">
9-66
Table 9-9
Parameter
message_package
Description
Valid Values
Indicates to CONTROL-M/EM the beginning and end of the Order/Force Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the ctmem attribute and the response element. xmlns:ctmem Schema pathname or URL and filename. String.
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema"> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the name attribute. Is a wrapper for the status, error-list, response_data elements. name Request type for which the response was generated. Valid value: poll
Example <ctmem:response ctmem:name=poll> <ctmem:status>Error</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Describes the condition of the element that contains it.(for example, Error). String. Note: status is a descriptive element in the response, response_data, and job elements. Example: <ctmem:status>Error</ctmem:status>
Request Reference
9-67
Table 9-9
Parameter
error-list
Description
Valid Values
Begins and ends the list of xxx errors. Contains the highest_severity attrbute. Wrapper for the one or more error elements. Note: error-list contains the errors reported for the response, response_data, and job elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=405 ctmem:minor=4 ctmem:severity=Error> <ctmem:error_message>No jobs were ordered. </ctmem:error_message> </ctmem:error>
9-68
Table 9-9
Parameter
error_message
Description
Text description of the error. For more information, see Appendix B, Error Codes and Exceptions.
Valid Values
String.
<ctmem:error_message>No jobs were ordered.</ctmem:error_message> response_data Describes the response and the jobs to which the response refers. Contains the request_name attribute. Wrapper for the status, jobs, and error-list elements. request_name Valid value: order_force
Example <ctmem:response_data request_name = "order_force"> </ctmem:response_data> jobs Wrapper for one or more jobs described with job elements. Example: <ctmem:jobs></ctmem:jobs> job Beginning and end tags that indicate a single job. Wrapper for the status, error-list, and job_data elements. Example <ctmem:job> <ctmem:status>OK</ctmem:status> <ctmem:job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </ctmem:job_data> </ctmem:job> job_data Element that contains other elements (parameters) that describe the job. Wrapper for the is_group, order_id, mem_name, job_name, and ret_text elements. Example <ctmem:job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </ctmem:job_data>
Request Reference
9-69
Table 9-9
Parameter
mem_name
Description
Name of the file that contains the job script.
Valid Values
String.
Example: <:mem_name>myjob.bat</ctmem:mem_name> order_id Serial number assigned to the job by the CONTROL-M installation. String.
Example: <ctmem:job_name>job33</ctmem:job_name> is_group Indicates whether the job is a member of a Group Scheduling table. Valid values: no (not a member of a Group Scheduling table) yes (member of a Group Scheduling table)
Example 1: One job was ordered successfully and one job has an error
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_order_forceResponse.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema"> <ctmem:response name="poll"> <ctmem:status>OK</ctmem:status> <ctmem:response_data request_name = "order_force"> <ctmem:status>OK</ctmem:status> <ctmem:jobs> <ctmem:job> <ctmem:status>OK</ctmem:status> job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name>
BMC Software, Inc., Confidential and Proprietary Information
9-70
<ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </job_data> </ctmem:job> <ctmem:job> <ctmem:status>ERROR</ctmem:status> <ctmem:error-list ctmem:highest_severity="Error" > <ctmem:error ctmem:major="32000" ctmem:minor="00001" ctmem:severity="Error" > <ctmem:error_message> Job "Job1". Security violation </ctmem:error_message> </ctmem:error> </ctmem:error-list> </ctmem:job> </ctmem:jobs> </ctmem:response_data> </ctmem:response> </ctmem:message_package>
Example 2: No Jobs were ordered <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_order_forceResponse.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema"> <ctmem:response name="poll"> <ctmem:status>OK</ctmem:status> <ctmem:response_data request_name = "order_force"> <ctmem:status>ERROR</ctmem:status> <ctmem:error-list ctmem:highest_severity="Error" > <ctmem:error ctmem:major="32000" ctmem:minor="00001" ctmem:severity="Error" > <ctmem:error_message> Scheduling table "TBL1". Security violation </ctmem:error_message> </ctmem:error> </ctmem:error-list> </ctmem:response_data>
Request Reference
9-71
</ctmem:response> </ctmem:message_package>
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_order_forceResponse.dtd"> message_package Indicates to CONTROL-M/EM the beginning and end of the Order/Force Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the xmlns:ctmem attribute and the response element. xmlns:ctmem Schema pathname or URL and filename. String.
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema"> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the name attribute. Is a wrapper for the status, error-list, response_data elements. name Request type for which the response was generated. Valid values: order_force
Example <ctmem:response ctmem:name=poll> <ctmem:status>Error</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response>
9-72
Table 9-10
Parameter
status
Description
Valid Values
Describes the condition of the element that contains it.(for example, Error). String. Note: status is a descriptive element in the response and job elements. Example: <ctmem:status>Error</ctmem:status>
error-list
Begins and ends the list of xxx errors. Contains the highest_severity attrbute. Wrapper for the one or more error elements. Note: error-list contains the errors reported for the response and jobs elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list>
Request Reference
9-73
Table 9-10
Parameter
error
Description
Valid Values
Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=405 ctmem:minor=4 ctmem:severity=Error> <ctmem:error_message>No jobs were ordered. </ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String.
Example: <ctmem:error_message>No jobs were ordered.</ctmem:error_message> jobs Wrapper for one or more jobs described with job elements. Example: <ctmem:jobs></ctmem:jobs>
9-74
Table 9-10
Parameter
job
Description
Valid Values
Beginning and end tags that indicate a single job. Wrapper for the status, error-list, and job_data elements. Example <ctmem:job> <ctmem:status>OK</ctmem:status> <ctmem:job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </ctmem:job_data> </ctmem:job>
job_data
Element that contains other elements (parameters) that describe the job. Wrapper for the is_group, order_id, mem_name, job_name, and ret_text elements. Example <ctmem:job_data> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:mem_name>Mem0</ctmem:mem_name> <ctmem:job_name>Job0</ctmem:job_name> <ctmem:is_group>yes</ctmem:is_group> <ctmem:ret_text>"Job was ordered"</ctmem:ret_text> </ctmem:job_data>
mem_name
String.
Example: <ctmem:mem_name>myjob.bat</ctmem:mem_name> order_id Serial number assigned to the job by the CONTROL-M installation. String.
Example: <ctmem:job_name>job33</ctmem:job_name>
Request Reference
9-75
Table 9-10
Parameter
is_group
Description
Indicates whether the job is a member of a Group Scheduling table.
Valid Values
Valid values: no (not a member of a Group Scheduling table) yes (member of a Group Scheduling table)
Errors
See the Table , Order/Force Request Errors (Major Code 405), on page B-18
9-76
Polling Request
Polls the response repository in the CONTROL-M/EM GUI Server to receive completion confirmation from earlier job processing requests. Polling must be initiated for confirmation of the following requests: Job Creation Order/Force Add/Delete Condition
Request Format
EMAPI_poll.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:request (ctmem:response_token)> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED > <!ELEMENT ctmem:response_token (#PCDATA)>
Request Reference
9-77
Parameters
Table 9-11 Polling Request XML Parameters Description
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_poll.dtd"> message_package Indicates to CONTROL-M/EM the beginning and end of the Polling XML specification. Order and force specifications are placed between the opening and closing message_package tags. Contains the xmlns:ctmem (schema) and version (1.0) attributes. Wrapper for the request element. xmlns:ctmem version (1.0) Path or URL to schema definition files. String. version (1.0)
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version=1.0"></ctmem:message_package> request Indicates to CONTROL-M/EM the beginning and end of the Polling answer. Contains the name and user_token attributes. Wrapper for the response_token element. name Name of the request type. Valid value: poll Serial number assigned to the user during registration. String.
user_token
Example <ctmem:request ctmem:name="poll" ctmem:user_token="1234567"> <ctmem:response_token>1234567</ctmem:response_token> </ctmem:request> response_token Tracking ID assigned by the API. String. Example: <ctmem:response_token>1234567</ctmem:response_token>
9-78
Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_poll.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema/" ctmem:version (1.0)> <ctmem:request ctmem:name="poll" ctmem:user_token="$USER_TOKEN$"> <ctmem:response_token>$RESPONSE_TOKEN$</ctmem:response _token> </ctmem:request> </ctmem:message_package>
Response
EMAPI_pollResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:response (ctmem:status, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
Request Reference
9-79
Parameters
Table 9-12 Poll Response XML Parameters Description (Part 1 of 2)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_pollResponse.dtd"> message_package Identifies the beginning and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status and error-list elements. request_name Request type for which the response was generated. Valid values: poll
Example <ctmem:response ctmem:name=poll> <ctmem:status>EXEC</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=403 ctmem:minor=1 ctmem:severity=Error> <ctmem:error_message>Error: Invalid token supplied. </ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Description of message content (for example, Error). String.
Example <ctmem:status>Error</ctmem:status>
BMC Software, Inc., Confidential and Proprietary Information
9-80
Table 9-12
Parameter
error-list
Description
Valid Values
Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
Request Reference
9-81
Errors
See Poll Request Errors (Major Code 403) on page B-16.
9-82
Request Format
EMAPI_client_keep_alive.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:request EMPTY> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED >
Request Reference
9-83
Parameters
Table 9-13 Timeout Reset Request XML Parameters Description
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_client_keep_alive.dtd"> message_package Indicates to CONTROL-M/EM the beginning and end of the Timeout Reset Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the version and ctmem (schema) attributes. Wrapper for one or more request elements. xmlns:ctmem version (1.0) Schema pathname or URL and filename. String. version (1.0)
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version="1.0"> </ctmem:message_package> request Indicates to CONTROL-M/EM the beginning and end of the Timeout Reset request. Contains the name and user_token attributes. name Name of the API request that you are performing. Valid value: client_keep_alive Serial identification number supplied to the user during registration. The user indicated by this number is the user. String.
user_token
9-84
Example Reset the timeout interval for the user identified with token 1234567
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_client_keep_alive.dtd"> <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version="1.0"> <ctmem:request ctmem:name="client_keep_alive" ctmem:user_token="1234567"> </ctmem:request> </ctmem:message_package>
Response
EMAPI_client_keep_aliveResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:user_token (#PCDATA)> <!ELEMENT ctmem:response (ctmem:status, ctmem:user_token?, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
Request Reference
9-85
Parameters
Table 9-14 Timeout Reset Response XML Parameters Description (Part 1 of 3)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_client_keep_aliveResponse.dtd"> message_package Identifies the beginning and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status and error-list elements. request_name Request type for which the response was generated. Valid values: client_keep_alive
Example <ctmem:response ctmem:name=client_keep_alive> <ctmem:status>Error</ctmem:status> <ctmem:user_token>123456</ctmem:user_token> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=407 ctmem:minor=1 ctmem:severity=Error> <ctmem:error_message>Invalid user token. </ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Description of message content (for example, Error). String. Contained in the response element. Example <ctmem:status>Error</ctmem:status>
9-86
Table 9-14
Parameter
user_token
Description
Valid Values
Unique ID that identifies the user. String. Contained in the response element. Example <ctmem:user_token>123456</ctmem:user_token>
error-list
Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=404 ctmem:minor=2 ctmem:severity=Error> <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Request Reference
9-87
Table 9-14
Parameter
error_message
Description
Valid Values
Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
Errors
See CONTROL-M/EM API Java Client Errors (Major Code 500) on page B-23.
9-88
Tracking Request
Tracks the progress of existing jobs in the CONTROL-M installation.
Request
EMAPI_job_track.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:job (ctmem:control_m, ctmem:order_id)> <!ELEMENT ctmem:control_m (#PCDATA)> <!ELEMENT ctmem:order_id (#PCDATA)> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:jobs (ctmem:job+)> <!ELEMENT ctmem:request (ctmem:jobs)> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED >
Request Reference
9-89
Parameters
Table 9-15 Tracking Request XML Parameters Description (Part 1 of 2)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_job_track.dtd"> Example <!DOCTYPE ctmem:message package SYSTEM "EMAPI_JobTrack.dtd"> message_package Indicates to CONTROL-M/EM the beginning and end of the Timeout Reset Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the version and ctmem (schema) attributes. Wrapper for one or more request elements. xmlns:ctmem version (1.0) Schema pathname or URL and filename. String. version (1.0)
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version="1.0"> </ctmem:message_package> request Indicates to CONTROL-M/EM the beginning and end of the Job Tracking request. Contains the name and user_token attributes. Wrapper for the jobs wrapper. name Name of the API request that you are performing. Valid value: job_track Serial identification number supplied to the user during registration. The user indicated by this number is the user. String.
user_token
9-90
Table 9-15
Parameter
jobs
Description
Valid Values
Indicates to CONTROL-M/EM the beginning and end of the jobs wrapper that contains the specifications for the jobs to be tracked. Mandatory. Contains no attributes. Wrapper for one or more job elements. Example <ctmem:jobs> <ctmem:job> <ctmem:control-m>CTM_LA</ctmem:control-m> <ctmem:order_id>0000df</ctmem:order_id> </ctmem:job> </ctmem:jobs>
job
Element that decribes a single job to be tracked. The job is described with two parameters: the CONTROL-M installation to which it belongs and by its unique order ID. Mandatory. Contains no attributes. Wrapper for the control-m and order_id elements. Example <ctmem:job> <ctmem:control-m>CTM_LA</ctmem:control-m> <ctmem:order_id>0000df</ctmem:order_id> </ctmem:job>
control-m
CONTROL-M installation to which the job belongs. String. Mandatory. Example: <ctmem:control-m>CTM_LA</ctmem:control-m>
order_id
Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_job_track.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema/" ctmem:version="1.0">
BMC Software, Inc., Confidential and Proprietary Information
Request Reference
9-91
<ctmem:request ctmem:name="job_track" ctmem:user_token="345345"> <ctmem:jobs> <ctmem:job> <ctmem:control_m>mig</ctmem:control_m> <ctmem:order_id>0000f</ctmem:order_id> </ctmem:job> <ctmem:job> <ctmem:control_m>mig</ctmem:control_m> <ctmem:order_id>000de</ctmem:order_id> </ctmem:job> <ctmem:job> <ctmem:control_m>omega</ctmem:control_m> <ctmem:order_id>0000d</ctmem:order_id> </ctmem:job> </ctmem:jobs> </ctmem:request> </ctmem:message_package>
Response
EMAPI_job_trackResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:control_m (#PCDATA)> <!ELEMENT ctmem:order_id (#PCDATA)> <!ELEMENT ctmem:job_status (#PCDATA)> <!ELEMENT ctmem:state_digits (#PCDATA)> <!ELEMENT ctmem:odate (#PCDATA)>
9-92
<!ELEMENT ctmem:job_data (ctmem:control_m, ctmem:order_id, ctmem:job_status?, ctmem:state_digits?, ctmem:odate?)> <!ELEMENT ctmem:job (ctmem:status, ctmem:job_data, ctmem:error_list?)> <!ELEMENT ctmem:jobs (ctmem:job+)> <!ELEMENT ctmem:response (ctmem:status, ctmem:jobs?, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package ctmem:version CDATA #REQUIRED>
Table 9-16
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_job_trackResponse.dtd"> message_package Indicates to CONTROL-M/EM the beginning and end of the Order/Force Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the xmlns:ctmem attribute and the response element. xmlns:ctmem Schema pathname or URL and filename. String.
Request Reference
9-93
Table 9-16
Parameter
response
Description
Valid Values
Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status, error-list, and jobs elements. request_name Request type for which the response was generated. Valid values: job_track
Example <ctmem:response ctmem:name=job_track> <ctmem:status>Error</ctmem:status> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:jobs></ctmem:jobs> </ctmem:error_list> </ctmem:response> status Describes the condition of the element that contains it.(for example, Error). String. Note: status is a descriptive element in the response and job elements. Example: <ctmem:status>Error</ctmem:status> error-list Begins and ends the list of xxx errors. Contains the highest_severity attrbute. Wrapper for the one or more error elements. Note: error-list contains the errors reported for the response and jobs elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=406 ctmem:minor=1 ctmem:severity=Error> <ctmem:error_message>Job was not found in the last AJF. </ctmem:error_message> </ctmem:error> </ctmem:error_list>
9-94
Table 9-16
Parameter
error
Description
Valid Values
Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=406 ctmem:minor=1 ctmem:severity=Error> <ctmem:error_message>Job was not found in the last AJF. </ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String.
Example: <ctmem:error_message>No jobs were ordered.</ctmem:error_message> jobs Wrapper for al job specifications in the response. Wrapper for one or more job elements. Contained in the response element. Example: <ctmem:jobs></ctmem:jobs>
Request Reference
9-95
Table 9-16
Parameter
job
Description
Valid Values
Beginning and end tags that indicate a single job. Wrapper for the status, error-list, and job_data elements. Example <ctmem:job> <ctmem:status>OK</ctmem:status> <ctmem:job_data> <ctmem:control_m>CTM_NYC</ctmem:control_m> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:odate>1212</ctmem:odate> <ctmem:job_status>OK</ctmem:job_status> <ctmem:state_digits>yes</ctmem:state_digits> </ctmem:job_data> </ctmem:job>
job_data
Element that contains other elements (parameters) that describe the job. Wrapper for the control_m, order_id, job_status, state_digits, and odate elements. Example <ctmem:job_data> <ctmem:control_m>CTM_NYC</ctmem:control_m> <ctmem:order_id>aa123</ctmem:order_id> <ctmem:odate>1212</ctmem:odate> <ctmem:job_status>OK</ctmem:job_status> <ctmem:state_digits>yes</ctmem:state_digits> </ctmem:job_data>
control_m
job_status
odate
order_id
Serial number assigned to the job by the CONTROL-M installation. String. Example: <ctmem:order_id>56643</ctmem:order_id>
9-96
Errors
See Tracking Request Errors (Major Code 406) on page B-19.
Request Reference
9-97
Request Format
EMAPI_register.dtd <?xml version="1.0" encoding="UTF-8"?> <!--user register request--> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:request (ctmem:user_name, ctmem:password, ctmem:timeout?)> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED > <!ELEMENT ctmem:user_name (#PCDATA)> <!ELEMENT ctmem:password (#PCDATA)> <!ELEMENT ctmem:timeout (#PCDATA)>
9-98
Parameters
Table 9-17 Registration Request XML Parameters Description
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_register.dtd"> message_package Indicates to CONTROL-M/EM the beginning and end of the Timeout Reset Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the version and ctmem (schema) attributes. Wrapper for one or more request elements. xmlns:ctmem version (1.0) Schema pathname or URL and filename. String. version (1.0)
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version="1.0"> </ctmem:message_package> request Indicates to CONTROL-M/EM the beginning and end of the Job Tracking request. Contains the name and user_token attributes. Wrapper for the user_name, password, and timeout elements. name Name of the API request that you are performing. Valid value: register Serial identification number supplied to the user during registration. The user indicated by this number is the user. String.
user_token
Request Reference
9-99
Table 9-17
Parameter
user_name
Description
CONTROL-M/EM username of the person making the request. Example ctmem:user_name="emuser"
Valid Values
String.
password
CONTROL-M/EM user password of the person making the request. Note: This password must be sent as an encrypted string. Therefore, you must use the encodePassword method to encrypt the password prior making the User Registration request. For more information, see encodePassword on page 8-11. Example ctmem:password="empass"
String.
timeout
Indicates a length of time, in seconds, until the users current user token is automatically invalidated. Integer. Default: 720. Optional. Note: Use the Timeout Reset Request to restart the count from 0. For more information, see Timeout Reset Request on page 9-83. Example ctmem:timeout="3600"
Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_register.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema" ctmem:version="1.0"> <ctmem:request ctmem:name="register" > <ctmem:user_name>ecsuser</ctmem:user_name> <ctmem:password>ecspass</ctmem:password> <ctmem:timeout>300</ctmem:timeout> </ctmem:request> </ctmem:message_package>
9-100
Response
EMAPI_registerResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:user_token (#PCDATA)> <!ELEMENT ctmem:response (ctmem:status, ctmem:user_token?, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
Parameters
Table 9-18 User registration Response XML Parameters Description (Part 1 of 3)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_registerResponse.dtd">
Request Reference
9-101
Table 9-18
Parameter
message_package
Description
Valid Values
Identifies the beginning and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status and error-list elements. request_name Request type for which the response was generated. Valid values: register
Example <ctmem:response ctmem:name=register> <ctmem:status>Error</ctmem:status> <ctmem:user_token>123456</ctmem:user_token> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=407 ctmem:minor=3 ctmem:severity=Error> <ctmem:error_message>Register failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Description of message content (for example, Error). String. Contained in the response element. Example <ctmem:status>Error</ctmem:status> user_token Unique ID that identifies the user. String. Contained in the response element. Example: <ctmem:user_token>123456</ctmem:user_token>
9-102
Table 9-18
Parameter
error-list
Description
Valid Values
Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=407 ctmem:minor=3 ctmem:severity=Error> <ctmem:error_message>Register failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
Example <ctmem:error ctmem:major=407 ctmem:minor=3 ctmem:severity=Error> <ctmem:error_message>Register failed.</ctmem:error_message> </ctmem:error> error_message Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. Example: <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
Request Reference
9-103
Errors
See Authorization Request Errors (Major Code 407) on page B-20.
9-104
Request Format
EMAPI_unregister.dtd <?xml version="1.0" encoding="UTF-8"?> <!--user unregister request--> <!ELEMENT ctmem:message_package (ctmem:request)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED > <!ELEMENT ctmem:request EMPTY> <!ATTLIST ctmem:request ctmem:name CDATA #REQUIRED ctmem:user_token CDATA #REQUIRED >
Parameters
Table 9-19 Unregistration Request XML Parameters Description
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_unregister.dtd">
Request Reference
9-105
Table 9-19
Parameter
<?xml ?>
Description
Valid Values
This is the first line of the XML file. It contains the version and encoding attributes. version The version of XML in use. In ENTERPRISE/CS version 6.0.01 and later, this is version 1.0. Valid value: 1.0. The character set used in the XML file. Valid value: UTF-8
encoding
Example: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE requesttype SYSTEM "dtdfilename"> This is the second line of the XML file. It identifies the file and specifies the .dtd file that is used for validation. The file contains two variables, requesttype and dtdfilename. It also includes the words !DOCTYPE and SYSTEM, which must be written in upper-case letters. requesttype Type of function that the current XML file performs. Valid value: ctmem:message_
package
dtdfilename The name of the .dtd file used to validate the XML file. Valid value: EMAPI_unregister.dtd Note: You can include the path to the .dtd file to enable your XML editor (if used) to validate the document as it is being written.
9-106
Table 9-19
Parameter
message_package
Description
Valid Values
Indicates to CONTROL-M/EM the beginning and end of the Timeout Reset Request XML specification. Order and force specifications are placed between the opening and closing messages_package tags. Contains the version and ctmem (schema) attributes. Wrapper for one or more request elements. xmlns:ctmem version (1.0) Schema pathname or URL and filename. String. version (1.0)
Example <ctmem:message_package xmlns:ctmem="C:Project/ctmem/schema" ctmem:version="1.0"> </ctmem:message_package> request Indicates to CONTROL-M/EM the beginning and end of the Unregister request. Contains the name and user_token attributes. name Name of the API request that you are performing. Valid value: unregister Serial identification number supplied to the user during registration. The user indicated by this number is the user. String.
user_token
Example
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_unregister.dtd"> <ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema" ctmem:version="1.0">
Request Reference
9-107
Response
EMAPI_unregisterResponse.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT ctmem:error_message (#PCDATA)> <!ELEMENT ctmem:error (ctmem:error_message)> <!ATTLIST ctmem:error ctmem:major CDATA #REQUIRED ctmem:minor CDATA #REQUIRED ctmem:severity CDATA #REQUIRED> <!ELEMENT ctmem:error_list (ctmem:error+)> <!ATTLIST ctmem:error_list ctmem:highest_severity CDATA #REQUIRED> <!ELEMENT ctmem:status (#PCDATA)> <!ELEMENT ctmem:user_token (#PCDATA)> <!ELEMENT ctmem:response (ctmem:status, ctmem:user_token?, ctmem:error_list?)> <!ATTLIST ctmem:response ctmem:request_name CDATA #REQUIRED> <!ELEMENT ctmem:message_package (ctmem:response)> <!ATTLIST ctmem:message_package xmlns:ctmem CDATA #IMPLIED ctmem:version (1.0) #REQUIRED>
9-108
Parameters
Table 9-20 User Unregistration Response XML Parameters Description (Part 1 of 3)
Parameter
Description
Valid Values
The first two lines of the XML request file for this API request contain information that specifies to the CONTROL-M/EM API the version of XML and the text encoding format being used, and the name of the .dtd file. These lines must appear exactly as follows: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message package SYSTEM "EMAPI_registerResponse.dtd"> message_package Identifies the beginning and end of the response data package. Contains the xmlns:ctmem and version attributes. Is a wrapper for the response element. xmlns:ctmem=URL version (1.0) Location of the schema. version (1.0)
Example <ctmem:message_package xmlns:ctmem=http://www.bmc.com/ctmem/schema ctmem:version=1.0> </ctmem:message_package> response Type of response contained documented in the XML file. Contains the request_name attribute. Is a wrapper for the status and error-list elements. request_name Request type for which the response was generated. Valid values: unregister
Example <ctmem:response ctmem:name=register> <ctmem:status>Error</ctmem:status> <ctmem:user_token>123456</ctmem:user_token> <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=407 ctmem:minor=4 ctmem:severity=Error> <ctmem:error_message>Unregister failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> </ctmem:response> status Description of message content (for example, Error). String. Contained in the response element. Example: <ctmem:status>Error</ctmem:status>
Request Reference
9-109
Table 9-20
Parameter
user_token
Description
Valid Values
Unique ID that identifies the user. String. Contained in the response element. Example <ctmem:user_token>123456</ctmem:user_token>
error-list
Begins and ends the list of all erors included in the XML file. Contained in the response element. Contains the highest_severity attribute. Wrapper for the one or more error elements. highest_severity Indicates the severity level of the most critical error included in the error list. If only one error is included, the severity for that error is displayed. String.
Example <ctmem:error_list ctmem:highest_severity=Error> <ctmem:error ctmem:major=407 ctmem:minor=4 ctmem:severity=Error> <ctmem:error_message>Unregister failed.</ctmem:error_message> </ctmem:error> </ctmem:error_list> error Describes the error. Contains the major, minor, and severity attributes. Wrapper for the error_message element. major The error Major Code. An integer describing the family of errors to which the error belongs. For more information, see Appendix B, Error Codes and Exceptions. The error minor Code. An integer that is a unique ID for an error of this type. For more information, see Appendix B, Error Codes and Exceptions. The priority level assigned to the error by the CONTROL-M/EM API. String. For more information, see Appendix B, Error Codes and Exceptions.
minor
severity
9-110
Table 9-20
Parameter
error_message
Description
Valid Values
Text description of the error. For more information, see Appendix B, Error Codes and Exceptions. String. Example: <ctmem:error_message>Add/Delete condition failed.</ctmem:error_message>
Errors
See Authorization Request Errors (Major Code 407) on page B-20.
Request Reference
9-111
9-112
Requests are submitted to the CONTROL-M/EM API as XML-formatted text strings. The text strings can be saved as plain-text files.
This chapter includes one or more examples for each of the more complex requests: Add Condition/Delete Condition Request Job Creation Request Order/Force Request
For instructions for how to create request strings and examples of the less complex requests, see Chapter 9, Request Reference.
A-1
A-2
A-3
A-4
A-5
A-6
A-7
A-8
Order/Force Request
Example 1: Order a Unix Job
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_order_force.dtd"><ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema" ctmem:version="1.0"> <ctmem:request ctmem:name="order_force" ctmem:user_token="@UserToken@"> <ctmem:force_it>no</ctmem:force_it> <ctmem:control_m>UnixDc</ctmem:control_m><ctmem:job_id>2</ctmem:job_id> <ctmem:job_name>OrdSimJobU</ctmem:job_name> <ctmem:table_name>OrdSimJobU</ctmem:table_name> <ctmem:odate>20020522</ctmem:odate> </ctmem:request></ctmem:message_package>
A-9
A-10
Example 4: Force a Unix Job into a Recent Group Scheduling Table while Allowing for Duplication
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ctmem:message_package SYSTEM "EMAPI_order_force.dtd"><ctmem:message_package xmlns:ctmem="http://www.bmc.com/ctmem/schema" ctmem:version="1.0"> <ctmem:request ctmem:name="order_force" ctmem:user_token="@UserToken@"> <ctmem:force_it>yes</ctmem:force_it> <ctmem:control_m>UnixDc</ctmem:control_m> <ctmem:job_id>6</ctmem:job_id> <ctmem:job_name>FoInRecDup</ctmem:job_name> <ctmem:table_name>FoInSGJobU</ctmem:table_name> <ctmem:odate>20010522</ctmem:odate> <ctmem:autoedit_assignments> <ctmem:autoedit_assignment> <ctmem:name>RecentDup</ctmem:name> <ctmem:value>2</ctmem:value> </ctmem:autoedit_assignment> <ctmem:autoedit_assignment> <ctmem:name>A</ctmem:name> <ctmem:value>2</ctmem:value> </ctmem:autoedit_assignment> <ctmem:autoedit_assignment><ctmem:name>B</ctmem:name> <ctmem:value>3</ctmem:value> </ctmem:autoedit_assignment> </ctmem:autoedit_assignments> <ctmem:scheduling_group_info> <ctmem:into_group>recent</ctmem:into_group> <ctmem:allow_dup>yes</ctmem:allow_dup> </ctmem:scheduling_group_info> </ctmem:request> </ctmem:message_package>
A-11
A-12
Errors and exceptions may occur when the CONTROL-M/Enterprise Manager API is being used. Errors and exceptions can be divided into four broad groups: Errors and exceptions that are caused by the CONTROL-M/EM API. Errors and exceptions that are caused by faulty formatting in the XML request file. Errors and exceptions that are caused by the presence of erroneous data in the XML request file. Errors and exceptions that are caused by CONTROL-M/EM or the CONTROL-M installation.
Note
In addition to being described in this chapter, CONTROL-M/EM API errors are listed in the EMAPIMessages.txt file located in the home directory of your CONTROL-M/EM installation. Each error is composed of the following information: Major Code Integer that represents a family of related errors or exceptions.
B-1
Minor Code ID code unique to each error. Severity Indicates how critical the error is. Severity also determines the way that the CONTROL-M/EM API handles the error. Description Text description of the error, returned as a string when an exception is thrown.
Severity
Every error that the CONTROL-M/EM API displays has a severity level. This level indicates the priority of the error and indicates how much information is written to the log file. When using the CONTROL-M/EM API, the most common severity level is ERROR. Using the default logging configuration, the DEBUG error is never used. For information on how to modify the logging configuration, see CONTROL-M/EM API Logging on page 7-1. The severity levels that are supported by the CONTROL-M/EM API are listed in Table B-1.
Table B-1 Log Message Priority Levels (Part 1 of 2)
Level
FATAL
Description
Displays fatal error messages. Warning: When a FATAL error is generated, it is recommended that you stop using the CONTROL-M/EM API immediately, and that you investigate the cause of the error. If you continue to use the CONTROL-M/EM API despite receiving a FATAL error, stop and restart the CONTROL-M/EM GUI Server and Global Alerts Server before performiong any more API actions. Displays messages for fatal and non-fatal errors. Displays warning messages and all error messages.
ERROR WARN
B-2
Table B-1
Level
INFO DEBUG
Description
Displays system information, warnings, and all errors. Displays debugging information and all other priority messages.
B-3
Table B-2
Code
000 100 200 300 300 301 302 400 401 403 404 405
Title
NULL Exception Low-level API Exceptions Parser Exceptions CONTROL-M Server Errors CONTROL-M Server Errors: Group1 CONTROL-M Server Errors: Group 2 CONTROL-M Server Errors: Group 3
CONTROL-M/EM API
Request Exceptions Generic Request Exceptions Poll Request Add/Delete Condition Request Order/Force Request
B-4
Table B-2
Code
406 407 408 409 500 600
Title
Job Tracking Request Authorization Request Alerts Request Create Active Job Request
CONTROL-M/EM API
Java Client Gateway Messages
B-5
NULL Exceptions
Minor Code
0
Severity
ERROR
Description
B-6
Table B-4
Minor Code
1 2 3 4 5 6
Severity
ERROR FATAL ERROR ERROR FATAL ERROR
Description
Error on preliminary parsing of the XML Catastrophic exception on server. Error: <value> Tag missing. Invalid Request. Request name: <value> Could not obtain response from repository. Undefined exception on server.
B-7
Parser Exceptions
Minor Code
1 2 3 4
Severity
FATAL ERROR FATAL FATAL
Description
Parser Initialization Failure. Error while parsing XML: <value> Internal Parser Error: <value> Internal Parser Error: Undefined Exception
B-8
Minor Code
0 3 5 7 9 18 19 20 21 22 23 24 25 40 42 45 46 47 48 49 51 52 53 54
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Internal Server Error on Control/M. Control/M Error: <value> . Storage allocaton failed for CTM/EM Gateway. Cannot open conditions file. Loading of Control-M Parameters failed. Internal error on GETMEM. DSN not in catalog. DSN - dynamic allocation failed. Internal error. Invalid request to CTMMEM. Maximum number of members/lines in member exceeded. Invalid return code from CTMMEM. Error while processing directory of library. Library operation failed. Cannot open print file. Open of IOA log file failed . Internal Error on IOACND. Invalid date format. Cannot open synchronization file. Internal Server Error on Control/M. Internal Server Error on Control/M. Cannot add the condition because it already exists. Cannot add the condition because the condition file is full. Cannot add the control resource because it already exists. Cannot add the control resource because the resource file is full.
B-9
Table B-6
Minor Code
55 56 57 58 59 60 61 62 63 64 70 87 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Cannot delete the condition because it does not exist. Cannot delete the quantitative resource because it is in use. Cannot add the quantitative resource because the resource file is full. Cannot add the quantitative resource because it already exists. Cannot delete the quantitative resource because it does not exist. Change command can only be issued against quantitative resources Invalid value in sign field. The value in a change command must be between 1-9999. Cannot load module (internal error). The requested table does not exist in the library. The requested job does not exist in the given table. Invalid date. Table/Member doesnt exist. Table/Member already exists. Invalid Group ID. The NEWG order option is not supported in this version. The group entity specified was not found in the AJF. Failed to extract data from CTM/EM message. Failed to delete records from table. Insert into table failed. Update table failed. Failed to commit transaction. The filed GROUP is mandatory for a group entity. GROUP and JOBNAME should be the same for group entity. GROUP and SCHEDTAB should be the same for group entity. GROUP and SCHEDTAB should be specified. The group specified does not exist in the database. MEMLIB, CMDLINE, MEMNAME AND OVERLIB should not be specified.
B-10
Table B-6
Minor Code
107 108 109 110 111
Severity
ERROR ERROR ERROR ERROR ERROR
Description
Failed to allocate ISN. No nodes found in node group. Failed to get next node in node group. Failed to setup application type for NODEGRP, MEMNAME and OVERLIB should not be specified. Invalid ODATE.
B-11
Minor Code
501 502 506 510 512 514 515 516 517 524 525 526 528 531 532 534 535 536 537 548 549 550
Severity
INFO ERROR ERROR ERROR WARN ERROR ERROR ERROR ERROR ERROR ERROR ERROR INFO ERROR ERROR ERROR ERROR ERROR ERROR ERROR WARN WARN
Description
The job has been sucesfully ordered Unabled to open the specified scheduling library. Scheduling failed for member. Scheduling member contains invalid data. Library should be compressed. Job was not ordered. Reason: Insufficient storage. Job contains too many cards. Scheduling table error: First card is not a D statement. The specified library is empty. Ordering proccess has entered with errors. Ordering proccess ended successfully. Invalid data format. Job has been succesfully ordered. Ordering process was canceled by an user exit. Cannot open the CTM/EM active jobs file. Cannot open the AJF - AJF is corrrupted, I/O error, or file is not really AJF. Cannot order a job while AJF is being formatted. Severe error in scheduling definition. The job order contains more information than what the CTM/EM can handle. The calendar specified in the job is either corrupted or invalid. CONTROL-R is not installed. IFRERUN statement ignored. CONTROL-R is not installed. SET statement ignored.
B-12
Table B-7
Minor Code
166 169
Severity
ERROR INFO
Description
The job contains a condition with a PREV/NEXT date that cannot be interpreted by CTM/EM. The CTM/EM has finished handling the request. No jobs were scheduled.
B-13
Minor Code
129 540 863
Severity
ERROR ERROR WARN
Description
User exit not loaded. Security exit not loaded. Security checking will be bypassed. The AJF is nearly full.
B-14
Table B-9
Minor Code
1 2 3 4
Severity
ERROR ERROR ERROR ERROR
Description
Could not connect to Control-M. Invalid Control-M. Invalid response from Control-M. Internal Error: <value> .
B-15
Minor Code
1
Severity
ERROR
Description
Error: Invalid token supplied.
B-16
Table B-11
Minor Code
1 2 3 4 5 6 7 8 9 10 11 12 13
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Add/Delete condition failed (code %d). Add/Delete condition failed. Add/Delete condition aborted. Add/Delete condition timed out. Add condition failed. Add condition failed (code %d). Add condition failed, invalid option. Delete condition failed. Delete condition failed (code %d). Delete condition failed, invalid option. Conditions name is not valid. Conditions order date is not valid. Cannot Add/Delete condition, already in desired state.
B-17
Minor Code
1 2 3 4
Severity
ERROR ERROR ERROR ERROR
Description
Order request didnt pass validity checks. Error: <value> Group RBA not found for Group ID <value> . Order request failed in the server. No jobs were ordered.
B-18
Minor Code
1 2 3
Severity
ERROR ERROR ERROR
Description
Job was not found in the last AJF. Required Job information doesnt exist in the database Tracked Job failed in validity checks.
B-19
Minor Code
1 2 3 4 5
Severity
ERROR ERROR ERROR ERROR ERROR
Description
Invalid user token. Invalid user name. Register failed. Unregister failed. User not authorized.
B-20
Minor Code
1 2
Severity
ERROR ERROR
Description
Alert id is not valid. Invalid alert operation.
B-21
Minor Code
1 2 3 4 5 6 7 8 9
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Create active job failed (code: %d). Create active job failed. Create active job failed, object is in use. Create active job failed, object not found. Create active job failed, invalid option. Create active job validation error: <value> . Scheduling group is not valid for this data-center version Failed to initialize job descriptor Create active job, invalid order date.
B-22
Minor Code
1 2 3 4 5 6 7 8 9 10 101 102 111 112 131 132 133 140 141
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Fatal error. Null XML document - nothing to do. Failed to establish connection with server - no server registered under this hostname. Failed to resolve server name - please check your hostname. Failed to establish connection with server - not a valid component type, check your hostname. failed resolving XMLInvoker interface. Failed to establish connection with server - check your connection with the locator. Failed to establish connection with - check your orbix configuration. Properties file not found. Failed to read properties file. Invoke timeout - no response after. Invoke request exited because a InterruptedException occurred. Response format is not valid. Response format is not valid. Cannot find tag. XML format is not valid. Request format is not valid. Cant find user token.
B-23
Minor Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
User Request timed out No network currently loaded No nodes match the Show Net parameters Net too large to be fully viewed. Some nodes will be missing Database login failed three times At least one state must be chosen At least one status must be chosen At least one task type must be chosen No events found for current net Field <value> Wrong Format: <value> Cannot load Active Network: No data center Field <value> is required Net Load aborted, probably not enough memory No nodes match the Load Net Parameters Error while reading job-record from database Nothing changed since last save Nothing changed Cannot save file <value> Confirm <value> for <value> Do you really want to quit <value> ? In a critical job, parameter Priority must begin with Field <value> contains an invalid value Field <value> must be between %d and %d Field Rerun Mem Cannot be used if field Task Type is Cyclic
B-24
Table B-18
Minor Code
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Field <value> has an invalid value starting at position: <value> Field <value> may not contain embedded spaces Cannot clear Demo Net <value> Cannot create Demo Net <value> Cannot copy Demo Net <value> Couldnt open user view Do you really want to erase the entire <value> Net <value> Do you really want to clear the entire <value> Net <value> Cannot append, Owner of <value> is <value> Cannot open <value> Missing file <value> Unable un-mount diskette in <value> Unable to mount diskette in <value> Incorrect path <value> Files downloaded from incompatible version <value> (should be <value>) Cannot open file <value> Missing <value> line Unknown line: <value> Cannot write to file <value> File <value> exists. Ok to overwrite ? Net <value> does not exist Copy from file to file not allowed Database job update failed Database select failed for resource events Database select failed for override table, simulation stopped No current net No nodes were found No more nodes were found Go Back ?
B-25
Table B-18
Minor Code
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
No more nodes were found You are not authorized to perform this action If Field <value> (Days/Week days Calendar) begins with ALL then the rest of the parameter must be blank Field Days Calender is required if field <value> contains the value: <value> Field Week Calender is required if field <value> contains the value: <value> Field Days has an invalid value starting at position: <value>; There should be a comma there Discard changes made in form ? Change of calendar type destroys existing data. Proceed ? Change of data center platform destroys existing data. Proceed ? Data center unknown, please re-enter value Reading calendar failed - database problems Calendar is already in use by user <value>, try later Calendar write failed - database problems Unknown platform. Verification of data will default to MVS. Do you want to continue? Calendar was modified. Proceed with download ?" Calendar <value> was downloaded successfully from data center <value>" Calendar <value> was deleted successfully from data center <value>" Calendar is in use by user <value>, and cannot be deleted" Confirm Calendar Delete" Confirm Calendar Upload" Forced Calendar Upload will override calendar content in data center Proceed ?" You are not authorized to access the Calendar List window Filed <value> must be specified if field <value> is File, New Dest or Change Class
B-26
Table B-18
Minor Code
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Attempt to enter conflicting conditions Field <value> may only be used with the Change Class option Field <value> is too long Field Sign may not be + if the ODATE field value is **** or $$$$ Unknown or disabled Platform! Form will be opend as MVS! In a critical job, field Priority must begin with * Field Command Line may be specified only if Task Type is Command Field should be %d char(s) long for this Sysout option Field <value> cannot be used if Task Type is <value> Field <value> cannot specify GENREAL or USER= Fields Parm and From Class must be specified if field Option is Change Class Field Parm must be specified if field Option is New Dest or File Field Confirmation Cal cannot be used with fields PDS Name or Minimum Field Months cannot be used with fields PDS Name, Minimum or Dates Field Dates cannot be used with parameters PDS Name, Minimum, Months, Days, or Days Calendar Field Dates cannot be used with fields Week Days, Weeks Days Calender Confirmation Cal If Field PDS Name is specified then Minimum must be specified and vice versa Field Priority must begin with * or an alphanumeric character Field Priority must begin with an alphanumeric character Field <value> is required if Task Type is:<value> A job with the same name already exists in this table If Field Retro is specified then PDS Name and Minimum cannot be used The fields Days and Week Days Calendar cannot both be specified The Field <value> must contain a numeric value or 0 Fields Rerun Mem and Max Rerun cannot be used if field Task Type is Cyclic
B-27
Table B-18
Minor Code
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Field Dates must be specified in format nnnn or nnnn,nnnn,... Scheduling table is already in use by user <value>, try later Scheduling table write failed - database problems Scheduling table should be uploaded before order/force Field <value> is required If Field <value> is *??????? Then field <value> must be blank Table was modified. Proceed with download ? Table was modified. Proceed with order ? Table was modified. Proceed with force ? Definition table <value> was downloaded successfully from data center <value> Definition table <value> was deleted successfully from data center <value> Confirm Table Delete Confirm Table Upload Forced Table Upload will override table content in data center Proceed ? You are not authorized to access the Scheduling Tables window Scheduling table is in use by user <value>, and cannot be deleted Field <value> must be blank if field <value> is OK or NOTOK or RERUN Communication with WS-Gateway stopped, all requests were canceled System Error in <value>: Command <value> failed; <value> No communication with WS-Gateway. Request cancelled <value> not possible, no communication with Gateway <value> not possible, Unknown data center <value> <value> not possible, data center <value> not available Communication with data center <value> down, all requests canceled Data center <value> is suspended (AJF is being formatted) Data center <value> is suspended (Download in Netgroup)
B-28
Table B-18
Minor Code
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Data center <value> is suspended (AJF is being formatted), all requests canceled Invalid event %c received from data center <value>. To ensure database integrity, WS-GTW stop/restart is recommended The host name be specified only for the TCP protocol The host name may contain only Alphanumerics and periods You must specify a communication protocol Specified communication protocol not supported on platform Control-R not supported on platform The Net Group field must contain two alpha numeric characters CONTROL-M must be 300 or 400 for MVS Incorrect CONTROL-M version specified for this platform Scheduling table read failed - database problems Please verify that all users have quit CONTROL-M/EM and that the WS-Gateway is down. Do you really want to quit CONTROL-M/Enterprise Manager Administration ? No Net Number of nodes in a row exceeds maximum of %d Cannot generate report due to insufficient memory Cannot print links: <value> Cannot print index: <value> Cannot do poster for routed net Job Report Fields saved. Please close and open the job report window New Field is empty Confirm delete No Loaded Networks Available Control Resources with <value> <value> cannot be <value> Quantitative Resources with <value> <value> cannot be <value>
B-29
Table B-18
Minor Code
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 173 174
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Field Author must be entered Order ID <value> not found Pattern <value> not found in text Pattern <value> appears only once in the text Problems searching for pattern <value> Alarm handling command ignored. User <value> is handling this alarm now Alarm handling command ignored. Internal error Download of calendar <value> canceled in gateway - calendar in use Download of calendar <value> canceled in gateway - Another download is currenlty in progress - Try later Upload of calendar <value> canceled in gateway Upload of calendar <value> canceled in gateway - calendar in use Upload of definitions table <value> canceled in gateway Upload of definitions table <value> canceled in gateway - table in use Download of definition table <value> canceled in gateway - table in use Download of definition table <value> canceled in gateway - Another download is currenlty in progress - Try later Definitions table deleted on data center but delete failed on workstation (rc 1) Definitions table deleted on data center but delete failed on workstation (rc 2) Calendar deleted on data center but delete failed on workstation (rc 2) Delete of definitions table <value> canceled in gateway - table in use Delete of calendar <value> canceled in gateway - calendar in use User request canceled in gateway, no answer from data center (time-out) Download of <value> canceled, no answer from data center (time-out) Download of <value> canceled in gateway Download canceled, no answer from data center (time-out) Download canceled in gateway
B-30
Table B-18
Minor Code
175 176 177 178 179 180 179 180 181 182 182 183 183 184 185 186 187 188 189 190 191 192 193 194 194 195
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Upload canceled in gateway Upload canceled (file transfer error (rcp) in gateway), consult system administrator Information request canceled in gateway, system error (fopen failed), consult system administrator Information request canceled (time-out) in gateway, no answer from data center Upload of <value> canceled (time-out), no answer from data center Upload of <value> canceled in gateway Upload canceled (time-out), no answer from data center Upload canceled in gateway No fields defined Field <value> not in table Field not in table Internal error on Field <value> Internal error on field Cannot print %d characters; Maximum of %d allowed Cannot print more than %d fields You are not authorized to load an active network <value> was not found in data center. Delete in workstation ? You are not authorized to access the Global Conditions window Definition table <value> was deleted only on workstation Calendar <value> was deleted only on workstation Internal error. Action failed Insert failed. Record with same key already exists. Record deleted in the meantime. Error message <value> Received from data center <value>. Error message received from data center. Field <value> is required if field <value> is defined
B-31
Table B-18
Minor Code
195 196 197 198 199 200 201 202 202 203 203 204
Severity
ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
Description
Field required. Field <value> should be at most %d characters Field <value> may not contain the characters <value> Field <value> must be between <value> and <value> Field <value> should be empty Field <value> must be blank if field When is OK or NOTOK or RERUN Field <value> must be <value> No response to hartbeat check from data center: <value> No response to hartbeat check from data center. Unsuported version <value> of data center <value>. Check CTM installation Unsuported version of data center, check CTM installation. Not the smallest ISN for ordered/forced job
B-32
Glossary
Glossary
The Active Jobs file lists all jobs scheduled for submission in the current day. Each job in the Active Jobs file is not submitted until all conditions in the job processing definition for the job are satisfied. The Active Jobs file is in the CONTROL-M database. Alerts are messages that indicate important information for the CONTROL-M/Enterprise Manager (CONTROL-M/EM) user. These messages normally indicate when a problem or exception has occurred for a job controlled by CONTROL-M. All alerts are displayed in the Global Alert Client Alerts window. Software product that schedules, submits, tracks and follows up the execution of jobs in a specific installation. In certain releases, CONTROL-M functions are divided between two separate components: CONTROL-M/Server and CONTROL-M/Agent. Software product that provides a central point of control for CONTROL-M installations. CONTROL-M/EM provides the GUI that allows users to graphically view the status of job schedules and execution in CONTROL-M installations, to issue requests for additional information, to make changes in the Active Jobs file, and to handle problems. CONTROL-M/EM also passes global conditions among CONTROL-M installations.
Alert
CONTROL-M
Glossary
Process that handles communication between CONTROL-M/EM GUI workstations and other components of CONTROL-M/EM. The CONTROL-M/EM Server executes database queries, calculations and procedures for each GUI, thereby lessening its workload and streamlining productivity by enabling data-sharing between GUIs. Multiple CONTROL-M/EM Servers can be installed in an CONTROL-M/EM environment. An architecture for creating, distributing, and managing program objects across distributed computers. The process that handles communication between CONTROL-M and CONTROL-M/EM. There are gateway processes on both the CONTROL-M platform and on the CONTROL-M/EM workstation. The process that identifies and distributes alerts between CONTROL-M installations and CONTROL-M/EM workstations. The Global Alerts Server connects to each CONTROL-M/EM gateway to receive alerts from CONTROL-M and transmit them to the CONTROL-M/EM GUIs. Java is an object-oriented programming language for use in a distributed computing environment. Set of user-defined parameters for each job which provide CONTROL-M with detailed instructions on processing the job. job processing definitions are organized into Scheduling tables. A flag representing a user-specified situation or condition. Submission of a job for execution can be made dependent upon the existence of one or more prerequisite conditions. Prerequisite conditions are recorded in the CONTROL-M/EM Conditions/Resources table. Text string returned by CONTROL-M/EM containing status information regarding the request for which it is returned.
CORBA
Gateway
Java
Response
Request
An action that is sent to CONTROL-M/EM from a remote location, using the CONTROL-M/EM API. Some requests are processed by CONTROL-M/EM; others are forwarded to CONTROL-M for processing. There are two broad types of requests: Requests that manage the transfer of information between the CONTROL-M/EM API and CONTROL-M/EM. Requests that contain actions that influence the CONTROL-M/EM active environment.
XML
Extensible Markup Language (XML) is a specification for designing markup languages used to organize information.
Glossary
Index
Index
Symbols
.dtd files.See validation files errors in changing status B-21 analyzing response strings 5-12 application runtime 7-11 Authorization request errors B-20
A
accessing Global Alerts Server 2-6 GUI Server 2-6 Orbix Locator 2-6 actions in CONTROL-M/EM API session 4-15 activating project 3-6 Add Condition request description 9-4 errors B-17 polling requirement 4-11 response 9-7 adding conditions 9-4 directory pathnames to CLASSPATH 2-6 advantages to EMBasicXMLInvoker 4-9 to EMXMLInvoker 4-11 alerts changing status 9-11
BMC Software, Inc., Confidential and Proprietary Information
C
calls EMXMLInvoker 4-15 Change Alert Status request description 9-11 errors B-21 response 9-13 choosing a CONTROL-M/EM API class 4-7 classes choosing 4-7 ComponentType 8-3 EMBasicXMLInvoker 8-4 EMXMLInvoker 8-9 GASComponent 8-18 GSRComponent 8-21 in response strings 5-2 list 8-1 sample 3-3 CLASSPATH adding directory pathnames 2-6 omissions 7-6
Index
orbix2000.cfg file 6-5 troubleshooting 7-6 com.bmc.ctmem.emapi.XMLDATAPATH property 4-14 communication errors B-24 ComponentType class 8-3 conditions errors in adding B-17 errors in deleting B-17 configuration files 2-6 configuring CONTROL-M/EM API 3-1 differences between platforms 2-5 environment 7-6 log file 7-3 polling timeout 6-8 project environment 3-1 script 2-6 setPollRequestIntervalMilli 6-8 setPollRequestTimeoutMilli 6-8 CONTROL-M supported versions 2-1 CONTROL-M/EM internal errors B-9 primary subdirectories 2-4 CONTROL-M/EM API adding directory pathnames to CLASSPATH 2-6 configuration files 2-6 configuration script 2-6 configuring 3-1 how it works 1-2 importing into project 3-3 initializing 1-2 initializing services 4-15 mandatory program actions 4-1 operating system support 2-2 operations description 1-3 platform support 2-2 primary subdirectories 2-5
recommended users of this Guide 1-3 software requirements 2-1 stoppng services 4-15 support for CONTROL-M versions 2-1 supported CONTROL-M/EM components 1-2 uncompressing installation files 2-4 untarring installation files 2-4 CONTROL-M/EM API session flow of actions 4-15 starting and stopping services 4-15 CONTROL-M/EM component specifying in a request call 4-16, 4-21 CONTROL-M/EM password encoding 4-2 CONTROL-M/Enterprise Manager API. See CONTROL-M/EM API CONTROL-M/Enterprise Manager. See CONTROL-M/EM CONTROL-M/Server communication errors B-15 CONTROL-M/Server errors B-9, B-12 conventions,document xix CORBA advanced implementation 6-1 description 6-2 initializing processes 1-2 Orbix domain initialization failure 7-10 CORBA parameters passing to project 3-6 CORBA processes initializing 4-15 CORBA properties modifying 6-1 creating emapi_log.cfg file 7-2 EMXMLInvoker calls 4-15 EMXMLInvoker class request calls 4-15 Group Scheduling tables 9-17 jobs in Group Scheduling tables 9-17
BMC Software, Inc., Confidential and Proprietary Information
regular jobs 9-17 XML strings 8-1 ctmemapi.properties 2-6 ctmemapi.properties file 3-2, 7-11 component hostnames 4-18, 4-22
E
emapi_env.bat file 3-2, 3-6 emapi_env.sh file 3-2, 3-6 emapi_log.cfg file 7-2 emapi-610-nt.zip file 2-4 emapi-admin.bat file 2-6 emapi-admin.sh file 2-6 emapi-configure file 2-6 emapi-configure.exe file 2-6 emapi-env.bat file 2-6 emapi-env.sh file 2-6 EMAPIMessages.txt file B-1 EMBasicXMLInvoker derived methods 8-4 description 8-4 invoking 4-23 response handling 4-7 when to use 4-9 EMXMLInvoker calls 4-15 derived methods 8-9 invoking 4-18 polling 4-20 polling requirement 4-11 response handling 4-7 when to use 4-11 encodePassword method 8-11 encoding with encodePassword method 8-11 encoding password in session 4-2 environment setting variables 3-6 solving problems 7-6 error codes list of Major Codes B-4 Major Code (defined) B-1 Minor Code (defined) B-2 reference B-4 ERROR severity level 7-3, B-2
D
DEBUG severity level 7-3, B-3 debugging severity levels 7-3, B-2 using Log4J 7-1 Delete Condition request description 9-4 errors B-17 polling requirement 4-11 response 9-7 deleting conditions 9-4 determining job status 5-1 location of validation files 4-14 polling status 5-1 request status 5-1 development environment 3-1 differences between EMBasicXMLInvoker and EMXMLInvoker 4-7 between the native and basic APIs 4-7 directories missing 7-6 of the CONTROL-M/EM API 2-5 disadvantages to EMBasicXMLInvoker 4-9 to EMXMLInvoker 4-11 document conventions xix done method primary listing 8-10 stopping API services 4-16
Index
errors Active Jobs file B-12 adding conditions B-17 application runtime 7-11 authorizations B-20 categories B-1 Change Alert Status request B-21 communication 7-11, B-24 conditions B-9 contents B-1 CONTROL-M/Server B-9, B-12 CONTROL-M/Server communication B-15 creating Group Scheduling tables B-22 creating jobs B-22 deleting conditions B-17 described in EMAPIMessages.txt file B-1 description 8-27, B-2 gateway B-24 Generic Request Exceptions B-15 hostnames 7-11 identifying 5-1 in XML format B-23 initializing Orbix domain 7-10 Java client B-23 Job Creation request B-22 Job Tracking request B-19 JVM parameters 7-7 Low-Level API Exceptions B-7 Major Code B-1 Minor Code B-2 NULL exceptions B-6 Order/Force request B-18 ordering jobs B-12 Parser Exceptions B-8 polling B-16 Registration request B-20 resources B-9 severity level 7-3, B-2
tracking jobs B-19 Unregistration request B-20 user name invalid B-20 user token invalid B-20 exceptions throwing 4-23 exceptions. See errors. executing CONTROL-M/EM API sessions 4-1 java commands 3-6 tracking requests with polling 4-20
F
FATAL severity level 7-3, B-2 fixing application runtime errors 7-11 CLASSPATH problems 7-6 communication errors 7-11 environment problems 7-6 JVM problems 7-7 Orbix domain initialization problems 7-10 forcing Group Scheduling tables 9-59 jobs 9-59 polling for response 9-65 formatting requests 4-1 response strings 5-2
G
GAS hostname 2-6 hostname as property 6-6 hostname errors 7-11 location 2-6 specifying in a request call 4-16
BMC Software, Inc., Confidential and Proprietary Information
GASComponent prototype 1 8-19 prototype 2 8-20 GAScomponent specifying in a request call 4-21 GAScomponent class derived methods 8-18 GASComponent method 8-19 gateway errors B-24 Generic Request Exceptions B-15 getMajorCode method 8-25 getMinorCode method 8-26 getProperties method advanced use 6-6 defaults 6-6 description 8-12 getReason method 8-27 Group Scheduling tables creating 9-17 errors in creating B-22 GSRComponent prototype 1 8-22 prototype 2 8-23 GSRcomponent specifying in an XMLBasicInvoker request call 4-16 specifying in an XMLInvoker request call 4-21 GSRComponent class derived methods 8-21 GSRComponent method 8-22 GUI Server hostname 2-6 hostname as property 6-6 hostname errors 7-11 location 2-6
errors 7-11 recording in the ctmemapi.properties file 4-18, 4-22 specifying 2-6 specifying in a call 4-16
I
identifying errors 5-1 implementing Orbix ORB settings 7-10 import command 3-3 importing CONTROL-M/EM API into project 3-3 INFO severity level 7-3, B-3 init method modifying properties 6-1 primary listing 8-13 prototype 1 6-2, 8-13 prototype 2 6-3, 8-14 prototype 3 6-4, 8-15 prototypes 6-2 starting API services 4-15 troubleshooting 7-9 initializing CONTROL-M/EM API 1-2 CONTROL-M/EM API services 4-15 CORBA processes 1-2, 4-15 failure 7-10 Orbix processes 4-15 installation files uncompresssing 2-4 untarring 2-4 interpreting response strings 5-12 invalid user name B-20 invoke method primary listing 8-6, 8-16 string parameter 4-16, 4-21 throwing exceptions 4-23
Index 5
H
hostnames
BMC Software, Inc., Confidential and Proprietary Information
InvokeException class derived methods 8-24 invokeException class error information 8-24 invoking EMBasicXMLInvoker how to 4-23 invoking EMXMLInvoker how to 4-18
advanced parameter configuration 7-7 parameter problems 7-7 passing parameters to project 3-6 requirement to run project 3-4 JVM requirement and support 2-3
L
Log4J logging mechanism 7-1 supported versions 7-1 log4J.jar file 7-1 logging category 7-2 configuring log file 7-3 default behavior 7-2 modifying behavior 7-2 parameters 7-2 using Log4J 7-1 logging off 9-105 logging on 9-98 Low-Level API Exceptions B-7
J
Java client errors B-23 Java classes role in API function 1-2 java command 3-6 Java Developers Kit. See JDK Java Runtime Environment. See JRE Java Virtual Machine. See JVM JAVA_HOME environment variable 2-3 JDK requirement and support 2-3 job determining status 5-1 Job Creation request description 9-17 determining parameter names 9-2 polling requirement 4-11 response 9-53 responses 9-17 Job Tracking request errors B-19 jobs creating 9-17 errors in creating B-22 errors in forcing B-18 errors in ordering B-12, B-18 parameter names 9-3 tracking 9-89 JRE requirement and support 2-3 JVM
6
M
mandatory program actions 4-1 methods Basic 1-2 done 4-16, 8-10 encodePassword 8-11 GASComponent 8-19 getMajorCode 8-25 getMinorCode 8-26 getProperties 6-6, 8-12 getReason primary listing 8-27 GSRComponent 8-22 init 4-15, 8-13 invoke 4-16, 4-21, 8-6 invoke (EMXMLInvoker) 8-16
BMC Software, Inc., Confidential and Proprietary Information
Native 1-2 of the EMBasicXMLInvoker class 8-4 of the EMXMLInvoker class 8-9 of the GASComponent class 8-18 of the GSRComponent class 8-21 of the InvokeException class 8-24 setPollRequestIntervalMilli 8-7 setPollRequestIntervalMilli implementation 6-8 setPollRequestTimeoutMilli 8-8 setPollRequestTimeoutMilli implementation 6-8 setProperties 6-7, 8-17 modifying initialization properties 6-1 logging behavior 7-2 Orbix domain configuration file 7-10 project for use with the CONTROL-M/EM API 3-3 mySAP. See SAP
modifying properties 6-1 orbix2000.cfg file in CLASSPATH 6-5 specifying domain with ORB 7-10 specifying implementation 7-7 version support 2-3 orbix2000.cfg file 6-5 Order/Force request description 9-59 errors B-18 polling 9-65 polling requirement 4-11 response 9-64 ordering Group Scheduling tables 9-59 jobs 9-59 polling for response 9-65 outcome tracking 9-89
P
Parser Exceptions B-8 parsing response string 5-1 response strings 5-12 XML errors B-8 passing CORBA parameters to project 3-6 password encodePassword method 8-11 encoding 4-2 platform support 2-2 Poll request description 9-77 response 9-79 polling configuring timeout 6-8 determining status 5-1 errors B-16 for Order/Force requests 9-65 required with EMXMLInvoker 4-11 tracking ID 4-11
Index 7
N
null exceptions 7-6, B-6
O
Object Request Broker. See CORBA objects invoking using EMBasicXMLInvoker 4-23 invoking using EMXMLInvoker 4-19 operating system support 2-2 ORBconfig_domains_dir parameter 6-5 ORBdomain_name.cfg file 7-10 Orbix accessing Locator 2-6 domain initialization failure 7-10 initializing processes 4-15
BMC Software, Inc., Confidential and Proprietary Information
with EMXMLInvoker 4-20 polling request errors B-16 post-installation configuration 3-1 preparing project environment 3-1 processing response strings 5-12 project modifying for use with the CONTROL-M/EM API 3-3 prepapring environment 3-1 running 3-6 properties com.bmc.ctmem.emapi.XMLDATAPAT H 4-14 errors B-23 getting 6-6 Global Alerts Server 2-6 GUI Server 2-6 modifying init 6-1 setting 6-6 prototypes done 4-16 GASComponent prototype 1 8-19 GASComponent prototype 2 8-20 getProperties method 6-6 GSRComponent prototype 1 8-22 GSRComponent prototype 2 8-23 init 4-15 init method 6-2 init prototype 1 6-2, 8-13 init prototype 2 6-3, 8-14 init prototype 3 6-4, 8-15 setPollRequestIntervalMilli method 6-9 setPollRequestTimeoutMilli method 6-9 setProperties method 6-7
R
receiving errors 5-1
8
job status 5-1 polling status 5-1 request status 5-1 registering users registration validity 9-83 with Registration request 9-98 Registration request description 9-98 encoding password 4-2 errors B-20 response 9-101 related publications xvi release notes xix request status determining 5-1 in response strings 5-2 requests sending 4-7 submitting 4-7 tracking with polling 4-20 resetting registration timeout 9-83 response handling 5-1 by class 4-7 response string 5-1 contents 5-2 formats 5-2 parsing 5-1, 5-12 parts 5-12 types 5-2 responses EMAPI_errorResponse 5-7 EMAPI_PollResponse 5-7 EMAPI_Response 5-11 EMAPI_TokenResponse 5-3 to Add Condition requests 9-7 to Change Alert Status request 9-13 to Delete Condition requests 9-7 to Job Creation request 9-53 to Order/Force request 9-64
BMC Software, Inc., Confidential and Proprietary Information
to Poll request 9-79 to Registration request 9-101 to Timeout Reset request 9-85 to Tracking request 9-92 to Unregistration request 9-108 types 5-2 running java command 3-6 project 3-6 running environment 3-1
S
selecting a CONTROL-M/EM API class 4-7 component to process the request 4-16, 4-21 sending requests 4-7 setPollRequestIntervalMilli method configuring 6-8 default 6-9 primary listing 8-7 setPollRequestTimeoutMilli method configuring 6-8 default 6-9 primary listing 8-8 setProperties method primary listing 8-17 use 6-7 setting environmental variables 3-2, 3-6 severity levels DEBUG 7-3, B-3 ERROR 7-3, B-2 FATAL 7-3, B-2 INFO 7-3, B-3 WARN 7-3, B-2 software requirements CONTROL-M 2-1 CORBA implementation 2-3 JDK 2-3
BMC Software, Inc., Confidential and Proprietary Information
JRE 2-3 JVM 2-3 operating system 2-2 Orbix 2-3 platform 2-2 solving application runtime errors 7-11 CLASSPATH problems 7-6 communication errors 7-11 environment problems 7-6 JVM problems 7-7 Orbix domain initialization problems 7-10 specifying component to process a request 4-16, 4-21 hostnames 2-6 Orbix ORB domain 7-10 starting CONTROL-M/EM API services 4-15 CORBA processes 4-15 Orbix processes 4-15 project 3-6 stopping CONTROL-M/EM API services 4-15 CORBA processes 4-15 Orbix processes 4-15 project 4-16 submitting requests 4-7 support CONTROL-M versions 2-1 JDK 2-3 JRE 2-3 JVM 2-3 operating systems 2-2
T
throwing exceptions 4-23 timeout
Index 9
configuration 6-8 resetting interval 9-83 Timeout Reset request description 9-83 response 9-85 token. See user token tracking ID 4-11 jobs 9-89 request execution 4-20 requests 4-20 tracking ID use with EMXMLInvoker 4-11 Tracking request description 9-89 response 9-92 troubleshooting application runtime errors 7-11 CLASSPATH problems 7-6 communication problems 7-11 JVM problems 7-7 Orbix domain initialization problems 7-10 types of responses 5-2
V
validation XML strings 4-14 validation files EMAPI_add_conditionResponse.dtd 9-7 EMAPI_add_delete_condition.dtd 9-4 EMAPI_change_alert_status.dtd 9-11 EMAPI_change_alert_statusResponse.dt d 9-13 EMAPI_client_keep_alive.dtd 9-83 EMAPI_client_keep_aliveResponse.dtd 9-85 EMAPI_create_ajResponse.dtd 9-53 EMAPI_delete_conditionResponse.dtd 9-7 EMAPI_ErrorResponse.dtd 5-7 EMAPI_job_track.dtd 9-89 EMAPI_job_trackResponse.dtd 9-92 EMAPI_order_force.dtd 9-59 EMAPI_poll.dtd 9-77 EMAPI_pollResponse.dtd 5-7, 9-79 EMAPI_register.dtd 9-98 EMAPI_registerResponse.dtd 9-101 EMAPI_RequestnameResponse 5-11 EMAPI_TokenResponse.dtd 5-3 EMAPI_unregister.dtd 9-105 EMAPI_unregisterResponse.dtd 9-108 location 4-14
U
understanding response strings 5-12 Unregistration request description 9-105 errors B-20 response 9-108 user registration 9-98 user token extracting 4-2 invalid B-20 resetting timeout interval 9-83 using CONTROL_M/EM API 4-1
W
WARN severity level 7-3, B-2
X
XML invalid format errors B-23
BMC Software, Inc., Confidential and Proprietary Information
10
XML strings creating 8-1 parsing 4-2 parsing responses 5-12 validation 4-14 XMLDATAPATH 4-14 XMLstrings parsing errors B-8
Index
11
12
TRIAL LICENSE. If, as part of the ordering process, the Product is provided on a trial basis, then these terms apply: (i) this license consists solely of a non-exclusive, non-transferable evaluation license to operate the Software for the period of time specified from BMC or, if not specified, a 30 day time period ("Trial Period") only for evaluating whether You desire to acquire a capacity-based license to the Product for a fee; and (ii) Your use of the Product is on an AS IS basis without any warranty, and BMC, ITS AFFILIATES AND RESELLERS, AND LICENSORS DISCLAIM ANY AND ALL WARRANTIES (INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT) AND HAVE NO LIABILITY WHATSOEVER RESULTING FROM THE USE OF THIS PRODUCT UNDER THIS TRIAL LICENSE ("Trial License"). BMC may terminate for its convenience a Trial License upon notice to You. When the Trial Period ends, Your right to use this Product automatically expires. If You want to continue Your use of the Product beyond the Trial Period, contact BMC to acquire a capacity-based license to the Product for a fee. TERMINATION. This Agreement shall immediately terminate if You breach any of its terms. Upon termination, for any reason, You must uninstall the Software, and either certify the destruction of the Product or return it to BMC. OWNERSHIP OF THE PRODUCT. BMC or its Affiliates or licensors retain all right, title and interest to and in the BMC Product and all intellectual property, informational, industrial property and proprietary rights therein. BMC neither grants nor otherwise transfers any rights of ownership in the BMC Product to You. BMC Products are protected by applicable copyright, trade secret, and industrial and intellectual property laws. BMC reserves any rights not expressly granted to You herein. CONFIDENTIAL AND PROPRIETARY INFORMATION. The BMC Products are and contain valuable confidential information of BMC ("Confidential Information"). Confidential Information means non-public technical and non-technical information relating to the BMC Products and Support, including, without limitation, trade secret and proprietary information, and the structure and organization of the Software. You may not disclose the Confidential Information to third parties. You agree to use all reasonable efforts to prevent the unauthorized use, copying, publication or dissemination of the Product. WARRANTY. Except for a Trial License, BMC warrants that the Software will perform in substantial accordance with the Documentation for a period of one year from the date of the order. This warranty shall not apply to any problems caused by software or hardware not supplied by BMC or to any misuse of the Software. EXCLUSIVE REMEDY. BMCs entire liability, and Your exclusive remedy, for any defect in the Software during the warranty period or breach of the warranty above shall be limited to the following: BMC shall use reasonable efforts to remedy defects covered by the warranty or replace the defective Software within a reasonable period of time, or if BMC cannot remedy or replace such defective copy of the Software, then BMC shall refund the amount paid by You for the License for that Software. BMCs obligations in this section are conditioned upon Your providing BMC prompt access to the affected Software and full cooperation in resolving the claim. DISCLAIMER. EXCEPT FOR THE EXPRESS WARRANTIES ABOVE, THE PRODUCT IS PROVIDED "AS IS." BMC, ITS AFFILIATES AND LICENSORS SPECIFICALLY DISCLAIM ALL OTHER WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. BMC DOES NOT WARRANT THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR FREE, OR THAT ALL DEFECTS CAN BE CORRECTED. DISCLAIMER OF DAMAGES. IN NO EVENT IS BMC, ITS AFFILIATES OR LICENSORS LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES RELATING TO OR ARISING OUT OF THIS AGREEMENT, SUPPORT, AND/OR THE PRODUCT (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, LOST COMPUTER USAGE TIME, AND DAMAGE OR LOSS OF USE OF DATA), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, AND IRRESPECTIVE OF ANY NEGLIGENCE OF BMC OR WHETHER SUCH DAMAGES RESULT FROM A CLAIM ARISING UNDER TORT OR CONTRACT LAW. LIMITS ON LIABILITY. BMCS AGGREGATE LIABILITY FOR DAMAGES IS LIMITED TO THE AMOUNT PAID BY YOU FOR THE LICENSE TO THE PRODUCT. SUPPORT. If Your order includes support for the Software, then BMC agrees to provide support (24 hours a day/7 days a week) ("Support"). You will be automatically re-enrolled in Support on an annual basis unless BMC receives notice of termination from You as provided below. There is a free support period during the one year warranty period. (a) Support Terms. BMC agrees to make commercially reasonable efforts to provide the following Support: (i) For malfunctions of supported versions of the Software, BMC provides bug fixes, patches or workarounds in order to cause that copy of the Software to operate in substantial conformity with its then-current operating specifications; and (ii) BMC provides new releases or versions, so long as such new releases or versions are furnished by BMC to all other enrolled Support customers without additional charge. BMC may refuse to provide Support for any versions or releases of the Software other than the most recent version or release of such Software made available by BMC. Either party may terminate Your enrollment in Support upon providing notice to the other at least 30 days prior to the next applicable Support anniversary date. If You re-enroll in Support, BMC may charge You a reinstatement fee of 1.5 times what You would have paid if You were enrolled in Support during that time period. (b) Fees. The annual fee for Support is 20% of the Softwares list price less the applicable discount or a flat capacity based annual fee. BMC may change its prices for the Software and/or Support upon at least 30 days notice prior to Your support anniversary date.
VERIFICATION. If requested by BMC, You agree to deliver to BMC periodic written reports, whether generated manually or electronically, detailing Your use of the Software in accordance with this Agreement, including, without limitation, the License Capacity. BMC may, at its expense, audit Your use of the Software to confirm Your compliance with the Agreement. If an audit reveals that You have underpaid fees, You agree to pay such underpaid fees. If the underpaid fees exceed 5% of the fees paid, then You agree to also pay BMCs reasonable costs of conducting the audit. EXPORT CONTROLS. You agree not to import, export, re-export, or transfer, directly or indirectly, any part of the Product or any underlying information or technology except in full compliance with all United States, foreign and other applicable laws and regulations. GOVERNING LAW. This Agreement is governed by the substantive laws in force, without regard to conflict of laws principles: (a) in the State of New York, if you acquired the License in the United States, Puerto Rico, or any country in Central or South America; (b) in the Province of Ontario, if you acquired the License in Canada (subsections (a) and (b) collectively referred to as the "Americas Region"); (c) in Singapore, if you acquired the License in Japan, South Korea, Peoples Republic of China, Special Administrative Region of Hong Kong, Republic of China, Philippines, Indonesia, Malaysia, Singapore, India, Australia, New Zealand, or Thailand (collectively, "Asia Pacific Region"); or (d) in the Netherlands, if you acquired the License in any other country not described above. The United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed in its entirety. ARBITRATION. ANY DISPUTE BETWEEN YOU AND BMC ARISING OUT OF THIS AGREEMENT OR THE BREACH OR ALLEGED BREACH, SHALL BE DETERMINED BY BINDING ARBITRATION CONDUCTED IN ENGLISH. IF THE DISPUTE IS INITIATED IN THE AMERICAS REGION, THE ARBITRATION SHALL BE HELD IN NEW YORK, U.S.A., UNDER THE CURRENT COMMERCIAL OR INTERNATIONAL, AS APPLICABLE, RULES OF THE AMERICAN ARBITRATION ASSOCIATION. IF THE DISPUTE IS INITIATED IN A COUNTRY IN THE ASIA PACIFIC REGION, THE ARBITRATION SHALL BE HELD IN SINGAPORE, SINGAPORE UNDER THE CURRENT UNCITRAL ARBITRATION RULES. IF THE DISPUTE IS INITIATED IN A COUNTRY OUTSIDE OF THE AMERICAS REGION OR ASIA PACIFIC REGION, THE ARBITRATION SHALL BE HELD IN AMSTERDAM, NETHERLANDS UNDER THE CURRENT UNCITRAL ARBITRATION RULES. THE COSTS OF THE ARBITRATION SHALL BE BORNE EQUALLY PENDING THE ARBITRATORS AWARD. THE AWARD RENDERED SHALL BE FINAL AND BINDING UPON THE PARTIES AND SHALL NOT BE SUBJECT TO APPEAL TO ANY COURT, AND MAY BE ENFORCED IN ANY COURT OF COMPETENT JURISDICTION. NOTHING IN THIS AGREEMENT SHALL BE DEEMED AS PREVENTING EITHER PARTY FROM SEEKING INJUNCTIVE RELIEF FROM ANY COURT HAVING JURISDICTION OVER THE PARTIES AND THE SUBJECT MATTER OF THE DISPUTE AS NECESSARY TO PROTECT EITHER PARTYS CONFIDENTIAL INFORMATION, OWNERSHIP, OR ANY OTHER PROPRIETARY RIGHTS. ALL ARBITRATION PROCEEDINGS SHALL BE CONDUCTED IN CONFIDENCE, AND THE PARTY PREVAILING IN ARBITRATION SHALL BE ENTITLED TO RECOVER ITS REASONABLE ATTORNEYS FEES AND NECESSARY COSTS INCURRED RELATED THERETO FROM THE OTHER PARTY. U.S. GOVERNMENT RESTRICTED RIGHTS. The Software under this Agreement is "commercial computer software" as that term is described in 48 C.F.R. 252.227-7014(a)(1). If acquired by or on behalf of a civilian agency, the U.S. Government acquires this commercial computer software and/or commercial computer software documentation subject to the terms of this Agreement as specified in 48 C.F.R. 12.212 (Computer Software) and 12.211 (Technical Data) of the Federal Acquisition Regulations ("FAR") and its successors. If acquired by or on behalf of any agency within the Department of Defense ("DOD"), the U.S. Government acquires this commercial computer software and/or commercial computer software documentation subject to the terms of this Agreement as specified in 48 C.F.R. 227.7202 of the DOD FAR Supplement and its successors. MISCELLANEOUS TERMS. You agree to pay BMC all amounts owed no later than 30 days from the date of the applicable invoice, unless otherwise provided on the order for the License to the Products. You will pay, or reimburse BMC, for taxes of any kind, including sales, use, duty, tariffs, customs, withholding, property, value-added (VAT), and other similar federal, state or local taxes (other than taxes based on BMCs net income) imposed in connection with the Product and/or the Support. This Agreement constitutes the entire agreement between You and BMC and supersedes any prior or contemporaneous negotiations or agreements, whether oral, written or displayed electronically, concerning the Product and related subject matter. No modification or waiver of any provision hereof will be effective unless made in a writing signed by both BMC and You. You may not assign or transfer this Agreement or a License to a third party without BMCs prior written consent. Should any provision of this Agreement be invalid or unenforceable, the remainder of the provisions will remain in effect. The parties have agreed that this Agreement and the documents related thereto be drawn up in the English language. Les parties exigent que la prsente convention ainsi que les documents qui sy rattachent soient rdigs en anglais.
Notes