SAP CPS Administration GuideVersion M33.98-71744 Table of Contents 1. Welcome ............................................................................................................................................... 1 Use ................................................................................................................................................. 1 Introduction .............................................................................................................................. 1 See Also ........................................................................................................................................... 2 2. Release Notes ........................................................................................................................................ 3 Most Important Release Notes .............................................................................................................. 3 Date/Time Issue in MS SQL Server JDBC Driver version 3 ................................................................ 3 Increased maxActive Value no Longer Necessary ............................................................................. 3 Web Service Licensing ................................................................................................................ 3 Caret Browsing Potentially Causes Data Execution Prevention (DEP) Exceptions ................................... 3 UNIX Platform Agent Auto-Update ............................................................................................... 3 Default Cluster Instance Id ........................................................................................................... 4 AS/400: JobAppend is Appended twice if set ................................................................................... 4 Sybase Adaptive Server Enterprise Support ..................................................................................... 4 Reverting from a Chargeable to a Free of Charge Version ................................................................... 4 "[Non production use only]" in Application Title Unless Supported DB is Used ..................................... 4 Redwood Platform and Oracle Prerequisites .................................................................................... 4 Tablespace Usage - Upgrading from Version 7 ................................................................................. 5 Change in IntelliSearch Prefixes ................................................................................................... 5 Change in Time Windows with Offsets ........................................................................................... 6 Run As Fields and Special Characters in Passwords .......................................................................... 6 Increased Amount of Action Workers ..................................................................................................... 6 PostRunning Actions Fire more often ..................................................................................................... 6 Basic Password vs Ticket Authentication ................................................................................................ 6 PRINT_PEXPI and PRIN_EXPIRATION Do Not Delete Parameter Value .................................................... 6 getSession() no Longer Returns Null for Restarted Jobs ............................................................................. 7 New Status Handler for Skipped Job Calls .............................................................................................. 7 jcs.outfile, jcs.errorfile and jcs.searchfile use stdout/stderr by Default ........................................................... 7 System.BusinessUsers.limit Set to 0 ...................................................................................................... 7 Requested Start Time Before 1901 ........................................................................................................ 7 Complete Removal of jcsShell .............................................................................................................. 7 New MASS_ACTIVITY_DATE_SHIFT Behavior ................................................................................... 7 Improved Support for DBMS_OUTPUT ................................................................................................. 7 Changes in Tables .............................................................................................................................. 8 Redwood Platform: Redwood Messaging Replaces JMS ............................................................................ 8 Out Parameters Set even when Job Fails ................................................................................................. 9 Importing Large CAR Files Can Cause an OOME .................................................................................... 9 Navigation Bars in Partitions other then GLOBAL ................................................................................... 9 Using Credentials with FTP Job Definition Types ..................................................................................... 9 Report job gives NPE if parameter OutputFormat is not available ................................................................ 9 Importing Multiple SAP Jobs with Identical Names .................................................................................. 9 Jobs Stay in Status PreRunning or PostRunning ..................................................................................... 10 Runtime Expiration Calculations have been moved to separate threads ....................................................... 10 Importing SAP System Objects ........................................................................................................... 10 SAP CPS and other SAP Software ....................................................................................................... 10 FileInUseCommand Process Server Parameter Changed Default Value on Unix ............................................ 10 SAP Application Return Codes ........................................................................................................... 11 Killing RedwoodScript Jobs ............................................................................................................... 11 Upgrading from M28 ........................................................................................................................ 11 Active Monitoring Module ......................................................................................................... 11 Pre-submit Count ..................................................................................................................... 11 Impacts Recurrences ................................................................................................................. 12 iii SAP CPS Administration Guide Job Chain Job Restart ............................................................................................................ 12 SQL Server Deadlocks .......................................................................................................... 12 Job Chain Status ................................................................................................................... 12 Preconditions ....................................................................................................................... 13 Job Run Order Change .......................................................................................................... 13 OnChange Trigger ................................................................................................................ 13 Supported Browsers .............................................................................................................. 13 Firefox 3.6 and Java Plugins ........................................................................................... 13 System-wide and Partition-wide Keep Clauses ........................................................................... 14 Debian-based Systems and Java Networking .............................................................................. 14 Import Jobs and Clusters ........................................................................................................ 14 Pre-Submitting many Jobs ...................................................................................................... 14 Halloween ........................................................................................................................... 14 SQL Server JDBC Driver Settings ........................................................................................... 14 SAP Interception .................................................................................................................. 15 Statistics and big Repositories ................................................................................................. 15 Recurrences Converted to Submit Frames ................................................................................. 15 Gantt Chart ......................................................................................................................... 16 JVM Time Zone Settings ....................................................................................................... 16 HTTP Worker Threads .......................................................................................................... 16 Oracle Globalization Support .................................................................................................. 16 Restart Behavior Change ....................................................................................................... 17 RestartCount is not Always Decremented .................................................................................. 17 SAP Clients Require Time Zone Data ....................................................................................... 17 File Event Move Directories ................................................................................................... 17 Default Pagesize on DB2 is insufficient on non-NetWeaver Systems .............................................. 18 Queues, Time Windows and Time Zones ................................................................................... 18 Platform Agent Network Timeout ............................................................................................ 18 Fail-over Timeouts ................................................................................................................ 18 File:// links and Mozilla Firefox .............................................................................................. 18 Time Windows and the Custom Library .................................................................................... 19 Wildcards in Auto-Complete Fields .......................................................................................... 19 Shell .................................................................................................................................. 19 Transport Files ..................................................................................................................... 19 Changing the SAP System of a Job with Default Queue ............................................................... 19 SAP Notes .......................................................................................................................... 19 Upgrade Issues .................................................................................................................... 20 Upgrading from 26 ....................................................................................................... 20 SAP Job Definitions ...................................................................................................... 20 SAP Job Names ........................................................................................................... 20 Application Renames .................................................................................................... 20 Platform Agents on GNU/Linux .............................................................................................. 20 Platform Agents on Tru64 ...................................................................................................... 21 SAP CPS on GNU/Linux ....................................................................................................... 21 3. New Features ........................................................................................................................... 22 KeepExpiration .................................................................................................................... 22 Preserve Times for DST Changes ............................................................................................ 22 Groovy Support ................................................................................................................... 22 New Restart Options in Job Chain Operator Messages ................................................................. 22 BusinessObjects Data Integrator Job Handling ........................................................................... 22 AS/400 Connector: More Selection Criteria for Waiting for Jobs ................................................... 22 New Oracle ERP Interfaces .................................................................................................... 22 New Job Definitions for Simple Commands .............................................................................. 23 Sybase Adaptive Server Enterprise Support ....................................................................... 23 Parameter Value Changes Update Submit Wizard ................................................................ 23 iv SAP CPS Administration Guide New Global Privileges ................................................................................................... 23 Out Parameters are now Set even if the job did not Reach Status Completed ............................ 23 Job Chain Calls Restricted to a Time Window .................................................................... 23 Low Volume Licensing now available ............................................................................... 23 Partial Job File Retrieval ................................................................................................ 23 Financial Process Automation (FPA) ................................................................................ 24 Job Data Archiving ....................................................................................................... 24 IgnoreApplicationReturnCode Registry Keys and Parameters ................................................ 24 New Scorecard for Historical Data ................................................................................... 24 Store Documentation in SAP CPS Documents ................................................................... 24 Better Unattended Install Support for Platform Agents ......................................................... 24 Maximum Restarts and Restart Delay for Job Chain Steps .................................................... 25 Lenient Flag for DateTimeZone ...................................................................................... 25 SAP Business Automation Enabler (BAE) Connectors / SAP Inbound .................................... 25 Job Forecasting ............................................................................................................ 25 New Features in M31 ............................................................................................................ 25 Archiving with the new Archive Server ............................................................................. 25 SAP Module ................................................................................................................ 26 Mail Module ............................................................................................................... 26 Oracle Applications Scheduling ....................................................................................... 26 Suppress License Expiration Warning ............................................................................... 26 Customize the Navigation Bar ......................................................................................... 26 New Features in M28 ............................................................................................................ 26 Import Jobs and Clusters ................................................................................................ 26 New Object Filter Conditions ......................................................................................... 26 Query Filter Parameter Constraints .................................................................................. 26 Improved Security with sudo .......................................................................................... 27 Source Code Fields are Resizable .................................................................................... 27 New Reporting Functionality .......................................................................................... 27 Submit Frames Now Offer a Preview ................................................................................ 27 Platform Agent Network Timeout .................................................................................... 27 Fail-over Timeouts ........................................................................................................ 27 Permalink Module ........................................................................................................ 27 Links in Documentation Fields ........................................................................................ 27 SAP SNC Support ........................................................................................................ 28 Advanced Auditing Rules ............................................................................................... 28 Advanced Search for all Objects ...................................................................................... 28 Easy Retrieval of Process Server Logs .............................................................................. 28 Controlling Communication Channels with SAP PI ............................................................ 28 New Features in M26 ............................................................................................................ 28 SAP Applications API Integration .................................................................................... 28 Mail Job Definition Type ............................................................................................... 28 Period Functions .......................................................................................................... 28 Reports ....................................................................................................................... 29 Credentials .................................................................................................................. 29 Dashboard .................................................................................................................. 29 Library and Triggers ..................................................................................................... 29 Isolation groups ........................................................................................................... 29 4. SAP CPS ................................................................................................................................. 30 Use .................................................................................................................................... 30 Implementation Considerations ............................................................................................... 30 Integration .......................................................................................................................... 31 Features .............................................................................................................................. 31 Activities ............................................................................................................................ 31 More Information ................................................................................................................. 32 v SAP CPS Administration Guide 5. Architecture ............................................................................................................................. 33 Use .................................................................................................................................... 33 Technical System Landscape .................................................................................................. 33 Use ............................................................................................................................ 33 Integration .................................................................................................................. 34 See Also ..................................................................................................................... 34 Central Scheduling Concepts .................................................................................................. 34 Use ............................................................................................................................ 34 Jobs, Job Chains, Job History ......................................................................................... 35 Queues and Process Servers ........................................................................................... 36 Distribute Workload ...................................................................................................... 38 SAP Systems ............................................................................................................... 43 Events and Event Definitions .......................................................................................... 44 Scheduling .................................................................................................................. 45 Applications ................................................................................................................ 48 6. Getting Started - Using SAP CPS ................................................................................................. 49 Use .................................................................................................................................... 49 Introduction to the Help System .............................................................................................. 49 Use ............................................................................................................................ 49 Text Search ................................................................................................................. 50 Symbols ............................................................................................................................. 51 Use ............................................................................................................................ 51 Logging on ......................................................................................................................... 52 Use ............................................................................................................................ 52 Version Information and Help ......................................................................................... 52 Popup-windows and Session State ................................................................................... 52 Prerequisites ................................................................................................................ 52 Procedure ................................................................................................................... 53 Navigation .......................................................................................................................... 53 Use ............................................................................................................................ 53 The Title bar and Tool bar .............................................................................................. 55 Actions ....................................................................................................................... 56 Restrictions on Actions .................................................................................................. 56 Creating Custom Navigation Bars .................................................................................... 57 Navigating with Screen Readers ...................................................................................... 58 Performing Basic Actions ...................................................................................................... 59 Use ............................................................................................................................ 59 Procedure ................................................................................................................... 61 Locating Objects Quickly ...................................................................................................... 62 Use ............................................................................................................................ 62 Procedure ................................................................................................................... 62 Result ........................................................................................................................ 62 Example ..................................................................................................................... 63 Advanced Object Search ................................................................................................ 63 Locating Objects Quickly with Custom SQL Filters ............................................................ 64 Advanced Actions ................................................................................................................ 76 Use ............................................................................................................................ 76 Java Diagram Applet Reference ............................................................................................... 76 Use ............................................................................................................................ 76 General Navigation ....................................................................................................... 77 Editing Objects in XML ................................................................................................ 77 Documenting Objects using the Documentation Tab .................................................................... 78 Use ............................................................................................................................ 78 UNC Paths .................................................................................................................. 79 Permalinks .................................................................................................................. 79 vi SAP CPS Administration Guide Document Links ........................................................................................................... 79 See Also ..................................................................................................................... 79 7. Administering the Scheduling Landscape ....................................................................................... 80 Use .................................................................................................................................... 80 Checking Your License .......................................................................................................... 81 Use ............................................................................................................................ 81 Special Restrictions ...................................................................................................... 85 Managing Your Licenses with the License Manager ............................................................ 86 Different Versions ......................................................................................................... 87 Configuring the Central and Satellite Systems ............................................................................ 90 Use ............................................................................................................................ 90 Understanding the Different XBP Interface Releases ........................................................... 91 Enhanced SAP Interfaces with Redwood Transports ............................................................ 95 SAP Communication Channels with PI/XI ........................................................................ 98 Configuring an SAP System for Central Process Scheduling ................................................. 99 Connecting to SAP Systems .......................................................................................... 102 SAP Adapting Computing and SAP CPS ......................................................................... 141 Active XMB Monitoring .............................................................................................. 143 Active IDoc Monitoring ............................................................................................... 144 Managing Roles and Users ................................................................................................... 145 Use .......................................................................................................................... 145 Isolating Users and Objects ........................................................................................... 146 Managing Users and Roles in External Systems ................................................................ 147 Managing Users and Roles in SAP CPS .......................................................................... 155 Creating Isolation Groups and Assigning them to Users ..................................................... 156 Assign Users from External Platforms to Jobs with Credentials ........................................... 157 Privileges .................................................................................................................. 169 Auditing Object Changes ..................................................................................................... 260 Use .......................................................................................................................... 260 Procedure .................................................................................................................. 263 Example ................................................................................................................... 264 Object Auditing Overhead ............................................................................................ 265 Reporting .......................................................................................................................... 266 Use .......................................................................................................................... 266 Report ...................................................................................................................... 266 Parameters ................................................................................................................ 267 Columns ................................................................................................................... 267 Selections .................................................................................................................. 267 Finding Reports .......................................................................................................... 268 Security .................................................................................................................... 268 See Also ................................................................................................................... 269 Creating and Running Reports ....................................................................................... 269 Creating Advanced Reports .......................................................................................... 272 Configuration Data for Reports ...................................................................................... 273 Creating and Running Reports in RedwoodScript .............................................................. 276 Basic Notification and Alerting with the Mail Module ................................................................ 278 Use .......................................................................................................................... 278 Configuring the Module ............................................................................................... 278 Attaching Job Files ..................................................................................................... 279 Advanced Email Customisation ..................................................................................... 279 See Also ................................................................................................................... 279 Configuring Mail and Sending Emails ............................................................................ 279 Customizing Emails .................................................................................................... 283 Advanced Notification and Alerting with the Active Monitoring Module ....................................... 286 Use .......................................................................................................................... 286 vii SAP CPS Administration Guide Triggering Alerts ........................................................................................................ 287 Defining Escalation Routes ........................................................................................... 316 Email Alert Gateways .................................................................................................. 321 Visualizing Alerting Routes .......................................................................................... 328 Connecting to Remote Databases with JDBC ........................................................................... 328 Use .......................................................................................................................... 328 JDBC Drivers ............................................................................................................ 329 Process Flow ............................................................................................................. 329 See Also ................................................................................................................... 329 JDBC Drivers ............................................................................................................ 329 Scaling the Scheduling Resources on the Central System ............................................................ 331 Use .......................................................................................................................... 331 Visualizing Process Server - Queue Relationships ............................................................. 332 Using Process Servers ................................................................................................. 332 Using Queues ............................................................................................................ 349 Prevent Simultaneous Execution of Processes ................................................................... 360 Creating Event-Driven Schedules with Events .................................................................. 363 Tuning SAP CPS ........................................................................................................ 374 Tuning Memory Usage/Garbage Collection ..................................................................... 376 Balancing the Load ..................................................................................................... 379 High Availability ........................................................................................................ 384 Organizing Processes ........................................................................................................... 399 Use .......................................................................................................................... 399 See Also ................................................................................................................... 400 Creating Applications .................................................................................................. 400 Managing Applications with RedwoodScript .................................................................... 401 Migrating Objects with the Promotion Module ......................................................................... 402 Use .......................................................................................................................... 402 See Also ................................................................................................................... 402 Export Rule Sets ......................................................................................................... 403 Importing Objects ....................................................................................................... 409 Managing Job Output Formats .............................................................................................. 420 Use .......................................................................................................................... 420 Procedure .................................................................................................................. 423 Example ................................................................................................................... 423 See Also ................................................................................................................... 424 Setting User Parameters in the Options dialog .......................................................................... 424 Use .......................................................................................................................... 424 Locale Format ............................................................................................................ 425 Override User Settings ................................................................................................. 425 See Also ................................................................................................................... 425 Controlling Global and Partition Restart Behavior ..................................................................... 425 Use .......................................................................................................................... 425 Procedure .................................................................................................................. 426 Example ................................................................................................................... 426 See Also ................................................................................................................... 427 The Registry ...................................................................................................................... 427 Use .......................................................................................................................... 427 Procedure .................................................................................................................. 429 See Also ................................................................................................................... 429 Regular Activities for SAP CPS ............................................................................................. 429 Use .......................................................................................................................... 429 Backup and Recovery of SAP CPS ......................................................................................... 431 Use .......................................................................................................................... 431 Architecture ............................................................................................................... 431 viii SAP CPS Administration Guide Backup ..................................................................................................................... 432 See Also ................................................................................................................... 433 Database Backup ........................................................................................................ 433 Restore Data from Backup ............................................................................................ 435 8. Automating Processes Across the System Landscape ...................................................................... 437 Creating Job Definitions ...................................................................................................... 437 Use .......................................................................................................................... 437 Editing XML Source ................................................................................................... 440 Procedure .................................................................................................................. 441 See Also ................................................................................................................... 441 Setting Job Definition Properties ................................................................................... 441 Changing Job Logging Levels ....................................................................................... 477 Redwood Job Definition Types ...................................................................................... 478 Maintenance Job Definitions ......................................................................................... 495 Template Job Definitions .............................................................................................. 495 Top Level Job Definitions ............................................................................................. 495 Using Job Chains ................................................................................................................ 496 Use .......................................................................................................................... 496 Tab-Specific Topics ..................................................................................................... 498 Creating Job Chains .................................................................................................... 498 Job Chain Steps .......................................................................................................... 512 Job Chain Jobs ........................................................................................................... 516 Creating Job Chains with Sequential Jobs ........................................................................ 518 Creating Job Chains with Parameter Handling .................................................................. 520 Creating Job Chains with Parallel Jobs ............................................................................ 522 Creating Job Chains with Job Dependencies .................................................................... 524 Creating Job Chains for Multiple SAP Systems ................................................................ 527 Precondition Functions ................................................................................................ 528 Integrating SAP CPS with Web Services ................................................................................. 530 Use .......................................................................................................................... 530 Licensing .................................................................................................................. 530 Prerequisites .............................................................................................................. 531 Calling Web Services from within SAP CPS .................................................................... 531 Connecting Web Services with SAP CPS ......................................................................... 534 Asynchronous Web Services ......................................................................................... 536 Using Web Services .................................................................................................... 537 Submitting Jobs and Job Chains ............................................................................................ 540 Use .......................................................................................................................... 540 See Also ................................................................................................................... 540 Submitting a Job or Job Chain ....................................................................................... 540 Scheduling with Times and Dates .......................................................................................... 544 See Also ................................................................................................................... 544 Rescheduling Jobs Automatically ................................................................................... 544 Defining Execution Times with Time Windows ................................................................ 557 Time Zones ............................................................................................................... 575 Importing Objects from SAP Systems ..................................................................................... 578 Use .......................................................................................................................... 578 See Also ................................................................................................................... 579 Importing ABAP Programs ........................................................................................... 579 Importing ABAP Program Parameter Definitions .............................................................. 580 Importing Archive Objects ............................................................................................ 581 Importing Batch Events ............................................................................................... 581 Importing Calendars .................................................................................................... 582 Importing CCMS Jobs ................................................................................................. 583 Importing Communication Channels via PI/XI ................................................................. 586 ix SAP CPS Administration Guide Importing External Commands ...................................................................................... 587 Importing Java Job Definitions ...................................................................................... 588 Importing and Running Mass Activities ........................................................................... 588 Importing Output Devices ............................................................................................ 591 Importing Process Chains ............................................................................................. 591 Importing Recipients ................................................................................................... 595 Importing Variants ...................................................................................................... 595 Importing Variant Definitions ........................................................................................ 596 Importing SAP BusinessObjects Processes .............................................................................. 598 Use .......................................................................................................................... 598 Crystal Reports and Web Intelligence ............................................................................. 598 See Also ................................................................................................................... 599 Handling BusinessObjects Data Integrator Jobs ........................................................................ 599 Use .......................................................................................................................... 599 Handling ABAP Programs .................................................................................................... 599 Use .......................................................................................................................... 599 Retrieving Spool Output as PDF .................................................................................... 600 Additional Print Parameters .......................................................................................... 600 Retrieving Part of the Job Log ....................................................................................... 600 Temporary Variants ..................................................................................................... 600 Waiting for Child Jobs ................................................................................................. 602 Waiting on an SAP Event ............................................................................................. 602 Ignore Application Return Code .................................................................................... 602 SAP_AbapRun ........................................................................................................... 603 SAP_AbapRunPrint .................................................................................................... 603 SAP_AbapRunPrintExt ................................................................................................ 603 SAP_ClosingCockpit_AbapRun .................................................................................... 603 SAP_SolutionManager_AbapRun .................................................................................. 603 See Also ................................................................................................................... 603 Handling Variants ............................................................................................................... 604 Use .......................................................................................................................... 604 See Also ................................................................................................................... 604 Creating and Modifying Variants ................................................................................... 604 Maintaining Variants Manually ...................................................................................... 607 Maintaining Variants Automatically ................................................................................ 609 Maintaining Variants Automatically (Advanced) ............................................................... 610 Using Temporary Variants ............................................................................................ 611 Scheduling SAP BusinessObjects Reports ............................................................................... 613 Use .......................................................................................................................... 613 Supported Versions ..................................................................................................... 613 Crystal Reports .......................................................................................................... 613 Web Intelligence ......................................................................................................... 613 DataServices .............................................................................................................. 614 See Also ................................................................................................................... 614 Configuring the BusinessObjects Interface ....................................................................... 614 Triggering SAP BusinessObjects Events ......................................................................... 615 Running Process Chains ....................................................................................................... 615 Use .......................................................................................................................... 615 Prerequisites .............................................................................................................. 616 Procedure .................................................................................................................. 616 See Also ................................................................................................................... 617 RedwoodScript ................................................................................................................... 617 Use .......................................................................................................................... 617 See Also ................................................................................................................... 624 Scripting in the Shell ................................................................................................... 624 x SAP CPS Administration Guide Triggering Custom Code ...................................................................................................... Use .......................................................................................................................... Using Triggers ........................................................................................................... Using Actions ............................................................................................................ Executing Your Own Classes from a Library .................................................................... Documenting Code and Procedures with Documents ................................................................. Use .......................................................................................................................... Tabs and Fields .......................................................................................................... Rich Text Editor ......................................................................................................... Informational Messages ............................................................................................... Context-Menu Actions ................................................................................................. Security .................................................................................................................... See Also ................................................................................................................... 9. Monitoring Automated Processes ............................................................................................... Monitoring and Managing Jobs ............................................................................................. Use .......................................................................................................................... Procedure .................................................................................................................. See Also ................................................................................................................... Available Columns in the Job Monitor ............................................................................ Job States .................................................................................................................. Filtering Jobs ............................................................................................................. Advanced Job Search .................................................................................................. Viewing Jobs in a Calendar View ................................................................................... Job Forecasting .......................................................................................................... SAP CPS Job Processing .............................................................................................. Using the Scorecard ............................................................................................................ Use .......................................................................................................................... Layout ...................................................................................................................... Utilization and Applications .......................................................................................... Top 5 ........................................................................................................................ Service Levels ............................................................................................................ Critical Processes ....................................................................................................... See Also ................................................................................................................... Monitoring Process Chains ................................................................................................... Use .......................................................................................................................... Prerequisites .............................................................................................................. Procedure .................................................................................................................. See Also ................................................................................................................... Restarting Process Chains .................................................................................................... Use .......................................................................................................................... Prerequisites .............................................................................................................. Procedure .................................................................................................................. Result ....................................................................................................................... See Also ................................................................................................................... Monitoring Events .............................................................................................................. Use .......................................................................................................................... Procedure .................................................................................................................. Filtering Events .......................................................................................................... Monitoring System Performance ............................................................................................ Use .......................................................................................................................... Procedure .................................................................................................................. See Also ................................................................................................................... Showing Monitors as Graphs in the Dashboard ................................................................. Creating Custom Monitor Checks .................................................................................. Monitoring SAP Systems ..................................................................................................... xi 625 625 626 635 637 645 645 645 645 646 646 646 647 648 649 649 651 652 652 654 660 663 669 670 671 672 672 672 672 672 673 673 673 674 674 674 674 674 675 675 676 676 676 676 677 677 678 678 680 680 682 683 684 685 686 SAP CPS Administration Guide Use .......................................................................................................................... 686 Operator Messages Monitor .................................................................................................. 687 Use .......................................................................................................................... 687 Procedure .................................................................................................................. 689 Example ................................................................................................................... 689 See Also ................................................................................................................... 691 Creating Operator Messages ......................................................................................... 692 Interacting with Operator Messages ................................................................................ 696 Receiving Operator Messages on your Desktop ................................................................ 699 Creating Advanced Reply Expressions ............................................................................ 701 Integrating SAP CPS into your SNMP Landscape ..................................................................... 703 Use .......................................................................................................................... 703 Example ................................................................................................................... 703 See Also ................................................................................................................... 704 Sending SNMP Traps .................................................................................................. 704 Integrating SAP CPS into Third-Party Applications with Permalinks ............................................ 705 Use .......................................................................................................................... 705 Prerequisites .............................................................................................................. 707 list ........................................................................................................................... 707 show ........................................................................................................................ 707 edit .......................................................................................................................... 708 create ....................................................................................................................... 708 submit ...................................................................................................................... 709 help .......................................................................................................................... 709 diagram .................................................................................................................... 709 Accessing SAP CPS from your iPhone ................................................................................... 709 Use .......................................................................................................................... 709 Performance Monitoring .............................................................................................. 710 Messages .................................................................................................................. 710 Jobs ......................................................................................................................... 710 Queues ..................................................................................................................... 711 More ........................................................................................................................ 711 See Also ................................................................................................................... 712 Creating Process Monitors .................................................................................................... 712 Use .......................................................................................................................... 712 Procedure .................................................................................................................. 712 Setting up Report2Web for FPA ..................................................................................... 713 Setting up Report Approval ........................................................................................... 715 Automating Financial Processes .................................................................................... 717 Connecting your iPhone to SAP CPS .............................................................................. 719 10. Scheduling Processes Outside of the SAP System Landscape ......................................................... 721 Use .................................................................................................................................. 721 See Also ........................................................................................................................... 721 Using Platform Job Definition Types ...................................................................................... 721 Use .......................................................................................................................... 721 Users ........................................................................................................................ 723 See Also ................................................................................................................... 724 Using REL in Platform Job Definition Types .................................................................... 724 Using OS Native Job Definition Type ............................................................................. 725 Unix Job Definition Types ............................................................................................ 726 Microsoft Windows Job Definition Types ........................................................................ 733 HP OpenVMS Job Definition Type ................................................................................ 738 Other Platform Job Definition Types ............................................................................... 739 The Environment of Platform Jobs ................................................................................. 746 Using External Job Definition Types ....................................................................................... 748 xii SAP CPS Administration Guide Use .......................................................................................................................... 748 See Also ................................................................................................................... 749 IBM z/OS Job Definition Types ..................................................................................... 749 Creating Platform Process Servers ......................................................................................... 755 Use .......................................................................................................................... 755 Agent Connection ....................................................................................................... 757 See Also ................................................................................................................... 757 Processing Platform Jobs .............................................................................................. 758 Using the Wizard to Create Process Servers ..................................................................... 758 UNIX Process Servers (Advanced) ................................................................................. 760 Creating a Microsoft Windows Process Server (Advanced) ................................................. 771 Creating HP OpenVMS Process Servers .......................................................................... 777 Configuring Platform Agents ........................................................................................ 779 Creating a Monitoring-Only Process Server ............................................................................. 806 Use .......................................................................................................................... 806 Procedure .................................................................................................................. 807 See Also ................................................................................................................... 807 Command Line System Tools ................................................................................................ 807 Use .......................................................................................................................... 807 Logging .................................................................................................................... 809 jdescription, jtool description ........................................................................................ 809 jevent, jtool event ........................................................................................................ 810 jftp, jtool ftp .............................................................................................................. 810 jgetpar, jtool getpar ..................................................................................................... 814 jlink, jtool link ........................................................................................................... 815 jmail, jtool mail .......................................................................................................... 816 jmessage, jtool message ............................................................................................... 817 jmonitor, jtool monitor ................................................................................................. 818 jregister, jtool register .................................................................................................. 820 jsecret, jtool secret ...................................................................................................... 820 jscript, jtool script ....................................................................................................... 821 jsleep, jtool sleep ........................................................................................................ 822 api-tool.jar ................................................................................................................. 822 System Tools and Platform Agent Logging .............................................................................. 823 Use .......................................................................................................................... 823 Example ................................................................................................................... 824 11. Reference ............................................................................................................................. 826 SAP RFC User Privileges ..................................................................................................... 826 Use .......................................................................................................................... 826 SAP Authorizations for XBP and BW ............................................................................. 826 AAAB - Cross-application Authorization Objects ............................................................. 830 BC_A - Basis: Administration ....................................................................................... 827 SAP Authorizations for BW Process Chains ..................................................................... 829 S_DEVELOP - ABAP Workbench ................................................................................. 829 AAAB - Cross-application Authorization Objects ............................................................. 830 SAP Authorizations for Industry Solutions (ISU) .............................................................. 830 SAP Authorizations for SAP Applications ....................................................................... 830 Default System Job Definitions ............................................................................................. 831 Use .......................................................................................................................... 831 System_Aggregate_History .......................................................................................... 834 System_Alert_Send ..................................................................................................... 834 System_APNS_Send ................................................................................................... 834 System_ArchiveAuditObjects ....................................................................................... 834 System_ArchiveEvents ................................................................................................ 835 System_AS400_Command ........................................................................................... 835 xiii SAP CPS Administration Guide System_Backup .......................................................................................................... 836 System_CreateMonitorTree .......................................................................................... 836 System_Defaults_System ............................................................................................. 836 System_Defaults_Partition ........................................................................................... 837 System_DeleteJobFiles ................................................................................................ 837 System_Derby_Backup ................................................................................................ 837 System_DynamicTrace ................................................................................................ 837 System_ExecuteExternalJob ......................................................................................... 838 System_ExplainJobStatus ............................................................................................. 838 System_ExportAuditObjects ......................................................................................... 838 System_Export_Application ......................................................................................... 839 System_Export_RuleSet .............................................................................................. 839 System_External_Command ......................................................................................... 839 System_External_REL_Command ................................................................................. 840 Purpose ..................................................................................................................... 840 System_FTP_delete .................................................................................................... 840 System_FTP_get ........................................................................................................ 840 System_FTP_list ........................................................................................................ 841 System_FTP_mget ...................................................................................................... 841 System_FTP_mkdir .................................................................................................... 841 System_FTP_mput ...................................................................................................... 842 System_FTP_put ........................................................................................................ 842 System_FTP_rmdir ..................................................................................................... 842 System_ForceJobStatusUnknown .................................................................................. 843 System_GetSupportFiles .............................................................................................. 843 System_Get_Tutorials_List ........................................................................................... 843 System_Ignored_Alert_Reporter .................................................................................... 843 System_Import_Archive .............................................................................................. 844 System_Import_JarFile ................................................................................................ 844 System_Import_SystemCarFiles .................................................................................... 844 Parameters ................................................................................................................ 844 System_Import_ThirdParty_Plugin ................................................................................ 845 System_Info .............................................................................................................. 845 System_Isolation_Deisolation ....................................................................................... 845 System_InitializeOracleService ..................................................................................... 845 System_Isolation_SetUser ............................................................................................ 846 System_LicenseCheck ................................................................................................. 846 System_Mail_Configure .............................................................................................. 846 System_Mail_Send ..................................................................................................... 846 System_MonitorTables ................................................................................................ 847 System_OperatorMessage ............................................................................................ 847 System_OraApps_ConcurrentProgramImport ................................................................... 847 System_OraApps_RequestSetImport .............................................................................. 848 System_OraOHI_ImportAll .......................................................................................... 848 System_OraOHI_ImportSingle ...................................................................................... 849 System_OraOHI_MonitorJob ........................................................................................ 849 System_PeopleSoft_ProgramImport ............................................................................... 849 System_PeopleSoft_RunControl .................................................................................... 849 System_PeopleSoft_RunJob ......................................................................................... 850 System_PeopleSoft_RunProcess .................................................................................... 851 System_ProcessKeepClauses ........................................................................................ 852 System_R2W_Approval ............................................................................................... 852 System_R2W_Connection_Setup .................................................................................. 852 System_R2W_Publish ................................................................................................. 852 System_RaiseClearEvent ............................................................................................. 853 xiv SAP CPS Administration Guide System_RaiseRemoteEvent .......................................................................................... 853 System_RaiseRemoteEvent_Repository .......................................................................... 854 System_ReconfigureLogging ........................................................................................ 854 System_RemoveDeletedJobFiles ................................................................................... 854 System_RemoveOldJobs .............................................................................................. 855 System_RemoveOperatorMessages ................................................................................ 855 System_RemoveRepliedMessages ................................................................................. 855 System_ReportRun ..................................................................................................... 856 System_Restore_Object ............................................................................................... 856 System_Restore_Point_In_Time .................................................................................... 856 System_SecureStorage_Configure ................................................................................. 857 System_SetDefaultLanguage ........................................................................................ 857 System_SetSystemDataRootDirectory ............................................................................ 857 System_Sleep ............................................................................................................ 857 System_SMS_Configure .............................................................................................. 858 System_SMS_Send ..................................................................................................... 858 System_SNMP_Configure ............................................................................................ 858 System_SNMP_SendTrap ............................................................................................ 859 System_SynchronizeBackgroundJobs ............................................................................. 859 System_UpdateJobStatistics ......................................................................................... 859 System_Upgrade ........................................................................................................ 859 System_UserMessage .................................................................................................. 860 System_UserMessage_Notification ................................................................................ 860 System_VersionInfo .................................................................................................... 861 System_VersionUpdateCheck ....................................................................................... 861 Default SAP Job Definitions ................................................................................................. 861 Use .......................................................................................................................... 861 SAP_AbapRun ........................................................................................................... 864 SAP_AbapRunPrint .................................................................................................... 867 SAP_AbapRunPrintExt ................................................................................................ 870 SAP_ACC_Controller ................................................................................................. 873 SAP_BObj_DataServicesJobRun ................................................................................... 874 SAP_BObj_GenerateReportDefinition ............................................................................ 874 SAP_BObj_ImportReportDefinitions ............................................................................. 875 SAP_BObj_ReportRun ................................................................................................ 875 SAP_BObj_TriggerEvent ............................................................................................. 876 SAP_BW_GenerateInfoPackageGroup ........................................................................... 876 SAP_BW_GenerateJobDefinition .................................................................................. 876 SAP_BW_ImportInfoPackageGroups ............................................................................. 877 SAP_BW_ImportInfoPackages ..................................................................................... 877 SAP_BW_ImportProcessChainDefinition ........................................................................ 878 SAP_BW_ImportProcessChains .................................................................................... 878 SAP_BW_InfopackageRun .......................................................................................... 878 SAP_BW_MaintainProcessChainDefinition ..................................................................... 879 SAP_BW_Process ...................................................................................................... 880 SAP_BW_ProcessChain .............................................................................................. 880 SAP_BW_RestartProcess ............................................................................................. 880 SAP_BW_RestartProcessChain ..................................................................................... 881 SAP_BW_ProcessChainRun ......................................................................................... 882 SAP_CcmsJob ........................................................................................................... 882 SAP_CcmsJobCheckStatus ........................................................................................... 883 SAP_CcmsJobGetApplicationLog ................................................................................. 884 SAP_CcmsJobGetApplicationLogHandles ...................................................................... 884 SAP_CcmsJobGetLog ................................................................................................. 884 SAP_CcmsJobGetSpoollist ........................................................................................... 885 xv SAP CPS Administration Guide SAP_CcmsJobGetStatistics .......................................................................................... 885 SAP_CcmsJobModifyHeader ........................................................................................ 886 SAP_CcmsJobGetStatus .............................................................................................. 886 SAP_ClosingCockpit_AbapRun .................................................................................... 886 SAP_ClosingCockpit_ManualTask ................................................................................ 889 SAP_CopyVariant ....................................................................................................... 890 SAP_DeleteCcmsMonitors ........................................................................................... 890 SAP_DeleteVariant ..................................................................................................... 891 SAP_ExportRFCFunctionModuleInterface ...................................................................... 891 SAP_ExternalCommandRun ......................................................................................... 891 SAP_ExternalProgramRun ........................................................................................... 893 SAP_GenerateCcmsJobDefinition .................................................................................. 895 SAP_GetBatchResources ............................................................................................. 896 SAP_GetEventHistory ................................................................................................. 896 SAP_GetInstalledComponents ...................................................................................... 897 SAP_GetSysLog ........................................................................................................ 897 SAP_GetXmiLog ....................................................................................................... 897 SAP_ImportAbapParameterDefinition ............................................................................ 898 SAP_ImportAbapPrograms .......................................................................................... 898 SAP_ImportApplicationServers ..................................................................................... 898 SAP_ImportArchiveObjects .......................................................................................... 899 SAP_ImportBatchEvents .............................................................................................. 899 SAP_ImportCalendars ................................................................................................. 899 SAP_ImportExternalCommands .................................................................................... 900 SAP_ImportCcmsJobs ................................................................................................. 900 SAP_ImportCcmsMonitors ........................................................................................... 902 SAP_ImportOutputDevices .......................................................................................... 902 SAP_ImportRecipients ................................................................................................ 903 SAP_ImportVariantDefinition ....................................................................................... 903 SAP_ImportVariants ................................................................................................... 903 SAP_Info .................................................................................................................. 904 SAP_InterceptedJob .................................................................................................... 904 SAP_JXBP_GenerateJobDefinition ................................................................................ 905 SAP_JXBP_ImportJobDefinitions ................................................................................. 905 SAP_MA_CopyParameters .......................................................................................... 906 SAP_MA_CreateParameters ......................................................................................... 906 SAP_MA_DeleteDunningProposal ................................................................................ 907 SAP_MA_ImportMassActivities ................................................................................... 907 SAP_MA_ImportMassActivity ..................................................................................... 908 SAP_MA_MassActivityRun ......................................................................................... 908 SAP_MA_MassActivityTemplateRun ............................................................................. 909 SAP_MA_ResumeMassActivity .................................................................................... 909 SAP_MA_ShowMassActivity ....................................................................................... 910 SAP_MA_StopMassActivity ........................................................................................ 910 SAP_MaintainXbpOptions ........................................................................................... 910 SAP_PI_GetChannelStatus ........................................................................................... 911 Parameters ................................................................................................................ 911 SAP_PI_ImportChannels ............................................................................................. 912 SAP_PI_StartChannel ................................................................................................. 912 SAP_PI_StopChannel .................................................................................................. 912 SAP_RaiseEvent ........................................................................................................ 913 SAP_ReloadApplicationLinks ....................................................................................... 913 SAP_ReleaseInterceptedJobs ........................................................................................ 913 SAP_RunTemplateJob ................................................................................................. 914 SAP_SetXmiAuditLevel .............................................................................................. 914 xvi SAP CPS Administration Guide SAP_SolutionManager_AbapRun .................................................................................. 914 SAP_StoreVariant ....................................................................................................... 916 SAP_SwitchOperationMode ......................................................................................... 917 SAP_SynchronizeEventHistoryCriteria ........................................................................... 917 SAP_SynchronizeInterceptionCriteria ............................................................................. 918 SAP_SynchronizeTerminatedCcmsJobs .......................................................................... 919 Process Server Parameters .................................................................................................... 919 Use .......................................................................................................................... 919 Redwood Expression Language Functions ............................................................................... 976 Use .......................................................................................................................... 976 Operators .................................................................................................................. 977 Escape Character ........................................................................................................ 977 Built in function classes ............................................................................................... 977 Built in functions ........................................................................................................ 978 See Also ................................................................................................................... 998 Scripting Contexts and Implicit Objects .................................................................................. 998 Use .......................................................................................................................... 998 Contexts ................................................................................................................... 999 Using RedwoodScript in Objects .................................................................................. 1011 Data model ...................................................................................................................... 1011 Database vs Data Model ............................................................................................. 1011 Classes .................................................................................................................... 1012 Enumerations ........................................................................................................... 1135 Miscellaneous .......................................................................................................... 1153 JCS Errors ....................................................................................................................... 1154 JCS Errors 101XXX (alert) ......................................................................................... 1154 JCS Errors 102XXX (api-impl) .................................................................................... 1154 JCS Errors 103XXX (api-int) ...................................................................................... 1162 JCS Errors 104XXX (api) ........................................................................................... 1163 JCS Errors 105XXX (as400) ....................................................................................... 1164 JCS Errors 106XXX (audit) ........................................................................................ 1164 JCS Errors 107XXX (cl-api) ....................................................................................... 1164 JCS Errors 108XXX (cl-impl) ..................................................................................... 1164 JCS Errors 109XXX (cluster) ...................................................................................... 1165 JCS Errors 110XXX (configuration) ............................................................................. 1165 JCS Errors 111XXX (core) ......................................................................................... 1166 JCS Errors 112XXX (db-init) ...................................................................................... 1166 JCS Errors 113XXX (export) ...................................................................................... 1167 JCS Errors 114XXX (infrastructure) ............................................................................. 1168 JCS Errors 115XXX (jobchainservice) .......................................................................... 1169 JCS Errors 116XXX (jobservice) ................................................................................. 1169 JCS Errors 117XXX (mailservice-api) .......................................................................... 1170 JCS Errors 118XXX (security) .................................................................................... 1170 JCS Errors 119XXX (servlet) ...................................................................................... 1170 JCS Errors 120XXX (ui) ............................................................................................ 1170 JCS Errors 121XXX (module-r2w) ............................................................................... 1171 JCS Errors 122XXX (agent-api) ................................................................................... 1171 JCS Errors 122XXX (model) ....................................................................................... 1171 JCS Errors 123XXX (persistence) ................................................................................ 1173 JCS Errors 124XXX (script-java) ................................................................................. 1173 JCS Errors 125XXX (constraint) .................................................................................. 1174 JCS Errors 126XXX (iphone) ...................................................................................... 1174 JCS Errors 127XXX (rfcconnector) .............................................................................. 1174 JCS Errors 128XXX (extract-jco) ................................................................................. 1174 JCS Errors 129XXX (oraapps-service) .......................................................................... 1174 xvii SAP CPS Administration Guide JCS Errors 129XXX (oraapps) ..................................................................................... 1175 JCS Errors 130XXX (apns) ......................................................................................... 1175 JCS Errors 131XXX (dblayer-sql) ................................................................................ 1175 JCS Errors 131XXX (oraohi-service) ............................................................................ 1175 JCS Errors 132XXX (dynamicsax-service) .................................................................... 1175 JCS Errors 132XXX (jdbc-impl) .................................................................................. 1175 JCS Errors 132XXX (peoplesoft-service) ....................................................................... 1175 JCS Errors 133XXX (iphone-public) ............................................................................ 1176 JCS Errors 134XXX (r2w-comm) ................................................................................ 1176 JCS Errors 135XXX (publish) ..................................................................................... 1176 JCS Errors 136XXX (oraclejob-impl) ........................................................................... 1176 JCS Errors 137XXX (api-plsql-impl) ............................................................................ 1177 JCS Errors 138XXX (api-plsql-install) .......................................................................... 1177 JCS Errors 139XXX (bobj-service) .............................................................................. 1177 Registry Keys ................................................................................................................... 1177 Use ........................................................................................................................ 1177 Configuration Hive .................................................................................................... 1178 Active Alerting-Related Registry Keys .......................................................................... 1186 Archiving Server-Related Registry Keys ........................................................................ 1186 SAP-Related Registry Keys ......................................................................................... 1187 ReturnCodeOperatorMessages ..................................................................................... 1189 Platform Agent-Related .............................................................................................. 1191 User Hive ................................................................................................................ 1191 Glossary .......................................................................................................................... 1191 A ........................................................................................................................... 1191 B ........................................................................................................................... 1192 C ........................................................................................................................... 1193 D ........................................................................................................................... 1194 E ............................................................................................................................ 1194 F ............................................................................................................................ 1195 G H I ...................................................................................................................... 1195 J ............................................................................................................................ 1195 K ........................................................................................................................... 1196 L ............................................................................................................................ 1197 M ........................................................................................................................... 1197 N O ........................................................................................................................ 1197 P Q ........................................................................................................................ 1198 R ........................................................................................................................... 1199 S ............................................................................................................................ 1199 T ............................................................................................................................ 1200 U V W .................................................................................................................... 1200 X Y Z ..................................................................................................................... 1201 xviii List of Examples 11.1. Using the count() function ............................................................................................................... 1012 xix Chapter 1. Welcome Use Introduction SAP CPS is an event-driven process automation and scheduling tool. It provides the following facilities: • Event-driven process automation. • Asynchronous workload management. • Complex process flows. • Business driven schedules. • Workload routing and load balancing. • Monitoring and managing present and future workload. • History, logging, and auditing of previously executed work. There are two versions of SAP CPS, the Free of Charge version, which ships with SAP software and covers the functionality of transactions SM36 and SM37, and the Chargeable version, which allows extended SAP scheduling as well as integration of non-SAP processes, amongst other things. The following table illustrates the main differences between the two version. A complete list of differences can be found in the Different Versions section of the documentation. Capability SAP CPS SAP CPS Description (Free of (Chargeable) Charge) Manage ABAP jobs Yes Yes Standard ABAP scheduling using XBP. With the Free of Charge version any number of SAP Systems can be managed but only within each instance/client combination. No cross SAP client, cross SAP System or non-SAP scheduling is possible with the Free of Charge version. Basic SAP Solution Manager Yes integration Yes SAP job monitoring. Synchronize and visualize CCMS or Solution Manager Monitors (XAL/XMW). Also allows system-wide monitoring for one user. Basic SAP BI integration Yes Yes Submit and monitor BI process chains and info packages. Visualize parent and child chains. SAP PI/XI integration No Yes Control SAP communication channels and document conversions. Extended SAP Solution Manager integration No Yes Allows business process management (BPM) and change management integration. SAP BI Process Chain restart No Yes Allows restart of BI process chains from given point within the chain. 1 Welcome SAP Financial Closing Cockpit integration No Yes Allows automation of closing processes to be managed by Closing Cockpit users. Requires SAP Financial Closing Cockpit from SAP. SAP Adaptive Computing Yes Yes Allows you to control (start, stop, and relocate) services in an SAP Adaptive computing environment. Backwards compatibility with older XBP versions No Yes Allows use of Redwood transports to enable enhanced capability for older versions of XBP (SAP Basis 4.6A and lower). The Free of Charge version will be limited to the capabilities of the XBP release. For more information on XBP releases, see the Understanding The Different XBP Interface Releases section. Load balancing of SAP jobs No Yes Targets workload at lowest usage SAP application servers. Does not just use round robin approach. Import / Export SAP CPS objects No Yes Migrate processes from DEV to QA to production. Automate Operating System No jobs Yes Schedule non-SAP processes across your entire data center. Requires relevant OS platform agent on each managed server (Windows, Linux, UNIX, and HP OpenVMS). Process Server (Platform No Agent) based load balancing Yes Uses Redwood monitoring tree to determine where to run workload (CPU, paging rate etc). Requires more than one Platform Agent. Manage non-SAP application No jobs Yes Using suitable interface for application (typically CLI). Manage file events No Yes Detect incoming files and trigger workload. Manage other events No Yes Detect and respond to events external to SAP (for example job status change). RedwoodScript No Yes Allows programming access to SAP CPS using Java. Send email No Yes Job definition to send an email directly from SAP CPS Send SNMP trap No Yes Job definition to send an SNMP trap directly from SAP CPS See Also • Getting Started - Using SAP CPS • Automate your SAP System Landscape • Automate non-SAP processes 2 Chapter 2. Release Notes Most Important Release Notes Date/Time Issue in MS SQL Server JDBC Driver version 3 When you attempt to retrieve date-related data from an MS SQL Server database using the MS SQL Server JDBC driver in combination with a Java 1.7 JVM, the date will be off by two days. This is an issue in the MS SQL Server JDBC driver version 3 and you have the following options to work around this issue: 1. Install the hotfix released by Microsoft 2. Use the version 2 or 4 of the MS SQL Server JDBC driver See the Microsoft JDBC team's blog [http://blogs.msdn.com/b/jdbcteam]. Increased maxActive Value no Longer Necessary Previously, the OracleJob connector needed a high number of maximum active connections (maxActive) on the JDBC data source when under heavy load. This has changed as the required number of connections has been drastically reduced. Web Service Licensing An issue has been fixed that caused Cronacle to allow more web service credentials than the license allowed. If you think this issue might affect you, please ensure the number of distinct credential endpoints you have does not exceed the number allowed by your license. Perform the following query in the support servlet (http://<server>:<port>/scheduler/support) to evaluate the number of distinct credential endpoints in use: select distinct Credential.Endpoint from Credential Note that each row returned by the query requires a free slot in WebServices.OutboundServer.limit and/or ProcessServerService.External.limit for a credential to the third-party web service. The number of soap credentials for a given endpoint you can create is limited by the WebServices.OutboundServer.limit or ProcessServerService.External.limit license key; when you have both license keys, the most restrictive applies. Note that the ProcessServerService.External.limit license key is also used by other process server types such as platform agents and SAP connectors. Caret Browsing Potentially Causes Data Execution Prevention (DEP) Exceptions When caret browsing is enabled in internet explorer, Data Execution Prevention (DEP) exceptions can potentially occur in the job monitor. If you experience this issue, please disable caret browsing. UNIX Platform Agent Auto-Update Issues have been reported regarding auto-update and init scripts. This has been resolved. However, when you upgrade from versions prior to M33.60, you should create a symbolic link as follows: ln -s ${installDir}/${version} ${installDir}/latest rm -f ${initDir}/scheduler 3 Release Notes ln -s ${installDir}/latest ${initDir}/scheduler Where: • ${initDir} is the directory containing the init scripts (/etc/init.d) • ${installDir} is the directory containing the platform agent installation The links that exist in rcx.d won't need to be adjusted since these are already symlinks to ${initDir}/scheduler Default Cluster Instance Id The default value for the cluster instance id on Redwood Platform is now retrieved using the port number. It is equal to the second and third digit of the port number. For example, for the port 10180 the default instance id will be 01. NOTE: This doesn't change the default node id for JBoss, WebSphere and WebLogic. AS/400: JobAppend is Appended twice if set If you set JobAppend, it will be appended twice, which will prevent the job from retrieving log files. Sybase Adaptive Server Enterprise Support SAP CPS now supports Sybase Adaptive Server Enterprise version 15.5 as an underlying database. Reverting from a Chargeable to a Free of Charge Version Reverting from a Chargeable to a Free of Charge version is not supported. This is due to the fact that there are restrictions in the Free of Charge version which do not exist in the Chargeable version. "[Non production use only]" in Application Title Unless Supported DB is Used The caption "[Non-production use only]" is displayed after the product name unless the database is on the following list. • DB2 - AS/400, OS/390, Linux/Unix/Windows • SQL Server • Oracle • SAPDB • Sybase Redwood Platform and Oracle Prerequisites The documentation previously stated that you should use the roles CONNECT and RESOURCE to grant the Oracle user that SAP CPS uses to access the database the required privileges. After further investigation, it turns out that these roles grant not only too many privileges, but also hidden privileges. The RESOURCE role includes UNLIMITED TABLESPACE which is not what most customers would want. Note that you can only see UNLIMITED TA- 4 Release Notes BLESPACE in the user's session privileges after granting the user the RESOURCE role. When you grant UNLIMITED TABLESPACE to a user, then grant and revoke the RESOURCE role, the user loses the UNLIMITED TABLESPACE privilege! Note that no issues have been reported regarding this, but SAP recommends you grant the following privileges only: • CREATE SESSION • CREATE TABLE Also, the user needs unlimited quota on the default tablespace for that user, as that is the tablespace used by SAP CPS. So, to edit an existing user perform the following: $ sqlplus system/mypassword@orcl SQL> alter user masalan 2 quota unlimited on users; SQL> revoke CONNECT, RESOURCE from masalan; Revoke succeeded. SQL> grant create session, create table to masalan; To create a user with the required privileges: $ sqlplus system/mypassword@orcl SQL> create user masalan identified by mypassword 2 default tablespace users 3 quota unlimited on users; SQL> grant create session, create table to masalan; Note that in these examples, orcl is the connect string, masalan is the user and users is the tablespace. Note, also, that mypassword is not a very safe password and just used here for illustration purposes. Tablespace Usage - Upgrading from Version 7 When you upgrade from SAP CPS version 7.0.4 to SAP CPS, you need to plan for potentially greater tablespace usage. SAP CPS version 8.0.0 has the following differences that may affect tablespace sizes: • use of a UTF characterset is highly recommended; it potentially uses more space to save characters than others - it has the advantage, though, that it can store a much greater number of different characters • objects can have longer names, this was increased from 30 to 80 characters • default job definitions have more job parameters which provide new functionality Change in IntelliSearch Prefixes New IntelliSearch prefixes have been introduced:: • s, status 5 Basic Password vs Ticket Authentication By default. This has been changed. your credentials will not always be passed on to SAP CPS. the time window could potentially be open all day. You enable Ticket Authentication in Visual Administrator. This potentially happens when you first log-in to a webdynpro application (for example /useradmin) and then attempt to access SAP CPS. If you are upgrading and have time windows with time-ranges and offsets. you will be asked to enter your username and password again. PRINT_PEXPI and PRIN_EXPIRATION Do Not Delete Parameter Value The value for Do not Delete of the PRINT_EXPIRATION/PRINT_PEXPI parameters of SAP_AbapRun* job definitions is 9. SAP CPS is configured for basic password login and not ticket authentication. when you had a time window defined with a time-range (like 10AM to 5PM. which offer a secure central store for passwords.Release Notes • req The following IntelliSearch prefixes have changed! • run start . the jobs reach status Error. 6 . this has been changed. Run As Fields and Special Characters in Passwords Customers have reported that when they specify a user/password in a Run As User field in a job definition and have special characters (/ and @) used in the Run As User field in their passwords. Specifying a username with password in a Run As User field is deprecated in favor of credentials. Change in Time Windows with Offsets Previously.used to be s: and has been changed to rs: • run end . the documentation stated that this was 0.use to be e: and has been changed to re: This change was necessary for the introduction of the new status prefix. regardless of the specified timerange. Note that you can set the number of action workers. for example) and offset on a time window element. which execute all types of RedwoodScript actions. This means that although you are authenticated in NetWeaver AS Java. Previously. please check them to see if they still function the way you expect.in the following registry key: /configuration/requestQueueSize/action PostRunning Actions Fire more often Previously. Increased Amount of Action Workers The number of action workers has been increased from 20 to 100. This is due to the fact that both / and @ are used as field separators in Run As User fields. when a job switched directly from status Dispatched to a final state the PostRunning action would not fire. Removal has now been completed. jcs. System.log and stderr. dates will be automatically shifted the number of days between source and target date ID's.outfile. jcs.limit Set to 0 The System.searchfile use stdout/stderr by Default The jcs.BusinessUsers. the session is read-only. for default expressions and in-expressions of parameter mappings. jcs. When the job already has a reached status Skipped and previous iterations in the same chain never reached Completed. however.limit has been changed from unlimited to 0 by default. it was not fully removed.searchfile functions now use stdout.Release Notes getSession() no Longer Returns Null for Restarted Jobs When you called <code>ScriptSessionFactory. in accordance with the old behavior • if set to 0. This situation can occur when jobs are scheduled by SAP CCMS or if you design flawed RedwoodScript code to submit a job which provides a negative value for the epoch date. This has been fixed. the call would return <code>null</code> for restarted jobs.getSession()</code> within a library from REL. you use the Otherwise status handler to dictate further processing. this is the new behavior Improved Support for DBMS_OUTPUT Support for Oracle dbms_output when written to log files has been improved: 7 .outfile. Complete Removal of jcsShell The jcsShell context that was meant to be available in the shell had been deprecated and removed in favor of jcsSession.BusinessUsers. New Status Handler for Skipped Job Calls A new status handler has been introduced for the case where a job chain job is skipped because a precondition is not met. dates will not be shifted. New MASS_ACTIVITY_DATE_SHIFT Behavior The behavior of MASS_ACTIVITY_DATE_SHIFT parameter has been changed: • if left blank.log by default. Requested Start Time Before 1901 Jobs with a requested start time before 1901 will be vetoed.errorfile and jcs. however.errorfile and jcs. ColumnName must be unique for the TableDefinition • TableDefinitionColumn. like insert.scheduler.boot. • JDBCOracleDBMSOutputFooter .redwood. Defaults to <h3>Output</h3><hr><pre> for HTML.<instance id>. • Table.ColumnValue maximum length is now 1000 instead of 255.footer to print after the dbms output. the default cluster messaging infrastructure has changed. Changes in Tables The following changes have been made to tables: • TableValue.log or stdout.cluster for example: com. • TableDefinitionColumn. You can use SAP CPS registry settings or system properties. </output> for XML and nothing for all others. • TableDefinitionColumn. • TableValue.ColumnValue is now optional.Datatype can not be changed for existing tables.header to print before the dbms output.TableValues() will return the TableValues sorted by: Key. previously they were only ordered by key • TableDefinitionColumn. • When persisting a TableValue for a column all omitted TableValues for optional TableDefinitionColumns are also created. 8 .DisplayOrder must be unique for the TableDefinition Redwood Platform: Redwood Messaging Replaces JMS In Redwood Platform.log for CSV.log. JVM parameters will have precedence over the registry keys. JMS has been replaced by a more robust built-in messaging mechanism.either stderr.boot. Besides all existing tables will be fully populated after the upgrade. to ensure the table is fully populated.<host>. also known as JVM parameters.bindAddress will override /configuration/boot/cluster/<host>/<instance id>/<node id>/bindAddress. • JDBCOracleDBMSOutputHeader .cluster. delete.redwood.Release Notes • If output is printed (still controlled by JDBCOracleDBMSOutput) it is always at the end. Defaults to stderr. you replace the /configuration/boot/cluster with com.scheduler. Defaults to </pre></hr> for HTML.Optional can not become mandatory for existing tables. and update statements. To set system properties. DisplayOrder. The text update count: <n> is now only printed for DML statements. and stdout. • New parameters: • JDBCOracleDBMSOutputDestination .log for all others. to set the InstanceId and messaging port. <output> for XML and nothing for all others. This was because the registry key in which the current navigation bar was saved only specified the name of the navigation bar. Unknown.scheduler. This is due to the fact that SAP CPS does not overwrite job definitions and is a known limitation. instead of just the name. Using Credentials with FTP Job Definition Types When you use credentials. different. this has been fixed. All Out parameters that have been set by the job are now set regardless of the final status. for example. in this case you need to specify the port in the Endpoint of the credential as follows: <user>@<endpoint>:<port> or jdoe@ftp. or Killed.Release Notes Note The system property com. the navigation bar could thus not be found. then rename it in SAP CPS and import the other with the other job count. Out parameters were only set when the job reached status Completed. Importing Multiple SAP Jobs with Identical Names Errors can occur when you attempt to import multiple. as a refresh or log off and successive log on would cause the default navigation bar to be loaded. When. Importing Large CAR Files Can Cause an OOME When you import large CAR files dependencies must be calculated and this can cause OutOfMemoryException's. 9 .rwm. SAP recommends you split large CAR files up into multiple smaller files.<name>.InstanceId is deprecated! Out Parameters Set even when Job Fails Previously.com:2021. Error. This means that if the job had the time to set the Out parameter before it failed. Report job gives NPE if parameter OutputFormat is not available Report jobs would reach status Error when the OutputFormat was not defined. as in <partition>. as long as the final status is one of Completed. Navigation Bars in Partitions other then GLOBAL Navigation bars that were not stored in the GLOBAL partition could previously not be used properly.cluster. SAP jobs with the same name during a single import.redwood. not its partition. the import will fail. you have two jobs in an SAP instance with the same name but a different number of steps. the OutputFormat job definition parameter is now optional. this has changed. The registry key has been changed to require the business key. This means that you cannot specify a non-standard port in your job definition source while using credentials. You specify your preferred navigation bar in the Options menu.masalan. the connection is already established when the job definition source is evaluated. the Out parameter will be set. The workaround is to use the SAP job count to import the desired job definition. You can specify the number of threads to allocate to these with the following registry key: /configuration/requestQueueSize/runtime Importing SAP System Objects When you import SAP system objects. SAP CPS uses the librfc library to connect to SAP systems. note that Monitor values cannot be imported. librfc has been found in %WINDIR%\System32. The new default value has become /usr/sbin/fuser ${Filename}. You can configure the number of threads to be used to execute actions. Note that this also means that you cannot import load factors of an SAP system. A change requires a restart of the web application. usually located in /usr/bin. The default for GNU/Linux is lsof ${Filename}.Release Notes Jobs Stay in Status PreRunning or PostRunning When you make extensive use of actions. On some Windows systems with installed SAPGui. expand the archive with jar or with a zip program (you might need to rename the CAR file to zip). which prevents SAP CPS from loading JCo to connect to SAP systems. move the librfc out of the System32 directory and into another directory. The number of threads is set to 20 by default. which can also be found in SAP software like SAPGui. 10 . in which case a lot of jobs will remain in a pre-running or post-running status. This means that the import will fail if the CAR archive references SAP Application Servers and these monitors do not exist. If you experience this. SAP recommends to only change the number of threads when you are instructed to do so from SAP Customer Support Services. open the SAP System XML file and remove any references to SAP Application Servers. except for Oracle Solaris and GNU/Linux. FileInUseCommand Process Server Parameter Changed Default Value on Unix The FileInUseCommand process server parameter now has the full path to the fuser file as the default value on Unices (except GNU/Linux). This change was made to allow customers to remove /usr/sbin from the ${PATH} of the user. Note that lsof is on the default user path. it was set to fuser ${Filename} on Unix. just like it was the case for Oracle Solaris. SAP CPS and other SAP Software Special attention must be paid when you install Redwood Platform on a server where SAP software is installed. you may specify a value using the following registry key: /configuration/requestQueueSize/action Runtime Expiration Calculations have been moved to separate threads Runtime calculations have been moved to separate threads to increase the performance on systems where these are heavily used. If you experience this. like the bin directory of SAPGui. the thread pool for executing actions can be saturated. Pre-submit Count When you upgrade from M28 or lower. job definition parameter IGNORE_APPL_RC. An operator message will be generated about this.all SAP systems are affected • /configuration/sap/<Partition>. valid for all SAPR3 jobs across all SAP systems Killing RedwoodScript Jobs When you have short infinite loops. you will not have a value in the registry key /configuration/jcs/recurrence/DefaultPreSubmit. only valid for the specified SAP system 4. 11 . IgnoreApplicationReturnCode Registry Key The registry can be set to true or false at the following locations: • /configuration/sap/xbp/IgnoreApplicationReturnCode . When you upgrade from M31 or earlier. To stop this job you will have to restart SAP CPS. Please set the registry key. process server parameter SAP_IgnoreApplicationReturnCode.Release Notes SAP Application Return Codes SAP application return codes will now be ignored by default with new installations.<SAPSystem>/xbp/IgnoreApplicationReturnCode.<SAPSystem>/xbp/IgnoreApplicationReturnCode . a registry key will be created and set to true so as not to change the behavior of SAP CPS. The Default Escalation field has become mandatory when no Escalation Expression has been defined.}}. Note that this problem does not occur for {while (true){Thread. The operator message will be: No recurrence presubmit count registry entry at /configuration/jcs/recurrence/DefaultPreSubmit Note When you use submit frames. registry key /configuration/sap/<Partition>. registry key /configuration/sap//xbp/IgnoreApplicationReturnCode. make sure all alert sources have a Default Escalation or an Escalation Expression. Upgrading from M28 Active Monitoring Module When you upgrade from M28 and are using alert sources.only the SAP instance for which this registry key is defined is affected The settings are processed in this order. only valid for all jobs that run on the process server 3. like {while (true){}} you will not be able to kill the RedwoodScript job.sleep(1). the first setting found has precedence: 1. the restart count is set to 1. only valid for all jobs of this job definition 2. use the following: @useLastExecutedStepStatus=false The registry key that governs the default behavior: /configuration/jcs/jobchain/useLastExecutedStepStatus The registry key should be set to either true or false.Release Notes Impacts Recurrences In M28. but a new job is created to replace it. when you want to delay a job. if the job chain job reaches error. SQL Server Deadlocks To prevent deadlocks on SQL Server. Job Chain Job Restart New properties have been added to job chain jobs to automatically restart the job. a delay can be configured. You can enable this by turning the database parameter READ_COMMITTED_SNAPSHOT to on. Note In order to set READ_COMMITTED_SNAPSHOT ON or OFF. and you call this job definition from a job chain. In the future. In M33 and later. when you edited a job which was part of a recurrence and the change the start time. The following comments can be used to enable the new behavior: @useLastExecutedStepStatus=true To disable. the job is removed from the job group. SAP highly recommends enabling row versioning-based isolation. use the delay action. A registry key and comment keywords have been introduced to allow you to toggle the behavior. You should delete the newly created job that replaced your edited job. there must be no active connections to the database except for the connection executing the ALTER DATABASE statement. 12 . Customers have asked for the status of the job chain to reflect the status of the last executed step. Job Chain Status When the last step of a job chain is Skipped. then the job chain reaches status Completed. Note that the restart behavior configured on job definition-level now also holds in job chains. such as Restart on Error. Ignored or Disabled. it will be restarted according to the rules defined on the job definition. This means that if a job definition has a restart behavior. The keyword in the Documentation field of the job chain definition has precedence over the registry key. the job is also removed from the job group.6. Perform the following Transact-SQL statement to enable READ_COMMITTED_SNAPSHOT: ALTER DATABASE <DB> SET READ_COMMITTED_SNAPSHOT ON. this was not the case in releases prior to M33. com/en/download/help/testvm. or. Based on the scheduled start time of the job.6 and Java Plugins Due to a change made by Mozilla Corporation. then they would run in the following order: 1.xml] and that you 13 . The Java plugin is used in SAP CPS to run Java applets like the job chain editor. (smallest first) The change is essentially that we use the Requested Start Time instead of the Scheduled Start Time when comparing jobs with identical priority. Based on the requested start time of the job. To resolve this issue. Based on the job id. Job Run Order Change If there were multiple jobs that could run at a single moment in time. This was not the expected behavior and has been changed. the Mozilla Firefox browser 3. (oldest first) 3. This can occur in job chains when the step reaches status Console and is restarted. (smallest first) The problem here is that the scheduled start time of the job is occasionally updated. (oldest first) 3.Release Notes Preconditions Preconditions may be executed before the job is persisted. as the latter can be updated during the life-cycle of the job. Supported Browsers The following browsers are supported with SAP CPS: • Internet Explorer 6. Based on the scheduled start time of the top level parent of the job. Based on the job id. (highest first) 2. Earlier versions of Firefox support both the old and new plugins. (oldest first) 4. Based on priority of the job. (oldest first) 4. for example. (highest first) 2. OnChange Trigger The OnChange trigger no longer fire for the transition from Queued to LockWait. and when this happens this can change effects the order that the jobs should run in. check your Java plugin is working correctly on this page [http://java.6) update 10 or higher. saved to the database. the defined order that the jobs run in will be: 1. Based on priority of the job.x and later Firefox 3. Based on the requested start time of the top level parent of the job. it has the effect that it is not possible to access itself or any other job in the same job chain. If you experience issues with SAP CPS Java applets. 7 and later • Mozilla Firefox 3.6 and higher requires a Java plugin of version 6 (also known as 1. There is a HTML version of all Java applets available as well. See Automatically Deleting Old Job Definitions for more information. when you ran a job to import a CAR file. The icedTea web browser plugin. the file would be saved in the current working directory of the cluster node.d/bindv6only. You also need to remove selectMethod=cursor if set. This setting breaks networking in Java. Submitting more than 5000 jobs at a time will be vetoed. and any traffic will always result in a java. at the least Java 5 (Java 6 update 10 or higher is required by Mozilla Firefox 3.cgi?bug=560044]. Debian-based Systems and Java Networking There is a bug in the latest Debian-based GNU/Linux systems which prevents Java applications from listening on network ports. This was introduced via the sysctl-setting NetBase net. as it cannot access the file.ipv6. System-wide and Partition-wide Keep Clauses It is now possible to set partition-wide and system-wide keep clause defaults. as it is not a Christian holiday.net. You can set the MaximumPreSubmit registry key to specify the maximum number of jobs that users can pre-submit. as this could have serious consequences in terms of performance.org/cgi-bin/bugreport. A new registry key /configuration/jcs/upload/UploadedFilesPath has been introduced to specify the location where uploaded files. Pre-Submitting many Jobs When you submit more than 100 jobs at a time. This allows you to easily restrict the number of jobs that are kept for reference-purposes.bindv6only=1 in the file /etc/sysctl. This directory must be accessible to all nodes in the cluster. Setting the value to 0 fixes this issue.6 and higher). More information is available in the Debian bug-tracking system [http://bugs.conf is the default setting in Debian squeeze. This can cause issues if the actual job is run on another node.debian. not only CAR files. Halloween Halloween has been removed from time window System_Christian_All.SocketException: Network is unreachable. you will get a warning in the submit wizard. for example. Only Sun/Oracle Java Plugins 5 or higher are supported. SQL Server JDBC Driver Settings SAP strongly recommends you enable response buffering in the jdbc driver connection string. as this setting overrides the response buffering setting. excluding preview and pre-release versions. are saved. Import Jobs and Clusters In previous releases.Release Notes have a recent version. for example. 14 . is known not to work. If you use these fields directly you should convert. Statistics and big Repositories If you have a great number of jobs.sap. • Recurrence jobs can have a job time window. • Submitting a job in the past submits 1 job to run immediately and the rest of the jobs in the future.responseBuffering=adaptive Note The sqlserver jdbc connection strings have semi-colon (. • The submit wizard has been changed to set the base submit time when a job group is edited. Recurrences Converted to Submit Frames Recurrences are now converted to Submit Frames. 15 .masalan. The differences between recurrences and submit frames have thus been removed. the connect string becomes: jdbc:sqlserver://mssql. As a workaround. This has been changed to BigDecimal for the most fields. Previously all past occurrences would be submitted and run at the same time.com/sap/support/notes/1263218] for more information. This introduces changes to jobs submitted in a job group with a recurrence: • Restart behavior that is defined on the Job Definition now also applies to jobs that were submitted with a recurrence.0 SP14 to SP17 can have issues with interception when configured in XBP 3. you must be especially careful when changing the database connection string. navigate to secure store and append responseBuffering=adaptive to jdbc/pool/MSLN/Url In this example. This happens without operators having to do anything. This has been implemented to have a more consistent handling of repeating jobs. All other XBP 3. since the data type was Long.databasename=MSLN.0 with the ABAP program INIXBP2. which have been fixed. Old reports and scripting will continue to work until you hit the limit.0 features will still be available. Submitting the first job and editing a single job still sets the requested start time. Most customers will not need to do anything as the most only use calculated Average and StandardDeviation fields.Release Notes Open [<drive>:]/usr/sap/<sid>/<instance>/j2ee/configtool and navigate to secure store and append responseBuffering=adaptive to the jdbc/pool/<database_name>/Url For example: In the configtool. you can set the Interception mode to XBP 2.) separators. Please see SAP Note 1263218 [http://service. Still affected fields include DataSumSquared. SAP Interception SAP Basis releases 7. values of some statistics may run out of addressable space.0 mode.com:1433. SAP CPS simply makes sure that <n> jobs in a non-final state are in the job group. You must make sure that the time zone settings of the JVM are up-to-date. The default keep alive timeout is 30 seconds. it was taken out of the job group. these jobs will retain their position in the changed sequence. Sorting data. This is because the user interface uses 2 HTTP connections per user. If the job is deleted. see SAP Note 1169442 [http://service. if a job was edited out of the recurrence. which have been changed in various countries in the last years. This is especially true for Daylight Saving Times. • Restarted jobs are also part of the job group.sap. HTTP Worker Threads You need to allocate 2n HTTP worker threads where n is the number of concurrent users that you want to support. • If you want to skip an occurrence of the recurrence or submit frame. You can enable it again by choosing Field Chooser from the context-menu of the column headers in the job monitor. can be controlled with NLS_SORT and NLS_COMP. The easiest way to make sure this is the case it to use the latest version of the JVM in question. Previously.Release Notes • When editing a job group. set the base submit time to a time in the future. data collation.com/sap/support/notes/1169442]. For SAP NetWeaver. you can cancel the job. with response times in the keep alive timeout + 2 second time range. Note Note that jobs with a restart count do not wait for each other. SAP CPS expects one of these combinations: • NLS_SORT set to a linguistic sort (French. If you do not want this behavior. for example) and NLS_COMP to LINGUISTIC 16 . JVM Time Zone Settings The central server uses the time zone configuration for the underlying JVM. Gantt Chart The job monitor does no longer display the Gantt chart by default. Oracle Globalization Support Oracle NLS settings allow you to support different locales for various database activities. there is an SAP Note for a similar problem. setting the base submit time to a time in the past does submit a job to run immediately. Keep the job until the scheduled start time has passed. Since SAP NetWeaver as well as other web applications also need HTTP worker threads. this is due to performance issues with very big job chains (10's of steps). Note A lack of HTTP Worker threads will manifest itself as very poor performance. the minimum is 50 HTTP worker threads. If the recurrence pattern or submit frame is changed. • Changes in the job group will not be applied to canceled jobs or jobs that were edited out of the job group. but no job group changes are applied to them. the gap will be filled the next time the job group is rescheduled. as they can cause unexpected behavior. All final statuses now have Continue submit frame. Please refer to SAP Note 198411 [http://service.Stop Submit Frame • Killed .Continue Submit Frame • Error . SAP Clients Require Time Zone Data SAP CPS requires that the client used for RFC connections has a time zone. You can override these settings per partition by creating job chains named <partition>. Instead. File Event Move Directories The substitution parameters ${DateTime} and ${TimeStamp} have been deprecated and should not be used anymore. The new implementation decrements RestartCount only when the system does a fully automatic restart. The job chain will then become a System job definition. The equivalents are ${FileDateTime} and ${FileTimeStamp}.Stop Submit Frame • Canceled . See the Restart Behavior and Controlling Global and Partition Restart Behavior sections of the Administration Guide for more information. The following settings were previously the default settings: • Completed . Restart Behavior Change The default restart behavior has changed as of release M31.System_Defaults_partition ( see the Administration Guide ).Release Notes • NLS_SORT and NLS_COMP set to BINARY (or variant like BINARY_AI) Other combinations are not supported.sap. Use Cancel recurrence to stop the submit frame. Job > Resubmit. The report TZCUSTIM imports time zone data into a client. RestartCount is not Always Decremented The job RestartCount was not always decremented. Time zone information is client-dependent in SAP systems and has to be maintained in each client separately.System_Defaults_System and specify the desired restart behavior on the job chain. respectively. canceling a submit frame job with presubmit count of 1 no longer stops the submit frame. 17 . you need to create a job chain named GLOBAL. The RestartCount is reset to the job definition value whenever the restart is done through an explicit operator action (Job > Restart. this was previously not the case. or OperatorMessage > Reply > Restart). the next job is submitted.Stop Submit Frame To change the global restart behavior.Stop Submit Frame • Unknown .com/sap/support/notes/198411] for more information. Also. Time Windows and Time Zones To make sure the correct time is used when calculation opening times of queues. This can be done by specifying PAGESIZE 32768 and BUFFERPOOL <buffername> at database-creation time.policy. user_pref("capability. "http://pr1.policynames". http://pr2. In the above example. Note that on SAP NetWeaver.Release Notes Default Pagesize on DB2 is insufficient on nonNetWeaver Systems The default pagesize on DB2 on non-NetWeaver systems is too small. This can be overruled by specifying the following in your user. and http://dv1. has three instances of SAP CPS it would like to enable file:// links for: http://pr1.com:50200 The user. Masalan Inc.js file is usually located in the following directories: On Windows %AppData%\Mozilla\Firefox\Profiles\xxxxxxxx. The buffer pool should be set to at least 16KB.mozilla/firefox/xxxxxxxx.checkloaduri.js file: user_pref("capability. Queues.com:50200.policy.default/. the platform agent will attempt to reconnect. you should always set a time zone on a queue with a time window.masalan.masalan."allAccess").enabled".policy. "localfilelinks").localfilelinks. when no message has been received in at most twice the MessageInterval. please set it to at least 16KB.localfilelinks. 18 .com:50200. Platform Agent Network Timeout A network timeout has been introduced to solve networking issues.masalan. File:// links and Mozilla Firefox The security features in Mozilla Firefox prevent it from opening File:// links directly.com:502 user_pref("capability. The default value is 300 seconds and will be used if this registry key is not set or its value is invalid. this is being accounted for by the SAP installation tools.sites". 32KB is recommended.masalan. Fail-over Timeouts It is now possible to configure fail-over timeouts with the SAP CPS registry key: /configuration/jcs/clustering/lockTimeoutThreshold the value is in seconds.default\ On Linux/Unix ~/.masalan.com:50200" "http://pr2. sap. 19 . Shell To use the shell. Transport Files New transport files are shipping with this release. these are required for controlling Mass Activities and can be installed alongside older versions. for example as the default queue. Time Windows and the Custom Library To use time windows with period functions.Release Notes On MacOS X ~/Library/ApplicationSupport/Firefox/Profiles/xxxxxxxx. this was previously not the case.Title sap/support/notes/Number 1161405 Description Accumulative Note for SAP CPS Provides links to multiple SAP Notes relatfor SAP NetWeaver 7.default/. you must first clear the Queue scheduling parameter. including built-in time windows. SAP Notes SAP Note http://service. Changing the SAP System of a Job with Default Queue If the queue is already set. the custom library must still be visible to the user who uses time windows with this period function. and the process server of the target SAP system does not serve the default queue. This is fixed for default period functions in M33 and later.com/.0 ing to SAP CPS installed on SAP NetWeaver. When the period function is defined in a custom library. This limitation has been introduced to avoid typos and to allow you to choose SAP systems for which process servers serve the queue. Wildcards in Auto-Complete Fields You can use the escape character '\' to escape the wildcards '%' (any character) and '_' (single character) in autocomplete fields. you need the privilege System_Shell. Note xxxxxxxx is 8 random characters. you want to change the SAP system where the job runs. the Custom library needs to be visible. you may encounter the issue that the platform process servers no longer can connect to the Central Scheduler. please note that a number of optional parameters and constraints in SAP job definitions are added to the built-in SAP job definitions only. SAP Job Names In SM36 the job name is always uppercased. This information is stored in the server_acl file. note that the default system ID as of M28 contains the port number as well.allows you to use a variant that is deleted after the job has run (XBP 3. the job definitions SAP_ImportCcmsJobs and SAP_GenerateCcmsJobDefinition do not uppercase the job name automatically anymore. they will be renamed. there are many other ways in which jobs are created with mixed-case names. Some older Linux distributions can potentially be supported. and number is a random number. When this occurs.Release Notes Upgrade Issues Upgrading from 26 When you upgrade from M26. located in ${install_dir}/net/instance/default/server_acl on the platform agent host. 20 . Because of this. not to your SAP job definitions. This has been done to significantly increase the upgrade speed. please contact SAP Support Services. If you want to make use of these. This seems to occur when you have locked the platform agent to the central instance.out parameter for use in job chains or Solution Manager SAP CPS does not require these parameters if you do not want to make use of the functionality. Platform Agents require glibc 2.0 is required) • CLIENT . You have to regenerate the file again when this problem occurs. for SAP load balancing for example. constraints cannot be added manually and require you to import the job definitions again. however.4 or higher. if applications called System or Redwood are found.the target group of SAP application servers. the following actions are taken: • The offending application is renamed to <name><number>. you will have to add these parameters yourself or import the SAP jobs again.has been added for Mass Activities • JOBCOUNT . giving the old and new names of that application. used for load balancing • TEMPORARY_VARIANT . Platform Agents on GNU/Linux On GNU/Linux. • An operator message will be created for each renamed application. When you have auto-upgrade activated. This is due to the fact that these are now reserved words. SAP Job Definitions When you are upgrading from a previous version. where name is the original name of the application. The following parameters are affected: • TARGET_GROUP . Application Renames During the upgrade. version directory. 21 .process id of the platform-agent process • <instance> .installation directory • <version> .UTF8. note that the SAP JCo libraries depend on libstdc++. like for example en_US. or the platform agent will fail to start with the following error: <install_path>/<version>/bin/network-processor: OS initialization failed error 2011-05-18 11:50:52 CEST [<pid>-platform-agent] Scheduler network-processor instance '<instance>' died w • <install_path> . for example • <pid> .name of the instance SAP CPS on GNU/Linux When you install SAP CPS on GNU/Linux.Release Notes Platform Agents on Tru64 A UTF-8 character set is required on Tru64 systems. for M28.32 this would be 0_28_32. KeepExpiration The KeepExpiration field has been introduced on job. AS/400 Connector: More Selection Criteria for Waiting for Jobs You can now specify more selection criteria when you want to wait for jobs. You force deletion of a job by specifying a DateTimeZone in the past on the KeepExpiration field of the job. A very modern scripting language with a novel syntax. It requires the Groovy runtime and a JVM on the platform agent where it is to be run. 22 . Preserve Times for DST Changes You can now force a submit frame to respect start times after a DST change by specifying Preserve Times.Chapter 3.98-71744. BusinessObjects Data Integrator Job Handling You can now specify BO DI parameters and variables on duplicates of the SAP_BObj_DataServicesJobRun job definition using the PAR_<name> and VAR_<name> syntax. Groovy Support SAP CPS now supports the Groovy scripting language. where <name> is the name in BO DI.0 by specifying latestVersion in the /configuration/jcs/jobchain/RestartVersion registry key. built on Thu Dec 12 18:37:55 2013. New Restart Options in Job Chain Operator Messages New Restart Options are now available in operator messages that allow you to use the latest versions of job definitions in the restarted [part of the] job chain. New Features This topic lists the new features for SAP CPS build M33. New Oracle ERP Interfaces Next to the Oracle Applications interface. Note that this feature has been backported from version 9. it allows you to specify a specific DateTimeZone for deletion.0. the job will be deleted as soon as KeepExpiration has been reached by the System_ProcessKeepClauses job regardless of any other settings. This functionality was the default behavior in version 7 and can be enabled in version 8. new Oracle OHI and PeopleSoft interfaces have been introduced. Job Chain Calls Restricted to a Time Window Job Chain calls can now be restricted to a time window. New Global Privileges New deactivated global privileges have been introduced: • Redwood_Shell . triggers and other areas that use RedwoodScript. search for strings in output files and email just the matched lines. for example.New Features New Job Definitions for Simple Commands New job definitions have been introduced to ease the implementation.5 as an underlying database. 23 .can control who can access the default navigation bar • Redwood_Script . These three privileges are disabled by default and need to be activated. which means that the call will wait until the time window is open if the time window was closed at start-time.can control who can use RedwoodScript in job definitions.can control who can access RedwoodScript • iPhone_Access . The job definitions have a Command parameter where you can simply fill in the command you would like to execute. libraries. Out Parameters are now Set even if the job did not Reach Status Completed Previously. Partial Job File Retrieval You can now retrieve a range of lines. Out parameters were not set. when a job did not reach status Completed. if the job had the time to set the out parameter before it failed. Sybase Adaptive Server Enterprise Support SAP CPS now supports Sybase Adaptive Server Enterprise version 15. the page is re-rendered. This has now changed. This means that parameters that have values depending on the value that was changed will be updated and allows you to create dependencies between parameters. This allows you to retrieve just the last 10 lines of the output file of a job that reached status Error and forward just the error message. the Out parameter will be set.can control who can access SAP CPS with an Apple iPhone • Default_Navigation_bar . Parameter Value Changes Update Submit Wizard When you change a parameter value in the submit wizard. Low Volume Licensing now available If you want to use low volume process servers contact your account representative. allowing you to keep your SAP CPS server optimized. only valid for all jobs of this job definition 2. critical processes can be displayed on the scorecard. 24 . Better Unattended Install Support for Platform Agents New switches have been added to the platform agent installers. End-user friendly user interface for document approval. it will keep data for 365 days. process monitoring. New Scorecard for Historical Data You now have the scorecard that displays historical statistical data. The archiving server must be a Microsoft Windows server and it is highly recommended to use a second server for archiving purposes as having the archive server. IgnoreApplicationReturnCode Registry Keys and Parameters Two new registry keys and parameters have been introduced to force SAP process servers to ignore application return codes that SAP jobs return and which are used to determine the final status of the job. The retention period can be set with the registry key /configuration/history/jobhistory. SAP CPS processes the settings in the following order:: 1. All can be set to true or false. valid for all SAPR3 jobs across all SAP systems The default value of this has changed to false for new installations. so the behavior will not change. Store Documentation in SAP CPS Documents You can now store documentation about SAP CPS objects or processes in Document objects and link to them from Documentation fields in objects. allowing you to specify all options on the command line. process server parameter SAP_IgnoreApplicationReturnCode. however you should not use the same schema. the registry key /configuration/sap//xbp/IgnoreApplicationReturnCode will be created and set to true. but you should use different database schemas for SAP CPS and the FPA server. job definition parameter IGNORE_APPL_RC. Job Data Archiving You can now archive old job data to a separate server. the same database can be used. registry key /configuration/sap/<Partition>. Also. when you upgrade from a version prior to M33 and have SAP systems defined. only valid for the specified SAP system 4. This is especially useful for unattended installations. only valid for all jobs that run on the process server 3. By default. registry key /configuration/sap//xbp/IgnoreApplicationReturnCode. You can use the same database (database instance). critical processes are identified by the Scoreboard:Critical string in the Documentation field of a job definition or job chain. and report inspection.<SAPSystem>/xbp/IgnoreApplicationReturnCode. The FPA server should reside on a separate server for performance reasons.New Features Financial Process Automation (FPA) Automate and optimize your closing processes with streamlined processing in multiple systems. The archiving server allows you to easily access the archived job data. 10). With SAP Inbound.10. you can do the following: { DateTimeZone dtz = new DateTimeZone(2011. allowing you to quickly locate the desired job and its output. To disable the lenient flag.31. dtz. you have separate objects which are free of charge and allow you to control SAP CPS from within SAPGui. this allows you to plan workload better and gives you a better overview of system load. so that dates are evaluated strictly and produce an error when you enter invalid dates. jcsOut. You can also specify a delay after which each restart should occur. Note that the default has not changed. which allow you to specify how many times steps are to be restarted in case according to Final Status Handlers. The Archive Server also has a report-friendly interface. New Features in M31 Archiving with the new Archive Server You can now archive old jobs and their output to the archive server to offload the central scheduling server. the resulting date is 01/12/2011.setLenient(false). invalid dates like 31/11/2011 are evaluated and corrected when invalid. } SAP Business Automation Enabler (BAE) Connectors / SAP Inbound It is now possible to connect SAP systems with SAP CPS to schedule workload in SAP CPS from within an SAP instance without the use of process servers. you may request additional ones at any time. Maximum Restarts and Restart Delay Amount/Restart Delay Units. 25 .10. Previously. Note The BAE Connectors are only available when you purchased SAP CPS from SAP AG. This had an impact on the licensing costs of Chargeable version SAP CPS installations when you did not schedule workload from within SAP CPS on that SAP instance. Lenient Flag for DateTimeZone You can now set the lenient flag on DateTimeZone objects in your code.12. The Archive Server is built on Redwood Report2Web technology. Job Forecasting You can now create a forecast for given jobs.New Features Maximum Restarts and Restart Delay for Job Chain Steps Job chain steps now have two new attributes.toString()).10. Although a licence key defines the maximum amount you can create. in this example.println(dtz. an SAP System object was required in SAP CPS which used a process server key. The default value is 28 days. New Object Filter Conditions A lot of objects can now be filtered on owner or partition. Oracle Applications Scheduling You can now schedule Oracle Applications (aka Oracle EBS) workload with SAP CPS. lower values will result in 7 days. forcing the Mass Activity to run as that user.New Features SAP Module You can now set the user that runs Mas Activities. for example. Query Filter Parameter Constraints You can now use object filters to create list of values for job parameters. which increases efficiency. A new registry key /configuration/jcs/upload/UploadedFilesPath has been introduced to specify the location where uploaded files. In previous releases. It has to be set by users. when you ran a job to import a car file. New Features in M28 These features appeared in M28 and are listed here for your convenience. the file would be saved in the current working directory of the cluster node. not only car files. This feature requires a specific license key. see the License topic for more information. the account used to run Mass Activities was the RFC user. When you fill the parameter SAP_USER_NAME on job definitions SAP_MA_MassActivityRun and SAP_MA_MassActivityTemplateRun. This is especially handy for operators or other users with limited privileges. you can now customize the navigation bar to include frequently used items only. This can cause issues if the actual job is run on another node. the minimum is 7 days. as you can reduce number of items in each group. 26 . as it cannot access the file. Mail Module SAP CPS will now create the smtp credential protocol automatically. are saved. user/<username>/ui/configuration/ExpirationNotification Customize the Navigation Bar With this release. This directory must be accessible to all nodes in the cluster. the mass activity will be started from a batch job that has the specified user as a step user. Import Jobs and Clusters In previous releases. Suppress License Expiration Warning You can now suppress the license expiration warning with the registry key user/<username>/ui/configuration/ExpirationNotification. much like time windows show the times of the day they are open. the file should be accessible from that unique path from the perspective of the user 27 . Submit Frames Now Offer a Preview You can now see when jobs will be submitted according to the submit frame. you can toggle the stub code field as well to allow the source code field to almost cover the entire window. making sure a rogue user who gained access to the SAP CPS OS account cannot access files owned by root. Fail-over Timeouts It is now possible to configure fail-over timeouts with the SAP CPS registry key: /configuration/jcs/clustering/lockTimeoutThreshold the value is in seconds. Resizing the window now resizes the source code field to allow you write complex code with greater ease. 2. Reports now have a preview window. you can now specify your chown command and check parameters for validity.sh script which can be used as a basis. Report parameters have been introduced to allow you to use Redwood Expression Language in selections with greater ease. the platform agent will attempt to reconnect.New Features Improved Security with sudo When you use sudo for user-switching on Unix. where you can see a preview of a report before you save it. when no message has been received in at most twice the MessageInterval. if you were to submit them at the current time.a file URL. Source Code Fields are Resizable Source code fields are now resizable. SAP CPS ship with an example chown. 3. Links in Documentation Fields The Documentation fields of all objects now support the following URL's: • http[s]:// . See Configuring Platform Agents for more information. New Reporting Functionality 1. The default value is 300 seconds and will be used if this registry key is not set or its value is invalid. Permalink Module The Permalink Module allows third-party applications to interact with SAP CPS.any HTTP or HTTPS URL • file:// . Platform Agent Network Timeout A network timeout has been introduced to solve networking issues. The report job definition type has been introduced to allow you to change parameters easily. Easy Retrieval of Process Server Logs Process servers and jobs now offer a new action to retrieve log files and system information. file:// URL's must first be enabled. New Features in M26 These features appeared in M26 and are listed here for your convenience. Period Functions It is now possible to create period functions. Other SAP components are being adapted to make use of this new feature. Advanced Search for all Objects SAP CPS now offers the quick and easy search feature available in previous versions for job search on most objects. for objects of a given name or being in a specific application.4. SAP SNC Support SAP CPS can now use Single Sign On (SSO) over RFC connections. making the connection encrypted. You have to specify a library containing a valid JAVA 1. The search field is context-sensitive.2 package that can be used with period functions. Mail Job Definition Type The Mail job definition type has been introduced to allow you to create custom emails from within a job chain.New Features Note Due to security settings in Mozilla Firefox. this is especially useful for support queries. Controlling Communication Channels with SAP PI SAP CPS now allows you to control communication channels via the SAP PI interface. SAP Applications API Integration SAP CPS has an RFC server that you can use to connect to SAP CPS from ABAP stacks via an RFC destination and submit jobs from Closing Cockpit or Solution Manager. Advanced Auditing Rules You may now define advanced auditing rules. for example in Definitions > Job Definitions you can quickly locate the job definition by entering a distinctive part of its name into the search field. This functionality gives you advanced control of when which transformation take place and requires a Chargeable Version. Period functions allow you to create complex schedules. 28 . so it will only search for objects in the currently selected tab. When you are in an object view. see the Release Notes for more information. See the Connect to an SAP System with SNC topic for more information. which allows you to work with many different user names and passwords across several systems by mapping them to one virtual user. for example. Dashboard The dashboard has been introduced to allow you to monitor components and systems from within one window. regardless of the real user name on the target system. They are also used to isolate SAP Systems from each other when you have the Free of Charge license. You could have a virtual user db_user that would be jdoe on server1 and jdupont on server2. Jobs will then execute as the correct user on any of the systems. Library and Triggers The scripting module has been extended with libraries and triggers. The Report object allows you to specify filters or custom queries and displays the output in csv or html. 29 . Isolation groups Isolation groups allow you to isolate objects from users. Credentials Credentials have been introduced to allow you to securely save login information for external systems. There is also a new virtual user. The dashboard allows you to have graphs and tachometers to display the current status. Libraries provide a central location for your RedwoodScript packages and are available in all objects that provide scripting capabilities.New Features Reports The reporting has been improved in this release. Triggers allow you to execute code globally when a job reaches a specific status or an object is changed by a user. SAP CPS Use SAP CPS provides landscape-wide. Additional features may require a specific license item. SAP CPS provides extended SAP as well as non-SAP support. the Free of Charge license allows scheduling of SAP-only processes. Implementation Considerations SAP CPS is suitable for automating the execution of simple or complex business processes that comprise multiple steps and involve various ABAP applications across the system landscape. event. and auditing. As a process automation solution. you can check your license by navigating to Configuration > License Keys. and operational data. some features require specific license items with specific values. Customer Support. Processes follow business-driven schedules and you monitor them and manage present and future workload from one central location. If you are unsure of the features that have been licensed to you. • Process servers that manage work in various systems • • via External Background Processing (XBP) for SAP Systems. routing.Chapter 4. When a feature is not available. the Platform Module offers platform process servers that run natively on remote systems and allow you to integrate non-SAP processes into the process-scheduling system.and time-driven job scheduling in Application Server (AS) ABAP of SAP NetWeaver AS. It provides an automated transition between the steps of a business process to ensure a smooth and reliable process flow. definitions. There are two general licenses available. It enables process automation by managing all background processes that involve one or more applications across the whole system landscape. SAP CPS is an event-driven process automation and scheduling tool with asynchronous workload management. These all run as part of the Scheduler web-application. the Chargeable license includes non-SAP processes. logging. SAP CPS provides process history. or the Sales Representative. it usually means that you do not have the required license item. SAP CPS is a JEE web application consisting of: • A central system that runs the user interface and server software. • Extend event-driven process automation. it allows you to: • Speed up the execution of automated processes by minimizing the stand-still time during business process changes. and load balancing of complex process flows. real-time. A database that stores static data. please consult your SAP CPS Administrator. • Implement business-driven schedules • Maximize the degree of utilization of system resources • Automate synchronous as well as asynchronous workload management • Maximize workload routing and load balancing 30 . • Event. Features SAP CPS provides the following features: • Central user interface (UI) • The central point of control over the central process scheduling infrastructure is designed for both administrators and business users. see Technical System Landscape.and time-driven scheduling and execution of jobs and complex job chains running across several systems in the job scheduling landscape • Job definitions and jobs. submit and monitor all jobs in the landscape. and auditing of previously executed work. is executed. SAP CPS integrates with remote SAP Systems and the Central Monitoring system. Note In contrast. see Getting Started. execute and monitor jobs only on the local system (transactions SM36 and SM37). which allows you to re-use part or all of the job • Mechanisms for scalability and advanced load balancing Note In contrast. you can schedule. Integration By using a set of external SAP interfaces. a concrete instance of this job definition. in the SAP conventional job scheduling infrastructure. see the Automating Processes Across the System Landscape section. For more information. The abstract logic of the work to be performed is stored in a job definition. When a job definition is scheduled with specific parameters and start conditions. • Administrators to centrally manage SAP CPS and the whole central process scheduling landscape. the SAP conventional job scheduling infrastructure does not distinguish between these two types of job information. For the execution of complex business tasks. you can define job chains. For an introduction to the Scheduler UI.SAP CPS • Monitor and manage present and future workload • Reduce the number of human errors resulting from manually completed tasks • Simple as well as complex process flows are executed faster • Extend history. The same job definition (or work done) can be scheduled with various parameters and start conditions. For more information. Activities Task More Information 31 . logging. It allows: • Business users to schedule. called job. SAP CPS Configure a remote SAP System To set up remote SAP Systems see: Configuring an SAP System for Central Process Scheduling Connect SAP CPS to remote SAP Systems To connect to a configured SAP System see: Connecting to SAP Systems Submit a Job or Job Chain To submit jobs see: Submitting a Job or Job Chain Import your Jobs To import jobs from an SAP System see: Importing CCMS Jobs Create a sequential job chain with your impor.To create a sequential job chain see: Creating a Job Chain with ted SAP jobs Sequential Jobs More Information Architecture Getting started Administering the Scheduling Landscape Automating Processes Across the System Landscape Monitoring Automated Processes Scheduling Processes Outside of SAP Reference 32 . Technical System Landscape Use SAP CPS runs in AS Java of SAP NetWeaver AS. Architecture Use This illustration provides information about the architecture of SAP CPS which can schedule workload on or interact with all below platforms: • Technical System Landscape An overview of the integration of SAP CPS in the whole scheduling landscape • Central Scheduling Concepts An introduction to the basic concepts and components of the Central Scheduling system where SAP CPS runs. you schedule jobs on the SAP CPS server system.Chapter 5. 33 . • High Availability examines high availability for SAP CPS. SAP CPS provides the Scheduler user interface running on the SAP CPS server system. It is the central point of control for the all the jobs in the job scheduling landscape. SAP CPS executes it in the respective remote system. The system where it runs is called the SAP CPS server system. By using the Scheduler UI. It connects to the remote systems where jobs should be executed. When the start conditions for a job or job chain are fulfilled. see the Administration Guide. and so on. is persisted in the job repository in the SAP NetWeaver database. by using the following external interfaces: • BC-XBP (External Background Processing) Allows SAP CPS to execute and monitor jobs and job chains in the remote AS ABAP systems. Integration for Job Monitoring For more information about the components of SAP CPS.Architecture Integration By using a set of external SAP interfaces. Getting Started. such as job definitions. See Also Configuring the Central and Satellite Systems Central Scheduling Concepts Use SAP CPS is an application that runs on Java Application Servers like the SAP NetWeaver Application Server (AS) Java and consists of: 34 . InfoPackages and process chains. as well as read or confirm alerts in the remote systems. This two-way integration is enabled by the following external interfaces: • BC-XAL (External Interface for Alert Management) Allows SAP CPS to read or set the properties and values of monitoring attributes. All data that is necessary for triggering activities in the system landscape. SAP CPS uses Remote Function Calls (RFC) to connect to the remote systems. • BC-XMW (External Monitoring Write) Allows SAP CPS to transfer monitoring data to the Computing Center Management System (CCMS). SAP CPS integrates with: The remote SAP systems where jobs should run and be monitored The SAP system for Central Monitoring where it reports monitoring data. Integration for Job Execution and Monitoring SAP CPS integrates with remote AS ABAP systems. job interception and monitoring. event information.Job Scheduling) Allows SAP CPS to schedule BW InfoPackages and process chains in the BW system. • BW-SCH (Business Information Warehouse . including SAP Business Information Warehouse (BW) systems. Two-Way Integration for Monitoring Data SAP CPS can read monitoring data from the remote systems where jobs are executed and report it to the SAP system for Central Monitoring. such as job scheduling and starting. You have to explicitly connect the SAP CPS server system to the remote systems when you want to execute and monitor jobs. and so on. XBP provides SAP CPS with all the capabilities of the conventional AS ABAP scheduling infrastructure. Job History Use Jobs lie at the core of SAP CPS. In the user interface. or as complex as a multi-day mass activity that runs across dozens of machines. depending on where in the user interface you currently are. a relevant help topic will be displayed. for example. • A database that stores static data. Jobs can be submitted by users. SAP Systems 5. you can use the F2 key. Jobs and Job Definitions SAP CPS not only allows you to submit simple jobs. Applications You can access the online help by choosing the [i] button in the toolbar and context-sensitive help by hitting the F1 key. Scheduling 7. Note The F1 key does not work in the Shell. Directory to transfer from.Architecture • A central system that runs the user interface and server software. Custom job definitions with complex parameters can be written that are re-used for different tasks. In SAP CPS. When there are dozens (or even hundreds of files). using secure 35 . then writing a job for each file transfer that contains all the commands to transfer the file (including the file name) might be sufficient. Events and Event Definitions 6. Job Chains. and operational data. The following topics briefly discuss basic SAP CPS concepts: 1. when there are only one or two files to be transferred. you will be presented with a list of topics to choose from. this could be handled by creating a job definition called Transfer File that has four parameters: System to transfer from. Job History 2. Distribute Workload 4. If some improvement was made to the transfer process. or based on a business schedule. as the result of a particular event (for instance the arrival of a file. definitions. or a trigger in a remote system). it allows you to create job chains with complex parameters. Consider file transfer as an example. Note These all run as part of the central web-application. System to transfer to. When you hit F1. Queues and Process Servers 3. when you want to open the More dialog. Job Chains. a better approach is needed. This would allow operators to easily add new file transfers to the schedule. A job can be as short and simple as a line of ABAP code that runs on a single system. and clearly see the files being transferred (and the systems involved) in the job monitor. Jobs. Jobs. if there are more than one topic covering the subject. Directory to transfer to. Complex job dependencies can be met with job chains. If a mistake is made. the context-menus of job definitions and job chains have an action Delete final state jobs. you would like to keep a jobs from a specific job definition for 12 months. rather than editing the job itself. and are comparable to multi-step SAP jobs. The keep clause can be expressed in job versions or dates. Submitting a job definition allows you to specify values for the parameters. and Windows servers. steps and jobs can be restarted when a job fails. then this change can easily be made by changing the job definition. each time the job completes. the system will check if there are old jobs that need to be deleted and delete them for you. See Also • Submitting a Job or Job Chain • Monitoring and Managing Jobs • Automatically Deleting Old Job Definitions Queues and Process Servers Use The following figure shows the main architecture behind SAP CPS. named jobs. HP OpenVMS. 36 . The keep clause is set on a job definition or job chain basis. to finishing (either in a COMPLETED or ERROR state) to finally being deleted. Job History Jobs are saved in the system according to the keep clause. which allows you to schedule programs on remote UNIX. You can also choose to manually handle job history.Architecture FTP instead of FTP. They are made of one or more calls to job definitions. The output of deleted jobs is regularly deleted by the system job definition System_DeleteJobFiles. Each job can then be monitored throughout its life-cycle: from being submitted. For example. to running. for example. creating a job. The job definition approach means that you can have as many jobs running as you need. Note FTP support requires the Platform Module. rather than having to create new jobs as business needs change. The default keep clause is to keep jobs forever. Job chains are job definitions of a specific type. this can be fixed by changing the parameters of the job (through the job monitor). in which case SAP CPS decides which process server to run the job and when the job starts. You can attach a process server to multiple queues. If a limit on the queue is exceeded. Dynamic limits are set based on performance measurements made by the process servers. These limits can be dynamic or static. where the jobs actually run. Queues have limits attached to them. and provide fail-over facilities. Static limits are based on the number of jobs running in the queue. Queues distribute jobs to process servers. You can use queues to limit the number of jobs that can run simultaneously. in which case it can run jobs from any of those queues.Architecture Queues Groups of jobs are managed using queues. then the queue is held. One queue can be attached to multiple process servers. but existing 37 . This prevents new work from starting. distribute workload across multiple systems. you also need a free slot in ProcessServerService. • SAP Java jobs via Java External Background Processing (JXBP) in the SAP NetWeaver AS Java. For SAP Systems. Jobs are automatically distributed to all the process servers as they start. this is usually due to the fact that you cannot see any of the running process servers that are serving the queue. a Windows or Unix system. like an SAP System. or existing running jobs complete. 38 . These limits are re-evaluated as new performance measurements are made. Process Servers Process servers are responsible for running and monitoring jobs.limit.External.limit license key to be set to a number. This allows Platform systems. this also makes it possible to manage scheduling on both a per-system and a per-interface basis. If one or more machines can perform a task. SAP Systems and interfaces to be managed in a granular manner. The different types of jobs supported by SAP CPS include: • SAP ABAP jobs (via the XBP interface) in R/3 and InfoPackages and Process Chains via Business Information Warehouse . especially when you tie a time window to it to make sure the correct time is used. See Also • Using Queues • Using Process Servers Distribute Workload Use Queues distribute work across a larger system. HP OpenVMS. Note Connecting to Windows. Note SAP recommends you to specify a time zone on a queue. A queue might appear held to you while it is open to others.OS. SQLPLUS) • WebServices jobs There is one process server for each SAP System or Platform Agent in the landscape.Architecture work is left to complete. You need privileges to view process servers and queues. then queues can be used to distribute work among these machines by attaching a process server to each machine. • CMD. • System jobs (locally) for maintenance tasks. or Unix systems and running jobs/using file events requires the ProcessServerService. and a queue to these process servers. KSH and many others for platform jobs • Database jobs (JDBC. which allow jobs of different types to be run and are used to connect to remote systems. Process servers host services. They run jobs in local and remote systems.Job Scheduling (BW-SCH) in BI. Jobs now automatically start on one of the other process servers until the planned work is completed and the process server restarted. 39 . an upgrade of the operating system is required). the process server is first shut down gracefully: all running jobs are allowed to complete. This scenario also provides for fail over in both planned and unplanned scenarios. In a planned scenario (for example. but no new jobs start.Architecture The following figure shows a queue and two process servers working normally. The following figure illustrates a planned down-time scenario. Architecture In an unplanned scenario. The following figure illustrates an unplanned. network-related down-time scenario. 40 . the process server is unreachable. or a hardware failure. This can be due to network failure. Architecture In the case of a network failure. and complete on the machine. The following figure illustrates an unplanned. The process server attempts to notify the central system that the job has completed. system-related down-time scenario. It continues to retry this operation if it fails. 41 . jobs continue to execute. See Also • Using Queues • Using Process Servers • Using Resources to Distribute the Load • Balancing the Load on SAP Systems • Balancing the Load on Platform Agents 42 .Architecture In the case of a machine failure. jobs on the machine are set to the UNKNOWN status to indicate that their results may not be reliable (since the machine failed). this requires you to install the platform agent on the nodes where 43 . Windows and OpenVMS systems. Java eXternal Batch Processing (JXBP) Control and monitor jobs deployed on AS Java. To be able to connect to platform systems. Generic Request and Message Generator (GRMG) Monitor the availability of technical components and entire business processes. For SAP jobs with more then one step. and a job chain is generated that runs the job definitions. It is also possible to import jobs from an SAP System via the standard job definition SAP_ImportCcmsJobs. Platform Systems Platform systems is a generic term used to specify Unix. This job is then monitored by SAP CPS until its completion. This allows you to run the SAP job in different SAP Systems. on the nodes. however this must be configured through Computing Center Management System (CCMS) on the Central Monitoring System (CEN) in the landscape.Architecture SAP Systems Use SAP CPS communicates with the satellite SAP Systems over a number of internal and external interfaces provided by SAP. SAP print and archive parameters among others are required. External Interface for Alert Management (XAL) Monitor synchronization from the SAP CCMS monitoring infrastructure. and so on. SAP API Interface that allows SAP Systems to interact with SAP CPS. this job can be submitted to an SAP System. the SAP job log and the spool list of the report are retrieved. This allows each of the following interfaces to be configured: Interface Description XBP Client configuration for XBP. For each of the imported jobs. this is the interface that enables Closing Cockpit. The standard job definition SAP_AbapRun allows you to run ABAP reports in an SAP System. If requested. parameters like ABAP report name. as long as they provide the same environment like variants.OS. a variant to run the report with. Note SAP CPS supports the SAP Generic Request and Message Generator (GRMG) protocol. External Monitoring Write (XMW) Monitor synchronization to the SAP CCMS monitoring infrastructure. and the characteristics of the SAP job are stored as default values in the job definition. XBP Event Control Rules. Once you set the parameters. you also need to install platform-specific software.limit license keys. XBP Job intercept rules for individual clients. where a CCMS job (SM36) with the provided characteristics is created and started. SAP printers. a new job definition is created. The software is available for download in SAP CPS in Configuration > Software. a job definition for each step is created. These can be configured from a single point: Environment > SAP Systems. Platform systems can also be used for load balancing SAP Systems. known as a platform agent. When you submit this job definition.limit and ProcessServerService.External. SAP CPS can connect and schedule native workload on these systems. provided you have the Platform Module and a spare unit in the values of the ProcessServerService. and the job is deleted in the SAP System. • A job chain step or job completes. when any of the following happens: • A job or job chain completes. for example) or use file events on the host of an SAP System. An event is raised. rather than just having them happen at a particular time. or drops below a threshold.limit units. This event-driven nature makes it possible to create efficient processes that do not rely on time at all. Platform systems allow you to create complex process scheduling scenarios integrating SAP and non-SAP jobs in one process. for example.OS. • A file raises the event. and may even be automatically submitted if an event occurs.limit and ProcessServerService.limit license key. When certain conditions are met. Jobs (and job chains) can wait for one or more events to occur. The platform system load balancing is not round-robin-based like SAP load balancing.OS. This means that it is possible to start jobs (or job chains) using events. • You raise an event manually. An event definition can have zero or more actual events associate with it.limit license keys. They also allow you real-time load balancing across SAP servers.External. allowing event-driven flows to be created. In fact.External. Jobs (and job chains) can also raise events when they complete. • A monitor exceeds a threshold. 44 . The definition stores information like the name and the trigger for the individual events. you will use two ProcessServerService. a SAP CPS event is raised. Note When you want to schedule platform-specific workload (batch or shell scripts. These are not required for monitoring only. • A job takes too long to complete. reducing the time between jobs to seconds regardless of where the jobs run.limit and ProcessServerService.External.Architecture SAP is installed and no longer requires a spare ProcessServerService. the load is assigned to the system that has the most free resources. See Also • Connecting to SAP Systems • Importing Objects from SAP Systems • Handling ABAP Programs • Handling Variants Events and Event Definitions Use SAP CPS is an event-driven process automation tool. one for the SAP process server and one for the platform agent process server. Events (like jobs) have a definition separate from the event itself. you will need additional ProcessServerService. • Once a month. like Easter. • Recurrences .Architecture Job definitions.Unlimited. See Also • Creating Event-Driven Schedules with Events • Monitoring Events Scheduling Use SAP CPS includes a rule-based scheduling engine that allows sophisticated schedules to be easily built and maintained. Time windows and submit frames may be used individually. Note For any time-based object to be precise. For example. • Holiday calendars for many European countries (and their states or provinces). and remains visible as historical data even after all tasks related to the event have completed. • Submit frames .To specify when jobs may and may not run. the United States. you must specify a time zone. and the definitions of the events that they raise. monitors. Time Windows & Submit Frames Time windows and submit frames are a rule-based scheduling method. a new event is created (or raised). These rules are implemented using two complementary concepts: • Time windows . a job can run at any of the following schedules: • Once an hour between 8:00 am and 5:00pm (European Standard Time). rule-based scheduling. There are two primary mechanisms for scheduling in SAP CPS: • Time windows & submit frames .Time limited scheduling for irregular schedules. Jobs submitted using either mechanism are visible in the job monitor. or together. and other objects are connected to the definitions of events that they depend upon.To specify how often jobs run. 45 . these include: • Definitions for holidays that do not occur on the same date each year. Each time an event occurs. and Canada. • On weekdays. Each event can then be individually monitored and managed. • Unless that day is a holiday in Germany or The Netherlands. • Rules for United States fiscal quarters (445 and 544 calendars). This means that the times that a job runs at are defined by a set of rules. A variety of rules are delivered by default. on the last working day of the month. Time window Business excluding Lunch • Open between 08:00 and 17:00. Time windows are made up of time window elements that specify restrictions on opening times. for example. could look like the following: • Open between 08:00 and 12:00.Architecture When a job is submitted using submit frames and/or time windows. otherwise it is closed.a job scheduled to run the next time the job starts. A time window is open if at least one of its elements is open. • Closed during Lunch. A time window is open at a particular time if jobs are allowed to run. the US. This method has the advantage that it is much easier to change the hours associated with Lunch.the running job. Time Windows A time window specifies when jobs may and may not run. • If the job is not currently running . This time window is open at the following times: • 08:00. • Open between 13:00 and 17:00. 46 . 13:00. • Closed during System_DE_PublicHolidays. using inclusion and exclusion. the following jobs appear in the job monitor: • All previous runs of the job (until they are deleted). • If the job is currently running . Note that time window elements include their opening time (08:00 and 17:00 in this case). This is to ensure that inclusion and exclusion work correctly. otherwise it is closed. It also makes it possible to use the predefined rules that come with the product: For example. • Closed during System_CA_PublicHolidays. A time window that is open during business hours so not at lunch-time. • Closed during System_US_PublicHolidays. So. another way to define the time window above would be: Time window Lunch: • Open between 12:00 and 13:00. 14:45 and 17:00. and the Lunch time window can be shared with many other time windows. and Canada are open is defined below: Time window All Business Units Open: • Open from Monday to Friday. but do not include their closing time (12:00 and 17:00 in this case). Time windows can refer to one another. a time window that is only open when business units in Germany. 12:00. Submit frame elements may refer to time windows. Recurrences Recurrences are another method of controlling when jobs run. based on concepts similar to those you might use to schedule a business appointment. during PEAK time window. The time zone of a job is the time zone specified in the submit wizard. the central server time zone is used for the job time zone. yearly. allowing different frequencies to be specified. then doing it in the appropriate (job specific) time zone is far less error prone. for example. once an hour. and an operator based in London talking to a user in New York. submit frames are made up of elements. you must specify a time zone. Time Zones Many large organizations have systems that are distributed geographically. When working in such a situation. a job that deletes job output files might need to run more often during peak periods: • Every 5 minutes. Operators are frequently not in the same location as the jobs being managed. Consider a job that runs at 5:00 pm in New York. depending on the time. Like time windows. See Also • Using Recurrences • Creating Submit Frames • Using Submit Frames in Jobs • Defining Execution Times with Time Windows • Defining Advanced Execution Times with Period Functions • Time Zones 47 . otherwise. it is important to be able to work with jobs in the time zone that they are likely to run in. such as daily. for example). If that operator needs to move the job to run at a new time (to allow some missing data to be loaded into a database. monthly. even though it may be 10:00 pm local time for the operator. When the job was submitted from RedwoodScript. weekly. or by specifying specific dates. or on the last workday of every month. Note For any time-based object to be precise.Architecture Submit Frames Submit frames specify how often a job runs. often in different time zones. twice a month. • Every 15 minutes. without specific time zone. For example. The operator needs to be able to see that the job's time zone is New York and that the job runs at 5:00 pm. You use recurrences to schedule jobs to run on specific schedules. For example. as they allow operators and users to specify their own grouping. Applications are particularly useful when the scheduler is being used to manage multiple applications. See Also • Organizing Processes • Creating Applications 48 . queues. according to the purpose that they serve. based on a local understanding of how the scheduler is used. and to quickly navigate to a specific object. job definitions and job chains work with the decision support system might be put into the Decision Support application.Architecture Applications Use Applications are a way of grouping the different objects in the system into logical groups. the process servers. redwood. Additionally.com/education/tutorials/process-automation/jobchain] and adding a process server [http://www. When you are using SAP CPS and need information on a specific screen.com/education/tutorials/process-automation] that show you basic functionality. without registering. The first tutorial. will load automatically and guide you through the process of creating a job definition and submitting it. 49 . A link to the PDF of the Guide is available for download at each guide. Getting Started .Using SAP CPS Use The following pages provide basic information on the process scheduler as well as instructions of the basic tasks to help you get a running system for scheduling processes across SAP Systems in your landscape. You should be at ease with the software and able to integrate various SAP Systems as well as submit and monitor jobs.Chapter 6. navigating on the user interface. feel free to register.redwood. This Help system is organised in several separate guides to help you find what you need more easily. which covers all SAP CPS functionality and a dedicated guide for Security. These tutorials are for all SAP CPS users. basic job definition. There are online tutorials available at the Redwood website [http://www. If your environment has already been setup by an Administrator.com/education/tutorials/process-automation/addingserver] tutorials. Most tutorials require a free registration and are marked with a lock icon. and two guides for Installation. the reason why Redwood wants you to register is only to get data on who watches which tutorial in an effort to improve the overall experience. and information about accessibility. You can choose Frames to see the topic in the guide the topic belongs to. and we strongly encourage you to register. Troubleshooting. you should be able to Import jobs from SAP Systems and tailor them to fit your needs. Topic Description First Steps This documentation contains an overview of logging on to SAP CPS systems.redwood. There is the main Administration Guide. use the F1 key on your keyboard to display context-sensitive help on that subject. Logging onNavigationPerforming Basic Actions Working with Tools and Submitting a Job or Job Chain Monitoring and Managing Jobs Configuring an SAP Features System for Central Process SchedulingConnecting to SAP SystemsCreating Isolation Groups and Assigning them to UsersImporting CCMS JobsCreating a Job Chain with Sequential JobsThe Job Definition TypesCreating Job Definitions Introduction to the Help System Use Welcome to the SAP CPS Help guides. you may skip the sections covering configuring and connecting to SAP Systems. You switch between guides by using the drop-down on the top left-hand side of the window. personalizing user settings. You can also take a look at the job chain definition [http://www. the results will not be clickable. If you search for a series of keywords. use fuzzy search instead. Fuzzy Search Fuzzy search allows you to search for a word similar to the one you entered.8 Paramter~0. Also. You may also limit the search results to the current guide. The smaller the number. The supported wildcards are * and ?. You may use another browser or copy paste the url of the result into the Address field of your browser. when frames are enabled. 50 . The syntax is to specify the word followed by a tilde (~) and a number < 1. these do not work well with CamelCase words. so an active internet connection is required. You search in a specific guide by checking the Current guide checkbox.com]. For example. the topic will be ranked higher than others. when you open the html help locally with Mozilla Firefox. this limitation is due to licensing restrictions imposed on us by our third-party vendors.8. however. For example: Constrainers~0. For example. The search system supports the following search methods: • keyword search • fuzzy search • wildcard search • proximity search Note Although the help search works fine with all mayor browsers when browsing online.redwood. if the keyword appears in the title. the fuzzier the search. The maximum number of results is limited to 200. you may specify multiple keywords with the fuzzy modifier. Proximity Search You can search for multiple words in proximity of each other using quotes a tilde (~) and a number > 1. The search results are retrieved from www. Keyword Search A keyword search is a simple search by which the keywords specified are located in topics.8 will match Constraints.Using SAP CPS Text Search Use You search the online help using the text field on the left-hand side of the online help page.Getting Started . Constrainers~0. surround the keywords with quotes ("). Note that you cannot search for multiple words in quotes using fuzzy search. you cannot specify a search query starting with a wildcard. however.com [http://www.redwood. Since the help system is composed of multiple guides. "Process Parameters"~1 will match Process Server Parameters. Wildcard Search You can use wildcards in your search queries. when you search the online help all guides are searched by default. this is a security feature. masalan.html (note there is no ? character after the index. the value is in milliseconds. Note that in the above example.masalan.com:53000/scheduler/help/index.html?Guide=Server_User_Interface_Guide&Page=user_guide/concepts/text_search. your URL is http://prd. so we added &timeout=1500. The help system accepts a timeout URL parameter that must be set to a valid integer.masalan.html?Guide=Server_User_Interface_Guide&Page=user_guide/concepts/text_search.html. on slow networks you would add ?timeout=1500 to the URL as follows: http://prd.html?timeout=1500 Symbols Use The following symbols are used throughout the user interface: • Job notes • and Preconditions • true • false • Wait/Raise Events • Events • • Raised • Cleared Boolean values (false or true) • or • false true 51 . there are already Guide and Page URL parameters. on slow networks you may specify http://prd.com:53000/scheduler/help/index. On slow networks online help search can be disabled because the default timeout is too low.html).com:53000/scheduler/help/index.Using SAP CPS Slow Networks and Timeouts The search system attempts to detect the fastest server to perform the online help search. This uses a timeout of 900 milliseconds. On very fast networks you might want to decrease the timeout.html&timeout=1500. Another example this time without other URL parameters: http://prd. For example.masalan.com:53000/scheduler/help/index.Getting Started . This is a limitation of the product. 52 . you will not be able to return to your session. Enable/Disable Updates Enables or disables the updater. Task Description Enter Registration Details Register for tutorials Setup Wizard open setup wizard to connect to SAP or platform agents. especially handy when you are experiencing issues with SAP CPS Support The support jsp allows you minimal system access in case you can no longer access SAP CPS. you are entitled to use one isolation group at any given time. manuals and tools can be found in the Product Information screen. Note If you get an HTTP error 403 .Using SAP CPS Logging on Use When you log on. Only access when SAP Support Services instruct you to do so.sharedPartitions is a numeric value. If this is the case and you are unable to logout.Getting Started . • <port> is the HTTP port of the SAP NetWeaver system.Access Denied error after logging in. you will have to restart your browser. If the value of the license key System. your user may be lacking the scheduler-user role. which checks online for newer versions of SAP CPS Get Support Files Allows you to download log files.port>. Prerequisites To access SAP CPS the following is required: • a web browser • a username/password with appropriate authorizations • a URL The URL has the following syntax http://<. Build:<xxxxx> The exact version information of the currently deployed web application Popup-windows and Session State When you have a popup window open and you terminate the process of your browser.:<.hostname>. You will have to choose for the session at logon if you are a member of several isolation groups. since the popup windows keep session-state data. which you can open by choosing the blue i icon. Version Information and Help General Version information./scheduler • <hostname> is the hostname of the SAP NetWeaver system where SAP CPS is installed. you are put into an isolation group. The following figure shows the main screen. 53 . 3.4. The home page shows the status of the entire system. The Main Screen Upon successful log-in. a blank page with Please log in gets loaded. Procedure 1. Choose Log on. Enter the username and password. the browser context-menu has been replaced with a product specific context-menu. You access the More dialog. like SAP Process Scheduling by Redwood version 7. 2. Enter the URL into the browser's address bar. It offers the same features as an application installed on your local workstation.0. Keyboard Shortcut Keys You access the documentation using the F1 key. the pop up window closes. you can access SAP Process Scheduling by Redwood only by its web-based UI. a. displayed when a field has a long list of values. This home page can be used to access other parts of the system. choose Please log in. It may take a few seconds to reorganize the display if this is the first time. Refer to the documentation of your pop-up blocker if you are unsure how to proceed. If a pop-up blocker is installed.Getting Started . A pop up window that requires a username and password to log-on with appears.Using SAP CPS Note If a pop-up blocker is installed. Navigation Use In contrast to previous versions. This UI allows you to access the complete functionality for which you have authorizations. using the F2 key. and the main window refreshes to show the user interface. you should configure it to always allow pop-up windows from the URL of SAP CPS. which has been adapted for screen-readers. This job runs fine with the defaults. so choose Submit in the white box on the left-hand side. A new tab opens on the right-hand side. Select the System_Info job in the list. the ability to change language.Using SAP CPS The title bar at the top of the page provides information about the current session. When this job definition is selected the preview pane changes to show its details. This closes the Submit Wizard and the job monitor is displayed where the newly submitted job is displayed. In the Submit Wizard times and dates at which the job runs can be specified. it is the show page. The navigation bar is on the left-hand side. Choose the first job in the list. 54 . This opens the Submit Wizard. a new tab is created with only that job definition. it provides access to frequently used facilities. use the context-menu of System_Info in the table. this allows access to the different screens that are shown in the main pane on the right-hand side. 5. Now. as well as the queue and priority to use. choose the Name. The tool-bar is below the title bar. 2. A preview pane appears. showing a list of all job definitions in alphabetical order by name. this shows all the definitions. 3. Browsing and Working with Objects You can use the navigation bar on the left-hand side to access different objects within the system. 1. A pop up menu appears. 4. Choose Definitions. If the system is busy choose Refresh from the context-menu to see the new job. More details about these are provided later. The preview pane shows more detailed information about the currently selected object in the table. Choose Job Definitions. and press the submit button on the bottom row. Select Show all jobs. 7.Getting Started . In the details pane. Choose Submit. and (on the far right-hand side) a logout button. 6. The Title bar and Tool bar The following figure shows the title and tool-bars. this opens a new tab. this takes you back to the job monitor. Choose plus (+) to expand this.Getting Started . and move to the preview pane. displayed for the current overview. • Submit job . Some items have a plus (+) in a box next to them.allows you to access version information.in your chosen language.this opens the user specific settings dialog. a file containing the output and another containing eventual errors. • To change the language . • Information . • Options . the greeting provides information about the logged on user and the system you have logged on to. Choose the file name. as well as the current isolation groups in brackets []. The title-bar provides the following: • Language switcher . all open tabs are the reloaded with the new language.refreshes the currently selected tab. • Refresh . • IntelliSearch . these can be expanded to show more information. this shows the files that the job created while it was running.the context-sensitive filter is displayed in the job monitor by default. • Job Monitor . 55 .this provides a direct link to the job monitor.Using SAP CPS 8.on the upper right-hand corner there is a log off button. the online help as well as the link to register for tutorials and support. • To log out .this link submits a new job. The title bar provides information about the current session and the ability to change the language and log out.the home page provides an overview of system status. • Log off .choose the logout icon on the far right-hand side.quick and efficient object search. The file contains a list of System Properties and other information that is useful for SAP Support if there is a problem. The second item with a plus (+) next to is Files.allows you to change your current language. 9.choose the new language from the drop-down box. showing the file contents. Here information about the currently submitted job is displayed. 11. • Filter . Choose the (x) on the left in the tab to close the tab (hover over the little icon). The tool-bar provides quick access to several frequently used facilities • Home . Select the new job in the table. 10. This job created two files while it was running. • Greeting . it can be displayed for all tabs that display objects but you need to create a filter first when there is none. Some examples are: • Jobs can be restarted. • Example actions that require further input: Edit.Getting Started .update the display for the current tab • Close tab . Some actions require further input before they can be completed. • The object has become read-only. • Close all other tabs . more overview-specific icons can be displayed on the title-bar.delete an object • Export .Using SAP CPS Depending on the currently selected overview.. held.create a new object of type <object_type> • Edit . and so on. like a job that has reached the status queued.allows you to hide the navigation bar and optimize screen real-estate • Help . In some cases not all actions are available.export the object to a CAR file for backup • Refresh . There are 5 basic actions that are supported by most objects: • New <object_type> . Actions All objects have actions associated with them. Actions without the trailing ellipsis are executed immediately. • Queues can be held and released • Process servers can be started and stopped. • Job definitions and job chains can be submitted as jobs.) to indicate that further input is required.. There are three reasons why this may be: • The local security policy • Restrictions in the license. resubmitted. Add Job Note and Resubmit.will close the current tab and switch to the previously selected tab. Release and Refresh Additional actions for navigation: • Toggle fullscreen . • Example actions that don't require further input: Hold. these actions are shown with a trailing ellipsis (.edit an existing object • Delete .closes all tabs except for the current tab Restrictions on Actions Licence restrictions can prevent the following actions: 56 . released.display the help topic covering the current tab • Refresh .refresh the current overview to display recent changes Many objects also support specific actions. • Creating Users or Roles . Procedure Create a navigation bar 1. operators would only need the Monitoring part of the navigation bar. objects that support this feature have an extra Add to navigation bar action.persist().these are supplied by Redwood. It is possible to change the description of a time zone. Issue the following code in RedwoodScript to activate this privilege: { GlobalPrivilege priv = jcsSession. Furthermore. You select your navigation bar for use in the Options dialog. 2. Security A global system privilege has been introduced to allow you to restrict access to the default navigation bar in SAP CPS. Creating Custom Navigation Bars Use You can customize the navigation bar by creating your own. On the Customize tab. with the items the most used.getGlobalPrivilegeByName(GlobalPrivilege. • Creating job definition types . as these are fixed. You can also add objects to your navigation bar for quick access.setActivated(true). 4. Note that this new global system privilege is deactivated by default. You can enable it using RedwoodScript.PRIVILEGE_DEFAULT_NAVIGATION_BA priv. it is not possible to create or delete time zones. jcsSession. } 57 . • Editing or Duplicating job definitions of type System . which means that all users can access the default navigation bar. Hosting Providers When you have the Hosting Module.Using SAP CPS • Creating job definitions -in this case only standard job definitions or ones imported from CCMS are available. 5. Fill in a name and optional description and comment. 3. the role defined in the /configuration/support/role registry key governs who can see the default navigation bar. Only users with the defined role can see the default navigation bar.these are supplied by Redwood. Choose Save & Close. Choose New Navigation Bar from the context-menu. Navigate to Configuration > Navigation Bars.Getting Started . For example.these are automatically synchronized with SAP UME. drag the elements you want from the default navigation bar to yours. The screen-reader users require the scheduler-screen-reader role to enable these features. a new subordinate page will be displayed. allowing to choose a language. submit job. Despite what the name might suggest. depending on your application server: • SAP NetWeaver . this property is supported by SAP CPS • Other supported application servers . search jobs .you use the scheduler-screen-reader role or append &sapaccessibility=X in the URL. 1. tool-bar . Examples of groups are: • Monitoring • Definitions When a link of a group is followed. 2. Basic flow The main navigation control groups links for all object types. 5. 3. which are lists of objects of a certain type. This topic explains what actually changed and how to use it. When a row in the list of such a page is chosen.Input used for using the IntelliSearch function. a tab page is opened. 58 . Note that the use of the role is highly recommended.Using SAP CPS Navigating with Screen Readers Use Means of navigation have been improved for screen-reader users. It will also contain context-specific actions for the current page. Most of the pages opened are so called "overviews".Shows the systems version information. log-out button . Note that this now also influences the screen-reader. information dialog . 2. show options dialog. An entry is added to a list containing the names for all currently open tab pages. and is designed for testing purposes. Prerequisites SAP CPS has been tested with the JAWS screen-reader for the visually impaired. The control will only show one group at a time with all links for the group. A page is opened (using a frame) containing the information associated with the object type.SAP UME allows you to set a property for visually impaired users. All links on hidden groups are not shown.Simple button. the URL parameter is supported on all supported application servers. Extra Controls on the Main Page Besides the controls described in the basic flow. show job monitor page. performing a log out. which consists of two visible parts: 1. When you want to use a screenreader. you have the following options. the main page contains more controls.This is a simple combo input. 4. The page contains all attributes of the selected object and offers all possible actions on the object. language selector .Contains actions like: show summary page.Getting Started . Using SAP CPS 6. arrow down can be used to announce row contents. by using the '1' key. most pages contain a list of objects. Selecting a link will open a page. you can make use of the fact that the tab names are level 1 headings. edit. a detail page is displayed besides the overview. selecting a tab representing the page will show it. and refresh. these are prefixed with the "open" keyword. To display a page. delete. It contains general information about the system. Certain fields have an auto-complete functionality. It works like tab pages. Fields with a darker background are mandatory. however more can be open at the same time.This is the default page shown after logging on. with the exception of detail pages. A simple Edit window (for the Queue object) is shown below.Getting Started . Performing Basic Actions Use The Basic Actions that most objects support are create. by navigating through level 2 heading. Selecting a group will expand it. Create and edit windows are pop-up windows that can be used to create or change an object's details. Fields with a white background are optional. The queue editor has several tabs on it. after that it will show the links inside. Again. When these fields are chosen a small light bulb is shown next to the field on the 59 . summary page . so they will appear first. export. like "Monitoring". and can be navigated as such. one navigates through the rows. The tool-bar also contains links and they are placed higher up on the page. The following figure shows the first tab of the queue editor. From here you should be able to access all the data and actions of the object. At anytime one page is shown. With level heading 3 navigation you can directly navigate to it. the Queue tab can be used to edit the main object's own details. Using the Screen-Reader for Basic Flow Groups can be accessed since they are links. The Process Servers tab is used to add or remove the process servers fed by the queue. After selecting a row. an additional Security tab is displayed and allows you to grant specific users or roles object-level access to the object you are editing. This allows fine-grained security. As soon as one or more letters have been entered into such a field.Using SAP CPS left-hand side. Note Custom roles are created in your authentication system and are created in SAP CPS as soon as a user with the role successfully logs on. which requires the Chargeable version and is part of the Chargeable version. you can grant one or more of the built-in roles to your custom roles. You can also grant privileges of object types to your custom roles on the following levels: Privileges of object types 60 . It has limitations. in a time window field. for example.Getting Started . which means that all SAP Systems are isolated from each other. You choose an isolation group when you log on which allows you to interact with one SAP System only. This link can be used to create a new object of the appropriate type in a separate window while the first object is edited. The following figure shows the second tab of the queue editor. Security In the Free of Charge version. The letter sequence does not have to start with the first letter of the object's name. as the built-in roles are task-oriented and no object-specific privileges are available. Some fields also have a New <object_type> link next to them. To navigate between different relationships. When you have the Security Module. a drop-down provides possible choices and automatically filter these to match the letter sequence entered. Your SAP CPS is in isolation mode. Ind as well as dence both match the time window System_US_IndependenceDay. which allows you to manage security in a quick and easy way. with several relationships. use the white box located above. choose Add. You can use the wildcards % (any numbers of characters) as well as _ (single character) and can use the escape character \ to escape these wildcards. To create a new relationship. This populates the lower window with fields for the object's relationships. Choose the object that is to be deleted in the table. which would not make sense. to your custom roles. the users that have this role have the View and Edit privileges. 2. Choose Delete from the context-menu.applies to a single partition. 3. you grant ranks of privileges. if you grant the Edit rank to a custom role. • Isolation group wide . Choose New <object_type> from the context-menu. 2. • Partition . Use the context-menu of the object and choose 'Edit'. Navigate to the overview screen for that object. 61 . Navigate to the overview screen for that object. For example.applies to all partitions in an isolation group. like Edit and Delete. 3.applies to all partitions. as you cannot grant the Edit privilege without the View privilege. To edit an object of a particular type: 1.Using SAP CPS • System . Choose the icon to go to the overview screen for that object. You can of course grant multiple ranks. Procedure To create an object of a particular type: 1. This reduces the amount of grants you need to make and avoids human error. You cannot grant privileges directly.Getting Started . To delete an object of a particular type: 1. 2. Find the object type in the navigation bar. When you define a filter. See the IntelliSearch topic for more information.Getting Started . Navigate to Definitions > Job Definitions 2. Choose Save & Close Result The new filter will be selected and only objects that match your filter will be displayed. however. for example. most objects can be filtered by name. The following conditions were taken from job definition filters: Where Where Where Where Where Where the the the the the the name contains specific keywords name starts with a prefix Job Definition belongs to an application Job Definition belongs to an application containing specific keywords Job Definition is defined as top level Job Definition is a built-in one Procedure Creating an object filter: 1. IntelliSearch allows you to quickly display one or more objects by simply entering specific data. if you have the reporting module. you need to specify your query each time If you want to quickly locate objects.a dynamic filtering tool. Note that the interface will display the description instead of the name of the filter when it is set and that descriptions have fewer limitations. Choose Filter > Create Filter from the context-menu. some prefixes like System_ are reserved. You may specify any valid name for a filter. you only specify your search criteria once (see Event filters and job filters) • applications . 5. 3. Fill in the name and description fields 4.you can navigate to the application the object belongs to • IntelliSearch . You should be familiar with filters from the job monitor. Choose one or more criteria. 62 . you can use Sysdm_ instead.a static filtering tool. application and other object properties. for each property you can include or exclude objects. like a distinct subset of a name. you define a SQL query.Using SAP CPS Locating Objects Quickly Use The following features allow you to locate objects quicker: • filters . Filters can also be used to generate reports. and the objects are not always similar use IntelliSearch instead of filters. SAP CPS makes it easy for you to define such a query by providing you with a list of properties as follows. Not all objects have a Name property. for example. you should always search in your session-language. which stands for Last Modification Time. you just enter your search-phrase. description Description field of object a. The available prefixes are documented in the topic covering the object. which is the title of the operator message. The search is case-insensitive. choose Add. Choose Filter > Create Filter from the context-menu. Press the F1 key to access context-sensitive help with the table of available prefixes. in this case the n prefix is not available. Note You can only use valid prefixes. 6. name Name field of the object c. Fill sysdm in to the name field and System Job Definitions into the description field. application Application field on object The n or name prefix is optional. so if you want to search on the name of the object. which is now available for most objects. 63 . For some objects like operator messages. then specific keywords from Selection field below. like operator messages for example. Choose Where the name contains specific keywords. You can use prefixes to search on object-specific properties. The search only searches in the current tab and by default searches for the name on most objects. The following prefixes are available for most objects: Prefix Description n. Choose Save & Close. 3. 5. 2.Using SAP CPS Example Creating a job definition filter for system job definitions: 1. Fill in System. Choose Where the Job Definition is a built-in one. Navigate to Definitions > Job Definitions.Getting Started . Advanced Object Search Use SAP CPS allows you to search seamlessly through objects with the new search box. Note The F1 key does not work in the Shell. 7. then OK. 4. System is a reserved word and only built-in definitions may have it in their names. all other prefixes are required. comment Documentation field of object d. like lmt. Default objects often have translated field values. This is to illustrate that you can select multiple conditions. you would rather search for the Title text. the search will be carried out on the name of the object: <search_criteria> Some objects do not have a name prefix.returns the number of items in a group 64 .calculates the average • COUNT ([ [ ALL | DISTINCT ] <expression> ] | * ) . in these cases the default prefixes have been mapped to object-specific prefixes.Getting Started . If you just enter the search-phrase. Enter the following text into the Search Job Definitions box to display only jobs with import in the description field: description:import In this example. Note If the search-phrase contains spaces. too many job definitions matched the search! More search criteria needs to be added to refine the search: description:"import Java" application:SystEm Locating Objects Quickly with Custom SQL Filters Use Custom SQL filters use a subset of the ANSI '92 SQL language. The where keyword is implied. Note There is no space between the : and the prefix or search-phrase.. Example To search for a job definition with the description Import Java Archive (JAR) into a Library: 1. Functions The following functions have been implemented: • AVG(<expression> | DISTINCT column-name) . the search-phrase must be surrounded by double quotes (").. Navigate to Definitions > Job Definitions 2.Using SAP CPS Syntax <prefix>:<search_criteria> <prefix>:<search_criteria> . Credential.formatNow() REL function format. these functions may not always return the expected value. <timezone>]) . • SUM([DISTINCT | ALL] n) .*.<format> conforms to Time.UniqueId as c_1 FROM Credential WHERE ((Credential.CredentialProtocol in (select CredentialProtocol. you need to inspect the data model available in the API documentation.UniqueId from CredentialProtocol where CredentialP This will create the following query: SELECT Credential.calculate the maximum value from <expression> • MIN() .RequestedStartTimeInternal > now('subtract 11 hours set hour 11 truncate hour') and Job.Using SAP CPS • FORMAT_EXPRESSION(<expression>. Job.RequestedStartTimeInternal > now('subtract 11 hours set Writing your own Custom SQL To write your own custom SQL. Job.<expression> conforms to Time.Getting Started . you see the CredentialProtocol field of the Credential table is of type BIGINT which means that it will contain 65 . <format>[.formatNow() and expression to Time.UniqueId as c_1 FROM Job WHERE (Job.returns a sum See Extended Time Functions ( see the Administration Guide ) for more information on syntax. in the datamodel.<format> conforms to Time.calculate the minimum value from <expression> • NOW([<expression>]) .expressionNow() REL function expression.CredentialProtocol in (sele Jobs Display jobs that have a requested start time between 11:00 in morning today or yesterday and 11:00 tomorrow morning or today. In this example. • FORMAT_NOW(<format>[.RequestedStartTimeInternal < now('add 13 hours set hour 11 truncate hour') This will create the following query: SELECT Job.expressionNow() REL function expression. • MAX(<expression>) . Note Depending on the underlying database. you query the Credential table and you want filter by credential protocol. Example Credentials You want to extend an object filter on credentials to list only credentials with the soap CredentialProtocol Credential. <timezone>]) . depending on what time it currently is.*. Please see the documentation of your database vendor for implementation specifications. cmu.contrib.txt • Redwood Expression Language Functions SQL BNF Use TOKENS e/ <DEFAULT> SKIP : { " " | "\t" | "\r" | "\n" | "/*" : WithinCComment | "--" : WithinSqlComment } <WithinCComment> SKIP : { "*/" : DEFAULT } <WithinCComment> MORE : { <~[]> } <WithinSqlComment> SKIP : { "\n" : DEFAULT } <WithinSqlComment> MORE : { <~[]> } s/ 66 . See Also • SQL BNF • http://www.andrew.edu/~shadow/sql/sql1992. You thus have to select the UniqueID of the credential protocol from the CredentialProtocol table.Using SAP CPS the UniqueID of the credential protocol.Getting Started . Getting Started .Using SAP CPS 67 . Getting Started .Using SAP CPS <DEFAULT> TOKEN : { <KEYWORD_ALL: "ALL"> | <KEYWORD_AND: "AND"> | <KEYWORD_ANY: "ANY"> | <KEYWORD_AS: "AS"> | <KEYWORD_ASC: "ASC"> | <KEYWORD_BETWEEN: "BETWEEN"> | <KEYWORD_BY: "BY"> | <KEYWORD_DELETE: "DELETE"> | <KEYWORD_ESCAPE: "ESCAPE"> | <KEYWORD_DESC: "DESC"> | <KEYWORD_DISTINCT: "DISTINCT"> | <KEYWORD_EXISTS: "EXISTS"> | <KEYWORD_FN_AVG: "AVG"> | <KEYWORD_FN_COUNT: "COUNT"> | <KEYWORD_FN_MIN: "MIN"> | <KEYWORD_FN_MAX: "MAX"> | <KEYWORD_FN_SUM: "SUM"> | <KEYWORD_FN_BIT_LENGTH: "BIT_LENGTH"> | <KEYWORD_FN_CAST: "CAST"> | <KEYWORD_FN_CONVERT: "CONVERT"> | <KEYWORD_FN_CURRENT_DATE: "CURRENT_DATE"> | <KEYWORD_FN_CURRENT_TIME: "CURRENT_TIME"> | <KEYWORD_FN_CURRENT_TIMESTAMP: "CURRENT_TIMESTAMP"> | <KEYWORD_FN_EXTRACT: "EXTRACT"> | <KEYWORD_FN_LENGTH: "LENGTH"> | <KEYWORD_FN_LOWER: "LOWER"> | <KEYWORD_FN_POSITION: "POSITION"> | <KEYWORD_FN_SUBSTRING: "SUBSTRING"> | <KEYWORD_FN_TRANSLATE: "TRANSLATE"> | <KEYWORD_FN_NOW: "NOW"> | <KEYWORD_FN_FORMAT_NOW: "FORMAT_NOW"> | <KEYWORD_FN_FORMAT_EXPRESSION: "FORMAT_EXPRESSION"> | <KEYWORD_FN_TRIM: "TRIM"> | <KEYWORD_FN_UPPER: "UPPER"> | <KEYWORD_FOR: "FOR"> | <KEYWORD_FROM: "FROM"> | <KEYWORD_GROUP: "GROUP"> | <KEYWORD_HAVING: "HAVING"> | <KEYWORD_IN: "IN"> | <KEYWORD_INNER: "INNER"> | <KEYWORD_INSERT: "INSERT"> | <KEYWORD_INTERSECT: "INTERSECT"> | <KEYWORD_INTO: "INTO"> | <KEYWORD_IS: "IS"> | <KEYWORD_JOIN: "JOIN"> | <KEYWORD_JAVAENV: "JAVAENV"> | <KEYWORD_TODATE: "TODATE"> | <KEYWORD_LEFT: "LEFT"> | <KEYWORD_LIKE: "LIKE"> | <KEYWORD_LOCK: "LOCK"> | <KEYWORD_MINUS: "MINUS"> | <KEYWORD_MODE: "MODE"> | <KEYWORD_NOT: "NOT"> | <KEYWORD_NULL: "NULL"> | <KEYWORD_STRINGNULL: "STRINGNULL"> | <KEYWORD_DATENULL: "DATENULL"> | <KEYWORD_KEYNULL: "KEYNULL"> | <KEYWORD_OF: "OF"> | <KEYWORD_OR: "OR"> | <KEYWORD_ON: "ON"> | <KEYWORD_ORDER: "ORDER"> | <KEYWORD_OUTER: "OUTER"> | <KEYWORD_RIGHT: "RIGHT"> | <KEYWORD_SELECT: "SELECT"> | <KEYWORD_SET: "SET"> | <KEYWORD_SOME: "SOME"> 68 . "+"])? <FLOAT>)?> | <#FLOAT: <INTEGER> | <INTEGER> ("."A"-"Z"]> | <TOKEN_BIND: "?"> | <TOKEN_CHAR_LITERAL: ("\'" (~["\'"])* "\'")+> } NON-TERMINALS Identifier ::= <TOKEN_IDENTIFIER> NullLiteral ::= "NULL" StringLiteral ::= <TOKEN_CHAR_LITERAL> NumberLiteral ::= <TOKEN_NUMBER> BindVariable ::= "?" .Getting Started ."E"] (["-"./ TopLevelWhereClause ::= WhereClause <EOF> SQLStatement ::= ( UpdateStatement | InsertStatement | DeleteStatement | SelectStatement ) <EOF> 69 ./ TopLevelSQLStatement ::= SQLStatement ." <INTEGER>)? | "." <INTEGER>> | <#INTEGER: (<DIGIT>)+> | <#DIGIT: ["0"-"9"]> } <DEFAULT> TOKEN : { <TOKEN_IDENTIFIER: (<LETTER>)+ (<DIGIT> | <LETTER> | "_")*> | <#LETTER: ["a"-"z".Using SAP CPS | | | | } <KEYWORD_UNION: "UNION"> <KEYWORD_UPDATE: "UPDATE"> <KEYWORD_VALUES: "VALUES"> <KEYWORD_WHERE: "WHERE"> s/ <DEFAULT> TOKEN : { <TOKEN_NUMBER: <FLOAT> | <FLOAT> (["e". Getting Started .Using SAP CPS void CommitStatement(): { } { "COMMIT" } void RollbackStatement(): { } { "ROLLBACK" } UpdateStatement ::= "UPDATE" TableReference "SET" UpdateValues ( WhereClause )? UpdateValues ::= UpdateValue ( "." TableColumn )* ")" )? ( "VALUES" "(" SQLLiteralExpression ( "." RelObjectName )? RelObjectName ::= ( "LENGTH" | "POSITION" | <TOKEN_IDENTIFIER> ) Comparison ::= ( "=" | "<>" | ">" | ">=" | "<" | "<=" | "#" ) TableReference ::= RelObjectName TableReferenceWithAlias ::= TableReference ( AsObjectName )? SelectStatement ::= SelectWithoutOrder ( OrderByClause | ForUpdateClause )? 70 ." SQLLiteralExpression )* ")" ) DeleteStatement ::= "DELETE" ( "FROM" )? TableReference ( WhereClause )? TableColumn ::= RelObjectName ( "." UpdateValue )* UpdateValue ::= TableColumn "=" UpdateValueRHS UpdateValueRHS ::= ( TableColumn | SQLLiteralExpression ) InsertStatement ::= "INSERT" "INTO" TableReference ( "(" TableColumn ( ". " FromItem )* FromItem ::= ( JoinedPrimaryTable | JoinedPrimaryTableNested ) JoinedPrimaryTable ::= TableReferenceWithAlias ( JoinClause )* JoinedPrimaryTableNested ::= "(" JoinedPrimaryTableNestedInnerClause ")" ( JoinClause )+ JoinedPrimaryTableNestedInnerClause ::= ( TableReferenceWithAlias ( JoinClause )+ | JoinedPrimaryTableNested ) JoinClause ::= LeftJoinSubClause | LeftJoinSubClause InnerJoinSubClause ::= "LEFT" ( "OUTER" )? "JOIN" TableReferenceWithAlias JoinOnClause 71 ." "*" AsObjectName ::= ( "AS" )? <TOKEN_IDENTIFIER> FromClause ::= "FROM" FromItem ( ".Getting Started .Using SAP CPS SelectWithoutOrder ::= "SELECT" ( SelectDistinctOperator | SelectAllOperator ) SelectList FromClause WherePlaceHolder ( GroupByClause )? ( SetContinuation )? SelectList ::= ( SelectStar | SelectItemWithAlias ( "." SelectItemWithAlias )* ) SelectAllOperator ::= ( "ALL" )? SelectDistinctOperator ::= "DISTINCT" SelectStar ::= "*" SelectItemWithAlias ::= SelectItem ( AsObjectName )? SelectItem ::= ( <TOKEN_NUMBER> | <TOKEN_CHAR_LITERAL> | SetFunctionCall | SelectAllItems | TableColumn ) SelectAllItems ::= RelObjectName ". however that the #OrderByExpression(>) qualifier means that this node will only be created if there is more than one child node. Note. void RightJoinSubClause(): { } { "RIGHT" [ "OUTER" ] "JOIN" TableReferenceWithAlias() JoinOnClause() } InnerJoinSubClause ::= ( "INNER" )? "JOIN" TableReferenceWithAlias JoinOnClause JoinOnClause ::= "ON" SQLExpression WherePlaceHolder ::= ( WhereClause )? WhereClause ::= "WHERE" SQLExpression GroupByClause ::= "GROUP" "BY" SQLExpressionList ( "HAVING" SQLExpression )? SetContinuation ::= ( "UNION" ( "ALL" )? | "INTERSECT" | "MINUS" ) ( "(" SelectWithoutOrder ")" | SelectWithoutOrder ) OrderByClause ::= "ORDER" "BY" OrderByExpression ( "." OrderByExpression )* This node is needed in the output tree as the OrderByClause expression which includes it simply blats all of its children out separated by an "." RelObjectName )? OrderByAscendingClause ::= <KEYWORD_ASC> OrderByDescendingClause ::= <KEYWORD_DESC> ForUpdateClause ::= "FOR" "UPDATE" "OF" RelObjectName "." RelObjectName SQLExpression ::= SQLOrExpression SQLNotExpression ::= "NOT" 72 . since. If this node is not in the tree then this simplistic processing would fail.Using SAP CPS PW: Removed the ability to parse Right outer joins. SAP OpenSQL does not have the ability to deal with them.Getting Started .". OrderByExpression ::= OrderByColumn ( OrderByAscendingClause | OrderByDescendingClause )? OrderByColumn ::= RelObjectName ( ". even if it only has one child. as the query regenerator uses this to spit out the surrounding braces. Note.Using SAP CPS SQLOrExpression ::= SQLAndExpression ( "OR" SQLAndExpression )* SQLAndExpression ::= SQLUnaryLogicalExpressions ( "AND" SQLUnaryLogicalExpressions )* This node is needed in the output tree as the and expression which includes it simply blats all of its children out separated by an "AND". If this node is not in the tree then this simplistic processing would fail. SQLExpressionList ::= SQLSimpleExpression ( ". SQLUnaryLogicalExpressions ::= ( SQLNotExpression )? ( ExistsClause | SQLRelationalExpressions ) ExistsClause ::= "EXISTS" "(" SubQuery ")" SQLRelationalExpressions ::= SQLSimpleExpression ( SQLRelationalExpression | SQLComparisonExpression )? SQLRelationalExpression ::= ( "IS" ( "NOT" )? IsNullClause | ( ( SQLNotExpression )? ( IsNullClause | SQLInOperator | SQLBetweenOperator | SQLLikeOperator ) ) ) IsNullClause ::= ( "NULL" | "STRINGNULL" | "DATENULL" | "KEYNULL" ) This node can never be omitted. however that the #OrderByExpression(>) qualifier means that this node will only be created if there is more than one child node." SQLSimpleExpression )* SQLComparisonExpression ::= Comparison ( ( ComparativeSubQueryType "(" SubQuery ")" ) | SQLSimpleExpression ) ComparativeSubQueryType ::= ( AnySubQueryType | AllSubQueryType )? AnySubQueryType ::= ( "ANY" | "SOME" ) AllSubQueryType ::= "ALL" 73 .Getting Started . 74 | FunctionCall | TableColumn | "(" SQLExpression ")" .Getting Started . } )+ } SQLUnaryExpression ::= ( "+" | "-" )? SQLPrimaryExpression SQLPrimaryExpression ::= SQLLiteralExpression This node cannot be elided as it is used in the regeneration of the insert statement to determine whether we are emitting a constant or a column reference.Using SAP CPS SQLInOperator ::= "IN" "(" ( SQLExpressionList | SubQuery ) ")" SQLBetweenOperator ::= "BETWEEN" SQLSimpleExpression "AND" SQLSimpleExpression SQLLikeOperator ::= "LIKE" SQLSimpleExpression ( SQLLikeEscapeExpression )? SQLLikeEscapeExpression ::= "ESCAPE" StringLiteral SQLSimpleExpression ::= SQLAdditiveExpression SQLAdditiveExpression ::= SQLMultiplicativeExpression ( ( "+" | "-" | "||" ) SQLAdditiveExpression )? SQLMultiplicativeExpression ::= SQLUnaryExpression ( ( "*" | "/" ) SQLMultiplicativeExpression )? void SQLPowerOfExpressions() #void : { } { LOOKAHEAD(SQLPowerOfExpression()) SQLPowerOfExpression() | SQLUnaryExpressions() } void SQLPowerOfExpression(): { } { SQLUnaryExpressions() ( "**" SQLUnaryExpressions() { jjtThis.setValue("**"). it does not need to // be in the output tree CountArguments ::= SelectStar | ( SelectDistinctOperator SQLPrimaryExpression ) // This is just a grouping mechanism for the arguments.Getting Started . it does not need to // be in the output tree GeneralFunctionArguments ::= SelectStar | 75 ( ( SelectDistinctOperator | SelectAllOperator ) SQLExpression ) .Using SAP CPS SQLLiteralExpression ::= ( NullLiteral | NumberLiteral | StringLiteral | BindVariable ) FunctionCall ::= JavaEnvFunctionCall | ToDateFunctionCall | NowFunctionCall | FormatNowFunctionCall | FormatExpressionFunctionCall | SetFunctionCall | BannedFunctionCall SetFunctionCall ::= ( "COUNT" "(" ( CountArguments ) ")" | "MIN" "(" ( GeneralFunctionArguments ) ")" | "MAX" "(" ( GeneralFunctionArguments ) ")" | "SUM" "(" ( GeneralFunctionArguments ) ")" | "AVG" "(" ( GeneralFunctionArguments ) ")" ) BannedFunctionCall ::= ( "BIT_LENGTH" | "CAST" | "CONVERT" | "CURRENT_DATE" | "CURRENT_TIME" | "CURRENT_TIMESTAMP" | "EXTRACT" | "LENGTH" | "LOWER" | "POSITION" | "SUBSTRING" | "TRANSLATE" | "TRIM" | "UPPER" ) "(" ( GeneralFunctionArguments ) ")" // This is just a grouping mechanism for the arguments. Topic Description Working with Tools and Features Submitting a Job or Job Chain Monitoring and Managing Jobs Configuring an SAP System for Central Process SchedulingConnecting to SAP SystemsCreating Isolation Groups and Assigning them to UsersImporting CCMS JobsCreating a Job Chain with Sequential JobsThe Job Definition TypesCreating Job Definitions Java Diagram Applet Reference Use The diagram applet is used to display dependencies between different objects." StringLiteral ( ". The viewport is embedded in a tab by default and can be shown in a pop-up. The following actions are available in the diagram applet: Action Description Help Open the relevant help topic Quick Reference Show this topic 76 .Using SAP CPS JavaEnvFunctionCall ::= "JAVAENV" "(" ( StringLiteral ) ")" ToDateFunctionCall ::= "TODATE" "(" ( StringLiteral ".Getting Started ." StringLiteral )? ) ")" SubQuery ::= SelectWithoutOrder Advanced Actions Use The following table lists the topics that describe frequently used tools and features." StringLiteral ( ". for example the process server and queue diagram applet is used to graphically display process server usage as well as relationships between process servers and queues in a 2D diagram." StringLiteral )? ) ")" FormatExpressionFunctionCall ::= "FORMAT_EXPRESSION" "(" ( StringLiteral "." StringLiteral )? ) ")" NowFunctionCall ::= "NOW" "(" ( StringLiteral )? ")" FormatNowFunctionCall ::= "FORMAT_NOW" "(" ( StringLiteral ( ". The diagram applet consists of two windows. a mini-map and a main viewport that allows you to make the most out of your screen real-estate. To enable XML editing. the rectangle in the middle of the slider allows you to immediately jump to 100%).zoom to a specific percentage (10% to 190%. see Importing SAP CPS Objects for more information. The car files are in fact jar files.collapse all. choose (click) a location on the slide-bar to set the zoom-level • + . You can also expand exported car files. • choose with the alternate button .expand all. which allows you to use an external editor and perform a global search and replace. they are saved as XML files in CAR files. Special care needs to be taken when you edit objects in XML. you will not be able to use the embedded upload functionality found in car files. for example.When you export objects.Using SAP CPS General Navigation Mini Map You can use the Mini-map to quickly jump to a desired location in the diagram: • scroll-wheel . Main Diagram In the diagram applet main viewport.. recursively • [-] . respectively Toolbar A toolbar is available when you hover over the yellow triangle and allows you to perform the following: • slider .open the current Help topic Editing Objects in XML Use You can edit objects in XML in the user interface. and edit the files. the Java executable to create jar files.zoom in 10% • . you can use your pointing device to perform the following gestures: • scroll-wheel .zoom out 10% • [+] . • Special characters must be escaped using entities • No trailing spaces are allowed 77 .Getting Started . which can be opened by programs understanding zip. you need to set the Allow edit as XML option in the Setting User Parameters. to re-assemble the car file.zoom the minimap. If you do not use jar. recursively • [?] .the context-menu • choose the name of a process server or queue to open the process server or queue.zoom the main viewport. please see the Mozilla Firefox documentation for more details. ". which needs to be escaped as <.!</Co See Also Importing Objects Documenting Objects using the Documentation Tab Use You use the Documentation tab to document the object. ". ' &apos. or <. If you need to use character entities. You may embed http://. 78 . Example The following example illustrates what not to do: <Description>My description contains a trailing space. Character HTML Entity Decimal Entity < <. & The following table lists the characters that have to be escaped and the entities you may use instead. There are ways to disable this feature using about:config. Note When you use other entities. <. special characters that must be escaped include the following: <. which is not allowed! </Description> <Comment>I must remember not to use special characters like <. they cannot be hidden in html markup. For example.org/TR/REC-xml/#syntax]. > >. but others might not be and will prevent you from saving the object. &.Using SAP CPS Special Characters According to the W3C Recommendation [http://www. note that the latter can only be UNC paths (no drive letters) and cannot be accessed from Mozilla Firefox as the browser does not allow servers to serve local files which include UNC paths. you should always use decimal entities wherever possible. '. these are replaced with the actual characters once you save by the XML parser. >. the steps vary depending on the version of Mozilla Firefox you are using. & &. Mailto hyplerlinks also work. >.w3. you use the Documentation tab to explain the usage of a specific job definition or job chain. and file:// hyperlinks. however. Note that you can also embed {{doc://} hyperklinks that will link to SAP CPS Documents. " ". The above HTML entities are recognized in XML.Getting Started . Permalinks You can also use permalinks to link to other objects. for example server\share will be specified as file://///server/share. link to the job definitions used in job chain jobs. You can also write directly into document objects using a 3rdparty Rich Text Editor. See Also Documents 79 . for example. three for the file protocol and two to indicate that you wish to use a SMB share. to be downloaded separately by an administrator from the document editor dialog. this allows you to. that is five forward slashes.<extension> Document objects allow you to reuse your documentation.Getting Started .Using SAP CPS UNC Paths UNC paths are specified using the file protocol. so Firefox users will not be able to access UNC paths unless they disable this feature. Note Mozilla Firefox has a security feature that disables file links served by HTTP servers. Document Links You can upload your documentation to Documents and link to these from the documentation field using the following syntax: doc:/<name>. Security in SAP NetWeaver d. Tuning SAP CPS 80 . Using Queues c. Windows and other platforms when you have appropriate licenses. Creating Isolation Groups and Assigning them to Users e. Privileges 4. Creating Event-Driven Schedules e. SAP CPS offers the possibility to schedule over multiple systems ( load balancing ). Isolating Users and Objects b. Configuring an SAP System for Central Process Scheduling d. Security in Redwood Platform ( see the Administration Guide ) c. 1. Assign Users from External Platforms to Jobs f. Generating Reports 6.Chapter 7. a. it also integrates with a lot of the external non-SAP applications. Checking Your License 2. Configuring the Central and Satellite Systems 3. Using Process Servers b. Administering the Scheduling Landscape Use These main administration tasks for fine tuning the security policy or tuning job execution cover the whole Scheduling Landscape. both the Central and all satellite systems. The Registry 8. Enhanced SAP Interfaces with Redwood Transports c. Understanding the Different XBP Interface Releases b. Connecting to SAP Systems Managing Roles and Users a. Process servers run natively on Unix. Prevent Simultaneous Execution of Processes d. Setting User Parameters 7. Auditing Object Changes 5. Scaling the Scheduling Resources on the Central System a. When you lack a license key. that could mean 100 OS process servers (Unix. features that require a license item include: • Scripting module • Mail module • SNMP module • Import/Export module • Expiration date • Number of SAP Systems • Number of platform agents A license is made of license keys that have a value. Regular Activities for SAP CPS Checking Your License Use A license enables certain licensed features.name Masalan Inc product. Navigate to Configuration > License Keys to inspect your license. Windows and HP OpenVMS) and no SAP process servers or 98 OS process 81 .ImportExport true ProcessServerService.id prd1 Note In the above license.OS. boolean or string.Scripting true Module.SAP. Balancing the Load Organizing Processes a. Managing Job Output Formats 12.Administering the Scheduling Landscape f. Creating Applications 10.requesting_version M37 signature 1.limit 2 company. the value can be a date.a300a310a300600a318a319a320a321a330a330400a330200a330600a340a340400a340600a350a380a380800 system.limit 100 ProcessServerService.contract SLA-MSLN-PROD-1 company.External. Importing and Exporting SAP CPS Objects 11.expiry 20100630 request.limit 100 ProcessServerService. that license key will automatically have the value of false. 9. number. the licensee can create 100 external workload schedulers in total. Your license should look similar to the one below: Module. ProcessServerService.Auditing Auditing allows tracking of changes to objects and restor. ProcessServerService. if they are defined.External.limit Running z/OS (JCL) jobs via a platform agent running on the host. Module.OS.Archiving Active Archiving module for archiving job output to an Boolean Archive Server.Hosting Hosting module for increased environment isolation Boolean Module.AS400.WebServices.Inbound Module that allows the inbound web services to be pub. It does not mean that the licensee can create 102 (100 OS and 2 SAP) process servers. Boolean Module. Boolean Module.ImportExport Import/Export (pay per Redwood instance) Boolean Module.Boolean port for grants. PricingModel. Note Monitoring-only process servers do no longer use a ProcessServerService.SNMP Can System_SNMP_Send job to used to send SNMP traps Boolean Module.Security Security allows custom non-rank privileges and import/ex.UserMessage UserMessage support Boolean Module.limit Maximum number of external process servers that can Limit be configured. They are also constrained by their respective keys.limit Maximum number of AS400 process servers that can be Limit configured. Module.Administering the Scheduling Landscape servers and 2 SAP process servers. Boolean Module.RemoteEvent Remote Event module that allows the jevent tool to be used. Boolean Module.IsolationGroup The IsolationGroup module allows creating isolation groups in the full version. then the sum of defined platform agents and SAP systems cannot exceed this value.limit key.Scripting Scripting module for Redwood Script support and advanced REL functions.ProcessMonitor ProcessMonitor support Boolean Module. 82 Limit .JCL.Alerting Active Monitoring module. The following table illustrates some of the license keys that are available. If this is defined. Name Description Type Module.Job Job Based Pricing. Boolean Module.Reconciliation Activate the reconciliation interface. ProcessServerService.LoadBalancing Load balancing capabilities. Boolean ProcessServerService.Mail Can the System_Mail_Send job be used to send email Boolean Module.Boolean ation of objects from a previous iteration.Boolean lished and called. Module.JCL_FTP Running JES jobs via a UNIX or Windows platform agent Boolean that contacts the host via its FTP server. Boolean Module. for example. SAP. however.lim.JDBC.limit Maximum number of JDBC process servers that can be Limit instantiated ProcessServerService.OraOhi.Boolean tionsAPI tion Enabler (BAE) enabled.Maximum number of SAP BAE connectors that can be Limit nector.Calendar. ProcessServerService.LowVolume. each must reside in its own isolation group.XBPVari.limit configured.OraApps. ProcessServerService.XBPEx.SAP.Publish.Maximum number of Oracle PeopleSoft Servers that can Limit it be configured. Solution Manager Integration.limit Maximum number of Oracle Health Insurance Servers that can be configured.Can SAP calendars be synchronized Sync Boolean ProcessServerService.Administering the Scheduling Landscape ProcessServerService.limit Limit Maximum number of platform agents that can be configured ProcessServerService.Is Solution Manager Integration enabled (requires Pro. ProcessServerService. ProcessServerService.MassActivities Processing of mass activities. then you can create an unlimited number of SAP Systems.threshold Maximum number of jobs that a LowVolume process server can process in one day.SAP. ProcessServerService.PeopleSoft.Mail) ProcessServerService.ApplicationsAPI) ProcessServerService.Boolean Manager cessServerService.BAECon. ProcessServerService.limit Maximum number of SAP process servers that can be Limit instantiated.iDoc Support for iDocs. ProcessServerService.limit Maximum number of Oracle Application Servers that can Limit be configured.SAP.ApplicationsAPI and optionally Module.SAP.Applica.Is support for working with variants enabled ant Boolean 83 .XBPAllVersions Can the Redwood transports that allow full functionality Boolean in all XBP versions be used ProcessServerService.Restart of SAP BW Process Chains / Processes.Process.Can SAP external commands and programs be used ternal Boolean ProcessServerService.OS. If the value is 0.SAP.Is support for the Applications API aka Business Automa. Limit ProcessServerService.SAP.SAP.limit Maximum number of Publish process servers that can be Limit instantiated ProcessServerService. Used for Closing Cockpit.cc Is Closing Cockpit integration enabled (requires ProBoolean cessServerService.SAP.LowVolume.SAP.Solution.SAP.limit Maximum number of Low Volume process servers that Limit can be configured.SAP.SAP. ProcessServerService.SAP. ProcessServerService. ChainRestart Boolean Boolean Boolean ProcessServerService. and SAP BW process chain type CPS.OracleJob Allow activation of the OracleJob service and the PL/SQL Boolean API. Limit ProcessServerService. For example.limit Maximum number of active business users.Administering the Scheduling Landscape ProcessServerService.SNMP Note No spaces should be entered before or after the colon (:). Limited by the number of allowed SOAP Credential Protocols. name name of the license key (case sensitive) con. Limit System.lim.Maximum number of SAP Business Objects process it server services that can be configured Limit ProcessServerService.jsp. WebServices. contract contract name (case sensitive) 84 . the old license keys remain in place and have no effect. The license manager is available at: http://server:port/scheduler/ui/licence/manager. Limit System.Production Is this license for a production system? If this is false then Boolean only non-production systems can be connected to. Limit System. Searching License Keys You can search for license keys using the Search License Keys box located under your username on the top righthand side of the user interface.VMS.BusinessUsers.OutboundServer. The following table illustrates the available prefixes for license keys: Prefix Description n.limit Maximum number of servers that can be contacted via SOAP calls.NamedUsers. This is due to the fact that there are restrictions in the Free of Charge version which do not exist in the Chargeable version. if you want to display all license keys for contract SGO-FR-0210-008-P you would use the following search criteria: c:SGO-FR-0210-008-P You can search more than one property. as follows: c:SGO-FR-0210-008-P n:Module.limit Running VMS (DCL) jobs via a platform agent.limit Maximum number of active named users. This is known as IntelliSearch and allows you to specify complex queries in a simple way using prefixes. See the Advanced Object Search for more information. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. Limit Note When you install a new license from a different contract. Warning Reverting from a Chargeable to a Free of Charge version is not supported.SAPBOBJ. You can use the license manager to remove old licenses by deactivating the contract. however.limit and ProcessServerService. and all the other SAP job definitions that run jobs will only allow ABAP reports. as long as the grand total OS process servers + SAP process servers does not exceed the value defined in ProcessServerService.SAP.ApplicationsAPI license key • SAP_AbapRun. not be able to access the system via its user interface.OS. SAP allows you to create as many OS and SAP process servers as you want. • BW restart will be possible.SAP. At any 85 . SAP_BW_ProcessChainRun.SAP.limit license key.External.limit license key is limited to 0. • all monitors from SAP (via XAL) will be created in the appropriate isolation group. • job control rules will function only for jobs from the defined XBP client.limit license key. they require the ProcessServerService. you need to stop the SAP CPS application running in the application server. the following restrictions are in place: • one SAP System may be created per partition with one XBP client. however. and it expires. See the Uninstalling SAP CPS topic ( see the Administration Guide ) for more information.ProcessChainRestart license key • Mass activities will be possible. • SAP batch event will raise events in the isolation group only. You will. SAP Systems Note You may be restricted to connecting to a single SAP System from within SAP CPS at any given time. If you are in this situation and you want to stop SAP CPS. if applicable. child jobs will be picked up regardless in which client they were created.limit. You might wish to remove SAP CPS completely. • only the system can create partitions with a null isolation group. variants. usually for testing purposes.Administering the Scheduling Landscape Special Restrictions License Expiration When a license has an expiration date. they require the ProcessServerService.SAP. all scheduled jobs will continue to run and be rescheduled by their submit frame. and process chains that have been imported into SAP CPS Process Servers The maximum amount of external process servers is specified by the ProcessServerService.limit. How you do this depends on your application server. To allow you the greatest flexibility. however. • any partition with a null isolation group is read-only.MassActivities license key • Redwood transports will be available for mass activities • SAP Applications API will be available.SAP. this depends on your license. it would normally be coupled with two other license keys that share the same number which are ProcessServerService. If the ProcessServerService.SAP. • variant management will be limited to the defined XBP client.External. it requires the ProcessServerService. your privileges and the value of the ProcessServerService. however. you have the choice between generating a &free. note that you can install the license on top of any other license that is already installed. Managing Your Licenses with the License Manager Use The License Manager is available under Software > License Keys and allows you to inspect. b. 3. If you have not purchased any license from SAP. Vendor Restrictions Not all vendors distribute the same functionality. Note that in this case you will have to delete the three SAP instances before the expiration period has been reached if you have chosen not to apply for a permanent license for 8 SAP instances. To request a license. otherwise choose Activate Free of Charge license. To apply for a license. you need to generate a license request. you may shutdown and delete a process server to make room for another. Navigate to Configuration > License Keys.Administering the Scheduling Landscape time. For example. You also use the License Manager to install a new license. for example. Choose License Manager from the context menu of License Keys. You have received a license for a further three SAP instances (so for 8 SAP instances) for a period of three months. When you first install SAP CPS. Next. You can create as many of them as you require. that to delete a process server all dependent objects. assign to component XX-PART-REDWOOD-CPS and submit the ticket. Select the type system you want to license. no further actions are required to enable the old 5 SAP instances again. and install a set of license keys. a. 86 . need to be deleted first. however. please see the Different Versions section for more information. Again. follow the instructions on the screen: please create an OSS ticket and copy the license request including ## BEGIN REQUEST ## and ## END REQUEST ## into the OSS ticket. this depends on the licenses you purchased from SAP. once the expiration has been reached. You will receive your license via the OSS ticket. choose Request Key for Enterprise License. select Test for a test or QA system. please contact SAP Customer Support. leave the default. You may have to install a subset of license keys into an already licensed system. 2. You will be able to connect to 8 SAP instances until the expiration date on the license has been reached. Note. regardless of either being an SAP or OS process server. To deactivate a license. which can be done using the wizard at installation time after a successful login or using the License Manager. or a Chargeable license. Choose 'Generate License Request. SAP CPS will always use the license key for any component with the highest value as long as it has not expired. if you purchased a license from SAP. such as jobs that ran on that process server. you have installed a license to connect to 5 SAP instances and 5 platform agents. disable. Note Monitoring-only platform agents on Microsoft Windows and UNIX are free of charge. Procedure Generating a License Request using the License Manager 1. Copy and paste the license into the License Key field. some modules can only be purchased from Redwood Software and not from other vendors. Choose License Manager from the context menu of License Keys. proceed to Entering License Keys. License key Description System. 4. 87 . Different Versions Use Depending on the vendor and requirements. 3. proceed to Entering License Keys. Navigate to Configuration > License Keys. 2. Close the License Manager window or tab.SAP. The Free of Charge version is only available to SAP customers. Deactivate a License or Contract 1.Administering the Scheduling Landscape 4.limit=10 Limit is for 10 SAP CPS users. 2. 3. 5. The Free of Charge version The following license keys are available in the Free of Charge version. ProcessServerService. Navigate to Configuration > License Keys.SAP. Once you have received the license. c. Additional modules are available to complement the features of the Chargeable version.Production=true The Free of Charge component is able to connect to production SAP systems. Choose Enter License Keys 4. ProcessServerService. d. Relicense SAP CPS 1. Close the License Manager window or tab. System. Once you have received the license. Close the License Manager window or tab. Entering License Keys 1.XBPExternal=true Allow users to run SAP initiated external commands through SAP CPS rather than through SAP itself.NamedUsers. however.ApplicationsAPI=true Provides integration for SAP applications that have been written to take advantage of the SAP specific API direct into SAP CPS. two versions of SAP CPS are available. Choose License Manager from the context menu of License Keys. copy the license request including the ## BEGIN REQUEST ## and ## END REQUEST ## lines and send it to your SAP support services requesting a license as outlined on the License ( see the Administration Guide ) page. The Chargeable version can be purchased from all vendors. If you chose Request Key for Enterprise License. Choose 'Deactivate Contract. migrating objects from dev > test > production). Note this is set to 10 in the Free of Charge version.limit=0 Set to 0 in Free of Charge version to enforce isolation mode.LoadBalancing= true Enable SAP CPS load balancing capabilities Module.cc=true Allows integration with SAP Financial Closing Cockpit as part of SAP Fast Close solution.SAP. Module.SAP.Allows integration with change control and documentation management ager=true aspects of SAP Solution Manager.NamedUsers. Maintains isolation mode for any SAP systems beyond nn. System. ProcessServerService.ImportExport=true Allows migration of definitions between repositories (for example.Administering the Scheduling Landscape ProcessServerService. Restart=true ProcessServerService.XBPVariant=true Enables ABAP job variants to be managed from within SAP CPS instead of within SAP.Provides integration for SAP applications that have been written to take API=true advantage of the SAP specific API direct into SAP CPS.Allows management of Mass Activity Processing (for example with ies=true IS-U).XBPExtern.SolutionMan. ProcessServerService. ProcessServerService.SAP. ProcessServerService.SAP. ProcessServerService.Allows automated restart of SAP NetWeaver BI process chains. Note that SAP sells agents for these platforms only.OS.Allows use of Redwood transports to provide full XBP functionality sions=true across all versions of XBP in use. The Chargeable version The following license keys are available in the Chargeable version.Allow user to run SAP initiated external commands through SAP CPS al=true rather than through SAP itself.SAP. ProcessServerService.SAP.Applications. See the Operating System Platform specific section below for other OS platforms.SAP. Allows OS job management and file events on nn Windows or UNIX systems.Production=true Allow connect to production SAP systems.Allows integration with change control and documentation manageager=true ment aspects of SAP Solution Manager. ProcessServerService.External.SAP. ProcessServerService.Mail=true Allows use of predefined job definitions to send email for basic alerting.CalendarSync=true Allows import of SAP calendars into SAP CPS to aid migration.SolutionMan. License key Description ProcessServerService. Does not include Advanced Alerting Enhancement Pack.limit=nn Customer specific. ProcessServerService. Allows individual management of unlimited SAP systems but no cross SAP system or client scheduling. Module.limit=nn Customer specific.SAP. ProcessServerService. Allows cross SAP system scheduling for nn SAP systems. Requires purchase of SAP Financial Closing Cockpit (available from SAP AG). ProcessServerService.XBPAllVer.limit=nn Imposes a total Process Server count made up from a combination of SAP and UNIX or Windows systems.ProcessChain.limit=unlimited Allow unlimited SAP CPS users. System.SAP.SAP. 88 . Note this is set to 0 in the Free of Charge version.SAP.MassActivit. Financial Process Automation Module License key Description System.Alerting=true Enables Advanced Alerting capabilities. Module. Does not provide capabilities of Advanced Alerting Enhancement Pack. please contact your account representative.Enables integration for SAP applications that have been written to take adtionsAPI=true vantage of the SAP specific API direct into SAP CPS. Operating System Platform specific These features are not available from SAP AG and can only be purchased from Redwood Software.Included with both the Free of Charge and Chargeable versions of SAP CPS.SAP.RemoteEvent=true Remote event module that allows the jevent tool to be used. Allows integration with SAP Financial Closing Cockpit as part of SAP Fast Close solution. License key Description Module. License key Description ProcessServerService. ProcessServerService. Module. ProcessServerService. if you need the following functionality. In any case.Auditing=true Allows tracking of changes to objects and restoration of objects from a previous iteration. License key Description ProcessServerService.limit=<n> Enables <n> users to log on to the business-centric user interface.Scripting=true Allows additional scripting functionality in REL (Redwood Expression Language).AS400. Requires purchase of SAP Financial Closing Cockpit (available from SAP AG). ProcessServerService.Applica. Manager=true Allows integration with change control and documentation management aspects of SAP Solution Manager.SAP.JCL_FTP=true Allows JES jobs to be run via ftp using a Windows or Unix platform agent. Business Automation Related The following features extend SAP integration of the Chargeable version.Solution. Additional Features & Modules Advanced Modules The following modules extend features already present in the Chargeable version.SNMP=true Allows use of predefined job definitions to send SNMP traps for basic alerting.SAP. Module.cc=true Only included with the Chargeable version of SAP CPS. Provided with both Free of Charge and Chargeable versions. 89 .Administering the Scheduling Landscape Module. Allows use of Java for complex scripting.limit=nn Defines the number of IBM AS/400 (also known as iSeries or System i5) systems that can be managed by SAP CPS.BusinessUsers. • Setting up an SAP RFC user with the necessary privileges and connecting to SAP Systems. if you need the following functionality. Enterprise ERP Modules These features are not available from SAP AG and can only be purchased from Redwood Software.threshold=nn Defines the number of daily low volume jobs that can be used between all low volume process servers.limit=nn Defines the number of Oracle Applications process servers you can have. please contact your account representative. SAP CPS requires an RFC user on every SAP AS (ABAP) system with specific privileges and connection details which are stored in SAP Systems repository objects.0.LowVolume. and provides the default SAP job definitions.limit=nn Allows JES jobs to be run directly on the mainframe. In any case.LowVolume.limit=nn Defines the number of low volume process servers that can be defined.VMS.OraApps. SAP CPS software needs to be installed on the mainframe. License Key Description ProcessServerService.0 functionality on SAP Systems offering XBP 2.0/3. ProcessServerService. ProcessServerService.limit=nn Defines the number of OpenVMS systems that can be managed by SAP CPS.0 and XBP 3. • Using the default SAP job definitions • Setting up Message Driven Beans Scheduling The Free of Charge license uses only the built-in functionality of the interfaces of the connected SAP release. License key Description ProcessServerService. • Setting up XBP 2.limit=nn Defines the number of Microsoft Dynamics Ax process servers you can have. Low Volume Process Server Low volume licensing is now available from Redwood Software. See Also • Checking Your License Configuring the Central and Satellite Systems Use The SAP module allows you to connect to SAP Systems.DynamicsAx. Note that unused jobs are not taken over to the following day.Administering the Scheduling Landscape ProcessServerService. the Chargeable SAP CPS takes advantage of so-called Redwood transport files that enhance the functionality of the following interfaces: 90 . ProcessServerService.JCL. 0. 91 . BC-XBP 2.0 features Connecting to SAP Systems a.SAP. Note The SAP Pi/XI interface requires a Chargeable license. Understanding The Different XBP Interface Releases 2. 1.Administering the Scheduling Landscape • XBP 0. Since the BC-XBP 3.0 • Industry Solutions (IS) mass activities For more information on the transport files.limit is set to 0. Integrating SAP Monitors f. Monitoring SAP CPS Availability in CEN i. Parsing Log Files to set Job Status of SAP Jobs e. which allows external process schedulers access to CCMS Background Processing components of SAP Systems. Intercepting SAP Jobs b.1. Enhanced SAP Interfaces with Redwood Transports 3.0 and BC-XBP 3. 4. Controlling Batch Input Sessions c. Configuring the Message Driven Beans Scheduling Interface Understanding the Different XBP Interface Releases Use The BC-XBP interface. Interacting with SAP Events d. Configuring an SAP System for Central Process Scheduling a. The releases are named after their version numbers: BC-XBP 0.1 to 3. Controlling Communication Channels with SAP CPS via PI/XI h. you will be restricted from accessing more than one SAP System if the license key ProcessServerService.0. All four revisions of the interface require certification.0 interface is quite complicated we will follow the course of history and discuss the oldest interface first and then present the additional functionality of the later versions. has gone through three major upgrades. Enabling XBP 2. Note If you are using an isolation group. Sending Monitoring Data to SAP Systems g. see Enhanced SAP Interfaces with Redwood Transports. BC-XBP 1. The BC-XBP 1.0 The BC-XBP 1.0 with transaction SE38. and spool files. change and remove steps from jobs. some interfaces had different record structures.0. and it was made possible to set the job recipient. and have the latest Support Packages installed. if you run release 4. BC-XBP 1.0.0 is interception. • Retrieve a job's definition. • Release a job and request it to be run now or as-soon-as-possible. Although no calls changed between Basis 3.5. • Add. Thus. Interception The most important feature that was added with BC-XBP 2. and the job was not scheduled by an external scheduler (for example SAP CPS). The CCMS scheduler by default runs with some disabled features.0 installed. Customers that implemented interfaces using BC-XBP 0. Not all print parameters could be set using the external scheduler.0 version fixed most of the problems that were found with the 0. An important step was made by SAP with BCXBP 2. status.20.1 The BC-XBP 0. As of early 2004. 92 .1 quickly found that there were some minor issues with the functionality. you have BC-XBP 2. log. the interface contained functionality that cannot be obtained from within SAPGUI. If you can find an ABAP program named INITXBP2 then you have at least BC-XBP 2.1 and 4.0. Also. If interception is switched on.1 to 40 in 4. For the first time.0.Administering the Scheduling Landscape BC-XBP 0.0 interface lived on in early releases of SAP Web Application Server with Basis releases 6.10 and 6. Unfortunately it was still not possible to set the job class. With BC-XBP 0. BC-XBP 2. and which are also used in the transactions that allow end users to submit background jobs.10 and 6. the CCMS scheduler does some extra processing when a job's scheduled running time arrives. Support packages were quickly introduced that upgraded 6.0. jobs could not be deleted by the external scheduler. These jobs would then take up work processes that were meant for scheduled batch jobs. When turned on. and the job class was fixed to "C". The most important change was the increase of the maximum job name from 8 characters in 3.1 interface consists of a set of wrappers around some of the internal calls that were already supplied to ABAP programmers.1 it was possible to schedule jobs from the external scheduler. as it was now possible to delete jobs and set more print parameters (but still not all). BC-XBP 0. The issue that it solves is the problem related to jobs that are scheduled in SAP directly and that are not under the control of an external scheduler.0. The intercept concept only works in the presence of an external scheduler. all SAP versions that are in "normal support" status have Support Packages that include BC-XBP 2.6B or higher.1 allows an external scheduler to: • Create a job or modify a job and most of its attributes.20 to BC-XBP 2.1 release.0 The next version of the BC-XBP interface was released with SAP Basis 4. and setting the job recipient was no longer possible. but the SAP System remained leading since the scheduler could not even delete the jobs it started when it deemed these jobs should be deleted.1 release is strictly tied to SAP Basis releases 3. and needs to be explicitly turned on. The BC-XBP 0.1 and 4.0! Note You can verify that you have BC-XBP 2. When SAP CPS is used to do all batch job scheduling. For example. • Job name. ensuring fair sequencing of all batch jobs. SAP recommend that all operators use the job monitor view to view the actual SAP job status. 93 .0. Since SAP was not able to introduce a new status in the batch job table for fear of breaking their own and other's applications. The result is that if an external scheduler asks for the status of an intercepted job it receives Intercepted.Administering the Scheduling Landscape and the job is supposed to run now. they are intercepted when they are ready to run. then interception serves no purpose and it does not need to be used. the volume of jobs started outside of SAP CPS should be low. the CCMS does not track whether a job is submitted by a job or something else. you could put their usernames in the criteria table. because it means that job chains in SAP cannot say "start this when that job is finished completely. if you find that your financial end users are causing stoppages by ad-hoc selected jobs. Parent/Child jobs By default. Since the online transactions are not modified. but the same job is Scheduled in tools that have not been modified. since CCMS does not even know what a child job was. and no SAP applications are in use that create their own jobs. name and owner are compared to a list. • Job owner. and SAP has addressed the issue in AS ABAP 7. Unfortunately the criteria do not easily allow you to match all background jobs started by SAP programs unless these have a job name that starts with a specific character string. it is not set to Ready but set to Scheduled and inserted into a list of 'freshly intercepted jobs'. such as U* for the job owner will match all users whose account starts with U. even with BC-XBP 2. it had to re-use the Scheduled status in combination with the new intercept table. To counter this. This is also true for background jobs started by DDIC. you can intercept only certain categories of jobs. Based upon these criteria there are three useful policies that can be used for job interception: No interception required If there are no users in the SAP Systems that can release jobs. If you do not have this release. SAP CPS can then ask for this list of intercepted jobs and make its own decision on what to do with the jobs. Wildcards can be used. make sure every job is intercepted so that they will adhere to the SAP CPS queue and resource settings. This was very confusing. Every job started outside of SAP CPS has the potential of interfering with other jobs start time. Some jobs are intercepted By carefully filling the criteria table. This is unfortunate. If the job matches the list. then the job client. Note Jobs are not intercepted when they are created. All jobs are intercepted Usually the most useful policy is to intercept all jobs. including its child jobs".1. As soon as SAP CPS has taken control of an intercepted job the SAP System will not report this job again the next time the scheduler asks for intercepted jobs. There are three criteria that can be used to define which jobs should be intercepted by CCMS: • Client. it means that any operator looking at the job with SM37 will see that the job is 'back' in the Scheduled status. see Setting Up Logical Systems [http://help.6D SAPKB46D35 SAPKB46D35 6. execute INITXBP2 in transaction SE38.6B SAPKB46B56 SAPKB46B56 and SAPKH46B60 4. is available for all SAP Web AS Basis releases that were actively supported by SAP in early 2004.0.0. it tells CCMS when it has made a permanent record of this relation so that the CCMS does not report the relation again. Functionality completeness With BC-XBP 2. Note Some SAP releases still report that they only support XBP up to 2.sap. CCMS itself still does not offer any "wait for job plus children" functionality. the current release. event history and monitor synchronization.30 by means of Support Packages (see SAP Note 604496 [http://service. To make sure. recipient and all print parameters per job step.0.20 SAPKB62017 SAPKB62033 BC-XBP 3. It has been ported to all releases older than 6. 94 .0 The BC-XBP release that is available depends on both the SAP Basis (Web Application Server) release and the Support Package level. Redwood therefore recommends using the Support Package of at least the Redwood recommended SP in the table below.sap. you have XBP 3. so an external scheduler is the only way this can be done.0 by specifying it in the SAP system object for job interception. SAP CPS can retrieve the parent/child relationship. When the parent/child functionality is switched on. SAP has fixed several issues relating to BC-XBP 2. if that is the case. you should see three options for job interception.0 requires a logical system for the client.6C SAPKB46C41 SAPKB46C46 4.0 in later Support Packages.com/sap/support/notes/604496]). You can also trigger batch input sessions by scheduling the ABAP program RSBDCSUB with the job definition SAP_AbapRun.Administering the Scheduling Landscape With the new parent/child functionality one can tell CCMS to store the fact of the parent/child relationship of jobs. BC-XBP 2.0 The latest release of the XBP interface adds much new functionality and improvements over XBP 2. Availability of BC-XBP 2.htm] for more information on creating logical systems for clients. As with interception. Examples of batch jobs that are now easy to do include processing batch input folders.10 SAPKB61027 SAPKB61038 6.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset. Release Minimum SP Redwood recommended SP 4.0 it is now possible to set the job class.0. although they have XBP 3. Note XBP 3. You can force SAP CPS to use XBP 3.0 as well. Availability of XBP 3. wildcards can be used. Spool Recipient XBP 3. Configuration Configuration in SAPGui You can enable XBP 2 and XBP 3 features using the ABAP INITXBP2. Interception XBP 3. that is import.0 re-introduces the spool recipient which had been removed from the XBP 2. You can now maintain variants from within SAP CPS.0 introduces variant handling.0 is available as of SAP Basis releases 7. Configuration in SAP CPS SAP CPS will by default use the most advanced interface. This means that depending on the XBP release. They are used exclusively by SAP CPS.com/sap/support/notes/961911] for more information. See SAP Note 961911 [http://service. it will be ported to a number of older releases via Support Packages. The following illustrates the enhancements that transport files offer. 95 . Variant Handling XBP 3.sap. For example.0 interface. You can force SAP CPS to use a specific XBP version by specifying it on the tab of the SAP CPS SAP system object or by setting the SynchronizationMode ( see the Administration Guide ) registry key. The transport files contain a number of functions that are stored in the Redwood name-space. The new criteria table takes processing order into account and allows you to exclude certain jobs from interception. it will have different XBP functionality.0 or 3. See Also • The Registry Enhanced SAP Interfaces with Redwood Transports Use The Free of Charge version only supports native XBP functionality provided by the XBP release of the SAP System. SAP CPS takes advantage of transport files that are installed on the remote SAP System and that enhance the XBP and Industry Solutions (IS) functionality offered by that system. Again.0. edit and save variants.0 Functionality for more information.0 XBP 3. thus they do not interfere with other functions in the SAP instance. followed by XBP releases in descending order.0 introduces a new criteria table. You can also make use of temporary variants. see Enable XBP 2. SAP CPS allows you to map any event with a combination of SAP event and SAP event parameter.0 introduces mapping of SAP events with external schedulers.Administering the Scheduling Landscape Event History XBP 3. being transports. which get deleted when the job finishes. you could intercept all jobs with a name starting with B except jobs starting with Back. • Dereleasing jobs (XBP 0. loading the XBP+ transport file is recommended.0.1 or 1. loading the XBP+ transport file is recommended. • You want to receive CCMS alerts. loading the XAL+ transport file is required. loading the XBP+ transport file is required.0) It was not possible to get a list of recipients from an SAP System. XBP offers variant handling. loading the XBP+ transport file is required. • You want to start and control mass activity runs on systems prior to ERP 2005S. In larger systems.2. where a table was not passed correctly.0) Variant handling has been improved with additional calls in the transport files.0) • Older XBP releases did not allow access to all job print parameters. 1.com/saphelp_bw/helpdata/en/c4/3a5f1f505211d189550000e829fbbd/content. and are running XBP 2.0. To improve performance. Calls have been added to retrieve the list of recipients.0 or lower. • Variant handling (XBP 0. • You want to work with Recipients.Administering the Scheduling Landscape • Faster monitoring (all XBP releases) • The standard SAP calls only allow SAP CPS to monitor jobs by doing a full table scan on the SAP job table. This made it impossible to receive alerts from SAP Systems.1.0.1 . • You want to intercept SAP jobs.0 or lower. an optimized call is included that allows scanning for jobs changed since the previous scan.sap.sap.0. This closely emulates the functionality found in XBP 2. Recipients retrieval functionality has been added to XBP 3.1. • Extra print parameters (XBP 0.2.0. Several different versions are available for different SAP releases: 96 .0) • Older XBP releases did not allow de-releasing jobs. and are running XBP 2. • You want more flexibility when you switch operation modes [http://help.htm] The XBP+ transport files The XBP+ ("XBP Plus") transport file is delivered by Redwood to supply missing functionality in BC-XBP. and are running XBP 0. but at the time of this writing it is less reliable as that provided by the transport files.0 with two new print parameters. see SAP Note 662694 [http://service. • External Alerting (XAL) There was a problem in an XAL RFC call. 1.com/sap/support/notes/662694] for more information. A corrected call is included in the transport file and is also available from SAP.1 . • You want to intercept SAP jobs.3. loading the IS transport file is required. • You want Variant handling. • Recipients (XBP 0. This extends the functionality found in XBP 2. and you are running XBP 3. this can be quite time consuming. When should a transport file be loaded If one or more of the following conditions are applicable: • You want to monitor other SAP jobs in SAP CPS. loading the XBP+ transport file is required. I46 The IS transport files For Industry Solutions (IS) Mass activities.6b K900095.B31 4.2. Navigate to Definitions > Job Definitions. Enabling XBP 2. 97 . Copy the R*.B31.6c-710 K000259.0 Features 1.i46 for releases 4. Choose Import Overview and choose the correct Import queue.B45. Note These are the names of the transports at the time of this writing. select Enable for Interception action and Parent/Child action.B45 4. to verify if the settings were applied.I46. For example. 3. Choose Submit and inspect the output of the corresponding job. the transport request to specify is I46K900090. Copy the K*. R000042.I46. Select the target SAP System.0b K000042.* file to /usr/sap/trans/data directory. Open Transaction STMS in SAPGUI.7. 3. Inspecting XBP Settings 1. the names change frequently as the transport files are updated. 5.1i-4. Add the request via menu item Extra > Other Requests > Add. 2. Note If you have a higher SAP basis version you must contact SAP Support Services for more information. a.4 and 4. 2. R000259. 3.* file followed by the name. Choose Submit from the context-menu of the job definition SAP_MaintainXbpOptions.Administering the Scheduling Landscape SAP Basis/WAS releaseXBP+ Transport files 3. select Show for Interception action and Parent/Child action. Choose Submit and inspect the output of the corresponding job. 4. Navigate to Definitions > Job Definitions. The name of the request is the extension of the K*. Choose Submit from the context-menu of the job definition SAP_MaintainXbpOptions.* file to /usr/sap/trans/cofiles directory. 2. Select the target SAP System. 4.6. Procedure Loading the transport files 1. R900095. if the transport to be loaded consists of the files R900099. there is currently only one set of transport files K000261.I46 and R000261. 4.5b-4.I46 and K900099. Choose Submit from the context-menu of the job definition SAP_MaintainXbpOptions. Navigate to Definitions > Job Definitions. Choose Submit and inspect the output of the corresponding job. select Enable with XBP 3. 4. These channels can be monitored from within the Communication Channel Monitor. The following table lists the job definitions that are available to control communication channels: Job Definition Description SAP_PI_GetChannelStatus Retrieves the current status of an SAP XI/PI channel SAP_PI_ImportChannels Imports SAP XI/PI channels SAP_PI_StartChannel Starts an SAP XI/PI channel SAP_PI_StopChannel Stops an SAP XI/PI channel Prerequisites • You switched to external control in the Communication Channel Monitor [http://help.Administering the Scheduling Landscape Enabling XBP 3. Select the target SAP System. this is outlined in the Controlling Communication Channels with SAP CPS via PI/XI • A user needs the following role to query the status of communication channels: • xi_af_channel_admin_display 98 . SAP CPS uses SAP PI/XI interfaces to interact with communication channels.com/saphelp_nw04/helpdata/EN/44/2a1a8620323f0ee10000000a114a6b/content. Communication channels can be controlled in three ways: • Manual . such as SAP CPS. This can be set in the Communication Channel Monitor. You configure SAP CPS to control the channels as outlined in the Controlling Communication Channels with SAP CPS via PI/XI section of the documentation.The communication channel is controlled by an external scheduler. 2.You control the communication channel by choosing Start or Stop in the Communication Channel Monitor.0 Features 1. Note The SAP PI/XI interface requires a Chargeable license.The communication channel is controlled by availability times.sap.htm]. 3.0 features for Interception action. • Automatic .to verify if the settings were applied. • External . SAP Communication Channels with PI/XI Use Communication channels are used in SAP instances to convert documents. • You configured SAP CPS to connect to the PI interface of your SAP instance. This can be used to wait until all files have arrived before the communication channel is started.Administering the Scheduling Landscape • A user needs the following role to start or stop communication channels: • xi_af_channel_admin_modify Since neither of these roles is assigned to an ABAP role or a J2EE user group by default. to make sure SAP CPS has an upto-date list of communication channels. See the Reference section Required Authorizations of the Remote System User and the Assigning SAP Authorizations to the RFC User procedure for more information. Select the Security Provider service. intercept and submit jobs as well as other tasks. against the desired communication channel of the SAP instance. • You can stop and start communication channels by submitting the job definitions SAP_PI_StartChannel and SAP_PI_StopChannel.htm] Configuring an SAP System for Central Process Scheduling Use To configure the Central Scheduler. Depending on the required functionality. Refer to the Creating Roles section for more information on creating a role.aii. This job definition should be scheduled to run regularly. 2.sap.sap.com/saphelp_nw04/helpdata/EN/45/0c86aab4d14dece10000000a11466f/content. respectively. • You check the status of communication channels by submitting the job definition SAP_PI_GetChannelStatus against the desired communication channel of the SAP instance.app*AdapterFramework. See Also • Controlling Communication Channels with SAP CPS via PI/XI • Importing Communication Channels • Controlling a Communication Channel Externally [http://help. you must assign them to a user explicitly as follows: 1. Assign the actions to the following application: a. When you connect to SAP CPS to monitor. Features • You import communication channels by submitting the SAP_PI_ImportChannels job definition against the SAP instance. SAP CPS connects to the different SAP Systems with an RFC user to perform the requested tasks. Start your Visual Administrator. If you have the Chargeable version and a free platform agent license. So each SAP System that is to be managed by SAP CPS must have a user defined with sufficient authorizations. 3. you first need to have an account with Administrative privileges. The communication channel is then started as soon as a specific file has been copied to a particular directory.af.com/com. you can use file events to trigger the job. sap. different SAP authorizations need to be granted to the RFC user. These job definitions should be scheduled to allow automated control of the communication channels. 99 . for example. Expand the AAAB .0 Functionality Assigning SAP Authorizations to the RFC User Use The RFC user requires privileges on the satellite systems to schedule processes.Administering the Scheduling Landscape Note You may be restricted to connecting to a single SAP System from within SAP CPS. Choose Change Authorization Data. Expand the main component to which the authorization belongs and locate the authorization. 3. 5. These privileges are listed in the SAP Authorizations section in the Appendix of the following guide. 4. Different interfaces are used to interact with the various SAP Systems in your landscape. it is advised to enable XBP 2. • Different XBP releases explained • Enable XBP 2. Choose Change Authorization Data. 6. Once you have located the authorization. Choose the minus [-] to add it to your selection. Navigate to Tools > Administration > User Maintenance > Role Administration > Roles (transaction PFCG).6B (XBP 2. you can save the role when the traffic lights are all green. Choose Save.Authorization check for RFC access.0 or 3. XBP is one of them. choose Do not select templates. Create a new role MASALAN and save the role. choose Do not select templates. You should now be in Change role: Authorizations. Assign values to the properties of the authorization.0) with the latest Support Package from SAP. 5.0 or 3. If the system shows a list of templates.SAP. 4. 10.limit is 0 and your privileges. You should now be in Change role: Authorizations. Choose the Authorizations tab. 2.0 available as of SAP Basis 4. 6. Create a new role REDWOOD and save the role. to take full advantage of your SAP System. 2. Choose the Authorizations tab. 3. 9. 100 . If the system shows a list of templates. choose the minus [-] to add it to your selection. 8. 7. Choose insert chosen once you are done selecting authorizations.Cross-application Authorization Objects and locate S_RFC . 7. Navigate to Tools > Administration > User Maintenance > Role Administration > Roles (transaction PFCG). Example 1. Procedure 1. this is the case if the value of the license key ProcessServerService. 0 Functionality Use To take full advantage of the capabilities of your SAP Basis release 4. Make sure Interception and Parent-Child Function are set to on 5. Set Type of RFC object to be protected to Function group. You can also use the job definition SAP_MaintainXbpOptions to inspect and set XBP 2. Always use the job monitor in SAP CPS to see parent-childrelationships.0 settings. if it is available in the SAP system. Set Name of RFC to be protected to *. XBP 3. see Understanding the Different XBP Interface Releases for more information.0. 9. Assign values to the properties of the authorization: a. Choose insert chosen. 10.0 offers better job interception support among other improvements.0 systems. However. Choose Execute to run the program 4. This program only needs to be executed once to enable XBP 2. parentchild-relationships will not be visible in SAPGUI.0 Parent/Child and Interception. which will allow you to enable parent-child-relationships for SAP jobs and SAP job interception. An ABAP program named INITXBP2 is available on SAP Basis release 4.Administering the Scheduling Landscape 8. Open transaction SE38 2. Note If you have three options for job interception.0.0 or 3.6B or later with SAP CPS it is strongly advised to enable XBP 2. Prerequisites An SAP System with SAP Basis release 4. Fill INITXBP2 into the program field 3. Note You can force the use of a specific XBP release.6B with the latest Support Packages from SAP. later releases usually have these features enabled by default with the latest Support Packages from SAP. b. This is especially handy on older NetWeaver 7. then you have XBP 3. c. Inspecting XBP Settings with SAP_MaintainXbpOptions 101 . Choose Execute to save the settings.0 or 3. Enable XBP 2. by specifying the SynchronizationMode ( see the Administration Guide ) registry key. which do not correctly report the available XBP version. you can choose the * to do this. Set Activity to *.6B with the latest Support Packages. Procedure Setting and inspecting XBP settings with INITXBP2 1. Choose Save. Choose Submit and inspect the output of the corresponding job. Navigate to Definitions > Job Definitions. requires XBP 3. Navigate to Definitions > Job Definitions. • Synchronize monitoring and alerting data with the SAP System via XAL and XMW interfaces. JXBP and BW-SCH interfaces. 3.0. 4. select Enable with XBP 3. See Also • Understanding the Different XBP Interface Releases • The Registry Connecting to SAP Systems Use SAP System definitions describe the characteristics of a single SAP System. Enabling XBP 2. The SAP System definition is used to: • Schedule/monitor SAP jobs via XBP. select Show for Interception action and Parent/Child action. process chains. Choose Submit and inspect the output of the corresponding job. 4.0 Features with SAP_MaintainXbpOptions 1. select Enable for Interception action and Parent/Child action. mass activities and set load-specific properties on the application servers 102 . Choose Submit from the context-menu of the job definition SAP_MaintainXbpOptions. 2. 3.0 features for Interception action. 2.0 Features with SAP_MaintainXbpOptions 1. Context-Menu Actions SAP Systems support the following context-menu actions: Action Description Edit Security Edit the security of the SAP System Duplicate Make a copy of the SAP System to create a similar one Maintain Objects Allows you maintain ABAP program variants. Choose Submit from the context-menu of the job definition SAP_MaintainXbpOptions. Choose Submit from the context-menu of the job definition SAP_MaintainXbpOptions. Navigate to Definitions > Job Definitions. 4. 3.Administering the Scheduling Landscape 1. Select the target SAP System. Select the target SAP System. to verify if the settings were applied.to verify if the settings were applied. It is possible to create more than one SAP System definition to connect to more than one SAP System. Choose Submit and inspect the output of the corresponding job. • Synchronize CCMS events. Enabling XBP 3. Select the target SAP System. 2. No standard SAP Systems are provided with SAP CPS.0) • One JXBP connection (in isolated mode. you cannot have two or more of XBP or JXBP connections in the same SAP CPS object. 103 . you need to set up accounts in the JAVA stack for JXBP (Java Scheduler connectivity). • Zero or one client connection for the XAL interface. • Multiple Event Synchronization rules (requires XBP 3. SAP CPS will not be able to connect to the ABAP stack of the SAP instance. Connect String The connect string allows you to specify a subset of the settings you can specify in other SAP client tools: • TYPE . password and client number are required. If you do not set an XBP account. For each SAP System. only R3 is supported. • One or more client connections for the XBP interface.Administering the Scheduling Landscape Delete Delete the SAP System Export Export the SAP System into a CAR file Edit Edit the SAP System Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar Expand All Expand all SAP Systems in the current filter New > SAP System Create a new SAP System New > SAP System using wizard Create a new SAP System using the wizard Solution Manager Setup Setup a connection to Solution Manager Filter > New Filter Create a new SAP system filter Filter > Edit Filter Edit current SAP system filter Filter > Delete Delete current SAP system filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Configuration The configuration for each SAP System is managed through the Environment > SAP Systems view. see the license restrictions below) For most interfaces a username. • Zero or one client connection for the XMW interface. • Zero or more job control rules. Likewise. you can configure the following: • General settings like name and RFC connect string.(optional) The type of SAP system to connect to. should be left on 0 unless SAP Support Services request you to change this value. 104 . • SYSNR .allows you to trace the RFC session.The system number of the SAP instance. This is a group of application servers in a load balancing connection. Note If you specify the Application Server Host in the connect string. this allows you to easily export the SAP System via the application. When you delete an SAP System. if you edit the SAP System later. Note Although it would be valid to specify a username and password as well as other settings.The SID of the SAP instance.(optional) Name of the SAP server group. • R3NAME . the process server and queue are automatically removed. you must not specify a Message Server hostname or the R3NAME. a process server and queue of the same name are automatically created with the required services.(optional) The gateway host to use for the connection. you should connect to the Message Server of the SAP instance. The process server and queue will share the same application when you create the SAP System. You need several entries in your LOCAL /etc/services on the SAP CPS host for the remote SAP system for MSHOST connection strings. it is usually the last two numbers of the port. • GWHOST . • MSHOST . along with a queue provider that links the queue to the process server. The default value is PUBLIC.The application server host to connect to. • GROUP . When you create an SAP System definition.ImportExport license key. this should be the message server. Export requires the Import/Export Module which in turn requires the Module.The message server host of the SAP instance. SAP CPS will discard them. • sapms<SID> 36<instance id>/tcp • sapdp<instance id> 32<instance id>/tcp • sapgw<instance id> 33<instance id>/tcp The following two combinations are frequently used: Connection to a message server MSHOST=<MS host> R3NAME=<SID> GROUP=<group> Connection to a central or dialogue instance ASHOST=<CI/DI-hostname> SYSNR=<Sys-Number> TRACE=0 Tip For better performance. • TRACE .Administering the Scheduling Landscape • ASHOST . you should change the application on the queue and scheduler manually. The SAP configuration is read-only when the SAP process server starts up or is running. the Mozilla Firefox password manager assumes you want to change a password. XAL or XMW) in the SAP System editor. If you fill in two passwords on two tabs (XBP. Mozilla Firefox browsers will offer to remember the password in the SAP System editor window. the latter is not recommended. description searches the description property a. IntelliSearch allows you to specify complex queries in a simple way using prefixes.SAP. Note By default. You can either choose Cancel or disable Remember password for sites in the Mozilla Firefox Options/Preferences dialog. as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:). If this is the case. please see the tuning for more information. License Restrictions If the license key ProcessServerService. For example. SAP CPS is in isolated mode and you can only create one SAP System with one XBP client/username combination per isolation group. Filters allow you to specify a list of objects with static criteria. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface.Administering the Scheduling Landscape When you edit an SAP System. you must create an isolation group for the SAP System.limit license key is limited to 0. The following table illustrates the available prefixes for SAP Systems: Prefixes Description n. application searches the application property 105 . comment searches the documentation property d. name searches the name property c. you would use the search criteria as follows: c:import You can search more than one property. the required services are added automatically to the process server. so there is no need to change services on a process server. any changes in settings require a restart of the corresponding process server. assign the isolation group to yourself and log on with that isolation group prior to creating the SAP System inside SAP CPS. You may set a maximum setting for the number of RFC connections. Finding SAP Systems You can search for SAP Systems using filters and the Search SAP Systems box on the SAP Systems tab. if you want to display all SAP Systems with the term import in the comment. See the Advanced Object Search for more information. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. edit. the SAP System cannot be deleted until all jobs that ran in that queue have been deleted. 1.Administering the Scheduling Landscape Deleting SAP Systems You can only delete an SAP System when no other objects relate to them.View Access SAP Systems SAPSystem.Delete Delete SAP Systems SAPSystem. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Prerequisites • A user with sufficient privileges in the Central scheduler http://<server>:<port>/scheduler. • A license for the additional SAP process server. per partition or isolation group.0. 3.Create Create SAP Systems SAPSystem. please refer to the SAP documentation.1. You cannot delete an SAP System if the process server is still running. The table in related objects contains three columns: • Type . • The SAP System must have a default client configured.BusinessAutomationAPI Use the SAP Applications API You can grant privileges on two levels.Edit Edit SAP Systems SAPSystem. If you have the object security. • Client / username and password of the RFC user of the desired interfaces.the name of the object with a link to it • Used As . • An available shared partition if the license key System. 106 . For example. You can see all jobs that relate to the queue in Related Objects in the lower detail pane and on the show page of the queue. • The SAP R/3 connect string to the SAP System. It allows you to specify which users can access.0. which requires the Chargeable version. 2.the type of object with a link to it • Related Object .objects can sometimes be used in different roles Security Privilege Description SAPSystem. These privileges can be granted system-wide.sharedPartitions is set to a numeric value. a privilege granted on Admin level allows the grantee to grant the privilege to other users. please stop the process server before you delete the SAP System. Access and Admin. you have an additional Security tab on the SAP System. Besides. if there are jobs that have run in the queue of the SAP System. • XBP versions supported in the SAP System (XBP 0.0) (for parent child dependencies the report INITXBP2 must be run). and delete the SAP System. 107 . refer to the following procedure: Sending Monitoring Data to SAP Systems To control communication channels in an SAP System. event handling. refer to the following procedure: Integrating SAP Monitors To send SAP CPS monitoring data to CCMS. refer to the following procedure: Intercepting SAP Jobs To map SAP CPS events to events in an SAP System. Choose Environment > SAP Systems in the Navigation bar. On the SAP System tab. enter a Name. fill in Client Number. Username. 4. perform as follows: 1. at least one default client must exist.Administering the Scheduling Landscape Procedure To create a connection for starting jobs from SAP CPS only. Choose Save & Close to save the changes and close the edit window. Connect String. and check Default Client 5. refer to the following procedure: Submitting a job or job chain To trigger batch input sessions in an SAP System. Choose New SAP System from the context-menu. password. refer to the following procedure: Interacting with SAP Events To map map specific job log entries to return codes. To start ABAP programs from SAP CPS in an SAP System. you have to restart the corresponding process server. refer to the following procedure: Parsing Log Files to set Job Status of SAP Jobs To import one or more CCMS monitors from an SAP System. and a Time zone. or Monitor synchronization. 2. On the XBP tab. refer to the following procedure: Controlling Communication Channels with SAP CPS via PI/XI To monitor SAP CPS availability from the CEN refer to this procedure: Monitoring SAP CPS Availability Note When you create or edit an SAP System definition. For every SAP System. 3. refer to the following procedure: Controlling Batch Input Sessions To monitor or intercept (take control) of jobs in an SAP System. without job interception. see the Connection Details for Connecting to the ABAP Stack section of the documentation. choose Start.12 R3NAME=PR1 GROUP=SPACE SAP System Job Handling Intercept SAP System Time zone Europe/Berlin SAP System Application SAPBW SAP System Description Production SAP BW system in Berlin XBP Client Number 200 XBP Username masalan XBP Password ******* (masalan in this example) XBP Audit level 0 . Choose Environment > SAP Systems in the Navigation bar. From the context-menu of the process server that belongs to the newly create SAP System connection. Choose the New SAP System button and enter the information below (listed per tab) 3. Choose Environment > Process Servers 4. Tab Field Value SAP System Name sapbw_prd SAP System Connect String MSHOST=169. Example You need to create a connection to an SAP System running SAP BW 6.10.12 R3NAME=PR1 GROUP=SPACE • The Client is 200. 2.40.Administering the Scheduling Landscape Every SAP System created in SAP CPS requires the settings mentioned in Connection Details for Connecting to the ABAP Stack.254. even if you only want to synchronize monitors! Values For information on the necessary fields of the tabs that you need to fill-in in order to be able to connect to the ABAP stack of an SAP instance. • The default client of the SAP System is client 200. username is masalan and password is masalan • XBP version supported is XBP 2.0 (INITXBP2 has run).254. 1.Change actions XBP SAP Language EN XBP Description Client for the XBP interface XBP Default Client selected XBP Max RFC Connections 108 . You have the following information: • The SAP R/3 connect string (to a message server) is: MSHOST=169.10. you can open the SAP System setup wizard from the context menu of Environment > SAP Systems.1. use ldd (GNU/Linux). You can put these into the ${JAVA_HOME}/bin directory. For a Redwood Platform installation on Windows NT / Windows 2000 / Windows 2003: 32bit SAP JCo 2. or the native dependency checker for your platform. The connection can then be used to schedule jobs in an SAP system. see SAP Note 684106 on Windows. in the Application Server library path) and that the sapjcorfc (for example sapjcorfc. See the Connecting to SAP Systems topic for more information. Installation Instructions 1.x follow these steps: 1.1.Administering the Scheduling Landscape Installing the JCO Libraries Use SAP System definitions describe the characteristics of a single SAP System.zip) to the redwood installation directory: C:\Program Files\Redwood\Server\j2ee\cluster\global\tomcat\ 1.x.dll) libraries are on the linkable path.8 or newer is required.1. SAP JCo version 2.1. Job interception and monitoring cannot be configured in the wizard.x zip file.8 or higher are supported. JCo 2.sap.g. choose Tools & Services 4.com/connectors. for example: Windows NT / Windows 2000 / Windows 2003: 32bit SAP JCo 2.1. Copy the downloaded file (sapjco-ntintel-2. SAP recommends you connect to the Message Server of the SAP instance. Download the appropriate binary for the system. This library has not been found. which concentrates on basic setup.jar is on the Java classpath (e. you will need your SAP Service Marketplace login (for example SAP S-User) to log in. 2. 109 .dll) and librfc (for example librfc32. The Setup Wizard is displayed the first time you log on to SAP CPS. Restart the Scheduler For other systems ensure that the sapjco. connection to an SAP system requires the installation of the JCo library. Note If you encounter dependency problems. otool (Mac OS X). In the tree on the left-hand side. Connection Type The Connection Type depends on the SAP application server you want to connect to. It is possible to create more than one SAP System definition to connect to more than one SAP System. However. On UNIX/GNU/Linux. or an out of date version has been found. Choose SAP Java Connector 3. Navigate to http://service. Connecting to SAP Systems with the Wizard Use The setup wizard allows you to create RFC connections to SAP instances in a simple and efficient way. Every SAP System created in SAP CPS requires the settings mentioned in Connection Details for Connecting to the ABAP Stack. • A license for the additional SAP process server.limit license key is limited to 0. username is masalan and password is masalan • XBP version supported is XBP 2.40. you have to start the corresponding process server as it is not started automatically. 4. SAP CPS is in isolated mode and you can only create one SAP System with one XBP client/username combination per isolation group. at least one default client must exist. without job interception. or Monitor synchronization. Choose Save & Close to save the changes and close the edit window.SAP. and check Default Client. Group.sharedPartitions is set to a numeric value. 3. event handling.0 (INITXBP2 has run). • Client / username and password of the RFC user of the desired interfaces. please refer to the SAP documentation. a System Name (R3NAME). You have the following information: • The SAP R/3 connect string (to a message server) is: MSHOST=169.254. For every SAP System. choose Connect. • The SAP R/3 connect string to the SAP System. • An available shared partition if the license key System. otherwise navigate to Environment > SAP Systems in the Navigation bar and choose New SAP System from Wizard from the context-menu. select Connection Type Message Server. If you are already in the Setup Wizard. Prerequisites • A user with sufficient privileges in the Central scheduler http://<server>:<port>/scheduler. Username. Choose Check Connection and fill in Client Number. assign the isolation group to yourself and log on with that isolation group prior to creating the SAP System inside SAP CPS.12 R3NAME=PR1 GROUP=SPACE • The Client is 200. perform as follows: 1. you must create an isolation group for the SAP System.Administering the Scheduling Landscape License Restrictions If the license key ProcessServerService. password. • The SAP System must have a default client configured. Note When you create an SAP System definition. Procedure To create a connection for starting jobs from SAP CPS only. If this is the case.10. 2. 110 . Enter a Name. even if you only want to synchronize monitors! Example You need to create a connection to an SAP System running SAP BW 6. a Time zone. Message Server Host. 254. Fill in the details in the table below 3.10.Administering the Scheduling Landscape • The default client of the SAP System is client 200. From the context-menu of the process server that belongs to the newly create SAP System connection. if the name of the SAP System definition is TST.12 R3NAME=PR1 GROUP=SPACE Client Number 200 Username masalan Password ******* (masalan in this example) Default Client selected SAP Language En Connection Details for the ABAP Stack Use The Following tabs of the SAP System editor must contain connection-related information if you want to connect to the ABAP stack of an SAP instance. If you are already in the Setup Wizard. This name is also used to create the corresponding SAP process server and queue. 2. choose Connect. For instance. Choose Environment > Process Servers 4. Field Value Name sapbw_prd Time zone Europe/Berlin Connect Type Advanced RFC Connect String MSHOST=169. 111 . choose Start. then the created process server gets the name TST_ProcessServer and the queue is named TST_Queue. otherwise navigate to Environment > SAP Systems in the Navigation bar and choose New SAP System from Wizard from the context-menu. Setting up connection information Tab Field Partition Partition of the SAP system SAP System Name Description The name for the SAP System. You need several entries in your LOCAL /etc/services on the SAP CPS host for the remote SAP system for this example to work. • sapms<SID> 36<instance id>/tcp • sapdp<instance id> 32<instance id>/tcp • sapgw<instance id> 33<instance id>/tcp 1. The default job time zone for jobs submitted in SAP CPS is the time zone of the original request time. If the current offset matches the current offset of the time zone specified in Default Job Time Zone. SAP CPS will balance the load across appliccing ation servers. only jobs intercepted by SAP will be taken into account. This user needs certain authorizations in the SAP System. Please make sure that only one client is marked as default. then SAP CPS uses that time zone when interpreting dates from SAP instances (used for Remote Start Time. server load balan. SAP System Application The name of the application used to group this object. SAP System Description The description of the SAP System. like GMT+. If you set it to All. Time zone data The time zone of the SAP system is detected via the offset. as described below in the Reference section under Required Authorizations of the Remote System User. If the two do not match. SAP System J2EE URL The URL used by the JXBP and PI/XI interfaces for connecting to the JAVA stack of SAP NetWeaver SAP System Job Handling Job handling allows you to specify which jobs the job control rules should apply to. 112 . Username and Password are correct. Client Number. the one with the lowest client number is used by default when required. XBP Enabled Allows you to disable the client. for example). If the default client check box is selected in multiple XBP interfaces. XBP Check Connection Settings Allows you to check that the RFC Connect String. In this case the user needs all authorizations required by these interfaces. XBP Username The RFC user name. Tab Field Description XBP Client number SAP client number as a three digit number. Documentation Documentation A comment about the SAP System. this setting should be set to All. The default client is used by the SAP process server for the standard connection to the SAP System to start/monitor/intercept jobs. SAP CPS will attempt to apply all rules. Yet to avoid confusion it is better to make sure that only one client is designated as default client.When this is enabled. SAP System Default Job Time Zone This field is used for detecting the time zone of the SAP instance. Of course it is possible to use here the same user as for XAL and XMW. If you only want to intercept jobs. Note that if you want to just monitor jobs. If you set it to Intercepted. XBP Password Password of the RFC user. even Monitor rules on all jobs in the SAP System.<offset>.Administering the Scheduling Landscape SAP System App. keeping the settings for future use XBP Default client Specify if this client is the default client. SAP System RFC Connect String RFC connection definition used to connect to the SAP System via SAP Java Connector (JCo). SAP CPS uses the current offset of the SAP instance as the time zone. set this field to Intercept. Setting up client/username combinations At least one client/username combination is required and you must specify one combination as being the default. if the corresponding parameter in the job definition is left empty. the number of connections are not limited. See Also • Documenting Objects using the Documentation Tab Connect to an SAP System with SNC Use Secure Network Communications (SNC) can be used to secure RFC connections between SAP CPS and SAP instances. and is an integer with the value range of 0-3. Procedure 1. the rules are named <Client number>/<Username>.0 SAP releases will report the highest version as being XBP 2. These files can be found on ftp://ftp. Restart the SAP instance to activate the SNC settings. the highest available interface version is used. In the instance profile of the central instance (Target SAP System).com/pub/ietf-work/gssapi. To make use of SNC. If the description is not set.sap.dll for Microsoft Windows x64. If this field is left on automatic. with higher numbers denoting more verbose audit level. The audit log is visible via SAP transaction RZ15. those fall outside the scope of this topic. This topic will discuss the configuration instructions for the ADS Kerberos infrastructure on Microsoft Windows. • gsskrb5. If omitted. As SAP itself does not provide implementations of Kerberos 5 for other platforms. XBP Interface version The version of the XBP interface that the SAP process server should use. only to be used when SAP Support instructs you to do so. 2. so the open connections are reused. Note that older 7.Specifies how many RFC connections the SAP process server opens for this tions client. or at the least Support Package 14. • gx64krb5. and also closed if they are idle for a certain amount of time. snc/enable = 1 113 . you need to configure your SAP system to use SNC. It is highly recommended to upgrade to the latest Support Package.0 although XBP 3. Prerequisites • You have installed the correct Kerberos DLL for your platform in the path of your systems.dll for Microsoft Windows x86. The systems involved require the following Kerberos dll to be available in the path. XBP SAP language The language that the SAP process server uses to connect to the SAP System. XBP Max.0 is available. XBP Description the description to use for this rule. The SAP process server uses internally a connection pool.Administering the Scheduling Landscape XBP Audit level The XBP audit level of the interface. the SAP parameters below need to be set. RFC connec. This is also the default step language for ABAP jobs. Choose Save & Close.Administering the Scheduling Landscape snc/gssapi_lib =<DRIVE>:\%windir%\system32\gsskrb5. Note If more than one SNC name needs to be assigned to this user. SNC_MODE=1 SNC_PARTNERNAME="p:<SAP_Service_User>@<DOMAIN_NAME>" SNC_LIB=<KERBEROS_DLL> Example This example shows how a Microsoft ADS Kerberos infrastructure can be used to provide Single-Sign-on between SAP CPS and a connected SAP ABAP System. Configuration in SAP CPS 1. In the Target ABAP System. Instance profile settings in SAP snc/enable = 1 snc/gssapi_lib =c:\windows\system32\gsskrb5. specify the SNC Name for SAP CPS (p:<SAP_Service_User>@<DOMAIN_NAME>). On the XBP tab. Choose Edit from the context-menu of the SAP system you want to connect to via SNC. 5. On the SNC-Tab.dll snc/identity/as =p:
[email protected] Service user in the target ABAP system p:SAPServicePRD@MASALAN. 2. 7. Navigate to Environment > SAP Systems 2.COM" SNC_LIB=gsskrb5. On the SAP System tab. 6. use transaction SU01 to define a service user that will be used by SAP CPS to connect.COM Connect String in SAP CPS SNC_MODE=1 SNC_PARTNERNAME="p:SAPServicePRD@MASALAN. these can be specified in table USRACLEXT (use transaction SM30 to maintain it).dll 114 . 3. 4. fill the connect string below into the RFC Connect String field.dll snc/identity/as =p:<SAP_Service_User>@<DOMAIN_NAME> Configuration on the ABAP System 1. choose Check Connection Settings. Navigate to Environment > Process Servers and restart the process server belonging to the SAP system. Choose Check connection and make sure the connection was successful. • GROUP . Note If your SAP system supports XBP 3. When job handling is disabled. the latter means that the job will not run at this point.The application server host to connect to.0 or later. Job Handling Field The job handling field on an SAP system allows you to apply the job control rules to jobs intercepted by SAP. • by SAP CPS.0 your interception rules have a processing order. only R3 is supported. your job control rules will be ignored and no jobs will be picked up on the SAP side. Connect String The connect string allows you to specify a subset of the settings you can specify in other SAP client tools: • TYPE .Administering the Scheduling Landscape Intercepting SAP Jobs Use Often jobs are scheduled by users and interfere with other processes or need to follow complex rules prior to execution.0. You can force the use of a specific XBP release. SAP CPS will take control of "dereleased" jobs and reschedule them. so you can easily include and exclude certain jobs from interception.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset. see Setting Up Logical Systems [http://help. Note XBP 3.(optional) The type of SAP system to connect to.0 requires a logical system for the client. also called late intercept. this should be the message server. all intercept rules will be applied. Job interception allows SAP CPS to take control of the job and to let it run based on previously defined criteria.(optional) Name of the SAP server group. • ASHOST . 115 . This is a group of application servers in a load balancing connection. This is not always reliable.(optional) The gateway host to use for the connection. • GWHOST . The default value is PUBLIC. SAP Intercept The SAP System compares the job to a list of criteria and decides to execute the job or to "derelease" the job. Job interception can be done in two ways: • by the SAP System itself. if it is available in the SAP system. you should decide which tool of SAP CPS or SAP criteria_manager to use for defining intercept criteria and exclusively use that.sap.htm] for more information on creating logical systems for clients. Late Intercept SAP CPS attempts to intercept the job before SAP has a chance to execute it. if you want to monitor jobs as well. all jobs or none (disabled). set this to All. this functionality requires that the Redwood transport files be loaded. If this field is set to Intercept. With XBP 3. This functionality requires XBP 2. by specifying the SynchronizationMode ( see the Administration Guide ) registry key. • sapms<SID> 36<instance id>/tcp • sapdp<instance id> 32<instance id>/tcp • sapgw<instance id> 33<instance id>/tcp Prerequisites • Client / username and password of the RFC user. • The SAP System must have a default client configured. it is usually the last two numbers of the port. Note Although it would be valid to specify a username and password as well as other settings (according to SAP guidelines).allows you to trace the RFC session. • TRACE .0. • R3NAME . 3. Choose Environment > SAP Systems in the Navigation bar. 1. • SYSNR . The following two combinations are frequently used: Connection to a message server MSHOST=<MS host> R3NAME=<SID> GROUP=<group> Connection to a central or dialogue instance ASHOST=<CI/DI-hostname> SYSNR=<Sys-Number> TRACE=0 Note If you specify the Application Server Host in the connect string. please refer to the SAP documentation. should be left on 0 unless SAP Support Services request you to change this value.Administering the Scheduling Landscape • MSHOST . 116 .The system number of the SAP instance. You need several entries in your LOCAL /etc/services on the SAP CPS host for the remote SAP system for MSHOST connection strings. you must not specify a Message Server hostname or the R3NAME. SAP CPS will discard them as these can be specified on specific fields on the interface tabs. Procedure To monitor jobs in an SAP System: 1.0. Tip For better performance. • XBP versions supported in the SAP System (XBP 0.The SID of the SAP instance.0) (for parent child dependencies the report INITXBP2 must be run).1. 2.The message server host of the SAP instance. you should connect to the Message Server of the SAP instance. a. if no default client has been previously specified. Tip Run the job definition SAP_SynchronizeInterceptionCriteria with the action Show only to inspect the current settings and make sure you are not deleting data you need. Choose Edit from the context-menu 4. On the Job Control Rules tab. On the XBP tab. Synchronize Intercept Criteria with the SAP System: 1. Values Configuration information is available in the Job Interception Configuration section of the documentation. 7. Note You should always choose Append unless you are sure of what you are doing. Username. enter a Connect String. choose Monitor for Action. fill in a valid client mask and username 7. 2. Choose Definitions > Job Definitions in the Navigation bar. fill in Client Number. enter a Connect String. Choose Save & Close to save the changes and close the edit window. On the SAP System tab. and check Default Client. You will overwrite interception data in the SAP system. With XBP 2.40 to intercept jobs. Username. Example You need to edit an SAP System running against SAP BW 6. Choose the SAP System name in the overview table 3. On the Job Control Rules tab. To intercept jobs in an SAP System: 1. 117 . a Time zone. 5. and set Job Handling to Intercept. choose Schedule for Action. Choose Environment > SAP Systems in the Navigation bar. 6. Choose Submit from the context-menu. Choose Edit from the context-menu. password. 3.Administering the Scheduling Landscape 2. if no default client has been previously specified. 6. fill in a valid client mask and username. a Time zone. set the target SAP system. Choose the SAP System name in the overview table. and set Job Handling to All 5. On the XBP tab. 4. Password and check Default Client.0 enabled. select a direction and choose Submit. fill in Client Number. Choose Save & Close to save the changes and close the edit window. Choose the job definition named SAP_SynchronizeInterceptionCriteria in the overview table. all jobs matching the client and username masks will be intercepted in the Central Scheduler. 2. 3. On the SAP System tab. Choose Environment > Process Servers 4.10.12 R3NAME=PR1 GROUP=SPACE • The Client is 200. 1. Tab Field Example SAP System Name sapbw_prd SAP System Connect String MSHOST=169.0 XBP Job Control Rules Processing order 0 XBP Job Control Rules Action Schedule XBP Job Control Rules Client Number Mask 20* XBP Job Control Rules Job Name Mask RSUSR* XBP Job Control Rules Username Mask * XBP Job Control Rules Description Schedule jobs starting with RSUSR in their name XBP Job Control Rules Default Queue XBP Job Control Rules Priority 50 118 .254.Change actions XBP SAP Language EN XBP Description Client for the XBP interface XBP Default Client selected XBP Max RFC Connections XBP Interface Version 2. Choose the Edit button and enter the information below 3. • The default client of the SAP System is client 200. From the context-menu of the process server that belongs to the newly create SAP System connection.0.254.10.12 R3NAME=PR1 GROUP=SPACE SAP System Job Handling Intercept SAP System Time zone Europe/Berlin SAP System Application SAPBW SAP System Description Production SAP BW system in Berlin XBP Client Number 200 XBP Username masalan XBP Password ******* (masalan in this example) XBP Audit level 0 .Administering the Scheduling Landscape You have the following information: • The SAP R/3 connect string is: MSHOST=169. username is masalan and password is masalan • XBP version supported is XBP 2. 2. Choose Environment > SAP Systems in the Navigation bar. choose Start. see the details below. preserving the settings for future use. the rules are named <Action>/<Client Number Mask>/<Username Mask>/<Job Name Mask>. XBP Job Control Rules Username Mask User name pattern that is used to match jobs. XBP Job Control Rules Job Name Mask Job name pattern that is used to match jobs. Please see the list below for available actions. . XBP Job Control Rules Retrieve Job log Should the log of the job be retrieved? XBP Job Control Rules Retrieve Spool Should the output file of the job be retrieved? XBP Job Control Rules Retrieve Application Log Should the application log file be retrieved? XBP Job Control Rules Ignore Application Return Ignore the return code as returned by the SAP system Code XBP Job Control Rules Applies to jobs in SAP status The following wildcards are supported in masks: 119 You may restrict this rule to jobs with a specific status in SAP. XBP Job Control Rules Processing order Order in which to process this rule. XBP Job Control Rules Action Defines how to handle the job. If the description is not set. Please see the list below for available actions. C) The SAP job class XBP Job Control Rules Default Queue Queue the job should be put on (currently not used). XBP Job Control Rules Enabled Allows you to disable rules. B. XBP Job Control Rules Client Number Mask SAP client pattern that is used to match jobs. Setting up connection information See the Connection Details for the ABAP Stack section of the documentation for details on how to set up a connection to the ABAP stack. Setting up the job handling information Tab Field Description XBP Job Control Rules Job Handling Reports the setting of the Job Handling field on the SAP System tab.Administering the Scheduling Landscape See Also • Understanding the Different XBP Interface Releases • The Registry Job Interception Configuration Use When a job is found in the SAP System it is checked against the XBP interception rules defining the action to take on the job. XBP Job Control Rules Description the description to use for this rule. XBP Job Control Rules Job class (A. XBP Job Control Rules Priority Priority of the job (currently not used). If the SAP job is found to be in a Released state in SAP (which means waiting to start at a certain point in time). it is dereleased (put back in status Scheduled in SAP) and submitted on hold in SAP CPS. Ignore Jobs that match this rule are confirmed in SAP. for example PROCESS_* would match PROCESS_ABAP and PROCESS_OR but not BI_PROCESS_TRIGGER. so they are checked at the next synchronization round.Administering the Scheduling Landscape • * to match any string. 120 . You can restrict job control rules to SAP jobs with the following statuses: • Scheduled (P) • Released (S) • Ready (Y) • Active (R) • Finished (F) • Canceled / Error (A) Tip You can check all job control rules that use a specific default queue across all SAP systems in the Related Objects list of the queue in question. you should not intercept processes starting with BI_PROCESS. it is dereleased (put back in status Scheduled in SAP) and SAP CPS attempts to start the job as soon as possible. The status of the SAP job can be monitored in the job monitor of SAP CPS. and ignored (no reference to the job is created in SAP CPS). Start Immediately A reference to the job is created in SAP CPS. but not confirmed in SAP. Note Due to limitations in SAP BI. If the SAP job is found to be in a Released state in SAP (which means waiting to start at a certain point in time). The following actions are available: Action Description Monitor A reference to the job is created in SAP CPS. The job is scheduled to start in SAP CPS at the time it was intended to be in SAP. • ? to match a single character. the only exception is BI_PROCESS_TRIGGER. Hold A reference to the job is created in SAP CPS. Note Jobs that do not match any of the defined rules are skipped. If the SAP job is found to be in a Released state in SAP (which means waiting to start at a certain point in time). for example RSUSR?00 would match RSUSR200 and RSUSR400. so they are not checked again. Schedule Intercepted Jobs that have been intercepted by the SAP system are scheduled in SAP CPS. Schedule A reference to the job is created in SAP CPS. it is dereleased (put back in status Scheduled in SAP). logging these for reference. Furthermore.0 introduced new functionality known as Event History and which allows SAP CPS to interact with SAP Batch Events. You can define which events are used for event history in your criteria profile in SAP as well as define the events in SAP CPS. this means that it is now possible to see if an event was raised in the past and when. you submit the ABAP program RSBDCSUB.0. This behavior also works when the RSBDCSUB job is intercepted. Procedure 1. Fill in SAP System. Navigate to Definitions > Job Definitions. SAP CPS will automatically realize that RSBDCSUB has created child jobs and will automatically delay setting the RSBDCSUB job to a finished state until all these jobs are finished. therefore. 3. Choose Submit and navigate to Monitoring > Jobs to locate the jobs. SAP job name and enter RSBDCSUB into the ABAP program field.0 is used. If you use BC-XBP 2. With the standard CCMS scheduler you are forced to resort to ABAP programming to find the child jobs and then wait for them to finish. very difficult to build dependencies within SAP using RSBDCSUB. The state of SAP CPS events is constantly synchronized with an SAP Batch Events and parameter-combinations.Administering the Scheduling Landscape Note When you want to retrieve spool files. 4. Other applications can then send data in a special SAP format called iDocs to the SAP System by placing a file in this directory. 2. This program reads the batch input folder and submits a new SAP job for every file found in this folder. So when BCXBP 2. you can schedule RSBDCSUB just like any other job. because the start job does not wait for the processing to finish and it is not known beforehand what the child jobs will be. SAP CPS events can now be mapped to SAP Batch Events. Interacting with SAP Events Use XBP 3.com/saphelp_nw70/helpdata/en/44/bca798e3d756a4e10000000a1553f6/content. You define the events to be synchronized on the XBP Event Handling tab of the SAP system object. Controlling Batch Input Sessions Use Batch Input Sessions are a special type of SAP job that process incoming data. In both cases any dependencies made on this job in SAP CPS will only start once all child jobs are finished.htm] section of the SAP Help for more information on defining event synchronization in SAP. 121 . It is.sap. See the Criteria Manager [http://help. Event History also keeps track of events. RSBDCSUB does not wait for the processing jobs to finish. you synchronize the settings with the SAP instance using the job definition SAP_SynchronizeEventHistoryCriteria. you should make sure that you have not disabled or restricted spool retrieval with the process server parameter SAP_MaxSpoolSize. A particular OS directory is designated in SAP as the Batch Input Folder. Choose Submit form the context-menu of the SAP_AbapRun job definition. Once you defined your event matching. Unfortunately. To process the incoming data. Navigate to Environment > Process Servers. Choose the XBP Event Handling tab and fill in the details. 3. This is especially handy on older NetWeaver 7. The XBP Event Handling tab requires an RFC user with sufficient privileges as outlined in the Reference SAP RFC User Privileges.0 enabled • RFC User credentials with sufficient privileges Procedure Creating an event-handling rule 1. by specifying the SynchronizationMode ( see the Administration Guide ) registry key. 2.Administering the Scheduling Landscape To enable Event History on a specific SAP instance. Choose Stop then Start from the context-menu of the corresponding process server. Fill in the parameters. which do not correctly report the available XBP version. Choose Edit from the context-menu of the SAP System. 2. Please wait for the process server to stop completely before starting it again. see the Setting Up Logical Systems [http://help. 4. Navigate to Environment > SAP Systems. 4. Choose Submit from the context menu of SAP_SynchronizeEventHistoryCriteria. the instance must have XBP 3. Synchronizing event-handling rules with the SAP system 1. Choose Save & Close 5. Please consult your SAP documentation to find out if your instance qualifies. Note XBP 3. Navigate to Definitions > Job Definitions. if it is available in the SAP system. Prerequisites • An SAP System with XBP 3. 122 .htm] section for more information on creating logical systems for clients. 3. Note You should use SAP CPS to maintain the criteria profile in SAP. Note You can force the use of a specific XBP release.0 requires a logical system for the client. 6.0 or higher.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset. Choose Submit.sap.0 systems. one client/username combination must be configured as the default. if enabled the intercepted or all jobs are shown in the job monitor. like GMT+. SAP System Application The name of the application used to group this object. SAP System Default Job Time Zone This field is used for detecting the time zone of the SAP instance. Documentation Documentation A comment about the SAP System.Administering the Scheduling Landscape Values Information on the required settings for setting up event synchronization can be found in the Configuration Details on Interacting with SAP Events section of the documentation. if the name of the SAP System definition is TST. Tab Field Description XBP Client number SAP client number as a three digit number.sap. SAP System Job Handling Enabled Is job handling enabled for this SAP System. Setting up connection information Tab Field Description SAP System Name The name for the SAP System. Setting up client/username combinations At least one is required. then SAP CPS uses that time zone when interpreting dates from SAP instances (used for Remote Start Time. SAP System Connect String RFC connection definition used to connect to the SAP System via SAP Java Connector (JCo). 123 . If the two do not match.0 interface. then the created process server gets the name TST_ProcessServer and the queue is named TST_Queue. If the current offset matches the current offset of the time zone specified in Default Job Time Zone. Time zone data The time zone of the SAP system is detected via the offset. SAP System Description The description of the SAP System.htm] • Understanding the Different XBP Interface Releases Configuration Details on Interacting with SAP Events Use The following configuration data needs to be used to interact with SAP events via the XBP 3. for example). The default job time zone for jobs submitted in SAP CPS is the time zone of the original request time.<offset>.com/saphelp_nw70/helpdata/en/44/bca798e3d756a4e10000000a1553f6/content. SAP CPS uses the current offset of the SAP instance as the time zone. See Also • Criteria Manager [http://help. For instance. XBP event control rules control which events are raised in SAP CPS when an event is raised in SAP. This name is also used to create the corresponding SAP process server and queue. the highest available interface version is used.0 systems. If this field is left empty. the number of connections are not limited. and is an integer with the value range of 0-3. This is especially handy on older NetWeaver 7. so the open connections are reused. only to be used when SAP Support instructs you to do so. Of course it is possible to use here the same user as for XAL and XMW. and also closed if they are idle for a certain amount of time. This user needs certain authorizations in the SAP System. Yet to avoid confusion it is better to make sure that only one client is designated as default client. XBP Max. Mapping SAP CPS Events to SAP Events Tab Field Description XBP Event Control Rules SAP Event Id The SAP Event Id XBP Event Control Rules SAP Event Parameter The parameter of the SAP event XBP Event Control Rules Event to Raise The event to raise in SAP CPS XBP Event Control Rules Description The description of the rule. XBP Password Password of the RFC user. If omitted. the one with the lowest client number is used by default when required. If the default client check box is selected in multiple XBP interfaces. XBP Description the description to use for this rule.Administering the Scheduling Landscape XBP Username The RFC user name. If this is not set the description is <SAP Event Id>/<SAP Event Parameter>/<Event to Raise> See Also • Interacting with SAP Events • Understanding the Different XBP Interface Releases • The Registry 124 . XBP SAP language The language that the SAP process server uses to connect to the SAP System. if the corresponding parameter in the job definition is left empty. the rules are named <Client number>/<Username>. Note You can force the use of a specific XBP release. which do not correctly report the available XBP version. as described below in the Reference section under Required Authorizations of the Remote System User. with higher numbers denoting more verbose audit level. The default client is used by the SAP process server for the standard connection to the SAP System to start/monitor/intercept jobs. This is also the default step language for ABAP jobs. Please make sure that only one client is marked as default. XBP Audit level The XBP audit level (the audit log is visible via SAP transaction RZ15) of the interface.Specifies how many RFC connections the SAP process server opens for this tions client. XBP Interface version The version of the XBP interface that the SAP process server should use. If the description is not set. XBP Default client Specify if this client is the default client. RFC connec. In this case the user needs all authorizations required by these interfaces. by specifying the SynchronizationMode ( see the Administration Guide ) registry key. The SAP process server uses internally a connection pool. if it is available in the SAP system. Error Message • I . you may have SAP CPS create a job note. Optionally.sap.Exit The message type can only be retrieved if one of the following is true: • transports are used • if the SAP Note 603919 [http://service.The type of message.The type of the message. usually the fourth column. All criteria must be fulfilled for the match to be successful. The message type can be any of the following: • A . SAP CPS parses the log file and when it finds a matching entry. • Message Text (optional) . the return code 0 maps to Completed. it can be found in the log. other return codes map to Error.Information • S . it will set the return code of the job to the one configured for the rule. The following is the contents of a log file: 180006 20100613 00 516 Job started 0 180007 20100613 00 550 Step 001 started (program BTCTEST. The return code can be configured per SAP instance. This is done by mapping specific messages to return codes.Administering the Scheduling Landscape • Documenting Objects using the Documentation Tab Parsing Log Files to set the Job Status of SAP Jobs Use SAP jobs reach status Completed when no error was returned and Error when an error occurred. usually the third column. on the Return Code Mapping tab of SAP Systems in SAP CPS.Warning • X . • Message Type .The text of the message. variant . user ID REDWOOD) 125 0 001 BTCTEST REDWOOD . Matching a Log Entry The following information is required to match a log entry: • Message Class . that return code mapping was used on this job.The number of the message.com/sap/support/notes/603919] . The message class and number usually uniquely identify the message. it can be found in the log.Termination • E .Status Message • W . it can be found in the log. see list below. Note that you can also set system-wide return code mapping for SAP jobs that would appear as killed in SAP CPS with the KilledMessages ( see the Administration Guide ) registry key.Reading job log by XBP: Message type is missing is implemented • 6. You can force an SAP job into Error or Completed based on a specific message in the log file.40 or newer SAP releases Based on the criteria. which will inform operators. so this can be set to asterisk (*) in most cases. • Message Number . E • Message Text .Administering the Scheduling Landscape 180007 20100613 00 544 TEST: SY-BATCH indicates background processing 180007 20100613 00 517 Job finished 0 0 In the above message.a client number mask can be a specific client or a range of clients defined with wildcards. message type=E.XM • Message Number . or range of job names specified with wildcards. • Jobname Mask . Procedure 1. BI * would match BI PostProcessing but not Backup Production System 12/03.S • Message Text .544 • Message Type . 126 . All criteria must be fulfilled for the match to be successful. see the following error: BAPI exception: RFC function module = BAPI_XBP_NEW_FUNC_CHECK. For example. number=233. The following rules would catch this log entry: • Message Class . we see the following message 180007 20100613 00 544 TEST: SY-BATCH indicates background processing 0 that indicates that no background processing jobs were created. but not 300. msgv4= The following rule would match this log entry: • Message Class .00 • Message Number . msgv3=.I:XM:233 BAPI_XBP_NEW_FUNC_CHECK* Specifying the Jobs to be Parsed The following criteria is available to specify which job logs are to be parsed: • Client Number Mask . msgv2=. For example. text=I:XM:233 BAPI_XBP_NEW_FUNC_CHECK.TEST: SY-BATCH* It is easier with SAP error messages. When you configure more than one rule. 2* would match clients 200 and 250. so we would like to force the SAP job into error. • Username Mask . you should make sure that the most restrictive rules need to have a lower processing order than more generic rules. For performance reasons.a job name mask can be a specific job name. SAP recommends to avoid parsing logs of all jobs. This allows you to limit the rule to a more or less specific range of jobs. msgv1=BAPI_XBP_NEW_FUNC_CHECK.a username mask should be left as * unless you are sure the job will always be started by the same user. Navigate to Environment > SAP Systems.233 • Message Type . id=XM. Administering the Scheduling Landscape 2. When you submit the job definition SAP_ImportCcmsMonitors. check the Values section below for a description of the available fields. choose a value for the SAP instance parameter and the available Monitor sets and Monitors are available in the respective parameter fields. 3. it can be found in the log. Message Text The text of the message. S for strings and E for errors. Message Number The number of the message. Note This functionality is only available when the XAL tab of the SAP System repository object has been filled. Choose Save & Close when you are done. The following job definitions are available for handling monitors: • SAP_ImportCcmsMonitors • SAP_DeleteCcmsMonitors The SAP monitoring data can be seen in Monitoring > Monitors. 5. usually the third column. Create Job Note Should a job note be created when this rule is applied? Integrating SAP Monitors Use With SAP CPS. These fields autocomplete. Client Number Mask The client number(s) this rule applies to. Description An optional description of the rule. a character sequence of the name can be entered to reduce the list. multiple monitors from different SAP Systems can be watched from one central location. Username Mask The users this rule applies to. the lower the value. The XAL tab of the SAP System needs connection credentials of an RFC user with sufficient privileges to use the XAL interface of the given SAP System. Choose the Return code mapping tab. Message Type The type of the message. it can be found in the log. Message Class The type of message. Choose Add and fill in the details of the rule. The required privileges are outlined in Reference SAP RFC User Privileges. Choose Edit from the context-menu of an SAP System. 4. the earlier the rule is processed. usually the fourth column. Jobname Mask The job names this rule applies to. 127 . Return Code The return code to use when the rule matches. for example. Values Field Description Processing Order The order in which rules are processed. Any monitor or monitor set available in transaction RZ20 can be imported with the job definition SAP_ImportCcmsMonitors. it can be found in the log. alongside SAP CPS monitoring data. • The SAP System must have a default client configured. 3. Choose Next and choose the queue of the SAP System. Connect String and the Time zone fields.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset. 2. fill in Client Number. On the XBP tab. 4. fill the Name. please refer to the SAP documentation. 5. Navigate to Monitoring > Monitors to check the status of the database. 4. Choose Submit to submit the job. On the SAP System tab. Note XBP 3. Choose Start from the context-menu of the process server belonging to the relevant SAP System. Prerequisites • Client / username and password of the RFC user.Administering the Scheduling Landscape You may set a maximum setting for the number of RFC connections. please see the tuning for more information. 6.0 requires a logical system for the client. To import a CCMS Monitor 1. Choose Environment > Process Servers in the Navigation bar. 3. 128 . Procedure To set up the interface to import and delete SAP Monitors: 1.sap. 5. Values Information about the required configuration data that needs to be specified for integrating SAP monitoring data can be found in the Configuration Details for Integrating SAP Monitors section of the documentation. 2. In the submit wizard. Choose Submit from the context-menu of the job definition named SAP_ImportCcmsMonitors. if no default client has been previously specified. Choose Environment > SAP Systems in the Navigation bar. Example You need to be able to monitor the Oracle database of your production NetWeaver AS ABAP+JAVA system. Choose Save & Close to save the changes and close the edit window. Navigate to Definitions > Job Definitions.htm] for more information on creating logical systems for clients. see Setting Up Logical Systems [http://help. fill in Client Number. Choose New SAP System from the context-menu. password 6. On the XAL tab. Username. and check Default Client. 8. 7. Username. password. fill in the details for Monitor set and Monitor. 12 SYSNR=52 TRACE=0 SAP System Job Handling Disabled SAP System Time zone Europe/Berlin SAP System Application SAPBW SAP System description Production SAP BW system in Berlin XAL Client Number 200 XAL Username masalan XAL Password ******* (masalan in this example) XAL Audit Level 0 . Tab Field Value SAP System Name sapbw_prd SAP System Connect String ASHOST=169. Choose Next and choose the queue of the SAP System. 6. fill in the details for Monitor set and Monitor. 3.254. Choose Submit from the context-menu of the job definition named SAP_ImportCcmsMonitors.10. 2.10. Choose Submit to submit the job. you need to import the SAP Monitors into SAP CPS. Navigate to Monitoring > Monitors to check the status of the database. username is masalan and password is masalan.Administering the Scheduling Landscape The following information is known to you: • The Client is 200. First you need to set up or modify the connection to the SAP System.0 (INITXBP2 has run). Navigate to Definitions > Job Definitions. 1. In the submit wizard. 129 . • The SAP R/3 connect string is: ASHOST=169.254.12 SYSNR=52 TRACE=0 • XBP version supported is XBP 2. 5. • The monitor set and monitor that you use to monitor the Oracle database in RZ20. 4. you do this with the job definition SAP_ImportCcmsMonitors. • The default client of the SAP System is client 200.Change actions XAL SAP Language EN XAL Description XAL Max RFC Connections XAL Interface Version automatic Once the SAP System has been set up. it requires XAL settings. XAL Audit level The XAL audit level (the audit log is visible via SAP transaction RZ15) of the interface. This user needs certain authorizations in the SAP System. Client Number. XAL Check Connection Set. Once configured. the number of connections is not limited. XAL SAP Language The that the SAP process server uses to connect to the SAP System. If this is not set the description is <Client Number>/<Username>. First you need to configure connection information to the ABAP stack of the SAP instance.Specifies how many RFC connections the SAP process server opens for tions this client. Setting up Connection Information See the Connection Details for the ABAP Stack section of the documentation for details on how to set up a connection to the ABAP stack. as described below in the Reference section under Required Authorizations of the Remote System User. Tab Field Description XAL Client Number SAP client number as a three digit number. Username tings and Password are correct. XAL Password Password of the RFC user. Of course it is possible to use the same user as for XBP and XMW. XAL Enabled Allows you to disable the rule. Setting up XAL Connection Information This information is used to retrieve monitoring data from your SAP instance. of RFC connec. 130 .Allows you to check that the RFC Connect String. preserving the settings for future use. monitors of different monitor sets in the SAP CCMS monitoring infrastructure can be retrieved and stored in the Monitor tree. XAL Username The RFC user name. XAL Max. so the open connections are reused. In this case the user needs all authorizations required by these interfaces. the highest available interface version is used. and also closed if they are idle for a certain amount of time. The following tabs need to be configured to allow you to integrate SAP Monitors into your SAP CPS Performance Monitor and Dashboard. This is done via the standard job definitions SAP_ImportCcmsMonitors and SAP_DeleteCcmsMonitors. If this field is left on automatic. with higher numbers denoting more verbose audit level. This setting can be left empty as it is only of minor importance. If omitted.Administering the Scheduling Landscape Configuration Details for Integrating SAP Monitors Use XAL is the interface for retrieving information from the SAP CCMS monitoring infrastructure. and is an integer with the value range of 0-3. since only one RFC connection per SAP process server is opened for the XAL interface. The SAP process server internally uses a connection pool. XAL Interface Version The version of the XAL interface that the SAP process server should use. only to be used when SAP Support instructs you to do so. XAL Description The description of the rule. 3. Choose Edit from the context-menu of an SAP System.Administering the Scheduling Landscape Sending Monitoring Data to SAP Systems Use Monitoring data from SAP CPS can also be sent to SAP Systems and displayed alongside other SAP-specific monitors in transaction RZ20 or Solution Manager using the XMW interface.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset. Please wait for the status of the process server to reach Shutdown prior to starting it. Note XBP 3. 3. see Setting Up Logical Systems [http://help. 2.sap. Choose Stop and then choose Start from the context-menu of the corresponding process server. 5.htm] for more information on creating logical systems for clients. Choose the XMW tab and fill in the credentials of the RFC user.0 requires a logical system for the client. To read the SAP CPS monitoring data in an SAP System 1. This interface is configured per SAP System and requires an RFC user with sufficient privileges. Log on to the central monitoring system. Open transaction RZ20. Before you can send monitoring data to an SAP System about queues and process servers in SAP CPS you will have to create a monitor tree if that has not already been done. please see the tuning for more information. 4. You may set a maximum setting for the number of RFC connections. Look for an MTE of MTE class RedwoodContext. 4. Choose Save & Close 5. Navigate to Environment > SAP Systems 2. as outlined in Reference SAP RFC User Privileges. Procedure To setup synchronization of monitoring data with an SAP System 1. Choose Edit > Selections > Select > Node (MTE) of a class. Choose the top node. Navigate to Environment > Process Servers 6. 131 . Open monitor System / All Monitoring Segments / All Monitoring Contexts of monitor set SAP CCMS Technical Expert Monitors.20 system with Support Package 12 or higher. Prerequisites • An RFC user with sufficient privileges • A SAP CPS Monitor tree • An SAP NetWeaver AS 6. Enter RedwoodContext. <product> is either SAP CPS or Scheduler. the name of the main node follows this syntax: a.10. Now you can see the SAP CPS monitoring data tree. Example • The Client is 200.Administering the Scheduling Landscape 6.254. The correct MTE is now selected (but still hidden). <hostname> on Redwood Platform iii.254. username is masalan and password is masalan • The SAP R/3 connect string is: ASHOST=169.10. depending on your license. 7. <product> <SAP System Name in the Scheduler>@<sap id> i. Choose ENTER twice. This is described in detail in Editing Monitors and Monitor Sets [http://help. • The default client of the SAP System is client 200.Change actions XMW SAP Language EN XMW Description XMW Max RFC Connections 132 .12 SYSNR=52 TRACE=0 • XBP version supported is XBP 2. <system id> is SAP:<SID>_<Instance number> on NetWeaver. Tab Field Example value SAP System Name sapbw_prd SAP System Connect String ASHOST=169.com/saphelp_nw70/helpdata/EN/08/1f5a3b0013ae73e10000000a11402f/frameset.12 SYSNR=52 TRACE=0 SAP System Job Handling Disabled SAP System Time zone Europe/Berlin SAP System Application SAPBW SAP System description Production SAP BW system in Berlin XMW Client Number 200 XMW Username masalan XMW Password ******* (masalan in this example) XMW Audit Level 0 . Select Tree > Expand tree > Along selection.htm] Values Configuration details for sending SAP CPS monitoring data to an SAP System can be found in the Configuration Details for Sending Monitoring Data to SAP Systems section of the documentation. Example: Scheduler TB7@sol05 or SAP CPS TB7@SAP:RIU_09 Tip You can also create a new monitor showing SAP CPS data only. 8.sap. ii.0 (INITXBP2 has run). Administering the Scheduling Landscape XMW Monitor Root XMW Interface Version automatic Configuration Details Use To be able to send SAP CPS monitoring data to an SAP System.Allows you to check that the RFC Connect String. and is an integer with the value range of 0-3. as described below in the Reference section under Required Authorizations of the Remote System User Of course it is possible to use here the same user as for XBP and XAL. If omitted. XMW SAP Language The that the SAP process server uses to connect to the SAP System. If this is not set the description is <Client Number>/<Username>. Controlling Communication Channels with SAP CPS via PI/XI Use You configure SAP CPS to control communication channels by creating a user in the NetWeaver AS JAVA with the required authorizations and use this user in SAP CPS to connect to the SAP instance via the PI interface. If this field is left on automatic. This setting can be left empty as it is only of minor importance. RFC connections Specifies how many RFC connections the SAP process server opens for this client. so the open connections are reused. the recipient SAP System must have an ABAP stack with CCMS monitors or Solution Manager. the latter is preferred. XMW Interface Version The version of the XMW interface that the SAP process server should use. XMW Check Connection Set. XMW Description The description of the rule. The SAP process server internally uses a connection pool. Client Number. the number of connections is not limited. XMW Audit level The XMW audit level of the interface. XMW Password Password of the RFC user. In this case the user needs all authorizations required by these interfaces. 133 . This user needs certain authorizations in the SAP System. XMW Username The RFC user name. since only one RFC connection per SAP process server is opened for the XMW interface. the highest available interface version is used. You first need to configure the connection details for the ABAP stack. Usertings name and Password are correct. Specifying XMW-specific Settings Tab Field Description XMW Client number SAP client number as a three digit number. XMW Max. and also closed if they are idle for a certain amount of time. Setting up Connection Information See the Connection Details for the ABAP Stack section of the documentation for details on how to set up a connection to the ABAP stack. 2.sap. Prerequisites • Chargeable SAP CPS license • You switched to external control in the Communication Channel Monitor [http://help. Choose Save & Close. 4. the required services are added automatically to the process server.app*AdapterFramework application for the user.aii.htm].component that sends jobs to SAP systems for processing 134 . Navigate to Environment > Process Servers and restart the process server belonging to the SAP instance. depending on your SAP NetWeaver release. GRMG is suitable both for technical monitoring and for application monitoring. You can also perform this in SAP NetWeaver Administrator with the quick link /nwa/identity. 5. The following SAP CPS components can be monitored with GRMG: • Dispatcher .component of a process server that run jobs.af. Navigate to Environment > SAP System. 3. See Also • SAP Communication Channels with PI/XI • Importing Communication Channels via PI/XI Monitoring SAP CPS Availability in CEN Use You can use the Generic Request and Message Generator (GRMG) to monitor the availability of technical components and entire business processes.com/com. each process server has a service per job definition type • SAP system process servers . Choose Edit from the context-menu of the SAP System.Administering the Scheduling Landscape When you create or edit an SAP System.sap.the process that distributes the load of jobs across the Central Scheduler • Queues .load-distribution component of SAP CPS • Process servers . On the J2EE tab.component that executes jobs • Services of process servers .com/saphelp_nw04/helpdata/EN/44/2a1a8620323f0ee10000000a114a6b/content. so there is no need to change services on a process server. • You created a user in NetWeaver. in Visual Administrator for example. Procedure Configure SAP CPS to control the communication channels: 1. select PI and enter the username and password of the user you created previously in SAP NetWeaver. and assigned the xi_af_channel_admin_display and xi_af_channel_admin_modify roles to the sap. Fill in Connect Settings 7. 135 . Result In transaction RZ20 under the GRMG Monitor set. Make sure the scenario is listed as running. Select the scenario and choose Start Scenario from the Start Button. Choose Create 5. 8. Fill in a Scenario name and Description for the scenario. choose Yes to Create a technical ping to test a URL'' 3. 4. Open transaction GRMG on the CEN 2. depending on the component you would like to monitor. the host and port parameters refer to the host name and connection port of the Central Scheduler. as well as a Component name and Description for the Component. Examples: • http://<host>:<port>/scheduler/monitoring Dispatcher • http://<host>:<port>/scheduler/monitoring?object=processserver&name=CRM_ProcessServer Process server CRM_ProcessServer • http://<host>:<port>/scheduler/monitoring?object=queue&name=CRM_Queue Queue CRM_Queue • http://<host>:<port>/scheduler/monitoring?parent=CRM_ProcessServer&object=psservice&name=SAPR3Service SAPR3 service of the process server CRM_ProcessServer • http://server:port/scheduler/monitoring?object=sapsystem&name=T5U Prerequisites • A functional Central Monitoring System (CEN) has been configured • GRMG must have been previously set up and functioning on the Central Monitoring System (CEN) • Login credentials to the CEN with sufficient privileges to set up a GRMG-lite scenario are required • The full URL to the Central Scheduler must be known Procedure Create a scenario 1. you should see your SAP CPS-specific monitors you created. Choose Edit/Delete and then Create GRMG-Lite Scenario. In the URL/Destination fill in one of the above URL's. 6.Administering the Scheduling Landscape The following syntax is used in transaction GRMG to monitor the components. This means that NWJS jobs can be run on a different schedule. 56000. more appropriate to the system usage.. Gather the appropriate configuration details You will need a system running an SAP NetWeaver Application Server Java. the other scenarios allow the external scheduler to control NWJS jobs.10 (including the Java EE 5 Preview Edition). 136 . It also has an external interface (JXBP) that can be used by more powerful schedulers (like SAP CPS) to achieve the following: • monitor jobs scheduled by NWJS • submit new jobs to NWJS for immediate execution. The instructions here cover configuring version 7. or scheduled as part of more complex processing. . and the latest NetWeaver Java Scheduler. When you edit an SAP System. Ensure you have the appropriate version of SAP NetWeaver Application Server While SAP CPS can run on version 7.10 and above. If you are using the Java EE 5 Preview you should contact SAP for an update to JXBP that allows external schedulers to connect to it. in a job chain for example. This will be referred to as <jxbp hostname> • The HTTP port number used to connect (for example 50000. the required services are added automatically to the process server. Procedure Configure a user in the NetWeaver Java Scheduler to be used for JXBP.. • the URL of the JXBP server. The SAP NetWeaver Java Scheduler is a simple 'cron-like' scheduler built into the SAP NetWeaver Application Server. This allows NWJS to be monitored as part of a larger system.masalan. Navigate to Operation Management > Jobs > Java Scheduler > External Schedulers. 1.com).). so there is no need to change services on a process server.Administering the Scheduling Landscape Configuring the Java Scheduler Interface Use This section covers the installation of the Java eXternal Batch Processing (JXBP) interface to the SAP NetWeaver Java Scheduler (NWJS). You need the following configuration information: • The hostname of the server (for example java1. aka the server running the NetWeaver Java Scheduler • A user in the NetWeaver Java Scheduler to be used for JXBP. The first scenario is most useful for smaller systems. as part of version 7. This will be referred to as <jxbp http> • The username and password for the SAP 'Administrator' user of this system. This scheduler allows specially written Message Driven Beans (MDB's) to be scheduled using simple expressions. or for some or all NWJS scheduled jobs to be transferred to an external scheduler.00 (NetWeaver 2004s) and later. which allows you to schedule Message-Driven Beans. Navigate to NetWeaver Administrator (http://<jxbp hostname>:<jxbp http>/nwa) 2. the NetWeaver Java Scheduler and JXBP require version 7. Once the JXBP interface is configured. a process server and queue is created for you automatically with all required services. Prerequisites • Appropriate version of SAP NetWeaver Application Server.10. Choose Add and fill in the details of the <jxbp user> and choose Add. At the time of this writing. Note You need an ABAP stack of NetWeaver 7. 6. you may not have a version of the NetWeaver Java Scheduler with JXBP. Choose Environment > SAP Systems in the Navigation bar. Note If you do not see the appropriate page here. Choose Save & Close to save the changes and close the edit window. Choose New SAP System from the context-menu. or 604800000. SAP CPS interfaces with the SAP Applications API. Choose Environment > Process Servers in the Navigation bar. Note Redwood recommends the use of redwood for name and user name. On the J2EE tab. 137 . choose Check connection to make sure the account details are valid. These details will be needed when you connect SAP CPS to this Java Scheduler. the following SAP components have been optimized for SAP BAE connectors (SAP Applications API): • Solution Manager • Closing Cockpit Note More SAP components are currently being optimized to make use of SAP BAE. 5. which allows you to schedule jobs in SAP CPS.Administering the Scheduling Landscape 3. Note TimeoutGracePeriod should be set to one week. Contact SAP support for help. 2. 7. Choose Start from the context-menu of the process server belonging to the relevant SAP System. fill in the Username and password in the fields. 3. On the SAP System tab. To set up the interface to interact with the Java Scheduler: 1. for example from SAPGui. 4.00 SPS 16 or later to connect to SAP Business Automation Enabler. fill the Name. Starting the SAP CPS RFC Server Use SAP Business Automation Enabler (BAE) connectors are RFC servers and allow ABAP stacks to connect to SAP CPS and interact with the scheduler. J2EE URL and the Time zone fields. if the connection fails check the client/username/password combination. you will have to log on to SAP CPS with that user to synchronize the new privileges with SAP CPS. Navigate to Environment > SAP Inbound 2. Choose Save & Close. 5. Example Enabling the RFC server in SAP CPS and creating a connection to it from the PR1 SAP instance 1. Choose Display and.limit license key Procedure Enabling the RFC server in SAP CPS 1. when started. Choose New from the context-menu.BAEConnector. Choose Start from the context-menu of the SAP BAE Connector. Prerequisites • XBP 3. The SAP user you specify in the SAP Inbound must be Enabled. Choose the Check connection button. RFC Connect String. the username. The privileges in UME are synchronized the first time the user logs on to SAP BAE. will start an RFC server in SAP CPS. 7. choose Connection Test.Administering the Scheduling Landscape You start the SAP Inbound Connector which.0 is required in the SAP instance • a free slot is required in the ProcessServerService. if the connection fails. Fill the Client Number. 9. 2. The SAP CPS user needs to be have the same isolation group as the SAP System. if you change the privileges in the UME. 8. or you will not be able to schedule workload on the SAP instance. 4. and Password fields. and Time Zone fields. 6. On the SAPBASE Connector. On the On the SAP BAE Configuration tab. 3.SAP. fill in the Name. Testing the RFC Destination to SAP CPS 1. Navigate to Environment > SAP Inbound 138 . It will also create an RFC connection in the SAP instance you specified to SAP CPS. Choose the entry: CRONACLE-nnnnnn@<SAP CPS>:<hostname>:<port> 4. Expand TCP/IP connections 3. Choose Check Connection Settings. check the RFC connect string. once the details of the RFC connection are displayed. Open transaction SM59. choose Add. Security ABAP users are mapped to SAP CPS users and need the SAP_BC_BATCH_ADMIN_REDWOOD role in the SAP R3 subsystem and Business Automation User for the SAP System in SAP CPS. 5. This allows fluid closing processes and greatly reduces the time it takes to close the books. 139 . jdoe into the username. with SAP CPS the time between those two tasks can be automated and reduced to a second or less. Expand TCP/IP connections 3.Administering the Scheduling Landscape 2. • M . SAP CPS is the scheduler which organizes and triggers all automated tasks in time across your system landscape. 3. and Paris into Time Zone fields. and mybestkePtseCret into the Password field. On the SAP BAE Configuration tab. all automated tasks are carried out with a minimal delay. you can follow SAP CPS FCC-related tasks in both FCC and SAP CPS. For example.to be set on the parent job definition and the child job definition of which you want the output.COM:10180 4. Choose Display and. 6.com SYSNR=15 TRACE=0 into theRFC Connect String.to be set on the parent job definition of the process chain. 4. when a task requires user intervention. 2. choose Connection Test. for example. which can include SAP and non-SAP Systems. will force all job output to be available in FCC. 7. Fill 200 into the Client Number. fill PR1 into the Name. This parameter accepts two values: • A . See Also • Solution Manager • Closing Cockpit Integrating Into Closing Cockpit Use Financial closing cockpit (FCC) lets you organize you closing procedures and have the process followed in real time. On the SAPBASE Connector tab. Open transaction SM59. Checking the RFC connection 1.MASALAN. the user can be alerted from within FCC via email. and the alert can be escalated if it is not resolved in a timely manner. Choose Save & Close. Sending Spool Files to Financial Closing Cockpit You can make all output of the process chain available in FCC by specifying the parameter SAP_APPSAPI_CHAIN_GET_OUTPUT.masalan. Choose Start from the context-menu of the SAP BAE Connector named PR1. When you have setup FCC. choose Add. when you previously had to run a job on a Unix system to populate a database with data after which the SAP team could proceed with the launch an ABAP to process that data the time between the two steps could be quite long. Choose the entry: CRONACLE-438320@REDWOODPLATFORM:PR3. Choose New from the context-menu. ASHOST=pr1. once the details of the RFC connection are displayed. sap. if there are any. Please see the SAP related documentation for more information on FCC.cc license key. just as you would in SAP CPS.Administering the Scheduling Landscape Prerequisites • SAP Basis release 7. Choose the Edit button and make sure the name of your task list is followed by Change in the title bar of SAPGUI. import one from FCC or Solution Manager. no SAP notes needed • SAP Enhancement Package 3 for SAP ECC 6.0 • A SAP Application connection to the SAP CPS RFC server Note FCC integration requires the ProcessServerService. Fill in a Queue and parameters. 3. Open your task list or choose Other Template/Task List from the Template/task List menu and choose a task list. 6. 4.Mail license key. Before you can schedule jobs. Note If you do not have the Remote Task field. 1129030. 1154821 • SP 15 plus SAP Note 1129030 [http://service. you also need the Module. 5.com/sap/support/notes/1129030] • SP 16. You can schedule jobs in SAP CPS from within Solution Manager via the SAP Applications API.SAP. That is out of the scope of this guide. or create a task list. If you want to be able to send email. 140 . 2. In the Closing Cockpit Display/Create/Change Task window choose Remote Task and select the name of a SAP CPS job definition in the Remote Task field (you may select any job definition the SAP CPS user is allowed to use).00 with one of the below Support Packages and relative SAP notes (if any) or later: • SP 14 plus SAP notes 1112590. Choose New Task from the context-menu of a folder in the task list hierarchy. then you do not have correctly set up a connection to a SAP CPS RFC server. Procedure Adding a SAP CPS task to a FCC task list 1. Note You can also create a task list template. Integrating into Solution Manager Use SAP Solution Manager is a free component with SAP NetWeaver. this is outlined in the Starting the SAP CPS RFC Server section of the documentation. Open transaction CLOCOC. The Solution Manager integration allows seamless change management. you need to set up the RFC server in SAP CPS and create a RFC destination pointing to SAP CPS. stopped and moved on demand to other servers. stopping and relocating SAP ACC services.masalan. the SAP ACC will start the service on the target host regardless of resources. not running any other services.sap. When this parameter is set to true. • RELOCATE .Administering the Scheduling Landscape which is built into SAP Solution Manager and enriches the it with the functionality of SAP CPS. The SAP ACC checks if the target host is available. can be STOP. Starting and Relocation Services The behavior of the SAP ACC for the commands START and RELOCATE depends on the value of the parameter Hostname.com/sap/support/notes/1122497] and SAP Note 1265635 [http://service.the command to perform.password of the user • Command .The SAP ACC will start the requested service on the host <hostname>.The SAP ACC will stop the requested service and start it on the host <hostname>. SAP has introduced SAP Adaptive Computing to address the needs of its customers.sap. Note See SAP Note 1122497 [http://service. SAP CPS uses SAP Adaptive Computing Controller (SAP ACC) to automate starting.the id of the service to manage Stopping Services To stop a service.com/sap/support/notes/1265635] for information. provided the new target server meets the requirements. You use the SAP_ACC_Controller job definition for this purpose.sap. START and RELOCATE • Service ID . and provides enough resources for running the new service. SAP CPS sends the status information of the job back to SAP Solution Manager and integrates into its scenarios.username of a user that is authorized to manage SAP ACC services • Password . the SAP ACC will identify the host the service is running on and request the shutdown of the service.com/saphelp_sm40/helpdata/en/c3/44390086414b4f81a10773b7a11f80/frameset. You always need to provide the following parameters: • Url . allowing greater optimization of resources and processes. Applications can be started. For more information on SAP Solution Manager integration. You can force the service to run on a server that does not provide enough resources according to the SAP ACC by using ForceSmallServer parameter. provided is meets the requirements.com:50200/ACCGW/ACC) • Username . Hostname is set • START . running processes anywhere across your data center across platforms. SAP Adapting Computing and SAP CPS Use Data centers are becoming more and more virtualized. you do not need to provide any more parameters. 141 . see Editing Monitors and Monitor Sets [http://help.URL to the SAP ACC server web service http://<server>:<port>/ACCGW/ACC(for example: http://sapacc.htm]. start and relocate services on the fly. Username. Choose Next. Please contact your account representative for more information. using SAP CPS.htm [http://:] Controlling SAP Adapting Computing Environments with SAP CPS Use Controlling Services across your data center has never been as easy as with SAP CPS. Password. The job definition SAP_ACC_Controller allows you to stop.com/instguides] • Web services have been enabled. 2. 4. 5. You can automate service relocation on demand. Choose Submit from the context-menu of the job definition SAP_ACC_Controller. Fill in Url. 142 .sap. Prerequisites • You have installed ACC. this is. and Service Id parameters of the job.com/saphelp_nwacc72/helpdata/en/49/61079190ab2009e10000000a42189c/frameset.com/saphelp_nwacc72/helpdata/en/49/61079190ab2009e10000000a42189c/frameset.com/instguides [http://service. Fill in Url. See Also • help. 2. Select Stop in the Command parameter. 5. 3. Select Relocate in the Command parameter. see Enabling ACC in the Web Service Framework [http://help. out of the scope of the current documentation. Navigate to Definitions > Job Definitions. Choose Submit from the context-menu of the job definition SAP_ACC_Controller.sap. Password.sap. select an appropriate queue and choose Submit. select an appropriate queue and choose Submit.sap. 4.htm [http://:] • help. Choose Next.Administering the Scheduling Landscape Hostname is not set The host where to start the service is determined by the internal assignment rules of the SAP ACC.sap. Navigate to Definitions > Job Definitions. For more information see: SAP Service Marketplace at service. Hostname. Relocating a service 1. Username. and Service Id parameters of the job.htm] Procedure Stopping a service 1.com/saphelp_nwacc72/helpdata/en/49/61079190ab2009e10000000a42189c/frameset. 3. however. multiple values are specified comma-separated.masalan. Fill in Url. Username.com:50200/ACCGW/ACC Username accmgr Password mysecret Command RELOCATE ServiceId MSLN_Reportin Hostname sol03.com ForceSmallServer false ReplyLog Yes Active XMB Monitoring Use You monitor XMB Messages for specific errors by creating a set of registry keys. The Event registry key can have more than one <event> child key. Choose Submit from the context-menu of the job definition SAP_ACC_Controller. such as PR1 for example • <message_type> is the message type of the XMB Message. Select Relocate in the Command parameter. and Service Id parameters of the job. it has been decided to move the service MSLN_Reporting to a more powerful system sol03. Password. if an XMB Message reports a specified error. Choose Next. Parameter Value Url http://sapacc. 1.Administering the Scheduling Landscape Example Accounting processes are taking too long to complete and management is requesting important reports for a board meeting. You specify the registry keys for XMB Message Monitoring as follows: /configuration/sap/<sap_system>/xmb/monitoring/Message/<message_type>=<options>/Event/<event> Where • <sap_system> is the name of your SAP system. Hostname. The raiser comment of the event contains specific XMB Message information such as the DocId and MessageId. 2. 5. 3. 4.com to speed up completion.masalan. select an appropriate queue and choose Submit. such as MSG1 for example • <options> comma-separated key=value pairs of options to match the XMB message • <event> is the name of your SAP CPS event to raise The key part of the <options> can be any field in the SAP structure SXI_MESSAGE_DATA_LIST You specify the XMB Message statuses in the Value field of the <event> registry key. Navigate to Definitions > Job Definitions. the corresponding event will be raised.masalan. 143 . such as MATMAS for example • <event> is the name of your SAP CPS event to raise You specify the IDoc statuses in the Value field of the <event> registry key. The event XMBEvent is raised with the following raiser comment: XMB: E9DCD997B75B49E40ADDB0EC5ECE0132/06/A/XBTO1___0001/In/I46_200 Prerequisites • ProcessServerService. You specify the registry keys for IDoc Monitoring as follows: /configuration/sap/<sap_system>/idoc/monitoring/MessageType/<message_type>/Event/<event> Where • <sap_system> is the name of your SAP system.XMBMessageMonitoring license key set to true Active IDoc Monitoring Use You monitor IDocs for specific errors by creating a set of registry keys. which matches the value of the registry key. such as PR1 for example • <message_type> is the message type.Administering the Scheduling Landscape The raiser comment contains the following information: XMB: Message GUID/state/type/queue/sending_system/receiving_system Example You specified the following two registry keys: /configuration/sap/CPI/xmb/monitoring/Message/MSG1 ADAPT_TYP=IDOC /configuration/sap/CPI/xmb/monitoring/Message/MSG1/Event/XMBEvent 05. The raiser comment contains the following information: IDoc: <DocId>/<MessageType>/<status>/<direction>/<receiver_type>/<receiver_port>/<sender_type>/<sender_port> 144 . of the IDoc. or message id. the corresponding event will be raised. multiple values are specified commaseparated. if an IDoc reports a specified error.SAP. 06. The raiser comment of the event contains specific IDoc information such as the DocId and MessageId. 21 The XMB Message E9DCD997B75B49E40ADDB0EC5ECE0132 reached status 06. The Event registry key can have more than one <event> child key. which matches the value of the registry key. Creating Users in SAP NetWeaver 145 .SAP. The event IdocEvent is raised with the following raiser comment: IDoc: 207019/MATMAS/56/I/LS/TSTCLNT200/LS/JCOCLNT200 Prerequisites • ProcessServerService.iDoc license key set to true • IDoc transport files Procedure Downloading the IDoc Transport Files 1. Isolating Users and Objects a. This section contains the following topics: 1. Partitions b. 2. Locate the IDoc Transport files. the process depends on the authentication system you are using. Basic privileges can be granted inside the authentication system. via the built-in roles.Administering the Scheduling Landscape SAP Tables • TEDS1 . 56. 58 The IDoc 207019 reached status 56. it is not possible to create users or roles inside SAP CPS. Users and roles from external authentication systems are used to access the user interface. Navigate to Configuration > Software 2. choose Download from the context menu Managing Roles and Users Use SAP CPS features a simplified security model based on built-in Redwood roles. 46. Fine-grained privileges can then be granted in the user interface to custom roles that you previously created in the external authentication system.IDoc status table • EDMSG .Message type table Example You specified the following registry key: /configuration/sap/PR1/idoc/monitoring/MessageType/MATAMS/Event/IdocEvent = 45. Creating Isolation Groups and Assigning them to Users Security in SAP NetWeaver a. Use partitions instead. provided he has the required system and/or object privileges. Every isolation group requires its shared partition.SAP. All objects contained in a partition share the same isolation group as the partition. When this license key is set to 0. you choose your enabled isolation group for the session (if you have more than one) and this isolation group allows you to access objects which have the GLOBAL isolation group or the same one as your enabled one. System Privileges b. Granting and Revoking Object Privileges Privileges Required to use objects Isolating Users and Objects Use With an isolation group. 146 . Assign Users from External Platforms to Jobs 4. Object Privileges d. a user is limited to interacting with objects of the same isolation group. Every user has an isolation group. Granted System Privileges c. these have been implemented to adhere to the limitations of the Free of Charge version and demand a high level of configuration. Isolation groups are linked to partitions and to the ProcessServerService. Creating Roles in SAP NetWeaver 3. Tip SAP does not recommend the use of isolation groups in the Chargeable version. A user with an isolation group can only see users and objects of his enabled isolation group or the GLOBAL isolation group. • any partition with a null isolation group is read-only.SAP.Administering the Scheduling Landscape b. This means that. Partitions Use Partitions are used to store objects in the repository and isolate them from one-another together with isolation groups. refer to the Assign Isolation Groups section of the documentation.limit license key is set to 0. Objects inherit the isolation group of the partition in which they are stored. a. Granting and Revoking System Privileges e. Privileges 5. a user will never be able to see or access an object with a non-GLOBAL isolation group if he does not have the same isolation group. enabled for the session. Regardless of privileges. the following restrictions are in place: • one SAP System may be created per partition with one XBP client. you can create as many isolation groups as you want. If the ProcessServerService. when you log on. To create isolation groups.limit license key. as the object. MassActivities license key • Redwood transports will be available for mass activities • SAP Applications API will be available. Show permalinks Show permalink links to the partition object. A user cannot view objects residing in a partition if the user cannot view the partition. variants. however. child jobs will be picked up regardless in which client they were created. • BW restart will be possible. they require the ProcessServerService. Edit Edit the attributes of the partition. and process chains that have been imported into SAP CPS Tip SAP does not recommend the use of isolation groups in the Chargeable version. Add to navigation bar Add the partition to the navigation bar. however.SAP.Administering the Scheduling Landscape • only the system can create partitions with a null isolation group. Managing Users and Roles in External Systems Use Users and roles are created in external systems. You can use partitions without isolation groups and rely on partition access privileges for isolation. • variant management will be limited to the defined XBP client. Create view only role Create a role with view-only privileges on all objects residing in the partition. • job control rules will function only for jobs from the defined XBP client. they require the ProcessServerService.ApplicationsAPI license key • SAP_AbapRun. these have been implemented to adhere to the limitations of the Free of Charge version and demand a high level of configuration. Duplicate Duplicate the partition. SAP_BW_ProcessChainRun and all the other SAP job definitions that run jobs will only allow ABAP reports. Export Export the partition only. • all monitors from SAP (via XAL) will be created in the appropriate isolation group. • SAP batch event will raise events in the isolation group only.ProcessChainRestart license key • Mass activities will be possible. Context-Menu Actions Name Description Export with contents Export the partition and all objects residing in it.SAP. how you proceed depends on the authentication system you use: 147 .SAP. it requires the ProcessServerService. Edit Security Edit the security/privileges to the partition. however. Delete Delete the partition. • scheduler-it-user . Coarse-grained permission assignment is managed in UME. (not displayed when running in SAP NetWeaver) 148 . The following two sections illustrate how to assign roles and isolation groups to users: • Assigning Isolation Groups • Assigning Roles As soon as users with one of the above actions log on for the first time. cannot see any objects. job definitions.can access the default user interface • scheduler-job-administrator .access only. job chains. objects are automatically created.can create/edit/delete event definitions. • AccessSchedulerOperations . • scheduler-isolation-administrator .can access the business-user-centric user interface • scheduler-event-operator . • scheduler-user .has access to SAP CPS only.can access the default user interface when the Financial Process Automation module is used. will be created in SAP CPS as soon as a user with that role logs on. • scheduler-screen-reader . The isolation administrator can also add users from UME.Administering the Scheduling Landscape • Security in SAP NetWeaver See Also • Managing Users and Roles in SAP CPS Security in SAP NetWeaver Use The scheduler integrates with UME to determine which users have at least one of the following two actions: • AccessScheduler . Can modify jobs. • scheduler-administrator .manage the scheduler. Any role that has any of the above actions.read only access to all objects. Roles with these actions are managed in UME.can perform all actions. • scheduler-bae-user . by creating a role matching the following role names and assigning it the AccessScheduler action.can raise and clear events.can create/edit/delete isolation groups and add users to these.indicates that you are using a screen reader. Authorizations are synchronized at login-time. • scheduler-viewer .indicates that the user uses the BAE interface • scheduler-business-user . so changes will be effective upon the next login. • ManageScheduler . a user that represents the system.com/scheduler-ear*scheduler Switch to edit mode. 3.com/saphelp_nw73/helpdata/en/4d/a5ddc832211dcde10000000a42189c/content. This means that although you are authenticated in NetWeaver AS Java. See Also • Isolation Groups • System Privileges • Object Privileges Creating Users in SAP NetWeaver Use User objects represent users of the system and can have roles granted to them in order to have privileges to perform actions. This potentially happens when you first log-in to a webdynpro application (for example /useradmin) and then attempt to access SAP CPS. See Using Logon Tickets [http://help. This synchronization only occurs one way. Logon ticket authentication can be enabled on all your SAP NetWeaver systems in your system-landscape for SSO. Fine-grained permission assignment can be done inside SAP CPS by assigning permissions to users or custom roles created in UME.sap. SAP CPS is configured for basic password login and not ticket authentication. Users are part of the Security section in the navigation bar. They must have the following action assigned to at least one of their roles to get read-only access: • AccessScheduler 149 . redwood. Enabling Ticket Authentication By default. Navigate to config > services > security provider. 2. you will be asked to enter your username and password again. Locate the following component: a. Users are created in UME and cannot be created in SAP CPS. Open Visual Administrator on the global server.Administering the Scheduling Landscape Note The roles scheduler-business-user and scheduler-it-user are use by the Financial Process Automation module. It is not possible to change the above roles from within SAP CPS. Enabling Ticket Authentication in Visual Administrator: 1. Users are imported automatically from the SAP User Management Engine (UME) as soon as they log on for the first time and kept in sync with UME at each login.htm] to configure SAP NetWeaver for logon ticket authentication. your credentials will not always be passed on to SAP CPS. from UME to SAP CPS. The following standard users are provided with SAP CPS: • Redwood System . on the right-hand side and select the Ticket template. 4. Choose Create User and fill in the data. Add this user to at least one of the roles created during the installation of SAP CPS. choose Security > Users in the Navigation bar. Connect to the User Management interface in SAP NetWeaver where SAP CPS was installed. Choose Disable Login from the context-menu of the user Values • Name . 3. 4. Procedure Create a user in SAP NetWeaver UME 1.A comment about the user. Note Users cannot be deleted in SAP CPS. when you disable login for a user. • The URL to the User Management interface of the SAP NetWeaver system where SAP CPS was installed. • Creation Time .The last time the user ID was modified. You can enable and disable login for a user. • Last Modification time . Creating Roles in SAP NetWeaver Use A role is a set or group of privileges that can be granted to users or other roles. • Description . Navigate to Security > Users. Prerequisites • A user account and password with appropriate privileges for managing users in the SAP NetWeaver system where SAP CPS was installed.The name of the user. Disable a user from logging into SAP CPS 1.The description of the user. this will be addressed in a future version. The following standard roles are provided with SAP CPS: 150 . the user will be notified at the next login attempt that the user has no access to the system.The time the user ID was created. 2. 2. Roles are part of the Security section in the navigation bar.Administering the Scheduling Landscape Administrator users additionally have the UME role scheduler-administrator or the following action assigned to one of their roles: • ManageScheduler To view all the available users. • Documentation . Log on with this user in SAP CPS. Note If you get an HTTP error 403 .indicates that you are using a screen reader.can create/edit/delete event definitions.can access the default user interface • scheduler-job-administrator . your user may be lacking the scheduler-user role. • ManageScheduler . • scheduler-bae-user .can create/edit/delete isolation groups and add users to these.can access the business-user-centric user interface • scheduler-event-operator .read only access to all objects. • scheduler-user . • scheduler-screen-reader . these roles will be editable in SAP CPS and allow you to extend privileges of users. you are not allowed to grant the ManageScheduler action to the same role.Administering the Scheduling Landscape • scheduler-administrator . • scheduler-isolation-administrator .can raise and clear events. • scheduler-it-user . The UME also allows you to grant SAP CPS privileges directly to roles via the following actions: • AccessScheduler . If the roles do not exactly suit your needs.has access to SAP CPS only. Can modify jobs. You create a role with the corresponding name in the UME. create custom roles (with names that do not match the above roles) in the UME and assign them the same action. These are the standard roles. all roles that you want to use in SAP CPS must have this action assigned.isolation group administrator (same as scheduler-isolation-administrator role). job chains.can perform all actions. you grant these roles to users. SAP strongly recommends you start by creating the above roles in the UME and assign them the AccessScheduler action. (not displayed when running in SAP NetWeaver) Note The roles scheduler-business-user and scheduler-it-user are use by the Financial Process Automation module. job definitions.Access Denied after logging in.read-only access. it is not possible to edit the standard roles. Note that the following actions should not be used: • scheduler-ear/scheduler-administrator • scheduler-ear/scheduler-isolation-administrator 151 . Once that is done. Once you grant these roles to users in the UME. the users will get the corresponding SAP CPS roles granted and have the privileges granted to these roles as soon as they log on or the isolation administrator adds them to an isolation group. assign it the AccessScheduler action and grant it to SAP CPS users.indicates that the user uses the BAE interface • scheduler-business-user .scheduler Administrator (same as scheduler-administrator role) • ManageSchedulerIsolation . cannot see any objects. • scheduler-viewer . Note that the use of the role is highly recommended. these are known as object privileges and are granted via the Security tab on the object. You can also grant privileges for specific objects on object-level to users or roles.Administering the Scheduling Landscape • scheduler. Choose Role in the drop-down box for Search Criteria. Usually http://<host>:<port>/useradmin • An account with sufficient privileges to create a role and add members to the role.you use the scheduler-screen-reader role or append &sapaccessibility=X in the URL.ear/scheduler-user Accessibility SAP CPS has been tested with the JAWS screen-reader for the visually impaired. The following topics in the Security Guide and Administration Guide provide more information on privileges and how you grant them: • System Privileges • Object Privileges • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Prerequisites • The URL to the NetWeaver UME. • A Scheduler Manager user account for SAP CPS Procedure Creating a role to map to a SAP CPS role 1. There are two levels at which you can grant system privileges. 2.SAP UME allows you to set a property for visually impaired users. You grant specific privileges to roles for each object type. These privileges are known as system privileges and are granted via the role object. this property is supported by SAP CPS • Other supported application servers . available privileges are dependent on the object. these are known as global Privileges. Despite what the name might suggest. Access and Admin. you have the following options. Privileges granted with the Admin level allow the grantee to grant the privileges to other users. depending on your application server: • SAP NetWeaver . the URL parameter is supported on all supported application servers. When you want to use a screenreader. Granting Privileges You can grant privileges to custom roles. and is designed for testing purposes. Connect to the UME in SAP NetWeaver where SAP CPS was installed. which contain Created automatically on first login. Some privileges are not dependent on a partition or isolation group. • The username and password of a user you add to the role. Custom roles are recognizable by the name (it is not allowed to be one of the above) as well as the description and comment fields. 152 . 7. 4. 3. 2. Access privileges allow the user to perform the actions. Navigate to Security > Roles. Choose Role in the drop-down box for Search Criteria. Search for one of the roles previously created. and choose Add. Choose Add and Save. Editing a custom role in SAP CPS 1. 2. Choose the Assigned Actions tab. Values Assign Privileges • Object Definition . Choose Create Role and enter a name of one of the SAP CPS roles into the Unique Name field. 5. choose an Object definition and then Next. Choose Edit from the context-menu of an editable role.The role name. Choose the user. On the Assign Privileges tab. Choose a Rank with the desired privileges. Connect to the UME in SAP NetWeaver where SAP CPS was installed.Editable roles have a description: Created automatically on first login. 2. 153 . 3. Assigning a user to a role 1. Log out of the UME. Connect to the UME in SAP NetWeaver where SAP CPS was installed. 3. 4. choose Add and Save. Choose Add and Save. Search for scheduler and choose the action names AccessScheduler and ManageSchedulerIsolation. 4. Choose Create Role and enter a role name in the Unique Name field. Choose the Assigned Actions tab. 5. Creating a custom role to manage isolation groups in the UME 1. Search for scheduler and choose the action name AccessScheduler. SAP recommends to prefix the role name with scheduler as it will be easier to distinguish the role fro other roles in the UME . 4. Log out of the UME. Choose the desired range of the privileges. Admin privileges allow the user to perform the action and to grant the privilege to others as well. 6. 6. and choose the Assigned Roles tab. Log out of the UME.Administering the Scheduling Landscape 3. Fill in the Search Criteria field and locate the user. 5. 5. 6. for example. Choose Role in the drop-down box for Search Criteria. Connect to http://sapnwprd.Custom library. as this is used by job definitions as well as period functions. Note that shared objects reside in the GLOBAL partition and might also require privileges.The privilege name. Example Create a Role to access SAP CPS • The URL to the NetWeaver UME http://sapnwprd.masalan. the user can grant this role to any other user. all users should be able to see the GLOBAL.Administering the Scheduling Landscape • Grantable . Log out of the UME. 3. 6. Example The typical viewer user could have the following privileges (note that Rank is always View in this example): Object Level Application Partition Credential Partition CredentialProtocol Partition DatumDefinition System EventDefinition Partition Export Partition 154 .masalan. This means that if you want the user to be able to see jobs. choose Add and Save. the user can grant this privilege to any other user. Choose the Assigned Actions tab. for example. Assigned Global Privileges • Granted Subject . the user needs to be able to see the job definition. created previously.If this option is selected. 5.com:50200/useradmin using the Administrator login 2. • Grantable . Custom Roles Custom roles must allow users to see all properties of objects they are supposed to.com:50200/useradmin • The account with sufficient privileges to create a role and add members to the role is Administrator • The username and password of the user to add to the role is masalan and process1 respectively. Creating a role that maps to the scheduler-event-operator SAP CPS role 1. Choose Create Role and enter scheduler-event-operator into the Unique Name field.If this option is selected. 4. • The Scheduler Manager user account is ProcAdmin. Search for scheduler and choose the action name AccessScheduler. queue and process server as well as have View privileges for DatumDefinition on system-level. this only affects SAP CPS and has no incidence on other applications running on the JEE application server. you can manage certain SAP CPS-specific aspects of these in SAP CPS. This allows you to grant permissions to roles that have not yet been imported . grants will be done.so you do not need to log on with users having these roles to grant privileges. the role names should not match role names that exist in the external authentication system. this can be managed by the isolation group manager. The user or the role must to appear in SAP CPS. the role will not be imported from the external authentication system. or roles that were not built-in. users can be members of one or more isolation groups. can be edited. If you create a role in SAP CPS with a name that matches a role in your external authentication system. however. Roles Only custom roles. Users You can disable and enable login for users. however. You can create roles. In isolated environments. Context-Menu Actions Users support the following context-menu actions: Action Description 155 .Administering the Scheduling Landscape ExportRuleSet Partition Format Partition ImportRuleDefinition Partition ImportRuleSet Partition ImportSource Partition JobDefinition Partition JobLock Partition Job Partition Library NavigationBar Partition PeriodFunction Partition ProcessServer Partition Queue Partition Report Partition Resource Partition SAPSystem Partition SubmitFrame Partition TableDefinition Partition Table Partition TimeWindow Partition Managing Users and Roles in SAP CPS Use Users and roles are defined in external authentication systems. however. Note In the Free of Charge version.SAP. a user is limited to interacting with objects of the same isolation group as well as objects from the GLOBAL isolation group.limit license key. You assign users to isolation groups in the Security section in the navigation bar. Use partitions instead. in this case. Users can have multiple isolation groups. these have been implemented to adhere to the limitations of the Free of Charge version and demand a high level of configuration. Procedure Create an isolation group 156 . the user needs to choose an isolation group for the session during login. Prerequisites • the user needs the role scheduler-isolation-administrator or a custom role granted which has the AccessScheduler action.Administering the Scheduling Landscape Enable login for user Enable login for a disabled user Disable login for user Disable login for an enabled user Edit Edit the user's privileges Show permalinks Show links that can be used from third party applications to link to the object Expand All Expand all users in the current filter Roles support the following context-menu actions: Action Description Edit Edit the role's privileges Show permalinks Show links that can be used from third party applications to link to the object Expand All Expand all roles in the current filter New role Create a new role See Also • Managing Users and Roles in External Systems Creating Isolation Groups and Assigning them to Users Use With an isolation group. Tip SAP does not recommend the use of isolation groups in the Chargeable version. The user must either have the role scheduler-isolation-administrator or a custom role granted which has the ManageSchedulerIsolation action to be able to add users to an isolation group. This is governed by the value of the ProcessServerService. only one SAP client can be in an isolation group. Navigate to Security > Isolation Groups. The user attribute comes from the JCS_USER job parameter. 3. 157 . Credentials also increase security since it allows you to separate who can use the credential from those who know the password. 5. Use the search dialog to locate users from the Authentication system. which takes effect immediately. you can change it on the credential. and then looking those up in the list of available credentials. if you had specified the user explicitly on job definitions. Choose Import Users 3. Choose New Isolation Group from the context-menu. Enter a name for the isolation group. Choose Save & Close to exit edit dialog. or if that is empty or does not exist the Run as User field or a default which depends on the protocol and service. The person that creates or modifies the credential needs to know the password. 2. Credentials are used to store login details for users on external systems in both a central and secure manner. or if that is empty or does not exist the Remote Run As User field. This person or an administrator can then pass the right to use the credential to other persons who can then create job definitions or submit jobs using that credential. The Endpoint attribute comes from the JCS_ENDPOINT. When the password of a user changes. you would have to change the password on every job definition which is error-prone. you specify the username in the Run As User and Remote Run As User fields of a job definition. 4. With credentials. Close the window when you are finished importing users into the isolation group. Select the users to import and choose Import. 4. Credentials are part of the Security section of the navigation bar. Assign an isolation group to users 1. Navigate to Security > Isolation Groups. Names should be all upper case. or if that is empty or does not exist the Run as User field or if that is empty the DefaultRunAsUser process server parameter. 2. Assign Users from External Platforms to Jobs with Credentials Use To run jobs on external platforms as a specific user. wildcards * and ? are allowed. but is usually the EndPoint process server parameter. When the job gets allocated to a process server. SAP CPS retrieves the credential password by searching for a credential by determining a user and an Endpoint. The user attribute can also come from JCS_REMOTE_USER job parameter. or you can leave out the password and look the password up using a separate credentials object. you can specify the user and password in the job definition Run As User and Remote Run As User fields directly. Note SAP strongly recommends the use of credentials over specifying a username and password in the Run As User or Remote Run As User fields.Administering the Scheduling Landscape 1. development. Used by the Platform Agent. • oracle . retype for safety Credential Retype Password Credential Virtual User The virtual username to be across test. the FTP user is used to log on to the FTP server. • JDBC .the default protocol for external systems. 158 . with SQLPLUS job definitions.the default protocol for connecting to Oracle Applications servers.the protocol for connecting to Oracle databases. The following credential protocols are available: • login . For example an OS user and FTP user for the FTP job definition type. • smtp . and production Credential Description An optional description of the credential Credential Comment an optional comment for the credential Security ( see the Administra. Tab Field Description Credential Partition Partition of the credential Credential Protocol Protocol for the credential Credential Endpoint The target system for the credential Credential Real User Actual user name Credential Password The password. JCL_FTP job definition types. Tabs & Fields The following table illustrates the fields of each tab of Credentials editor dialogs. These are then combined into a new value username/password@endpoint and passed to the service that then uses this information to log on to the external service.the protocol used to connect to SMTP servers for sending e-mail. • soap .the protocol used to connect to web servers providing web services. Note The Remote Run As User field and JCS_REMOTE_USER job definition parameter are used by job definition types that use two different users.Administering the Scheduling Landscape The credential lookup is done by matching the user and endpoint found above against the Real User and EndPoint in the credential. • OraApps .* tion Guide ) This is where you can specify who can access/change/remove the credential.the protocol for connecting to JDBC-compliant databases. AS400 Service as well as the FTP. Not all job definition types use this. When this fails or there is no credential available or the credential is not granted to the requestor. among others. usually case sensitive. the OS user is the account that runs the jftp executable on the operating system. please see the job definition type-specific documentation for more details. with JDBC job definitions. the job is put into status Error. for example a domain. you can specify a Windows domain name or NIS[+] domain name in the Endpoint of a credential. usually the user that submitted the job. if neither exist on the remote system. If there is a valid user with the same username on the remote system. you use the following syntax: <user>@<domain> of on Microsoft Windows. in your test system. To do this. The value of the process server parameter can be set to any alphanumerical value. Note that once you have enabled AES encryption you cannot revert back to Redwood SecureStorage encryption. Virtual Users You use virtual users to specify one user for multiple environments.the username of the submitter will be used.Administering the Scheduling Landscape Password Security By default. For example.the <user> account will be used if there is no user with the same username as the submitter. Unix (including Mac OS X) and HP OpenVMS systems. login Credential The login credential is used to login to Microsoft Windows. you specify the username only in the Run As User field of a job definition.the default OS user will be used if there is no user with the same username as the submitter • {tryjobowner}:<user> . you now have to specify the domain name in the Run As User field. In the job definition. you create a credential 159 . • {forcejobowner} . the credentials that have this same value specified in Endpoint will then be used. the job will reach status Error if there is no user with the same username as submitter • {tryjobowner} . you can still use the same job definition for both environments using virtual users as follows: in your production system. the job reaches status Error Note Note that valid credentials must exist for the submitters. This allows you to create a group of process servers that share common credentials. you could have a production and a test system. Nis[+] and Microsoft Windows Domains When you want to use a username/password for multiple systems. you create a credential for the production domain/user. The syntax to use is user. Dynamic Credentials Credential keywords allow you to set the credential user to the job owner. passwords are encrypted in the database using a Redwood SecureStorage encryption. Note Since the hostnames of platform agents are usually different in production and test systems. Logical Endpoints You use the Endpoint process server parameter to define logical endpoints for one or more process servers. the following syntax is also supported <domain>\<user>. When you set the Endpoint to the value of the RemoteHostName process server parameter. and set the Virtual User to <user>. although the actual domain/username/password are different. you can set the encryption mechanism for new passwords to AES encryption using the System_SecureStorage_Configure job definition. then the job will be executed as that user. virtual users make little sense. masalan.masalan. Credential for jobs running on process server GLOBAL. Example 1.masalan.MSLN_WINS3. In your job definition.com • pr1. Credential for jobs running on servers of the masalan domain named pr1.com\jdoe • {virtual}:operator 2. pr3.com Credential Field Value Partition GLOBAL Protocol login Endpoint pr1. Credential Field Value Partition GLOBAL Protocol login Endpoint masalan Real User jdoe Password ********* Retype Password ********* Virtual User operator Description John Doe is the operator user used in the production environment Valid Run As User and Remote Run As User fields: • jdoe@masalan • masalan\jdoe • {virtual}:operator 160 .com.masalan..Administering the Scheduling Landscape for the test domain/user but set the Virtual User to the same user.com.com Real User jdoe Password ********* Retype Password ********* Virtual User operator Description John Doe is the operator user used in the production environment Valid Run As User and Remote Run As User fields: • jdoe •
[email protected]. you can now set the Run As User to {virtual}:<user>.masalan. erp1.com etc .masalan.com.. a platform agent running on server named pr1. pr2.masalan. exc1.masalan. com Credential: Credential Field Value 161 .Administering the Scheduling Landscape Note In this second example.masalan. Example You want to connect process server MSLN_ORA01 to your Oracle database named ORCL on server ora1. Using the same job definitions in test and production environments: Credential for production environment Credential Field Value Partition GLOBAL Protocol login Endpoint masalan Real User jdoe Password ********* Retype Password ********* Virtual User operator Description John Doe is the operator user used in the production environment Credential for test envorinment Credential Field Value Partition GLOBAL Protocol login Endpoint masalant Real User scott Password ********* Retype Password ********* Virtual User operator Description Scott is the operator user used in the test environment Valid Run As User field (for both environments): • {virtual}:operator JDBC Credential The built-in JDBC credential protocol is used to authenticate users against the remote database used on the process server defined in Endpoint. you cannot simply specify jdoe unless the RemoteHostName is set to masalan as well. The endpoint must match the name of a JDBC process server. 3. which is unlikely. masalan. The endpoint must match the process server of an Oracle Applications system. You specify the Oracle database connect string used on the Oracle Applications object in Endpoint.OracleDriver OraApps Credential The built-in OraApps credential protocol is used to authenticate users against Oracle Applications systems.com:1521:ORCL JDBCUsername SCOTT JDBCDriverName oracle.masalan. usually <OracleApps_name>_ProcessServer .com Credential: Credential Field Value Partition GLOBAL Protocol OraApps Endpoint ORCL Real User SCOTT Password ********* Retype Password ********* Virtual User operator Description Scott is the user used in the production Oracle Applications database orcl oracle Credential The built-in oracle credential protocol is used to authenticate users against the oracle database defined in Endpoint (usually the SID such as orcl or XE.driver.jdbc. You must add the SQLPLUS job definition type to a platform 162 . for example). For example.Administering the Scheduling Landscape Partition GLOBAL Protocol JDBC Endpoint ORCL Real User SCOTT Password ********* Retype Password ********* Virtual User operator Description Scott is the user used in the production database orcl Process server parameters: Process server parameter Value JDBCConnectionURL jdbc:oracle:thin:@ora1. a possible endpoint could be: OA1_ProcessServer Example You want to connect process server MSLN_ORA01 to your Oracle applications database named ORCL on server ora1. The sqlplus binary must be on the path of the user running the job.Administering the Scheduling Landscape agent. If you need to log on as SYSDBA. On the SQLPLUS job definition you specify <user>@<endpoint> to use the credential <user>-<endpoint>-oracle. Note Make sure ORACLE_HOME is set for the user and that sqlplus is on the path of the user. Context-Menu Actions Credentials support the following context-menu actions: Action Description Edit Security Edit the security of the credential Delete Delete the credential Edit Edit the credential Show permalinks Show links that can be used from third party credentials to link to the object New credential Create a new credential Filter > New Filter Create a new credential filter Filter > Edit Filter Edit current credential filter Filter > Delete Delete current credential filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Credential variations Credentials can be modified using modifiers in the RunAs (and RemoteRunAs) fields. The available modifiers and specifications and where they can be used are: Modifier or specification Service 163 . You can use the EnvironmentVariables process server parameter to specify ORACLE_HOME. Not all process server services support modifiers. You specify Oracle connect strings in credentials as follows: Field Value Protocol oracle Endpoint The connect identifier for the database Real User The username of the database user Password The password of the database user Note There is no capability to specify the SYSDBA or SYSOPER attributes in credentials. you must set the full connect string in the Run As User field. The first field. as in the example below.Administering the Scheduling Landscape {virtual} Platform Agent. You use virtual credentials when the usernames and passwords of specific users are different across systems. In the Run As User field of the job definition you can then specify {virtual}:erpuser. AS400. the user must have sufficient privileges. 164 . Summary Standard Credentials Virtual Credentials Run As User value username {virtual}:vuser Lookup by Username=username EndPoint=Remote. PeopleSoft. the actual username and password can be different across systems. If this fails the job is put into the Error status. The Real User and Password from the credential are then used to log on and execute the code in the job.view system privileges or corresponding object privileges.) The {virtual} modifier Virtual credentials allow you to specify a user across several systems by the same name although their username and password are different. If this user exists (and the password validates) then that user will be used for the job. For example. SAP CPS retrieves the credential by searching for a credential where the User attribute matches the value of the Virtual User (the {virtual}: prefix is trimmed). The credential with the Virtual User erpuser will be used. If the user does not exist (or the password is incorrect) then the second user will be used. Dynamic AX. The {tryjobowner} specification When you encode the {tryjobowner} in the Run As User field then the system will log on as the SAP CPS job owner. all your systems could have a virtual user named erpuser which has a different username and password on one or more systems. The {forcejobowner} specification When you encode the {forcejobowner} in the Run As User field then the system will log on as the SAP CPS job owner. JDBC. like Credential. PeopleSoft The secondary user specification The platform agent service allows you to specify two separate usernames (and passwords) in the Run As User field. When the job gets allocated to a process server. the Try User will be tried first.VirtualUser=vuser EndPoint=RemoteHostHostName Name Result Password Username Password Security To use a credential. Separate these by a colon ':' character. PeopleSoft {tryjobowner} Platform Agent. JD Edwards Secondary user specification Platform Agent {forcejobowner} Platform Agent. If this fails the system will use any second user specification or failing that will run the job under the default account (as if the Run As User field was empty. per partition or isolation group. Submit the job and choose a queue that is served by a process server running on the Endpoint specified in the credential. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Note Please be very careful when you create credentials.Create Create credentials Credentials.Delete Delete credentials Credentials. Procedure Create a credential 1. Specify the username and password. login is the default Endpoint The FQDN of the system where the user is valid Real User The username of the user on the endpoint Password The password of the user on the endpoint 165 . you need to have privileges to see the credential protocol you want to use. On the Source tab. enter the username of the user provided in a credential. edit. 2.Administering the Scheduling Landscape To create a credential. Choose Edit from the context-menu of a job definition that runs on an external platform.Edit Edit credentials Credentials. 3. a privilege granted on Admin level allows the grantee to grant the privilege to other users. Use a credential 1. Values Field Description Protocol The protocol used for the credential. Access to a credential allows the grantee to log onto a system without a password. These privileges can be granted system-wide. which in most cases are case-sensitive.View Access credentials You can grant privileges on two levels. Choose New Credential from the context-menu. 4. 3. and delete the credential on the Security tab of the credential. You specify which users can access. 4. Navigate to Security > Credentials 2. Access and Admin. Privilege Description Credentials. fill a Fully Qualified Domain Name (FQDN) into the Endpoint field. Navigate to Definitions > Job Definitions. Choose Save and Close. make sure that only specific users can use them. com Real User pr1adm Password stillAnotherSecret Virtual User erpadmin Job definitions that need to run as the environment-specific user contain {virtual}:erpadmin in the Run As User field. To ease the pain of migration. the correct user is used to execute the code. you create a credential as follows: Field Value Protocol login Endpoint dv1.development system In the development system. 166 .com Real User qa1adm Password someOtherSecret Virtual User erpadmin In the production system. you create a credential as follows: Field Value Protocol login Endpoint pr1.masalan. job definitions are developed and tested before they reach production.masalan. The following accounts are used to run the jobs on the different systems: • pr1adm .Administering the Scheduling Landscape Virtual User The virtual username for the user Examples Example of Job Definition Promotion Across Systems The ERP production system at Masalan Inc has an additional development and a quality assurance system.com Real User dv1adm Password someGoodSecret Virtual User erpadmin In the quality assurance system. you create a credential as follows: Field Value Protocol login Endpoint qa1. the job definition can be migrated without the need to change the Run As User field as in each system.masalan.quality assurance system • dv1adm . Masalan Inc uses the virtual user property of their credentials.production system • qa1adm . The Run As User attribute can be specified as this: user1/password1@domain:localuser/password@computername Credential Protocols Use Credential protocols are used to store connection information for remote systems. if you choose login and you want to connect to an Oracle database. If you require a specific protocol for your application or platform. the password is tiger.a protocol used for web services You must select the correct protocol for your credential. Field Value Protocol oracle Endpoint masalan Real User SCOTT Password tiger Job definitions that use the credential have SCOTT@masalan in the Run AS User field.standard protocol for accessing Oracle databases • OraApps . preferably using a domain account but failing that a local user.Administering the Scheduling Landscape Example Connecting to an Oracle Database You want to run a report in an Oracle database from within SAP CPS. the credential will not be taken into account.standard protocol for platform agents • oracle . The database user is named SCOTT. such as Windows process servers.standard protocol for authenticated email Additional protocols can be created: • soap . Context-Menu Actions Credential protocols support the following context-menu actions: Action Description Edit Security Edit the security of the credential protocol Delete Delete the credential protocol Edit Edit the credential protocol 167 . Contact your account manager for more information on custom protocols. protocols can be created/modified for you on a consultancy-basis. and the database SID is masalan. Example Connecting to a Windows system You want to run a program on a Windows server.standard protocol for accessing Oracle Applications • smtp . The following built-in credentials are available: • login . as follows: c:dev n:Ora Note No spaces should be entered before or after the colon (:). comment searches the documentation property d. See the Advanced Object Search for more information. For example. The table in related objects contains three columns: 168 . Filters allow you to specify a list of objects with static criteria.Administering the Scheduling Landscape Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New credential protocol Create a new credential protocol Filter > New Filter Create a new credential protocol filter Filter > Edit Filter Edit current credential protocol filter Filter > Delete Delete current credential protocol filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Credential Protocols You can search for credential protocols using filters and the Search Credential Protocols box on the Credential Protocols tab. For example. if you want to display all credential protocols with the term dev in the comment. if there are credentials that use the credential protocol. you would use the search criteria as follows: c:dev You can search more than one property. the credential protocol cannot be deleted until all credentials that use it have been modified. name searches the name property c. You can see all credentials that relate to the credential protocol in Related Objects in the lower detail pane and on the show page. description searches the description property a. application searches the application property Deleting Credential Protocols You can only delete credential protocols when no other objects relate to them. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. IntelliSearch allows you to specify complex queries in a simple way using prefixes. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. The following table illustrates the available prefixes for credential protocols: Prefixes Description n. the type of object with a link to it • Related Object . as you need to see an object before you can edit it. You specify which users can access. Object privileges cannot be granted directly. If the user has no other job definition-related system privileges and no other object privileges on job definitions. provided the user has the required privileges. Object Privileges Object privileges always relate to a specific object and allow the grantee a specific right on the object. Access and Admin. is only valid for that job definition. the grantee can grant the privilege to other users. or access. edit. per isolation group or system wide. you grant ranks of privileges.View Access credential protocols You can grant privileges on two levels. System privileges can be granted for object types in the entire system. in a partition or an isolation group and allow you to limit the privilege to objects in a particular partition or with a particular isolation group. this prevents human error.Edit Edit credential protocols CredentialProtocol. in this case he must choose his enabled isolation group for the session at logon. If you are using multiple partitions or isolation groups. for example. you can restrict a system privilege to one partition or isolation group. privileges can be granted as Access and Admin. the only job definition the grantee can view. A user can have one or more isolation groups. 169 . is RS_PrintStatements. These privileges can be granted system-wide. per partition. See the isolation group section for more information. Furthermore. and delete the credentials on the Security tab of the credentials or credential protocols.Delete Delete credential protocols CredentialProtocol. System Privileges System privileges are granted on three levels. Isolation groups isolate users and objects from other users and objects. a privilege granted on Admin level allows the grantee to grant the privilege to other users. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Privileges Use There are two types of privileges. Object privileges can be granted for a specific object.the name of the object with a link to it • Used As . For example. A user must have the same isolation group to be able to see and access users or objects in an isolation group.Create Create credential protocols CredentialProtocol. per partition or isolation group.objects can sometimes be used in different roles Security Privilege Description CredentialProtocol. when you grant a privilege as Admin. object privileges and system privileges.Administering the Scheduling Landscape • Type . A View privilege on the RS_PrintStatements job definition. the Edit rank contains both View and Edit privileges. getAssignedSubjectObjectTypePrivilegeGrants(). } The following code prints all the privileges granted to a specific user. The following RedwoodScript code illustrates activating the Default_Navigation_Bar privilege: { GlobalPrivilege priv = jcsSession.getSubjectByTypeName(SubjectType.next().println("---"+sotpg. jcsOut.getGrantedRank()+" at l } jcsOut.PRIVILEGE_DEFAULT_NAVIGATION_BA priv.hasNext(). itg. jcsOut. usually used in hosting solutions: Privileges Description Activated System_Shell Restricts access to the web-based shell always Redwood_Script Restricts access to RedwoodScript false iPhone_Access Restricts access via Apple iPhone false Default_Navigation_Bar Restricts access to the default navigation bar false Note Deactivated global privileges must be activated before they have any effect.getGrantedGlobalPrivilege().println("---"+sgpg. jcsOut. usr). combined with the EventDefinition.getObjectDefinition(). for (Iterator ito = myUser.) { SubjectObjectTypePrivilegeGrant sotpg = (SubjectObjectTypePrivilegeGrant) itot.getName()). Global Privileges The following global privileges can be used to restrict access to a feature-set.) { SubjectGlobalPrivilegeGrant sgpg = (SubjectGlobalPrivilegeGrant) itg. jcsOut. jcsOut. but roles you created in external authentication systems are editable in SAP CPS provided you have the necessary security module. for (Iterator itg = myUser.println("-Object Type Grants").println("-Global Grants"). itot.getGlobalPrivilegeByName(GlobalPrivilege. Note that as soon as you activate the privileges. The default permissions granted to built-in roles are listed in the Granted System Privileges section.setActivated(true).println("-Direct Object Grants").persist(). for example.next().Raise system privilege. allows the grantee to raise all events he can view. jcsSession. users who do not have these privileges granted to any of their roles will not be able to use the affected feature.View he can access all events in a partition. jcsOut. please check your license if you are unsure. Subject myUser = jcsSession.println(usr). ito. isolation group.User.getAssignedSubjectGlobalPrivilegeGrants(). or across the entire system.hasNext().getObjectName()+" at rank "+sotpg.println("#############################################################################").getAssignedSubjectObjectPrivilegeGrants(). for (Iterator itot = myUser.hasNext().Administering the Scheduling Landscape The EventDefinition. } jcsOut.) 170 . either directly or via any of his roles: { String usr = "Administrator". The default roles cannot be edited.println("#############################################################################"). ) { SubjectObjectPrivilegeGrant sopg = (SubjectObjectPrivilegeGrant) ito.getGrantedSubject().getName(). jcsOut. String rank = sopg. jcsOut.hasNext().getAssignedSubjectObjectTypePrivilegeGrants().println("--#############################################################################").toString(). for (Iterator itot = myRole.getName().toString(). these roles have a subset of the privileges listed below. Subject myRole = myRoleGrant.println("--"+myRole.println("---Direct Object Grants"). 171 . //all users have access to their personal registry hive if(bk. ito.getObjectName()+" at rank "+sotpg. for (Iterator ito = myRole.println("---Object Type Grants").) { SubjectRoleGrant myRoleGrant = (SubjectRoleGrant) it.getBusinessKey().println("-----"+sotpg. String bk = bko. itg. BusinessKeyObject bko = (BusinessKeyObject) sopg.next(). jcsOut. String bk = bko. privileges can be assigned to a user or a role. jcsOut.getAssignedSubjectRoleGrants().indexOf("user. for (Iterator itg = myRole."+usr) < 0) { jcsOut.getSchedulerEntity(). BusinessKeyObject bko = (BusinessKeyObject) sopg.hasNext().getObjectDefinition(). String rank = sopg.next().getGrantedRank()+" at } jcsOut.getGrantedRank().println("-----"+bk+" with rank "+ rank). jcsOut.getSchedulerEntity().) { SubjectGlobalPrivilegeGrant sgpg = (SubjectGlobalPrivilegeGrant) itg. } } //Get Role Grants and their privileges for (Iterator it = myUser.getBusinessKey().getGrantedGlobalPrivilege().next().getName()). itot. In the Chargeable version. jcsOut. The table below lists the privileges and their description. jcsOut.) { SubjectObjectTypePrivilegeGrant sotpg = (SubjectObjectTypePrivilegeGrant) itot.getAssignedSubjectGlobalPrivilegeGrants().hasNext().println("-----"+sgpg.hasNext(). } jcsOut.Administering the Scheduling Landscape { SubjectObjectPrivilegeGrant sopg = (SubjectObjectPrivilegeGrant) ito.next(). } } } See Also • System Privileges • Granting and Revoking System Privileges • Granting and Revoking Object Privileges • Privileges Required to use Objects System Privileges Use Default roles are available to grant access privileges to SAP CPS.println("---"+bk+" with rank "+ rank).println("--#############################################################################").getName()).getGrantedRank().getAssignedSubjectObjectPrivilegeGrants().next(). it.println("---Global Grants"). Administering the Scheduling Landscape Non-Isolated Objects Objects with no security • ForecastJob • LDAPProfile • MonitorMessage • OracleConnection • ProcessMonitorLog • PublishApproval • PublishedWebService • SAPApplicationServerProvider • SubjectGlobalPrivilegeGrant • SubjectObjectPrivilegeGrant • SubjectObjectTypePrivilegeGrant • TutorialsLink Objects with only system and object level security Object Type Privileges Ranks Security Attributes AuditRule (derived from create[1] ( see View ⇒ (view) ig: AuditRule) the Administraview: tion Guide ) create: view edit: delete: edit not isolated view(AuditRule) create(AuditRule) edit(AuditRule) delete(AuditRule) delete ConstraintDefinition (derived from ConstraintDefinition) CounterCategory (derived from CounterCategory) 172 ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user . ate) tion Guide ) View ⇒ (view) view Edit ⇒ (creedit ate.delete) IPhoneLogin (derived from IPhoneLogin) JobDefinitionType (derived from JobDefinitionType) Language (derived from Language) 173 not isolated view: view(IPhone) create: Not possible for a non-system user edit: edit(IPhone) delete: delete(IPhone) ig: not isolated view: view(IPhoneLogin ⇒ IPhone) create: Not possible for a non-system user edit: Not possible for a non-system user delete: edit(IPhoneLogin ⇒ IPhone) ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user .delete) GlobalPrivilege (derived changeActivafrom GlobalPrivilege) tion IPhone (derived from IPhone) ig: ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user view View ⇒ (view) ig: edit Edit ⇒ (view.Administering the Scheduling Landscape Dashboard (derived from create[1] ( see Create ⇒ (creDashboard) the Administra.edit) delete not isolated view: view(Dashboard) create: create(Dashboard) edit: edit(Dashboard) delete: delete(Dashboard) Delete ⇒ (create.edit) delete Delete ⇒ (view.view.view. Administering the Scheduling Landscape LicenseKey (derived from LicenseKey) ModuleState (derived from ModuleState) ObjectDefinition (derived from ObjectDefinition) ObjectFieldDefinition (derived from ObjectFieldDefinition) OracleConnectionSession edit[1] ( see the Edit ⇒ (edit) (derived from OracleCon.Administration nectionSession) Guide ) QueryCondition (derived from QueryCondition) 174 ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: edit(OracleConnectionSession) delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user . Administering the Scheduling Landscape QueryConditionValue (derived from QueryConditionValue) QueryFilter (derived from create[1] ( see Create ⇒ (creQueryFilter) the Administra.ate) tion Guide ) View ⇒ (view) view Edit ⇒ (creedit ate.createChil.view.view.(view.delete) view View ⇒ (view) ig: view: create[1] ( see Owner ⇒ the Administra.edit) RegistryEntry (derived from RegistryEntry) ig: not isolated view: view(QueryConditionValue ⇒ QueryFilter) create: edit(QueryConditionValue ⇒ QueryFilter) edit: edit(QueryConditionValue ⇒ QueryFilter) delete: edit(QueryConditionValue ⇒ QueryFilter) ig: not isolated view: view(QueryFilter) create: create(QueryFilter) edit: edit(QueryFilter) delete: delete(QueryFilter) delete Delete ⇒ (create.create: tion Guide ) dren) createChildren[2] ( see the Administration Guide ) not isolated view(RegistryEntry) create(RegistryEntry) or createChildren(RegistryEntry ⇒ ParentRegistryEntry) edit: edit(RegistryEntry) delete: delete(RegistryEntry) ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user edit delete Service (derived from Service) SoftwareGroup (derived from SoftwareGroup) 175 . view.view.the Administra.edit) delete not isolated No permission required No permission required edit: Requires role scheduler-isolation-administrator delete: Requires role scheduler-isolation-administrator call deactivateUser(): enableUser(Subject) call activateUser(): enableUser(Subject) ig: not isolated view: No permission required create: create(SubjectIsolationGroup) edit: edit(SubjectIsolationGroup) delete: delete(SubjectIsolationGroup) ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user Delete ⇒ (create.⇒ (enableUser) view: tration Guide ) create: SubjectIsolationGroup create[1] ( see Create ⇒ (cre(derived from SubjectIsol.Administering the Scheduling Landscape SoftwareItem (derived from SoftwareItem) StatisticCategory (derived from StatisticCategory) Subject (derived from Subject) ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user enableUser[1] ( ManageUsers ig: see the Adminis.delete) SubjectRoleGrant (derived from SubjectRoleGrant) 176 .ate) ationGroup) tion Guide ) View ⇒ (view) view Edit ⇒ (creedit ate. view.view.ate) tion Guide ) View ⇒ (view) view Edit ⇒ (creedit ate.edit) delete ig: not isolated view: No permission required create: Not possible for a non-system user edit: edit(TimeZone) delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: No permission required create: Not possible for a non-system user edit: Not possible for a non-system user delete: Not possible for a non-system user ig: not isolated view: view(VisualizationAlert) create: create(VisualizationAlert) edit: edit(VisualizationAlert) delete: delete(VisualizationAlert) Delete ⇒ (create.delete) VisualizationAlertSource (derived from VisualizationAlertSource) 177 ig: not isolated view: view(VisualizationAlertSource ⇒ VisualizationAlert) create: edit(VisualizationAlertSource ⇒ VisualizationAlert) edit: edit(VisualizationAlertSource ⇒ VisualizationAlert) delete: edit(VisualizationAlertSource ⇒ VisualizationAlert) .Administering the Scheduling Landscape TimeZone (derived from edit[1] ( see the Edit ⇒ (edit) TimeZone) Administration Guide ) Translation (derived from Translation) TranslationKey (derived from TranslationKey) VisualizationAlert (decreate[1] ( see Create ⇒ (crerived from Visualization) the Administra. view.ig: cessServerQueue (derived the Administra.view. isolation group and object level security Object Type Privileges Ranks Security Attributes 178 .ate) view: from Visualization) tion Guide ) View ⇒ (view) view create: Edit ⇒ (creedit ate.edit) edit: delete Delete ⇒ (create.delete) delete: VisualizationPSQProcessServer (derived from VisualizationPSQProcessServer) VisualizationPSQQueue (derived from VisualizationPSQQueue) VisualizationPSQText (derived from VisualizationPSQText) not isolated view(VisualizationProcessServerQueue) create(VisualizationProcessServerQueue) edit(VisualizationProcessServerQueue) delete(VisualizationProcessServerQueue) ig: not isolated view: view(VisualizationPSQProcessServer ⇒ VisualizationProcessServerQueue) create: edit(VisualizationPSQProcessServer ⇒ VisualizationProcessServerQueue) edit: edit(VisualizationPSQProcessServer ⇒ VisualizationProcessServerQueue) delete: edit(VisualizationPSQProcessServer ⇒ VisualizationProcessServerQueue) ig: not isolated view: view(VisualizationPSQQueue ⇒ VisualizationProcessServerQueue) create: edit(VisualizationPSQQueue ⇒ VisualizationProcessServerQueue) edit: edit(VisualizationPSQQueue ⇒ VisualizationProcessServerQueue) delete: edit(VisualizationPSQQueue ⇒ VisualizationProcessServerQueue) ig: not isolated view: view(VisualizationPSQText ⇒ VisualizationProcessServerQueue) create: edit(VisualizationPSQText ⇒ VisualizationProcessServerQueue) edit: edit(VisualizationPSQText ⇒ VisualizationProcessServerQueue) delete: edit(VisualizationPSQText ⇒ VisualizationProcessServerQueue) Isolated Objects Objects with system.Administering the Scheduling Landscape VisualizationProcreate[1] ( see Create ⇒ (cre. edit) edit Delete ⇒ (credelete ate.delete) AlertSourceEmail (derived from AlertSourceEmail) ig: l:OperatorMessage ⇒ ig:IsolationGroup view: No permission required create: No permission required edit: No permission required delete: No permission required ig: ig:IsolationGroup view: view(AlertSourceAction) create: create(AlertSourceAction) edit: edit(AlertSourceAction) delete: delete(AlertSourceAction) ig: ig:IsolationGroup view: view(AlertSourceEmail ⇒ AdHocAlertSource) view(AlertSourceEmail ⇒ AdHocAlertSource) view(AlertSourceEmail ⇒ AdHocAlertSource) view(AlertSourceEmail ⇒ AdHocAlertSource) view(AlertSourceEmail ⇒ AdHocAlertSource) 179 create: edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit: edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) delete: edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) edit(AlertSourceEmail ⇒ AdHocAlertSource) .view.Administering the Scheduling Landscape Alert (derived from Alert) AlertSourceAction view Create ⇒ (create) (derived from Alertcreate[1] ( see the View ⇒ (view) SourceAction) Administration Edit ⇒ (creGuide ) ate.view. restore.view.Administration View ⇒ (view) Group) Guide ) edit delete ig:IsolationGroup view: view(AuditObject) create: create(AuditObject) edit: edit(AuditObject) delete: delete(AuditObject) Delete ⇒ (create.create[1] ( see the Create ⇒ (create) rived from Isolation.delete) DashboardDial (derived from DashboardItem) view ig: Edit ⇒ (create.reedit store.view.Administering the Scheduling Landscape AuditObject (derived view Create ⇒ (create) from AuditObject) create[1] ( see the View ⇒ (view) Administration Edit ⇒ (creGuide ) ate.delete) 180 ig: ig:IsolationGroup view: view(DashboardDial ⇒ Dashboard) create: edit(DashboardDial ⇒ Dashboard) edit: edit(DashboardDial ⇒ Dashboard) delete: edit(DashboardDial ⇒ Dashboard) ig: ig:IsolationGroup view: view(Export) create: create(Export) edit: edit(Export) delete: delete(Export) ig: ig:IsolationGroup view: view(Import) create: create(Import) edit: edit(Import) delete: delete(Import) ig: ig:UniqueId view: No permission required create: create(IsolationGroup) edit: edit(IsolationGroup) delete: delete(IsolationGroup) .view.edit) Delete ⇒ (create.view.edit) delete restore Export (derived from view[1] ( see the View ⇒ (view) WrappedJob) Administration Guide ) manage[1] ( see the Administration Guide ) Import (derived from view[1] ( see the View ⇒ (view) WrappedJob) Administration Guide ) manage[1] ( see the Administration Guide ) IsolationGroup (de. Administering the Scheduling Landscape MonitorCheck (derived from Monitor) MonitorCondition (derived from MonitorCondition) MonitorEvent (derived from MonitorEvent) ig: l:ParentMonitorNode ⇒ ig:IsolationGroup view: view(MonitorCheck ⇒ ParentMonitorNode) create: edit(MonitorCheck ⇒ ParentMonitorNode) edit: edit(MonitorCheck ⇒ ParentMonitorNode) delete: edit(MonitorCheck ⇒ ParentMonitorNode) ig: l:MonitorCheck ⇒ l:ParentMonitorNode ⇒ ig:IsolationGroup view: view(MonitorCondition ⇒ MonitorCheck ⇒ ParentMonitorNode) create: edit(MonitorCondition ⇒ MonitorCheck ⇒ ParentMonitorNode) edit: edit(MonitorCondition ⇒ MonitorCheck ⇒ ParentMonitorNode) delete: edit(MonitorCondition ⇒ MonitorCheck ⇒ ParentMonitorNode) ig: l:EventDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(MonitorEvent ⇒ EventDefinition) view(MonitorEvent ⇒ EventDefinition ⇒ ParentMonitorNode) view(MonitorEvent ⇒ EventDefinition) create: edit(MonitorEvent ⇒ EventDefinition) edit(MonitorEvent ⇒ EventDefinition ⇒ ParentMonitorNode) edit(MonitorEvent ⇒ EventDefinition) edit: edit(MonitorEvent ⇒ EventDefinition) edit(MonitorEvent ⇒ EventDefinition ⇒ ParentMonitorNode) edit(MonitorEvent ⇒ EventDefinition) delete: edit(MonitorEvent ⇒ EventDefinition) edit(MonitorEvent ⇒ EventDefinition ⇒ ParentMonitorNode) edit(MonitorEvent ⇒ EventDefinition) 181 . Administering the Scheduling Landscape MonitorLink (derived from Monitor) MonitorNode (derived from MonitorNode) create[1] ( see the Create ⇒ (create) Administration View ⇒ (view) Guide ) view confirm edit delete Operator ⇒ (view.confirm.confirm) Edit ⇒ (view.delete) MonitorValue (derived from MonitorValue) OperatorMessage view (derived from Operreply atorMessage) ig: View ⇒ (view) Operator ⇒ (view.edit) l:ParentMonitorNode ⇒ ig:IsolationGroup view: view(MonitorLink ⇒ ParentMonitorNode) create: edit(MonitorLink ⇒ ParentMonitorNode) edit: edit(MonitorLink ⇒ ParentMonitorNode) delete: edit(MonitorLink ⇒ ParentMonitorNode) ig: ig:IsolationGroup view: view(MonitorNode) create: create(MonitorNode) edit: edit(MonitorNode) delete: delete(MonitorNode) Delete ⇒ (view.create.create.reply) delete 182 ig: l:MonitorCheck ⇒ l:ParentMonitorNode ⇒ ig:IsolationGroup view: view(MonitorValue ⇒ MonitorCheck ⇒ ParentMonitorNode) create: edit(MonitorValue ⇒ MonitorCheck ⇒ ParentMonitorNode) edit: edit(MonitorValue ⇒ MonitorCheck ⇒ ParentMonitorNode) delete: edit(MonitorValue ⇒ MonitorCheck ⇒ ParentMonitorNode) ig: ig:IsolationGroup view: view(OperatorMessage) create: No permission required edit: Not possible for a non-system user delete: delete(OperatorMessage) .confirm. delete) delete AlertEscalation create[1] ( see the (derived from Ap.edit) create: create(AlertEscalation) edit Delete ⇒ (create. isolation group.view.edit) Delete ⇒ (create.edit) edit Delete ⇒ (create.view.view.view.delete) edit: edit(AlertEscalation) delete: delete(AlertEscalation) delete AlertEscalationAction (derived from AlertEscalationAction) ig: p:AlertEscalation ⇒ f:Partition ⇒ ig:IsolationGroup view: view(AlertEscalationAction ⇒ AlertEscalation) create: create(AlertEscalationAction ⇒ AlertEscalation) edit: edit(AlertEscalationAction ⇒ AlertEscalation) delete: delete(AlertEscalationAction ⇒ AlertEscalation) 183 .delete) ig: ig:IsolationGroup view: view(Partition) create: create(Partition) edit: edit(Partition) delete: delete(Partition) Objects with system.view.Administration plicationObject) Guide ) Create ⇒ (create) View ⇒ (view) view: view(AlertEscalation) view Edit ⇒ (create. partition and object level security Object Type Privileges Ranks Security Attributes AdHocAlertSource (derived from ApplicationObject) create[1] ( see the Administration Guide ) Create ⇒ (create) ig: f:Partition ⇒ ig:IsolationGroup view: view(AdHocAlertSource) create: create(AdHocAlertSource) edit: edit(AdHocAlertSource) delete: delete(AdHocAlertSource) ig: f:Partition ⇒ ig:IsolationGroup View ⇒ (view) view Edit ⇒ (create.view.Administering the Scheduling Landscape Partition (derived from Partition) create[1] ( see the Create ⇒ (create) Administration View ⇒ (view) Guide ) view edit delete Edit ⇒ (create. view.view.view.delete) delete DatumDefinition create[1] ( see the (derived from Ap.delete) tion Guide ) delete: edit edit(Application) delete(Application) delete Credential (de.delete) edit: edit(DatumDefinition) delete: delete(DatumDefinition) delete Document (de.view.view.view.edit) create: create(Document) edit Delete ⇒ (create.createChildren.delete) edit: edit(Document) delete: delete(Document) delete 184 .create[1] ( see the rived from Applic.view rived from Credencreate[1] ( see the tial) Administration Guide ) edit Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Credential) Edit ⇒ (create.edit) edit Delete ⇒ (create.view.create[1] ( see the rived from Applic.Delete ⇒ (create.Administration plicationObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(CredentialProtocol) create: create(CredentialProtocol) edit: edit(CredentialProtocol) delete: delete(CredentialProtocol) ig: f:Partition ⇒ ig:IsolationGroup view: view(DatumDefinition) view Edit ⇒ (create.view.edit) ig: f:Partition ⇒ ig:IsolationGroup view: view(Application) create: create(Application) or createChildren(Application ⇒ ParentApplication) createChildren[2] ( see the Administra.Administration ationObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Document) view Edit ⇒ (create.delete) edit: edit(Credential) delete: delete(Credential) delete CredentialProtocol (derived from ApplicationObject) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) view Edit ⇒ (create.edit) create: create(DatumDefinition) edit Delete ⇒ (create.createChiledit: dren.view.edit) create: create(Credential) Delete ⇒ (create.Administering the Scheduling Landscape Application (de.Administration ation) Guide ) view Create ⇒ (create) View ⇒ (view) Edit ⇒ (create.view. delete) delete EmailAlertGatewayAction (derived from EmailAlertGatewayAction) ig: p:EmailAlertGateway ⇒ f:Partition ⇒ ig:IsolationGroup view: view(EmailAlertGatewayAction ⇒ EmailAlertGateway) create: create(EmailAlertGatewayAction ⇒ EmailAlertGateway) edit: edit(EmailAlertGatewayAction ⇒ EmailAlertGateway) delete: delete(EmailAlertGatewayAction ⇒ EmailAlertGateway) 185 .create[1] ( see the tem (derived from Administration DynamicsAxSys.delete) businessAutoma.businessAutomationAPI) Administration Guide ) delete EmailAlertGate.create[1] ( see the way (derived Administration from ApplicaGuide ) tionObject) view edit Create ⇒ (create) View ⇒ (view) Edit ⇒ (create.BusinessAutomationUser ⇒ tionAPI[2] ( see the (view.edit) Delete ⇒ (create.view.edit) Delete ⇒ (create.view.Guide ) tem) view edit Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(DynamicsAxSystem) create: create(DynamicsAxSystem) edit: edit(DynamicsAxSystem) delete: delete(DynamicsAxSystem) ig: f:Partition ⇒ ig:IsolationGroup view: view(EmailAlertGateway) create: create(EmailAlertGateway) edit: edit(EmailAlertGateway) delete: delete(EmailAlertGateway) Edit ⇒ (create.view.view.Administering the Scheduling Landscape DynamicsAxSys. raise.delete) edit: edit(ExportRuleSet) delete: delete(ExportRuleSet) delete Format (derived from ApplicationObject) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Format) view Edit ⇒ (create.edit) clear(): call deleteArchiveclearAllDelete ⇒ (credEvents ate.Administering the Scheduling Landscape Event (derived from Event) EventDefinition create[1] ( see the (derived from Administration EventDefinition) Guide ) view raise Create ⇒ (create) View ⇒ (view) ManageEvents ⇒ (view.clear.view.view.raise.raise.clearPendingEvents) ig: l:EventDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(Event ⇒ EventDefinition) create: raise(Event ⇒ EventDefinition) edit: clear(Event ⇒ EventDefinition) delete: deleteArchivedEvents(Event ⇒ EventDefinition) call clear(): clear(Event) ig: f:Partition ⇒ ig:IsolationGroup view: view(EventDefinition) create: create(EventDefinition) edit: edit(EventDefinition) delete: Edit ⇒ (create.clearPendingEvents.decall leteArchiveclearPendingEvents dEvents.clearPendingEvents.view.deleteArchivedEvents.ing(): edit lete) clear delete(EventDefinition) clear(EventDefinition) clearPendingEvents(EventDefinition) delete ExportRuleSet create[1] ( see the (derived from Ap.view.PenddEvents.view.view.de.clear.edit) create: create(ExportRuleSet) edit Delete ⇒ (create.delete) edit: edit(Format) delete: delete(Format) delete 186 .Administration plicationObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(ExportRuleSet) view Edit ⇒ (create.deleteArchive.clear.edit) create: create(Format) edit Delete ⇒ (create. delete) edit: edit(ImportRuleSet) delete: delete(ImportRuleSet) delete 187 .Administering the Scheduling Landscape ImportMatchRule (derived from ImportMatchRule) ig: l:ImportRuleDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(ImportMatchRule ⇒ ImportRuleDefinition) create: edit(ImportMatchRule ⇒ ImportRuleDefinition) edit: edit(ImportMatchRule ⇒ ImportRuleDefinition) delete: edit(ImportMatchRule ⇒ ImportRuleDefinition) ImportOverrideRule (derived from ImportOverrideRule) ig: l:ImportRuleDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(ImportOverrideRule ⇒ ImportRuleDefinition) create: edit(ImportOverrideRule ⇒ ImportRuleDefinition) edit: edit(ImportOverrideRule ⇒ ImportRuleDefinition) delete: edit(ImportOverrideRule ⇒ ImportRuleDefinition) ImportRuleDefini.view.view.view.Administration plicationObject) Guide ) ig: Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(ImportRuleSet) view Edit ⇒ (create.Guide ) ject) view edit Create ⇒ (create) View ⇒ (view) f:Partition ⇒ ig:IsolationGroup view: view(ImportRuleDefinition) create: create(ImportRuleDefinition) edit: edit(ImportRuleDefinition) delete: delete(ImportRuleDefinition) Edit ⇒ (create.create[1] ( see the tion (derived from Administration ApplicationOb.delete) delete ImportRuleSet create[1] ( see the (derived from Ap.edit) Delete ⇒ (create.view.edit) create: create(ImportRuleSet) edit Delete ⇒ (create. edit) create: create(ImportSource) edit Delete ⇒ (create.delete) edit: edit(ImportSource) delete: delete(ImportSource) delete Job (derived from view Job) createJobNotes edit View ⇒ (view) ViewOutput ⇒ (view) ig: l:Queue ⇒ f:Partition ⇒ ig:IsolationGroup view: or viewJobs(Job ⇒ Queue) or viewJobs(Job ⇒ ProcessServer) or view(Job) JobAdministrator ⇒ (view.view.create[1] ( see the rived from Applic.Administration ationObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(ImportSource) view Edit ⇒ (create.edit.view.Administering the Scheduling Landscape ImportSource (de.delete) delete create: JobChain (derived from JobDefinitionRelatedObject) 188 edit: edit(Job) delete: delete(Job) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobChain ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobChain ⇒ JobDefinition) edit: edit(JobChain ⇒ JobDefinition) delete: edit(JobChain ⇒ JobDefinition) . Administering the Scheduling Landscape JobChainCallCounter (derived from JobChainCallCounter) ig: l:JobChainCall ⇒ p:JobChainStep ⇒ p:JobChain ⇒ l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition) edit: edit(JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition) JobChainCallStatistic (derived from JobChainCallStatistic) delete: edit(JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition) ig: l:JobChainCallCounter ⇒ l:JobChainCall ⇒ p:JobChainStep ⇒ p:JobChain ⇒ l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobChainCallStatistic ⇒ JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobChainCallStatistic ⇒ JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition) edit: edit(JobChainCallStatistic ⇒ JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition) de.edit(JobChainCallStatistic ⇒ lete: JobChainCallCounter ⇒ JobChainCall ⇒ JobChainStep ⇒ JobChain ⇒ JobDefinition) 189 . submit.view.delete) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(JobDefinitionAlertSource) create: create(JobDefinitionAlertSource) edit: edit(JobDefinitionAlertSource) delete: delete(JobDefinitionAlertSource) Edit ⇒ (create.Guide ) plicationObject) view edit create(JobDefinition) edit(JobDefinition) delete(JobDefinition ⇒ MasterJobDefinition) Delete ⇒ (create.viewJobs) create: viewJobs[2] ( see Submit ⇒ (view.edit) edit delete JobDefinicreate[1] ( see the tionAlertSource Administration (derived from Ap.create[1] ( see the rived from Job.submit) submit Edit ⇒ (create.submit) edit: the Administration SubmitAndView ⇒ (view.view.Administration Definition) Guide ) view Create ⇒ (create) View ⇒ (view) ig: l:Job ⇒ l:Queue ⇒ f:Partition ⇒ ig:IsolationGroup view: or viewJobs(JobDatum ⇒ Job ⇒ Queue) or viewJobs(JobDatum ⇒ Job ⇒ ProcessServer) or view(JobDatum ⇒ Job) create: edit(JobDatum ⇒ Job) edit: edit(JobDatum ⇒ Job) delete: edit(JobDatum ⇒ Job) ig: f:Partition ⇒ ig:IsolationGroup view: view(JobDefinition ⇒ MasterJobDefinition) ViewJobs ⇒ (view.viewJobs.submit.edit) Delete ⇒ (create.viewdelete: Guide ) Jobs.view.view.Administering the Scheduling Landscape JobDatum (derived from JobDatum) JobDefinition (de.viewJobs.delete) delete 190 . Administering the Scheduling Landscape JobDefinitionConstraint (derived from JobDefinitionConstraint) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobDefinitionConstraint ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobDefinitionConstraint ⇒ JobDefinition) edit: edit(JobDefinitionConstraint ⇒ JobDefinition) delete: edit(JobDefinitionConstraint ⇒ JobDefinition) JobDefinitionCounter (derived from JobDefinitionCounter) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobDefinitionCounter ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobDefinitionCounter ⇒ JobDefinition) edit: edit(JobDefinitionCounter ⇒ JobDefinition) delete: edit(JobDefinitionCounter ⇒ JobDefinition) JobDefinitionJobLock (derived from JobDefinitionJobLock) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobDefinitionJobLock ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobDefinitionJobLock ⇒ JobDefinition) edit: edit(JobDefinitionJobLock ⇒ JobDefinition) delete: edit(JobDefinitionJobLock ⇒ JobDefinition) 191 . Administering the Scheduling Landscape JobDefinitionRaiseEvent (derived from JobDefinitionRaiseEvent) ig: l:EventDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobDefinitionRaiseEvent ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobDefinitionRaiseEvent ⇒ JobDefinition) edit: edit(JobDefinitionRaiseEvent ⇒ JobDefinition) delete: edit(JobDefinitionRaiseEvent ⇒ JobDefinition) JobDefinitionStatistic (derived from JobDefinitionStatistic) ig: l:JobDefinitionCounter ⇒ l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobDefinitionStatistic ⇒ JobDefinitionCounter ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobDefinitionStatistic ⇒ JobDefinitionCounter ⇒ JobDefinition) edit: edit(JobDefinitionStatistic ⇒ JobDefinitionCounter ⇒ JobDefinition) delete: edit(JobDefinitionStatistic ⇒ JobDefinitionCounter ⇒ JobDefinition) JobDefinitionWaitEvent (derived from JobDefinitionWaitEvent) ig: l:EventDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobDefinitionWaitEvent ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(JobDefinitionWaitEvent ⇒ JobDefinition) edit: edit(JobDefinitionWaitEvent ⇒ JobDefinition) delete: edit(JobDefinitionWaitEvent ⇒ JobDefinition) 192 . view.delete) edit: edit(JobLock) delete: delete(JobLock) delete 193 .view.Administering the Scheduling Landscape JobGroup (derived from JobGroup) ig: l:Queue ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobGroup ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit: JobGroupParameter (derived from JobGroupParameter) delete: Not possible for a nonsystem user ig: l:JobGroup ⇒ l:Queue ⇒ f:Partition ⇒ ig:IsolationGroup view: view(JobGroupParameter ⇒ JobGroup ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit: delete: JobJobLock (derived from JobJobLock) ig: l:Job ⇒ l:Queue ⇒ f:Partition ⇒ ig:IsolationGroup view: or viewJobs(JobJobLock ⇒ Job ⇒ Queue) or viewJobs(JobJobLock ⇒ Job ⇒ ProcessServer) or view(JobJobLock ⇒ Job) create: edit(JobJobLock ⇒ Job) edit: edit(JobJobLock ⇒ Job) delete: edit(JobJobLock ⇒ Job) JobLock (derived create[1] ( see the from ApplicaAdministration tionObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(JobLock) view Edit ⇒ (create.edit) create: create(JobLock) edit Delete ⇒ (create. edit) edit Delete ⇒ (create.view.delete) edit: edit(Library) delete: delete(Library) delete MonitorAlertSource (derived from ApplicationObject) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) view Edit ⇒ (create.view.edit) create: create(Library) edit Delete ⇒ (create.view.view.edit) create: create(NavigationBar) edit Delete ⇒ (create.view.delete) delete NavigationBar (derived from NavigationBar) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(MonitorAlertSource) create: create(MonitorAlertSource) edit: edit(MonitorAlertSource) delete: delete(MonitorAlertSource) ig: f:Partition ⇒ ig:IsolationGroup view: view(NavigationBar) view Edit ⇒ (create.Administering the Scheduling Landscape JobParameter (derived from JobParameter) ig: l:Job ⇒ l:Queue ⇒ f:Partition ⇒ ig:IsolationGroup view: or viewJobs(JobParameter ⇒ Job ⇒ Queue) or viewJobs(JobParameter ⇒ Job ⇒ ProcessServer) or view(JobParameter ⇒ Job) create: edit(JobParameter ⇒ Job) edit: edit(JobParameter ⇒ Job) delete: edit(JobParameter ⇒ Job) Library (derived create[1] ( see the from Library) Administration Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Library) view Edit ⇒ (create.view.delete) edit: edit(NavigationBar) delete: delete(NavigationBar) delete 194 . Administration aAppsSystem) Guide ) Create ⇒ (create) View ⇒ (view) ig: p:NavigationBar ⇒ f:Partition ⇒ ig:IsolationGroup view: view(NavigationBarItem ⇒ NavigationBar) create: edit(NavigationBarItem ⇒ NavigationBar) edit: edit(NavigationBarItem ⇒ NavigationBar) delete: edit(NavigationBarItem ⇒ NavigationBar) ig: f:Partition ⇒ ig:IsolationGroup view: view(OraAppsSystem) view Edit ⇒ (create.edit) create: create(OraAppsSystem) edit Delete ⇒ (create.edit) create: create(PeriodFunction) edit Delete ⇒ (create.view.Administration plicationObject) Guide ) Create ⇒ (create) View ⇒ (view) view: view(PeriodFunction) view Edit ⇒ (create.delete) edit: edit(OraAppsSystem) delete: delete(OraAppsSystem) ig: f:Partition ⇒ ig:IsolationGroup delete OraOhiSystem (derived from OraOhiSystem) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) view: view(OraOhiSystem) view Edit ⇒ (create.view.view.delete) edit: edit(OraOhiSystem) delete: delete(OraOhiSystem) ig: f:Partition ⇒ ig:IsolationGroup delete PeopleSoftSystem create[1] ( see the (derived from Administration PeopleSoftSys.view.delete) edit: edit(PeopleSoftSystem) delete: delete(PeopleSoftSystem) ig: f:Partition ⇒ ig:IsolationGroup delete PeriodFunction create[1] ( see the (derived from Ap.view.delete) edit: edit(PeriodFunction) delete: delete(PeriodFunction) delete 195 .view.edit) create: create(PeopleSoftSystem) Delete ⇒ (create.view.edit) create: create(OraOhiSystem) edit Delete ⇒ (create.view.Administering the Scheduling Landscape NavigationBarItem (derived from NavigationBarItem) OraAppsSystem create[1] ( see the (derived from Or.Guide ) tem) view edit Create ⇒ (create) View ⇒ (view) view: view(PeopleSoftSystem) Edit ⇒ (create. edit) control edit ig: f:Partition ⇒ ig:IsolationGroup view: view(ProcessMonitorDefinition) create: create(ProcessMonitorDefinition) edit: edit(ProcessMonitorDefinition) delete: delete(ProcessMonitorDefinition) ig: f:Partition ⇒ ig:IsolationGroup view: view(ProcessServer) create: create(ProcessServer) edit: edit(ProcessServer) delete: delete(ProcessServer) call start(): control(ProcessServer) call stop(): control(ProcessServer) Delete ⇒ (create.control.control.edit) edit Delete ⇒ (create.view.delete) delete 196 ig: f:Partition ⇒ ig:IsolationGroup view: view(ProcessServerAlertSource) create: create(ProcessServerAlertSource) edit: edit(ProcessServerAlertSource) delete: delete(ProcessServerAlertSource) .view.view.view.viewJobs) viewJobs[2] ( see Administrator ⇒ (view.delete) delete ProcessServer (derived from ProcessServer) create[1] ( see the Administration Guide ) view Create ⇒ (create) View ⇒ (view) ViewJobs ⇒ (view.control) Guide ) Edit ⇒ (create.edit) create: create(ProcessMonitor) edit Delete ⇒ (create.delete) edit: edit(ProcessMonitor) delete: delete(ProcessMonitor) delete ProcessMonitorDefinition (derived from ProcessMonitorDefinition) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) view Edit ⇒ (create.viewJobs.view.view.view.delete) delete ProcessServerAlertSource (derived from ApplicationObject) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) view Edit ⇒ (create.viewthe Administration Jobs.view.edit) edit Delete ⇒ (create.viewJobs.Administering the Scheduling Landscape ProcessMonitor create[1] ( see the (derived from Administration ProcessMonitor) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(ProcessMonitor) view Edit ⇒ (create. Administering the Scheduling Landscape ProcessServerJobDefinitionType (derived from ProcessServerJobDefinitionType) ig: l:ProcessServer ⇒ f:Partition ⇒ ig:IsolationGroup view: view(ProcessServerJobDefinitionType ⇒ ProcessServer) create: edit(ProcessServerJobDefinitionType ⇒ ProcessServer) edit: edit(ProcessServerJobDefinitionType ⇒ ProcessServer) delete: edit(ProcessServerJobDefinitionType ⇒ ProcessServer) ProcessServerResource (derived from ProcessServerResource) ProcessServerService (derived from ProcessServerService) PublishItem (derived from JobDefinitionRelatedObject) 197 ig: l:ProcessServer ⇒ f:Partition ⇒ ig:IsolationGroup view: view(ProcessServerResource ⇒ ProcessServer) create: edit(ProcessServerResource ⇒ ProcessServer) edit: edit(ProcessServerResource ⇒ ProcessServer) delete: edit(ProcessServerResource ⇒ ProcessServer) ig: l:ProcessServer ⇒ f:Partition ⇒ ig:IsolationGroup view: view(ProcessServerService ⇒ ProcessServer) create: edit(ProcessServerService ⇒ ProcessServer) edit: edit(ProcessServerService ⇒ ProcessServer) delete: edit(ProcessServerService ⇒ ProcessServer) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(PublishItem ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(PublishItem ⇒ JobDefinition) edit: edit(PublishItem ⇒ JobDefinition) delete: edit(PublishItem ⇒ JobDefinition) . edit) create: create(QueueAlertSource) edit Delete ⇒ (create.submitOnto.view.view.view.viewJobs.publish) ig: f:Partition ⇒ ig:IsolationGroup view: view(R2WCatalog) create: create(R2WCatalog) publish[2] ( see the Edit ⇒ (create.viewJobs.create[1] ( see the rived from Administration R2WCatalog) Guide ) view Create ⇒ (create) View ⇒ (view) Publish ⇒ (view.delete) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(QueueAlertSource) view Edit ⇒ (create.view.edit) edit: delete: Administration Delete ⇒ (create.view.publish.deGuide ) lete) edit delete 198 edit(R2WCatalog) delete(R2WCatalog) .viewview create: Jobs.submitOnto.delete) edit: edit(QueueAlertSource) delete: delete(QueueAlertSource) delete QueueProvider (derived from QueueProvider) ig: l:Queue ⇒ f:Partition ⇒ ig:IsolationGroup view: view(QueueProvider ⇒ ProcessServer) view(QueueProvider ⇒ ProcessServer) create: edit(QueueProvider ⇒ ProcessServer) edit(QueueProvider ⇒ ProcessServer) edit: edit(QueueProvider ⇒ ProcessServer) edit(QueueProvider ⇒ ProcessServer) delete: edit(QueueProvider ⇒ ProcessServer) edit(QueueProvider ⇒ ProcessServer) R2WCatalog (de.publish.view.submitOnto) edit: viewJobs[2] ( see delete: the Administration SubmitAndView ⇒ (view.Administering the Scheduling Landscape Queue (derived from Queue) create[1] ( see the Administration Guide ) Create ⇒ (create) ig: View ⇒ (view) view: JobAdministrator ⇒ (view.edit) Delete ⇒ (create.submitOnto) Guide ) submitOnto edit delete QueueAlertSource (derived from ApplicationObject) create[1] ( see the Administration Guide ) f:Partition ⇒ ig:IsolationGroup view(Queue) create(Queue) edit(Queue) delete(Queue) Edit ⇒ (create. view.control) control Edit ⇒ (create.control.delete) edit: edit(Report) delete: delete(Report) delete ReportJobDefinitionRelatedObject (derived from JobDefinitionRelatedObject) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(ReportJobDefinitionRelatedObject ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(ReportJobDefinitionRelatedObject ⇒ JobDefinition) edit: edit(ReportJobDefinitionRelatedObject ⇒ JobDefinition) delete: edit(ReportJobDefinitionRelatedObject ⇒ JobDefinition) Resource (derived create[1] ( see the from ApplicaAdministration tionObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Resource) view Edit ⇒ (create.view.create[1] ( see the or (derived from Administration SAPBAEConnect.delete) edit: edit(Resource) delete: delete(Resource) ig: f:Partition ⇒ ig:IsolationGroup view: view(SAPBAEConnector) create: create(SAPBAEConnector) delete SAPBAEConnect.view.de.view.edit) create: create(Report) edit Delete ⇒ (create.view.control.view.Administering the Scheduling Landscape Report (derived from ApplicationObject) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Report) view Edit ⇒ (create.businessAutomationAPI) delete: edit(SAPBAEConnector) delete(SAPBAEConnector) call start(): control(SAPBAEConnector) call stop(): control(SAPBAEConnector) 199 .edit) edit Delete ⇒ (create.Guide ) or) view Create ⇒ (create) View ⇒ (view) Administrator ⇒ (view.edit) create: create(Resource) edit Delete ⇒ (create.edit: lete) delete businessAutomationAPI[2] ( see the Administration Guide ) BusinessAutomationUser ⇒ (view. BusinessAutomationUser ⇒ tionAPI[2] ( see the (view.view.delete) edit: edit(SubmitFrame) delete: delete(SubmitFrame) delete 200 .businessAutomationAPI) Administration Guide ) delete Script (derived from JobDefinitionRelatedObject) SubmitFrame (de.delete) edit: edit(SAPSystem) delete: delete(SAPSystem) businessAutoma.edit) create: create(SAPSystem) edit Delete ⇒ (create.view.Administration ationObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(Script ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(Script ⇒ JobDefinition) edit: edit(Script ⇒ JobDefinition) delete: edit(Script ⇒ JobDefinition) ig: f:Partition ⇒ ig:IsolationGroup view: view(SubmitFrame) view Edit ⇒ (create.Administering the Scheduling Landscape SAPScript (derived from JobDefinitionRelatedObject) SAPSystem (de.create[1] ( see the rived from Administration SAPSystem) Guide ) Create ⇒ (create) View ⇒ (view) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(SAPScript ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(SAPScript ⇒ JobDefinition) edit: edit(SAPScript ⇒ JobDefinition) delete: edit(SAPScript ⇒ JobDefinition) ig: f:Partition ⇒ ig:IsolationGroup view: view(SAPSystem) view Edit ⇒ (create.create[1] ( see the rived from Applic.view.edit) create: create(SubmitFrame) edit Delete ⇒ (create.view. edit) create: create(Table) edit Delete ⇒ (create.edit) edit: edit(UserMessage) Delete ⇒ (create.delete) edit: edit(Trigger) delete: delete(Trigger) delete UserMessage (de.Administration plicationObject) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(TableDefinition) view Edit ⇒ (create.view.edit) create: create(TimeWindow) edit Delete ⇒ (create.delete) edit: edit(TableDefinition) delete: delete(TableDefinition) ig: f:Partition ⇒ ig:IsolationGroup delete TimeWindow create[1] ( see the (derived from Ap.view.edit) create: create(Trigger) edit Delete ⇒ (create.delete) delete: delete(UserMessage) reply delete 201 .delete) edit: edit(Table) delete: delete(Table) delete TableDefinition create[1] ( see the (derived from Ap.view.Administration plicationObject) Guide ) Create ⇒ (create) View ⇒ (view) view: view(TimeWindow) view Edit ⇒ (create.view.Administering the Scheduling Landscape Table (derived from ApplicationObject) create[1] ( see the Administration Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Table) view Edit ⇒ (create.view.Administration Message) Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(UserMessage) view Edit ⇒ (create.edit) create: create(UserMessage) edit Reply ⇒ (reply.view.view.view.create[1] ( see the rived from User.view.view.view.delete) edit: edit(TimeWindow) delete: delete(TimeWindow) delete Trigger (derived create[1] ( see the from Trigger) Administration Guide ) Create ⇒ (create) View ⇒ (view) ig: f:Partition ⇒ ig:IsolationGroup view: view(Trigger) view Edit ⇒ (create.edit) create: create(TableDefinition) edit Delete ⇒ (create. indicates that you are using a screen reader. • scheduler-screen-reader .read only access to all objects.has access to SAP CPS only. • scheduler-it-user .can access the default user interface • scheduler-job-administrator . Granted System Privileges Use The following pre-defined roles are available: • scheduler-administrator .Administering the Scheduling Landscape UserMessageDefinition (derived from JobDefinitionRelatedObject) ig: l:JobDefinition ⇒ f:Partition ⇒ ig:IsolationGroup view: view(UserMessageDefinition ⇒ JobDefinition ⇒ MasterJobDefinition) create: edit(UserMessageDefinition ⇒ JobDefinition) edit: edit(UserMessageDefinition ⇒ JobDefinition) delete: edit(UserMessageDefinition ⇒ JobDefinition) Footnotes [1] This permission cannot be granted to a specific instance of the object. All users need at least the scheduler-user role. and cannot be granted at the System.can create/edit/delete isolation groups and add users to these. cannot see any objects. even if they have the scheduler-administrator role.can access the business-user-centric user interface • scheduler-event-operator . • scheduler-isolation-administrator . job definitions. Isolation Group or Partition level. 202 . • scheduler-viewer . [2] This permission cannot only be granted to a specific instance of the object. • scheduler-user . but can only be granted at the System. Isolation Group or Partition level.can create/edit/delete event definitions. • scheduler-business-user .can raise and clear events. job chains. or they will not be able to access SAP CPS. Can modify jobs. (not displayed when running in SAP NetWeaver) Note The roles scheduler-business-user and scheduler-it-user are use by the Financial Process Automation module.can perform all actions. DeleteJob scheduler-administrator JobDefinition.Raise scheduler-administrator EventDefinition.SubmitJob scheduler-administrator JobDefinition. The Administrator role privileges Role System Privilege scheduler-administrator Application. a partition or an isolation group.Modify scheduler-administrator JobDefinitionType.Create scheduler-administrator Format.Administering the Scheduling Landscape System privileges can be granted for the entire system.Create scheduler-administrator EventDefinition.Create scheduler-administrator Application.Modify scheduler-administrator JobLock.View scheduler-administrator Format.View scheduler-administrator JobFile.View scheduler-administrator JobLock.Delete scheduler-administrator JobLock.Modify scheduler-administrator Format.Delete scheduler-administrator JobDefinitionType.Delete scheduler-administrator Format.Modify scheduler-administrator JobDefinition. this allows you to limit the privilege to objects in a particular partition or with a particular isolation group.View scheduler-administrator JobDefinitionType. The default grants of the above mentioned roles are as follows: 1.Delete scheduler-administrator Job.Create scheduler-administrator JobLock.Create scheduler-administrator JobDefinition.View scheduler-administrator JobDefinition.Delete scheduler-administrator EventDefinition.Create scheduler-administrator JobDefinitionType.View scheduler-administrator Job.Clear scheduler-administrator EventDefinition.Delete scheduler-administrator JobDefinition.View scheduler-administrator EventDefinition. System-wide privileges are only valid in the partitions the user has at least read privileges for.View scheduler-administrator ProcessServer.Modify scheduler-administrator Job.Modify scheduler-administrator EventDefinition.Create 203 .Delete scheduler-administrator Application.Modify scheduler-administrator Application. Modify scheduler-administrator SAPSystem.Create scheduler-administrator Resource.View scheduler-administrator Subject.Delete 204 .Delete scheduler-administrator Resource.View scheduler-administrator SubmitFrame.Create scheduler-administrator Resource.Delete scheduler-administrator Subject.Create scheduler-administrator Subject.CanGrant scheduler-administrator Subject.SubmitJobIn scheduler-administrator Queue.Create scheduler-administrator Service.Create scheduler-administrator SAPSystem.Delete scheduler-administrator SAPSystem.View scheduler-administrator TimeWindow.Administering the Scheduling Landscape scheduler-administrator ProcessServer.Create scheduler-administrator Queue.DeleteJobIn scheduler-administrator Queue. Secondary role privileges Role System Privilege scheduler-job-administrator EventDefinition.View 2.View scheduler-administrator Queue.Modify scheduler-administrator SubmitFrame.View scheduler-administrator Service.Modify scheduler-administrator Service.View scheduler-administrator RegistryEntry.Modify scheduler-administrator Subject.Delete scheduler-administrator SubmitFrame.Delete scheduler-administrator Service.Delete scheduler-administrator ProcessServer.Create scheduler-administrator TimeWindow.Modify scheduler-administrator Resource.Modify scheduler-administrator ProcessServer.View scheduler-administrator SAPSystem.Create scheduler-administrator SubmitFrame.Modify scheduler-administrator TimeWindow.Delete scheduler-administrator TimeWindow.Delete scheduler-administrator Queue.Create scheduler-job-administrator EventDefinition.Modify scheduler-administrator Queue. View Object Privileges Use Object privileges are used to grant specific users access to specific objects.View scheduler-viewer Job.View scheduler-viewer SubmitFrame.Clear scheduler-event-operator EventDefinition.Modify scheduler-job-administrator JobDefinition.View scheduler-viewer SAPSystem.DeleteJob scheduler-job-administrator JobDefinition.View scheduler-viewer EventDefinition.DeleteJobIn scheduler-job-administrator Queue.View scheduler-viewer JobFile. Object privileges require the Security. The following basic object privileges are available for most objects: • View 205 .View scheduler-viewer JobDefinition.SubmitJob scheduler-job-administrator Queue.View scheduler-viewer Subject. for example.View scheduler-viewer Queue.Modify scheduler-job-administrator Job.View scheduler-viewer TimeWindow.View scheduler-viewer Format.Modify scheduler-job-administrator JobDefinition.View scheduler-viewer Service. object privileges are only valid for one object.Raise 3.View scheduler-viewer JobDefinitionType.View scheduler-viewer JobLock.Module which is specified in a license key.Create scheduler-job-administrator JobDefinition. You know you have object privileges when you see a Security tab on repository objects. Unlike system privileges.View scheduler-viewer Resource. like job definitions.Delete scheduler-job-administrator JobDefinition.View scheduler-viewer ProcessServer.SubmitJobIn scheduler-event-operator EventDefinition.Administering the Scheduling Landscape scheduler-job-administrator EventDefinition. The generic role privileges Role System Privilege scheduler-viewer Application. read only access to all objects.indicates that you are using a screen reader.can perform all actions. as you need to see an object before you can edit it. • scheduler-isolation-administrator . • scheduler-user .can raise and clear events. For example. job chains.can access the default user interface • scheduler-job-administrator . • scheduler-business-user . the Admin option allows the grantee to grant the privilege on to other users.can create/edit/delete event definitions. • scheduler-screen-reader . two more object-specific object privileges exist for job definitions: • Submit • View Jobs Object privileges can be granted with the Access or Admin option. Object privileges cannot be granted directly. job definitions. this prevents human error.can create/edit/delete isolation groups and add users to these. they are created in SAP CPS as soon as a user with that role logs on.Administering the Scheduling Landscape • Edit • Delete Some Objects have additional privileges. in a partition or with an isolation group. cannot see any objects. (not displayed when running in SAP NetWeaver) 206 . Can modify jobs. You cannot modify any of the built-in roles: • scheduler-administrator . See Also • Granting and Revoking Object Privileges • Granting and Revoking System Privileges • System Privileges Granting and Revoking System Privileges Use System privileges can be granted to a custom role for all objects system-wide. the Edit rank contains both View and Edit privileges.can access the business-user-centric user interface • scheduler-event-operator . • scheduler-viewer . you grant ranks of privileges.has access to SAP CPS only. • scheduler-it-user . Custom roles are created in the authentication system. for example. Access privileges allow the user to perform the actions. 3.can perform all actions. choose an Object definition and then Next. Choose the desired range of the privileges. On the Assign Privileges tab.can access the business-user-centric user interface • scheduler-event-operator . 3.Administering the Scheduling Landscape Note The roles scheduler-business-user and scheduler-it-user are use by the Financial Process Automation module.can create/edit/delete event definitions. On the Assign Privileges tab. Access privileges allow the user to perform the actions. job definitions. 207 . Revoking privileges from a custom role 1. Choose Edit from the context-menu of an editable role.can raise and clear events. You cannot modify any of the built-in roles: • scheduler-administrator . 2.Editable roles have a description: Created automatically on first login. Editable roles have a description: Created automatically on first login. Choose Edit from the context-menu of an editable role. Navigate to Security > Roles. Admin privileges allow the user to perform the action and to grant the privilege to others as well. Navigate to Security > Roles. Can modify jobs. 4. job chains. Procedure Granting privileges to a custom role 1. 2. 5. • scheduler-it-user . 5. choose an Object definition and then Next. 4.can access the default user interface • scheduler-job-administrator . Choose a Rank with the desired privileges. Admin privileges allow the user to perform the action and to grant the privilege to others as well. • scheduler-business-user . See Also • Granting or Revoking Object Privileges Granting and Revoking Object Privileges Use Object privileges can be granted/revoked to/from a custom role or user for a specific object. Choose the desired range of the privileges. Choose a Rank with the desired privileges. this prevents human error. (not displayed when running in SAP NetWeaver) Note The roles scheduler-business-user and scheduler-it-user are use by the Financial Process Automation module. On the Security tab. when you grant a privilege as Admin. Object privileges cannot be granted directly.can create/edit/delete isolation groups and add users to these. • scheduler-screen-reader . the grantee can grant the privilege to other users. Navigate to the object you want to change the security for. 2. For example. you grant ranks of privileges.read only access to all objects. the jobs in that queue and you need to be able to submit a job into the queue to be able to be able to submit a job into the queue and monitor its status. The figure below illustrates the privileges of user jdoe on the queue ER2_Queue. 3. Exportable privileges will be exported together with the object.indicates that you are using a screen reader. privileges can be granted as Access and Admin. the Job Administrator rank contains View and View Jobs and Submit Onto privileges. fill in a grantee. as you need to be able to see the queue. 208 . • scheduler-viewer .has access to SAP CPS only. the grantee has to exist in the system where you import the object. Choose Edit Security from the context-menu. cannot see any objects. Procedure Granting object privileges 1. Furthermore.Administering the Scheduling Landscape • scheduler-user . • scheduler-isolation-administrator . Admin privileges allow the user to perform the action and to grant the privilege to others as well.setGrantedRank(myGrant. Access privileges allow the user to perform the actions. Access privileges allow the user to perform the actions. Admin privileges allow the user to perform the action and to grant the privilege to others as well. { //Get the job definition and user JobDefinition myjd = jcsSession. 4.persist(). if you want to revoke all privileges for this object from the grantee. myGrant.createSubjectObjectPrivilegeGrant().getAllRanks()[3]).getJobDefinitionByName("ProcessPartnerFile"). Navigate to the object you want to change the security for. choose Delete.getSubjectByTypeName(SubjectType. //Create an empty grant SubjectObjectPrivilegeGrant myGrant = myjd. } See Also • Granting and Revoking System Privileges Privileges Required to use Objects Use The following sections cover the privileges that are required to use SAP CPS objects. 3."jdoe"). On the Security tab.Administering the Scheduling Landscape 4. Choose a Rank with the desired privileges. //Save the changes to the database jcsSession. Revoking object privileges 1. Choose Edit Security from the context-menu. //Set the grantee and the rank myGrant. 2. Subject myUser = jcsSession. Example Granting Submit privileges on the job definition ProcessPartnerFile to user jdoe. • Privileges Required to use Ad Hoc Alert Sources • Privileges Required to use AlertSourceActions • Privileges Required to use Applications • Privileges Required to use Audit Rules • Privileges Required to use the Audit Trail • Privileges Required to use CounterCategories • Privileges Required to use Credential Protocols • Privileges Required to use Credentials 209 .User. Choose a Rank with the desired privileges. choose the grantee.setGranteeSubject(myUser). Administering the Scheduling Landscape • Privileges Required to use Dashboards • Privileges Required to use DatumDefinitions • Privileges Required to use Documents • Privileges Required to use Alert Escalations • Privileges Required to use Events and Event Definitions • Privileges Required to use ExportRuleSets • Privileges Required to use Export Rule Sets • Privileges Required to use Formats • Privileges Required to use Email Alert Gateways • Privileges Required to use ImportRuleDefinitions • Privileges Required to use ImportRuleSets • Privileges Required to use ImportSources • Privileges Required to use Import Rule Sets • Privileges Required to use Isolation Groups • Privileges Required to use Job Chains • Privileges Required to use Job Definition Alert Sources • Privileges Required to use Job Definition Types • Privileges Required to use Job Definitions • Privileges Required to use Jobs • Privileges Required to use Libraries • Privileges Required to use Locks • Privileges Required to use Monitor Nodes • Privileges Required to use Operator Messages • Privileges Required to use Partitions • Privileges Required to use Period Functions • Privileges Required to use Process Monitors • Privileges Required to use Process Server Alert Sources • Privileges Required to use Process Servers • Privileges Required to use QueryFilters • Privileges Required to use Queue Alert Source 210 . Administering the Scheduling Landscape • Privileges Required to use Queues • Privileges Required to use Registry Entries • Privileges Required to use Reports • Privileges Required to use Resources • Privileges Required to use Roles • Privileges Required to use SAP Systems • Privileges Required to use Services • Privileges Required to use the Shell • Privileges Required to use StatisticCagtegories • Privileges Required to use SubjectIsolationGroups • Privileges Required to use SubjectRoleGrantExpanded • Privileges Required to use Subjects • Privileges Required to use Submit Frames • Privileges Required to use Table Definitions • Privileges Required to use Tables • Privileges Required to use Time Windows • Privileges Required to use Time Zones • Privileges Required to use Triggers • Privileges Required to use Users • Privileges Required to use User Messages Privileges Required to use Ad Hoc Alert Sources Use To use ad hoc alert sources.allows you to create an ad hoc alert source on the level the privilege was granted (system. you have no further privileges through this rank. isolation-group). you need either: • scheduler-administrator role • system. partition or isolation group-level permissions • object-specific privileges Creating Ad Hoc Alert Sources You need either of the following privilege ranks to be able to create ad hoc alert sources: • Create . 211 . you automatically get privileges on ad hoc alert sources you create. partition. partition.allows you to create. isolation group or system-wide 212 . isolation group or system-wide • All . you automatically get privileges on ad hoc alert sources you create. view. partition. and delete all ad hoc alert source on the level the privilege was granted (system. view.allows you to create. isolationgroup) Editing Ad Hoc Alert Sources To successfully edit an ad hoc alert source. isolation-group) • Delete .privilege rank on the alert source action.Administering the Scheduling Landscape • Edit .privilege rank on the ad hoc alert source. you have to have either of the following privileges: • Edit . Ad hoc alert sources can reference the following objects. isolation group or system-wide • Delete . partition. you have no further privileges through this rank. isolation-group). view. or on ad hoc alert sources in its partition. Creating Alert Source Actions You need either of the following privilege ranks to be able to create ad hoc alert sources: • Create . or on ad hoc alert sources in its partition. isolation group or system-wide You always need View privileges on the partition of the ad hoc alert source.privilege rank on the ad hoc alert source.allows you to create. or on ad hoc alert sources in its partition.full control over all alert source actions on the level the privilege was granted (system. or on alert source actions in its partition. isolation-group) • All . partition. you need at least View privileges on these objects as well as their partition(s) when you want to edit an ad hoc alert source that references them: • Application • Alert Escalation Editing Alert Source Actions To successfully edit an ad hoc alert source. isolation-group) • All .privilege rank on the ad hoc alert source. view. you have to have either of the following privileges: • Edit . and edit all ad hoc alert sources on the level the privilege was granted (system. isolation-group) • Delete . • Edit . and delete all alert source actions on the level the privilege was granted (system.allows you to create an alert source action on the level the privilege was granted (system.full control over all ad hoc alert sources on the level the privilege was granted (system. partition. isolationgroup) You always need View privileges on the partition in which you want to create the ad hoc alert source. partition. partition.allows you to create. and edit all alert source actions on the level the privilege was granted (system. isolation group or system-wide • All . or on alert source actions in its partition. or on alert source actions in its partition. isolation-group. or on AlertSourceActions in its partition.privilege rank on the AlertSourceAction. object) • All .full control over all AlertSourceActions and AlertSourceActions on the level the privilege was granted (system. partition. or on AlertSourceActions in its partition.allows you to create. you automatically get privileges on AlertSourceActions you create. isolation-group. view.allows you to create. isolation group or system-wide 213 .privilege rank on the alert source action. you have no further privileges through this rank.Administering the Scheduling Landscape • Delete . partition. object) Editing AlertSourceActions To successfully edit an AlertSourceAction. isolation-group. partition or isolation group-level permissions on the alert source and system or isolation group-level permissions on AlertSourceAction • object-specific privileges on the alert source and system or isolation group-level permissions on AlertSourceAction Note AlertSourceActions are properties of alert sources and as such you require permissions on the mother-object as well. in this case the alert source. isolation-group). object) • Delete . isolation group or systemwide See Also • Privileges Required to use Applications • Privileges Required to use Alert Escalations Privileges Required to use AlertSourceActions Use To use AlertSourceActions you need either: • scheduler-administrator role • system. isolation group or system-wide • All . partition. Creating AlertSourceActions You need either of the following privilege ranks to be able to create AlertSourceActions: • Create . you have to have at least one of the following privileges: • Edit . partition.allows you to create AlertSourceActions on the level the privilege was granted (system.privilege rank on the AlertSourceAction. manage and delete all AlertSourceActions and AlertSourceActions on the level the privilege was granted (system.privilege rank on the alert source action. view and edit all AlertSourceActions on the level the privilege was granted (system. • Edit . you need either: • scheduler-administrator role • system. Applications can reference the following objects. object) • All .allows you to create. isolationgroup). isolation-group) • Delete . partition. isolation group or system-wide • ''All. you have no further privileges through this rank. or on Application in its partition. partition or isolation group-level permissions • object-specific privileges Creating and Editing Applications You need the following privilege ranks to be able to create applications: • Create .Administering the Scheduling Landscape See Also • Privileges Required to use Applications • Privileges Required to use Process Servers • Privileges Required to use AdHoc Alert Sources • Privileges Required to use Job Definition Alert Sources • Privileges Required to use Process Server Alert Sources • Privileges Required to use Queue Alert Sources Privileges Required to use Applications To use applications. isolation group or system-wide You always need View privileges on the partition of the application. view. or on Application in its partition. partition.allows you to create. you automatically get privileges on applications you create. partition. isolation-group. view and edit all applications on the level the privilege was granted (system. • Edit . isolation-group) You always need View privileges on the partition of the application. partition.privilege rank on the application. Editing Applications You need the following privilege ranks to be able to edit applications: • ''Edit. and delete all applications on the level the privilege was granted (system.allows you to create applications on the level the privilege was granted (system. you need at least View privileges on these objects as well as their partition(s) when you want to edit an application that references them: • Application 214 .privilege rank on the application.full control over all applications on the level the privilege was granted (system. isolation-group.allows you to view AuditObjects on the level the privilege was granted (system. partition. you need either: • scheduler-administrator role • system or isolation group-level permissions Viewing Audit Trail AuditObjects • View .allows you to create. partition.full control over all audit rules on the level the privilege was granted (system.allows you to create.allows you to view and restore all AuditObjects on the level the privilege was granted (system. or on AuditRules in its partition. • Edit . or on AuditRules in its partition. partition. you need either: • scheduler-administrator role • system. you have no further privileges through this rank. object) • All . isolation-group). you have no further privileges through this rank. isolationgroup) 215 .privilege rank on the audit rule.allows you to create audit rules on the level the privilege was granted (system. isolation-group. object) Editing Audit Rules • Edit . isolationgroup). object) • Delete .privilege rank on the audit rule. partition or isolation group-level permissions • object-specific privileges Creating Audit Rules You need the following privilege ranks to be able to create audit rules: • Create . isolation group or system-wide • All . view. isolation group or system-wide Deleting Audit Rules • Delete • All Privileges Required to use the Audit Trail Use To view the audit trail. • Edit . view and edit all audit rules on the level the privilege was granted (system. and delete all audit rules on the level the privilege was granted (system. partition. isolation-group.Administering the Scheduling Landscape Privileges Required to use Audit Rules Use To use audit rules. you automatically get privileges on audit rules you create. allows you to view. isolation-group) See Also • Privileges Required to use Isolation Groups • Privileges Required to use Partitions Privileges Required to use CounterCategories Use CounterCategories are used to calculate job statistics.allows you to create. To use CounterCategories.allows you to view. partition or isolation group-level permissions • object-specific privileges Creating CounterCategories You need either of the following privilege ranks to be able to create CounterCategories: • Create . partition.Administering the Scheduling Landscape • Delete . you need either: • scheduler-administrator role • system. Restoring Objects • Edit . restore and delete any AuditObjects on the level the privilege was granted (system. you have no further privileges through this rank. • Edit . isolation-group) • Delete .full control over all AuditObjects on the level the privilege was granted (system. isolation-group) Note A user with the View privilege on AuditObject does not require a privilege rank on the audited object to see it in the audit trail. partition. isolationgroup) 216 . view and restore all AuditObjects on the level the privilege was granted (system. isolation-group) • All .allows you to create. partition.full control over all CounterCategories on the level the privilege was granted (system. you automatically get privileges on CounterCategories you create.allows you to create an CounterCategory on the level the privilege was granted (system. isolation-group) • All . partition.full control over all AuditObjects on the level the privilege was granted (system. isolation-group) • All . restore and delete any AuditObject on the level the privilege was granted (system.allows you to create. isolation-group). and edit all CounterCategories on the level the privilege was granted (system. isolation-group) • Delete . view. view. and delete all CounterCategory on the level the privilege was granted (system. view and edit all credential protocols on the level the privilege was granted (system. view. partition or isolation group-level permissions • object-specific privileges Using Credential Protocols You need the following privilege ranks to be able to use credential protocols in job definitions: • View . or on CounterCategory in its partition. usually GLOBAL. however.privilege rank on the CounterCategory.allows you to create. and delete all credential protocols on the level the privilege was granted (system. or on CounterCategory in its partition. partition.full control over all credential protocols on the level the privilege was granted (system. isolation-group). isolation-group.Administering the Scheduling Landscape Editing CounterCategories To successfully edit a CounterCategory. isolation-group. you automatically get privileges on credential protocols you create.allows you to create credential protocols on the level the privilege was granted (system. partition. You also require View privileges on the partition of the credential protocol. object) • Delete . partition. or on CounterCategory in its partition. isolation group or systemwide • Delete . object) Note You can create credential protocols. isolation group or systemwide • All . isolation group or systemwide See Also StatisticCategory Privileges Required to use Credential Protocols Use To use credential protocols. you have no further privileges through this rank.privilege rank on the CounterCategory. you need either: • scheduler-administrator role • system. partition.allows you to view the credential protocols and use it in a job definition. object) • All . you have to have either of the following privileges: • Edit .privilege rank on the CounterCategory. Creating Credential Protocols • Create . 217 .allows you to create. you will only be able to use them with specially crafted job definition types. • Edit . isolationgroup. You also require View privileges on the partition of the credential protocol. isolation group or systemwide You also require View privileges on the partition of the credential protocol. you have no further privileges through this rank.privilege rank on CredentialProtocol. isolationgroup). You also require View privileges on the partition of the credential. object) 218 .allows you to create.Administering the Scheduling Landscape Editing Credential Protocols • Edit . or on credential protocols in its partition. isolation group or systemwide • All . Credential protocols can reference the following objects. partition or isolation group-level permissions • object-specific privileges Using Credentials You need the following privilege ranks to be able to use credentials in job definitions: • View . • Edit . you automatically get privileges on audit rules you create. partition. you need either: • scheduler-administrator role • system. isolation group or system-wide You also require View privileges on the partition of the credential protocol. Creating Credentials You need the following privilege ranks to be able to create credentials: • Create . you need at least View privileges on these objects and their partition(s) when you want to edit a credential protocols that references them: • Application Deleting Credential Protocols • Delete privilege on the credential protocol. isolation-group. isolation group or systemwide • All credential protocol. view and edit all credentials on the level the privilege was granted (system. See Also • Privileges Required to use Applications Privileges Required to use Credentials Use To use credentials. partition. or on credential protocols in its partition. or on credential protocols in its partition.allows you to create credential on the level the privilege was granted (system. or on credential protocols in its partition.allows you to view the credential and use it in a job definition.privilege rank on CredentialProtocol. Editing Credentials • Edit . object) • All . and delete all dashboards • All . partition.Administering the Scheduling Landscape • All . object) You also require View privileges on the partition of the credential. object) • All . isolation-group. you need either: • scheduler-administrator role • scheduler-job-administrator role Creating Dashboards You need one of the following privilege ranks to be able to create dashboards: • Create . partition.full control over all credentials on the level the privilege was granted (system. object) See Also • Privileges Required to use Applications • Privileges Required to use Credential Protocols Privileges Required to use Dashboards Use To use dashboards.allows you to create.full control over all credentials on the level the privilege was granted (system.allows you to create.full control over all credentials on the level the privilege was granted (system. isolation-group. view and edit all credentials on the level the privilege was granted (system.allows you to create dashboards • Edit . Credentials can reference the following objects. partition. isolation-group. isolation-group.allows you to view and delete all credentials on the level the privilege was granted (system.allows you to create. partition. and edit all dashboards • Delete . isolation-group. object) You also require View privileges on the partition of the credential. partition.full control over all dashboards 219 . you need at least View privileges on these objects and their partitions when you want to edit a credential that references them: • Application • Credential Protocol Deleting Credentials • Delete . view. view. you have no further privileges through this rank.system-wide privilege rank for the dashboard • Delete . partition or isolation group-level permissions on DatumDefinition Note DatumDefinitions are properties of objects and as such you require permissions on the mother-object as well. you have to have one the following privileges: • Edit . isolation group or systemwide • All . view. partition. isolation group or systemwide 220 . object) • Delete . partition. or on DatumDefinition in its partition.allows you to create.full control over all DatumDefinitions and DatumDefinitions on the level the privilege was granted (system.privilege rank on the DatumDefinition.system-wide privilege rank for the dashboard • All . Creating DatumDefinitions You need either of the following privilege ranks to be able to create DatumDefinitions: • Create . you have to have at least one of the following privileges: • Edit .allows you to create DatumDefinitions on the level the privilege was granted (system. manage and delete all DatumDefinitions and DatumDefinitions on the level the privilege was granted (system. partition. view and edit all DatumDefinitions on the level the privilege was granted (system. isolation-group. object) Editing DatumDefinitions To successfully edit an DatumDefinition.system-wide privilege rank for the dashboard Privileges Required to use DatumDefinitions Use To use DatumDefinitions you need either: • scheduler-administrator role • system. partition. partition or isolation group-level permissions on the alert source and on DatumDefinition • object-specific privileges on the object and system. you automatically get privileges on DatumDefinitions you create. or on DatumDefinition in its partition.privilege rank on the DatumDefinition. isolation-group.Administering the Scheduling Landscape Editing Dashboards To successfully edit a dashboard. isolation-group. object) • All .allows you to create. isolation-group). • Edit . partition. you have no further privileges through this rank. isolationgroup). isolation-group) • All .privilege rank on the document. partition. you need either: • scheduler-administrator role 221 . isolation group or system-wide • All .full control over all documents on the level the privilege was granted (system.allows you to create.privilege rank on the document. you have to have one the following privileges: • Edit .Administering the Scheduling Landscape Privileges Required to use Documents Use To use documents. isolation group or system-wide • Delete . or on Document in its partition. • Edit . isolation-group) You also require View privileges on the partition of the document. or on Document in its partition. and delete all documents on the level the privilege was granted (system. and edit all documents on the level the privilege was granted (system. you need either: • scheduler-administrator role • system.allows you to create documents on the level the privilege was granted (system. isolation-group) • Delete .privilege rank on the document. view. Documents can reference the following objects. partition.allows you to create. you automatically get privileges on documents you create. isolation group or system-wide You also require View privileges on the partition of the document. or on Document in its partition. you need at least View privileges on these objects and their partition(s) when you want to edit a document that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use Alert Escalations Use To use alert escalations. Editing Documents To successfully edit a document. partition or isolation group-level permissions • object-specific privileges Creating Documents You need one of the following privilege ranks to be able to create documents: • Create . view. partition. object) You also require View privileges on the partition of the alert escalation. object) • All . you have to have one the following privileges: • Edit . isolation-group. isolationgroup. partition. partition or isolation group-level permissions • object-specific privileges Creating Event Definitions You need either of the following privilege ranks to be able to create event definitions: 222 . isolation-group. partition. object) • All . partition or isolation group-level permissions • object-specific privileges Creating Alert Escalations You need one of the following privilege ranks to be able to create escalations: • Create . • Edit .allows you to create. you have no further privileges through this rank. Alert escalations can reference the following objects. object) You also require View privileges on the partition of the alert escalation. isolationgroup.allows you to create alert escalations on the level the privilege was granted (system. you need at least View privileges on these objects and their partition(s) when you want to edit an alert escalation that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use Events and Event Definitions Use To use event definitions and their events. Editing Escalations To successfully edit alert escalations. view and edit all alert escalations on the level the privilege was granted (system.Administering the Scheduling Landscape • system. you need either: • scheduler-administrator role • scheduler-event-operator role • system. partition. isolationgroup). view and edit all alert escalations on the level the privilege was granted (system.full control over all alert escalations on the level the privilege was granted (system. partition.allows you to create. you automatically get privileges on alert escalations you create. partition.full control over all alert escalations on the level the privilege was granted (system. isolation group or system-wide • Manage Events . isolation-group. partition.privilege rank on the event definition.allows you to create. or on event definition. isolation group or systemwide You also require View privileges on the partition of the event definition. or on EventDefinition in its partition.privilege rank on the event definition. partition. isolation-group.privilege rank on the event definition. partition. it allows you to raise events on the level the privilege was granted (system. isolation-group. it allows you to raise and clear events on the level the privilege was granted (system. it allows you to raise and clear events on the level the privilege was granted (system. isolation group or systemwide • All . object).file events only Editing Events • Clear . isolation group or systemwide See Also • Privileges Required to use Applications 223 . isolation group or system-wide • Edit .privilege rank on the EventDefinition. object). partition. you need at least View privileges on these objects and their partition(s) when you want to edit an event definition that references them: • Application • Process Server . view. object) in its partition. isolation-group. • Edit .Administering the Scheduling Landscape • Create . it allows you to clear events on the level the privilege was granted (system. object) in its partition. isolation group or systemwide • All . manage and delete all event definitions and events on the level the privilege was granted (system. you have no further privileges through this rank. Event definitions can reference the following objects. you automatically get privileges on events you create. object) • All .allows you to create events on the level the privilege was granted (system. partition. view and edit all events on the level the privilege was granted (system.privilege rank on the event definition. isolation group or system-wide • Raise .privilege rank on the event definition. partition. object) You also require View privileges on the partition of the event definition. or on event definitions in its partition. isolation-group. isolation-group.allows you to create. partition. it allows you to raise events on the level the privilege was granted (system. it allows you to clear events on the level the privilege was granted (system. object) • Delete . or on EventDefinition in its partition. isolation-group). or on event definition.full control over all event definitions and events on the level the privilege was granted (system. object). or on event definition. isolation-group. or on event definitions in its partition. isolation-group. partition. object) in its partition.privilege rank on the EventDefinition. partition. you have to have at least one of the following privileges: • Edit . partition. isolation-group. Editing Event Definitions To successfully edit an event definition. privilege rank on the ExportRuleSet.allows you to create. object) You also require View privileges on the partition of the ExportRuleSet. isolation-group. you automatically get privileges on ExportRuleSets you create. ExportRuleSets can reference the following objects. object) • Delete . partition. you need at least View privileges on these objects and their partition(s) when you want to edit an ExportRuleSet that references them: • Application See Also • Privileges Required to use Exports Privileges Required to use Export Rule Sets Use To use export jobs. or on ExportRuleSets in its partition. view and edit all ExportRuleSets on the level the privilege was granted (system.allows you to create ExportRuleSets on the level the privilege was granted (system. you have no further privileges through this rank. you need either: 224 .allows you to create. you have to have at least one of the following privileges: • Edit . and delete all ExportRuleSets on the level the privilege was granted (system. partition or isolation group-level permissions • object-specific privileges Creating ExportRuleSets You need either of the following privilege ranks to be able to create ExportRuleSets: • Create . isolationgroup). partition.full control over all ExportRuleSets on the level the privilege was granted (system. partition. isolationgroup. isolation group or systemwide • All .privilege rank on the ExportRuleSet. or on ExportRuleSets in its partition. partition. isolation group or system-wide You also require View privileges on the partition of the ExportRuleSet. isolation-group. Editing ExportRuleSets To successfully edit an ExportRuleSet. view.Administering the Scheduling Landscape • Privileges Required to use Process Servers Privileges Required to use ExportRuleSets Use To use ExportRuleSets you need either: • scheduler-administrator role • system. object) • All . • Edit . allows you to create formats on the level the privilege was granted (system.on the Cronacle Archive (CAR) format See Also • Privileges Required to use ExportRuleSets Privileges Required to use Formats Use To use formats. you have no further privileges through this rank. and edit all formats on the level the privilege was granted (system. you automatically get privileges on formats you create. partition. isolation-group) You also require View privileges on the partition of the format. partition or isolation group-level permissions • object-specific privileges The privileges for the following objects are derived from ExportRuleSets: • ExportRuleSets Creating Export Jobs You need the following privilege ranks to be able to create exports: • All . • Edit . isolation-group) • All . partition. partition or isolation group-level permissions • object-specific privileges Creating Formats You need one of the following privilege ranks to be able to create formats: • Create . partition. 225 . partition.full control over all formats on the level the privilege was granted (system.allows you to create.on the GLOBALpartition as well as on the System process server • JobAdministrator .on the System queue. view. and delete all formats on the level the privilege was granted (system.full control over all Exports on the level the privilege was granted (system or isolation-group) • Submit .allows you to create. • View .Administering the Scheduling Landscape • scheduler-administrator role • system. isolation-group). isolation-group) • Delete . you need either: • scheduler-administrator role • system. view.on the System_Export_RuleSet job definition • View . full control over all email alert gateways on the level the privilege was granted (system.privilege rank on the format. isolationgroup) You also require View privileges on the partition of the email alert gateway. view and edit all email alert gateways on the level the privilege was granted (system. Formats can reference the following objects. or on Format in its partition. isolation group or system-wide • Delete .full control over all email alert gateways on the level the privilege was granted (system. or on Format in its partition. isolationgroup) You also require View privileges on the partition of the email alert gateway. you need either: • scheduler-administrator role • system.allows you to create. partition.allows you to create email alert gateways on the level the privilege was granted (system. partition. partition. or on Format in its partition.Administering the Scheduling Landscape Editing Formats To successfully edit a format. you automatically get privileges on email alert gateways you create. isolation-group) • All . isolation group or system-wide • All . partition. • Edit . you have no further privileges through this rank. Editing Email Alert Gateways • Edit . you need at least View privileges on these objects and their partition(s) when you want to edit a format that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use Email Alert Gateways Use To use email alert gateways. you have to have one the following privileges: • Edit . view and edit all email alert gateways on the level the privilege was granted (system. isolation group or system-wide You also require View privileges on the partition of the format.allows you to create.privilege rank on the format. isolation-group) • All . 226 . partition.privilege rank on the format. partition or isolation group-level permissions • object-specific privileges Creating Email Alert Gateways You need the following privilege ranks to be able to create email alert gateways: • Create . isolation-group). or on ImportRuleDefinitions in its partition. partition. isolation group or system-wide See Also • Privileges Required to use Imports Privileges Required to use ImportRuleSets Use To use ImportRuleSets you need either: 227 .full control over all ImportRuleDefinitions on the level the privilege was granted (system. • Edit .privilege rank on the ImportRuleDefinition. you automatically get privileges on ImportRuleDefinitions you create.privilege rank on the ImportRuleDefinition.allows you to create ImportRuleDefinitions on the level the privilege was granted (system.allows you to create. partition. view. object) • Delete . isolation-group. and delete all ImportRuleDefinitions on the level the privilege was granted (system.allows you to create. you have no further privileges through this rank. partition or isolation group-level permissions • object-specific privileges Creating ImportRuleDefinitions You need either of the following privilege ranks to be able to create ImportRuleDefinitions: • Create . object) • All . partition. or on ImportRuleDefinitions in its partition. isolation group or system-wide • All . isolation-group. you have to have at least one of the following privileges: • Edit . you need at least View privileges on these objects and their partition(s) when you want to edit an email alert gateway that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use ImportRuleDefinitions Use To use ImportRuleDefinitions you need either: • scheduler-administrator role • system.Administering the Scheduling Landscape Email alert gateways can reference the following objects. partition. view and edit all ImportRuleDefinitions on the level the privilege was granted (system. isolation-group). isolation-group. object) Editing ImportRuleDefinitions To successfully edit an ImportRuleDefinition. isolation-group.Administering the Scheduling Landscape • scheduler-administrator role • system. view. object) • All . isolation group or systemwide • All .privilege rank on the ImportRuleSet. partition. or on ExportRuleSets in its partition. isolationgroup). you have to have at least one of the following privileges: • Edit .allows you to create. you need at least View privileges on these objects and their partition(s) when you want to edit an ImportRuleSet that references them: • Application See Also • Privileges Required to use Imports Privileges Required to use ImportSources Use To use ImportSources you need either: • scheduler-administrator role • system. partition. isolation group or system-wide You also require View privileges on the partition of the ImportRuleSets. isolationgroup. object) You also require View privileges on the partition of the ImportRuleSets.allows you to create ImportRuleSets on the level the privilege was granted (system. and delete all ImportRuleSets on the level the privilege was granted (system.allows you to create. • Edit . partition. partition.full control over all ImportRuleSets on the level the privilege was granted (system.privilege rank on the ImportRuleSet. you have no further privileges through this rank. or on ExportRuleSets in its partition. partition or isolation group-level permissions • object-specific privileges 228 . view and edit all ImportRuleSets on the level the privilege was granted (system. partition or isolation group-level permissions • object-specific privileges Creating ImportRuleSets You need either of the following privilege ranks to be able to create ImportRuleSets: • Create . Editing ImportRuleSets To successfully edit an ImportRuleSet. ImportRuleSets can reference the following objects. isolation-group. object) • Delete . you automatically get privileges on ExportRuleSets you create. you need either: • scheduler-administrator role • system. or on ImportSources in its partition.allows you to create ImportSources on the level the privilege was granted (system. you have no further privileges through this rank.privilege rank on the ImportSource. object) • All . isolation-group) • Submit . partition. you have to have at least one of the following privileges: • Edit . • Edit . partition.on the System queue 229 . or on ImportSources in its partition.Administering the Scheduling Landscape Creating ImportSources You need either of the following privilege ranks to be able to create ImportSources: • Create . isolation-group. partition or isolation group-level permissions • object-specific privileges Privileges for the following objects are derived from the import privileges: • Import • ImportRuleDefinition • ImportSource Creating Imports You need one of the following privilege ranks to be able to create imports: • All .allows you to create. view and edit all ImportSources on the level the privilege was granted (system.full control over all ImportSources on the level the privilege was granted (system. isolation group or system-wide See Also • Privileges Required to use Imports Privileges Required to use Import Rule Sets Use To use imports. isolationgroup).full control over all imports on the level the privilege was granted (system. object) • Delete . and delete all ImportSources on the level the privilege was granted (system. view.privilege rank on the ImportSource.on the System_Import_Archive job definition • JobAdministrator.allows you to create. isolation group or system-wide • All . you automatically get privileges on ImportSources you create. isolationgroup. partition. partition. object) Editing ImportSources To successfully edit an ImportSource. isolation-group. partition. Tip SAP does not recommend the use of isolation groups in the Chargeable version. partition or isolation group-level permissions • object-specific privileges See Privileges Required to use Job Definitions for more information. these have been implemented to adhere to the limitations of the Free of Charge version and demand a high level of configuration. Use partitions instead.Administering the Scheduling Landscape • View . Privileges Required to use Job Chains Use To use job chains. you must have sufficient privileges to edit the object! This requires you to have at least Edit privileges on the object and View privileges on all other objects the object is referring to. Privileges Required to use Job Definition Alert Sources Use To use job definition alert sources. you need the following role: • scheduler-isolation-administrator A user with this privilege is allowed no further privileges. edit. and delete isolation groups. See Also • Privileges Required to use Applications Privileges Required to use Isolation Groups Use To create.on the GLOBALpartition as well as on the System process server • View . you need either: • scheduler-administrator role • system.on the Cronacle Archive (CAR) format Note For each object you wish to import. you need either: • scheduler-administrator role • scheduler-job-administrator role • system. partition or isolation group-level permissions • object-specific privileges 230 . you automatically get privileges on job definition alert sources you create. partition. • Edit . you automatically get privileges on ad hoc alert sources you create.allows you to create.allows you to create. or on JobDefinitionAlertSource in its partition. and delete all alert source actions on the level the privilege was granted (system.Administering the Scheduling Landscape Creating Job Definition Alert Sources You need one of the following privilege ranks to be able to create job definition alert sources: • Create . partition. isolation group or system-wide You also require View privileges on the partition of the job definition alert source. isolation-group) You also require View privileges on the partition of the job definition alert source.full control over all job definition alert sources on the level the privilege was granted (system.full control over all alert source actions on the level the privilege was granted (system.allows you to create. partition. and delete all job definition alert sources on the level the privilege was granted (system.privilege rank on the job definition alert source. • Edit . Job definition alert sources can reference the following objects. partition. you have no further privileges through this rank. view. partition. you have to have one the following privileges: • Edit . view. isolation-group). partition. isolation-group) • Delete . you need at least View privileges on these objects and their partition(s) when you want to edit a job definition that references them: • Application 231 . and edit all job definition alert sources on the level the privilege was granted (system. isolation-group).allows you to create job definition alert sources on the level the privilege was granted (system.allows you to create. view. you have no further privileges through this rank.privilege rank on the job definition alert source. or on JobDefinitionAlertSource in its partition. and edit all alert source actions on the level the privilege was granted (system.privilege rank on the job definition alert source. partition. Creating Alert Source Actions You need either of the following privilege ranks to be able to create ad hoc alert sources: • Create . isolation-group) • All . isolation group or system-wide • All . or on JobDefinitionAlertSource in its partition. isolation-group) • All . Editing Job Definition Alert Sources To successfully edit a job definition alert source. isolationgroup) You also require View privileges on the partition of the job definition alert source. partition.allows you to create an alert source action on the level the privilege was granted (system. view. isolation-group) • Delete . isolation group or system-wide • Delete . allows you to create. • Edit .Administering the Scheduling Landscape • Escalation • Time Window Editing Alert Source Actions To successfully edit an ad hoc alert source. partition. isolationgroup. object) • All . isolation group or system-wide • Delete . partition. Editing Job Definition Types To successfully edit an job definition type. and delete all job definition types on the level the privilege was granted (system.privilege rank on the alert source action. object) You also require View privileges on the partition of the job definition type. isolation group or system-wide • All .allows you to create.privilege rank on the alert source action. you have no further privileges through this rank.allows you to create job definition types on the level the privilege was granted (system. isolation-group. object) • Delete . or on AlertSourceAction in its partition. you automatically get privileges on job definition types you create. isolation-group.full control over all job definition types on the level the privilege was granted (system. partition. you have to have either of the following privileges: • Edit . isolation group or systemwide See Also • Privileges Required to use Applications • Privileges Required to use Applications Privileges Required to use Job Definition Types Use To use Job Definition Types you need either: • scheduler-administrator role • system. or on AlertSourceAction in its partition.privilege rank on the alert source action. you have to have at least one of the following privileges: 232 . partition or isolation group-level permissions • object-specific privileges Creating Job Definition Types You need either of the following privilege ranks to be able to create job definition types: • Create . partition. isolation-group). or on AlertSourceAction in its partition. view and edit all job definition types on the level the privilege was granted (system. view. equivalent system. you need either: • scheduler-administrator role • scheduler-job-administrator role • object. Job definition types can reference the following objects. partition. Submitting Job Definitions To successfully submit a job definition. or on JobDefinitionType in its partition.allows you to create. isolation group or system-wide • All .Administering the Scheduling Landscape • Edit . system. partition. however. isolation group or systemwide • SubmitView . isolation group or system-wide 233 . isolation group or systemwide • All . • Edit .allows you to create job definitions on the level the privilege was granted (system. partition or isolation group-level permissions The sections below will reference the object-level permissions you need. isolationgroup) You also require View privileges on the partition of the job definition. or on JobDefinition in its partition. partition. or on JobDefinition in its partition. you need at least View privileges on these objects and their partition(s) when you want to edit a job definition type that references them: • Application Privileges Required to use Job Definitions Use To use job definitions. isolation-group) • All . or on JobDefinitionType in its partition. view.privilege rank on the job definition type.privilege rank on the job definition.privilege rank on the job definition type. isolationgroup).full control over all job definitions on the level the privilege was granted (system.privilege rank on the job definition. and edit all job definitions on the level the privilege was granted (system. partition or isolation group-level permissions are also valid.allows you to create. Creating Job Definitions You need one of the following privilege ranks to be able to create job definitions: • Create . you have to have one of the following privileges: • Submit . partition. and delete all job definitions on the level the privilege was granted (system. view. isolation-group) • Delete . you automatically get privileges on job definitions you create. you have no further privileges through this rank. isolation group or systemwide You also require View privileges on the partition of the job definition type.privilege rank on the job definition. or on JobDefinition in its partition. isolation group or system-wide • Delete . as well. or on JobDefinition in its partition.privilege rank on the job definition.privilege rank on the job definition.privilege rank on the process server that serves the queue and where the job is going to run.Administering the Scheduling Landscape As well as the following privileges • JobAdministrator . and of the process server where the job is going to run. If the job definition has a default submit frame. or on JobDefinition in its partition. you need at least View privileges on these objects and their partition(s) when you want to edit a job definition that references them: • Library • Credential • Credential Protocol • Application • Formats • Locks • Events • Queues • Submit Frame • Time Window 234 . you have to have one the following privileges: • Edit . Optionally. submit frame and/or time window. Job definitions can reference the following objects. isolation group or system-wide You also require View privileges on the partition of the job definition. if you want to use a library. or on JobDefinition in its partition. or on queue where the job is supposed to run in its partition. or on process server that serves the queue and where the job is going to run in its partition. of the queue. Job definitions can reference the following objects.privilege rank on the job definition.privilege rank on the queue where the job is supposed to run . isolation group or system-wide • View . isolation group or system-wide You also require View privileges on the partition of the job definition. you will need View privileges on them and their partition. you need at least View privileges on these objects and their partition(s) when you want to submit a job definition that references them: • Credentials • Events • Locks Editing Job Definitions To successfully edit a job definition. isolation group or system-wide • All . or uses a library (in parameters or in the code) you will require View privileges on the objects or you will not be able to submit the job definition or restart the job. a default time window. privilege rank on Job in its partition. partition or isolation group-level permissions Viewing Jobs To successfully view jobs.on the job definition. you need either: • scheduler-administrator role • scheduler-job-administrator role • object. isolation group or system-wide Note The partition of the job is inherited from the queue where the job runs. system. and their partition(s) • View . process server.used in job parameter constraints See Also • Privileges Required to use Applications • Privileges Required to use Event Definitions • Privileges Required to use Formats • Privileges Required to use Credentials • Privileges Required to use Credential Protocols • Privileges Required to use Libraries • Privileges Required to use Locks • Privileges Required to use Process Servers • Privileges Required to use QueryFilters • Privileges Required to use Queues • Privileges Required to use Reports • Privileges Required to use Resources • Privileges Required to use Submit Frames • Privileges Required to use Time Windows Privileges Required to use Jobs Use To use jobs. queue.Administering the Scheduling Landscape • Resource • QueryFilter . not from the job definition! 235 . you have to have the following privileges: • ViewJobs . as well.Administering the Scheduling Landscape Submitting and Restarting Jobs To successfully submit a job. you need at least View privileges on these objects and their partition(s) when you want to submit a job that references them: • Credentials • Credential Protocol • Events • Library . 236 . isolation group or system-wide • View . inherit the security from the job. and of the process server where the job has run and is going to run. You do not want the users to see jobs in any other partitions. The job definitions are all located in the P1 partition. or uses a library (in parameters or in the code) you will require View privileges on the objects or you will not be able to submit the job or restart the job.privilege rank on Job in its partition. P2. Jobs can reference the following objects. isolation group or systemwide You also require View privileges on the partition of the job definition. • Locks Deleting Jobs All required privileges to see the job as well as the following: • JobAdministrator . respectively. and job definition Optionally. for example. If the job has a default submit frame. P3_ProcessServer serves P2_Queue. you want several users to be able to submit and monitor each other's jobs. you have to have one of the following privileges: • Submit .privilege rank on the job definition of the job. isolation group or system-wide Example You have partitions named P1. Child-objects of a job such as a JobFile.privilege rank on the process server that serves the queue and where the job is going to run as well as its partition. isolation group or system-wide • All . and P3. submit frame and/or time window. isolation group or system-wide • View . As well as the following privileges • JobAdministrator . a default time window. or on JobDefinition in its partition. or on ProcessServer in its partition.privilege rank on the queue where the job is supposed to run. of the queue. you will need View privileges on them and their partitions. if you want to use a library.if the job uses code from the library.privilege rank on the partitions of the process server. queue. or on JobDefinition in its partition. or on either Queue in its partition.privilege rank on the job definition of the job. the process server P3_ProcessServer and queue P2_Queue are located in the P3 and P2 partitions. Log on with a user who has the p_operators role so that it gets synchronized with SAP CPS. so the privilege on job must be in the same partition as the partition of the queue. Note Operators will not be allowed to delete jobs. assign the privileges as the table indicates below. Choose Save & Close.Administering the Scheduling Landscape Note This example is an extreme case for illustration purposes. Navigate to Security > Roles and choose Edit from the context menu of the role p_operators. Choose Save & Close. 8. Object Definition Level Level Object Exportable Granted Rank Grantable Rank Job Partition P2 View None Queue Partition P2 JobAdministrator None ProcessServer Partition P3 View None JobDefinition Partition P1 Submit None Note Jobs inherit their partition from the queue. Assign p_operators the Granted Rank View. The table above reads View only for Job in partition 237 . 12. If you are running NetWeaver you also assign the action AccessScheduler on the role. 7. 1. 2. Log on with a user that has scheduler-administrator privileges. 3. Navigate to Security > Isolation Groups or Security > Partitions (depending on your license. 6. if you want your operators to be able to delete jobs. Choose Edit Security from the context-menu of the P2 partition. you would normally have the process server and the queue in the same partition. assign them the JobAdministrator privilege in partition P2 on Job. 14. Choose Save & Close. 15. Choose Edit Security from the context-menu of the P3 partition. 10. Assign p_operators the Granted Rank View. 4. Choose Save & Close. On the Privileges tab. You first create a group/role p_operators for the users in your external authentication system and grant it to users. 11. you will have one of the two). Choose Edit Security from the context-menu of the P1 partition. 9. 5. Assign p_operators the Granted Rank View. 13. view. you automatically get privileges on libraries you create. isolation-group) You also require View privileges on the partition of the library. however.allows you to create. However. partition or isolation group-level permissions • object-specific privileges Creating Libraries You need one of the following privilege ranks to be able to create libraries: • Create . jobs can be restarted and resubmitted thanks to the JobAdministrator privilege on the queue (which is required to submit jobs). and delete all libraries on the level the privilege was granted (system. you need either: • scheduler-administrator role • system. Note You can also save the three object privilege grants on the partitions above by adding a system-wide View privilege rank for partitions. and edit all libraries on the level the privilege was granted (system. you have no further privileges through this rank. partition. partition. partition. isolation-group) • All . Editing Libraries To successfully edit a library.full control over all libraries on the level the privilege was granted (system. isolation-group).allows you to create. you have to have one the following privileges: 238 . users will be able to see all partitions. isolation-group) • Delete . partition.Administering the Scheduling Landscape P2.allows you to create libraries on the level the privilege was granted (system. view. • Edit . See Also • Privileges Required to use Event Definitions • Privileges Required to use Credentials • Privileges Required to use Credential Protocols • Privileges Required to use Libraries • Privileges Required to use Locks • Privileges Required to use Process Servers • Privileges Required to use Queues • Privileges Required to use Resources Privileges Required to use Libraries Use To use libraries. privilege rank on the library. and edit all locks on the level the privilege was granted (system. • Edit . you need at least View privileges on these objects and their partition(s) when you want to edit a library that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use Locks Use To use locks.allows you to create.privilege rank on the lock. or on Library in its partition. isolation group or system-wide • Delete . partition. isolation group or system-wide • All . or on Lock in its partition. or on Library in its partition.privilege rank on the library. Editing Locks To successfully edit a lock.allows you to create. you need either: • scheduler-administrator role • system. partition. you automatically get privileges on locks you create. or on Lock in its partition. partition. isolation group or system-wide • All . view. isolation-group) • All .full control over all locks on the level the privilege was granted (system. or on Lock in its partition. isolation group or system-wide You also require View privileges on the partition of the lock. Libraries can reference the following objects.privilege rank on the lock. you have no further privileges through this rank. or on Library in its partition.privilege rank on the library. 239 . partition or isolation group-level permissions • object-specific privileges Creating Locks You need one of the following privilege ranks to be able to create locks: • Create . you have to have one the following privileges: • Edit . partition. view. isolation-group) You also require View privileges on the partition of the lock. isolation-group) • Delete . isolation-group). isolation group or system-wide • Delete .Administering the Scheduling Landscape • Edit . isolation group or system-wide You also require View privileges on the partition of the library. and delete all locks on the level the privilege was granted (system.allows you to create locks on the level the privilege was granted (system.privilege rank on the lock. you automatically get privileges on monitor nodes you create.allows you to create. object) • Delete .allows you to create. or on MonitorNode in its partition. partition.allows you to create monitor nodes on the level the privilege was granted (system. partition. partition.privilege rank on the monitor node. you need at least View privileges on these objects and their partition(s) when you want to edit a lock that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use Monitor Nodes Use To use Monitor Nodes you need either: • scheduler-administrator role • system or isolation group-level permissions Creating Monitor Nodes You need either of the following privilege ranks to be able to create monitor nodes: • Create . view. object) • All . or on MonitorNode in its partition. isolation group or system-wide Privileges Required to use Operator Messages Use To use Operator Messages you need either: • scheduler-administrator role • scheduler-job-administrator role • system.privilege rank on the monitor node.allows you to view and confirm all MonitorNode on the level the privilege was granted (system. isolation-group. • Edit . isolation-group. isolationgroup).full control over all monitor nodes on the level the privilege was granted (system. isolation group or system-wide • Operator. partition. object) Editing Monitor Nodes To successfully edit an monitor node. you have to have at least one of the following privileges: • Edit . partition or isolation group-level permissions 240 . and delete all monitor nodes on the level the privilege was granted (system.Administering the Scheduling Landscape Locks can reference the following objects. view and edit all monitor nodes on the level the privilege was granted (system. object) • All . isolation-group. isolationgroup. you have no further privileges through this rank. partition. full control over all partitions on the level the privilege was granted (system. partition. isolationgroup.allows you to create partitions on the level the privilege was granted (system. object) Editing Operator Messages To successfully reply to an operator message. isolationgroup) • Delete .allows you to create. view. and delete all partitions on the level the privilege was granted (system. you need either: • scheduler-administrator role • system or isolation group-level permissions • object-specific privileges You can use the Create view-only role action to create a role that allows you to see all objects in the partition.privilege rank on the operator message. partition. Creating Partitions You need one of the following privilege ranks to be able to create partitions: • Create . you have no further privileges through this rank. and edit all partitions on the level the privilege was granted (system.allows you to view and delete all operator messages on the level the privilege was granted (system. you have to have at least one of the following privileges: • Operator . • Edit . isolation-group. or on OperatorMessage in its partition. view. isolation-group) 241 . isolation group or system-wide • All .full control over all operator messages on the level the privilege was granted (system. partition.allows you to create.privilege rank on the operator message. or on OperatorMessage in its partition. isolation group or systemwide See Also • Privileges Required to use Exports Privileges Required to use Partitions Use To use partitions. isolation-group. object) • Delete .Administering the Scheduling Landscape • object-specific privileges Creating Operator Messages You need either of the following privilege ranks to be able to create operator messages: • Operator . object) • All . isolation-group) • All .allows you to view and reply to all operator messages on the level the privilege was granted (system. you automatically get privileges on partitions you create. isolation-group). or on Partition in its isolation group or system-wide Privileges Required to use Period Functions Use To use period functions.privilege rank on the partition. you have to have one the following privileges: • Edit . and edit all period functions on the level the privilege was granted (system. you can only create partitions in the current isolation group. partition or isolation group-level permissions • object-specific privileges Creating Period Functions You need one of the following privilege ranks to be able to create period functions: • Create . isolationgroup) You also require View privileges on the partition of the period function. or on PeriodFunction in its partition. Editing Partitions To successfully edit a partition. isolation group or system-wide 242 . you have to have one the following privileges: • Edit .privilege rank on the partition.privilege rank on the period function. view. you need either: • scheduler-administrator role • system. view.privilege rank on the partition.allows you to create. you have no further privileges through this rank. isolation group or systemwide • All . isolation-group) • All . or on Partition in its isolation group or system-wide • Delete . partition. partition.allows you to create period functions on the level the privilege was granted (system.privilege rank on the period function. switch isolation group to create partitions in other isolation groups. or on Partition in its isolation group or system-wide • All . isolation-group) • Delete . isolationgroup). isolation group or systemwide • Delete . Editing Period Functions To successfully edit a period function.full control over all period functions on the level the privilege was granted (system. or on PeriodFunction in its partition.privilege rank on the period function.Administering the Scheduling Landscape Note In isolated mode. partition.allows you to create. or on PeriodFunction in its partition. • Edit . and delete all period functions on the level the privilege was granted (system. partition. you automatically get privileges on period functions you create. partition or isolation group-level permissions • scheduler-business-user role and object. isolation group or system-wide • Edit . you need either: • scheduler-administrator role • scheduler-it-user role and object. isolation group or system-wide • Edit .Administering the Scheduling Landscape You also require View privileges on the partition of the period function. isolation group or system-wide • Delete .privilege rank on the process monitor in its partition. isolation group or system-wide 243 .privilege rank on the process monitor definition in its partition. system. isolation group or system-wide As well as one of the following privileges: • View .0-1 58% Privileges Required to use Process Monitors Use To use process monitors. partition or isolation group-level permissions Creating Process Monitors User messages are jobs. you need at least View privileges on these objects and their partition(s) when you want to edit a period function that references them: • Library • Application See Also • Privileges Required to use Applications 15.privilege rank on the process monitor definition in its partition.privilege rank on the process monitor in its partition.privilege rank on the process monitor in its partition.privilege rank on the process monitor definition in its partition. isolation group or system-wide • Delete . isolation group or system-wide • All . you must have one of the following privileges: • View . system. so you need the privileges required to submit jobs as well as privileges to create process monitors: • Create . isolation group or system-wide • Create .privilege rank on the process monitor in its partition.privilege rank on the process monitor in its partition. isolation group or system-wide Viewing Process Monitors To successfully view process monitors.privilege rank on the process monitor definition in its partition.privilege rank on the process monitor in its partition. isolation group or system-wide • All . Period functions can reference the following objects. Administering the Scheduling Landscape Privileges Required to use Process Server Alert Sources Use To use process server alert sources. you automatically get privileges on process server alert sources you create. you have to have either of the following privileges: 244 . isolation-group) • Delete .allows you to create. or on ProcessServerAlertSource in its partition. or on ProcessServerAlertSource in its partition. you have to have one the following privileges: • Edit . partition. and edit all process server alert sources on the level the privilege was granted (system. partition. you have no further privileges through this rank. isolation-group). isolation group or system-wide • All . isolation-group) • All . you need either: • scheduler-administrator role • system. view. Process server alert sources can reference the following objects.privilege rank on the process server alert source. • Edit .privilege rank on the process server alert source. Editing Process Server Alert Sources To successfully edit a process server alert source. isolation group or system-wide • Delete . isolation group or system-wide You also require View privileges on the partition of the process server alert source. partition or isolation group-level permissions • object-specific privileges Creating Process Server Alert Sources You need one of the following privilege ranks to be able to create process server alert sources: • Create . partition. isolation-group) You also require View privileges on the partition of the process server alert source. view. partition.allows you to create.privilege rank on the process server alert source.allows you to create process server alert sources on the level the privilege was granted (system. you need at least View privileges on these objects and their partitions when you want to edit a process server alert source that references them: • Application • Process Server Editing Alert Source Actions To successfully edit an ad hoc alert source.full control over all process server alert sources on the level the privilege was granted (system. and delete all process server alert sources on the level the privilege was granted (system. or on ProcessServerAlertSource in its partition. partition or isolation group-level permissions • object-specific privileges Creating Process Severs You need one of the following privilege ranks to be able to create process severs: • Create . or on AlertSourceAction in its partition. or AlertSourceAction in its partition. • Edit .privilege rank on the alert source action.privilege rank on the process sever. view. isolationgroup). isolation-group) • Delete . partition.allows you to create. you have to have one the following privileges: • Edit . isolation group or systemwide See Also • Privileges Required to use Applications • Privileges Required to use Process Servers Privileges Required to use Process Servers Use To use process servers.full control over all process severs on the level the privilege was granted (system. 245 . isolation group or systemwide • All .privilege rank on the process sever. Editing Process Severs To successfully edit a process sever. isolation group or system-wide You also require View privileges on the partition of the process server. you need either: • scheduler-administrator role • system. or on ProcessServer in its partition. you have no further privileges through this rank. or on AlertSourceAction in its partition. or on ProcessServer in its partition.allows you to create process severs on the level the privilege was granted (system. view. partition. isolationgroup) You also require View privileges on the partition of the process server. partition. or on ProcessServer in its partition. you automatically get privileges on process severs you create. isolation group or systemwide • All .privilege rank on the alert source action.privilege rank on the alert source action. isolation group or system-wide • Delete .allows you to create.Administering the Scheduling Landscape • Edit . and edit all process severs on the level the privilege was granted (system. and delete all process severs on the level the privilege was granted (system. isolation-group) • All . isolation group or system-wide • Delete . partition.privilege rank on the process sever. however. yet. view. Privileges Required to use Queues Use To use queues. you have to have one the following privileges: • Edit . and delete all object filters • All .system-wide privilege rank on QueryFilter • Delete .on QueryFilter allows you to create.on QueryFilter allows you to create object filters • Edit . view. you need at least View privileges on these objects and their partition(s) when you want to edit a process server that references them: • Application • Queues See Also • Privileges Required to use Applications • Privileges Required to use Queues Privileges Required to use QueryFilters Use To use object filters. partition or isolation group-level permissions The sections below will reference the object-level permissions you need. and edit all object filters • Delete .system-wide privilege rank on QueryFilter • All . you need either: 246 . Creating Query Filters You need one of the following privilege ranks to be able to create object filters: • Create .on QueryFilter grants full control over all object filters Editing Query Filters To successfully edit a object filter. system.system-wide privilege rank on QueryFilter Privileges Required to use Queue Alert Source Use Queue alert sources are not available. you need either: • scheduler-administrator role • object. partition or isolation group-level permissions are also valid.on QueryFilter allows you to create.Administering the Scheduling Landscape Process severs can reference the following objects. equivalent system. you have no further privileges through this rank.privilege rank on the queue. partition or isolation group-level permissions • object-specific privileges Creating Queues You need one of the following privilege ranks to be able to create queues: • Create . isolation-group) • All . view. partition. isolation group or system-wide You also require View privileges on the partition of the queue. view. isolation group or system-wide • All . isolation-group). or on Queue in its partition.full control over all queues on the level the privilege was granted (system. and edit all queues on the level the privilege was granted (system. Editing Queues To successfully edit a queue. you have to have one the following privileges: • Edit .allows you to create. this is usually due to the fact that you cannot see any of the running process servers that are serving the queue. partition.Administering the Scheduling Landscape • scheduler-administrator role • system. partition.allows you to create. or on Queue in its partition. or on Queue in its partition. you need at least View privileges on these objects and their partition(s) when you want to edit a queue that references them: • Application • Submit Frame • Time Window • Process Servers . • Edit .privilege rank on the queue. partition. Queues can reference the following objects. you automatically get privileges on queues you create. isolation-group) • Delete . isolation group or system-wide • Delete . See Also • Privileges Required to use Applications • Privileges Required to use Process Servers • Privileges Required to use Submit Frames • Privileges Required to use Time Windows 247 .allows you to create queues on the level the privilege was granted (system. isolation-group) You also require View privileges on the partition of the queue.A queue might appear held to you while it is open to others.privilege rank on the queue. and delete all queues on the level the privilege was granted (system. or on RegistryEntry in its partition. and delete all registry entries on the level the privilege was granted (system. you need either: • scheduler-administrator role • system. view. partition. partition. view. isolation group or system-wide • Delete .allows you to create. isolationgroup) Editing Registry Entries To successfully edit a registry entry. isolation group or system-wide • All . isolationgroup). isolation group or system-wide See Also • Privileges Required to Objects Privileges Required to use Reports Use To use reports. you have to have one the following privileges: • Edit .Administering the Scheduling Landscape Privileges Required to use Registry Entries Use To use registry entries.full control over all registry entries on the level the privilege was granted (system. isolation-group) • All .allows you to create registry entries on the level the privilege was granted (system.allows you to create. you need either: • scheduler-administrator role • system.privilege rank on the registry entry. partition. partition or isolation group-level permissions • object-specific privileges Creating Registry Entries You need one of the following privilege ranks to be able to create registry entries: • Create . or on RegistryEntry in its partition. and edit all registry entries on the level the privilege was granted (system. • Edit . or on RegistryEntry in its partition. isolation-group) • Delete .privilege rank on the registry entry. partition.privilege rank on the registry entry. you have no further privileges through this rank. partition or isolation group-level permissions • object-specific privileges Creating Reports You need one of the following privilege ranks to be able to create reports: 248 . you automatically get privileges on registry entries you create. isolation-group) You also require View privileges on the partition of the report.allows you to create. isolation-group) • All .Administering the Scheduling Landscape • Create .allows you to create. or on Report in its partition. and delete all resources on the level the privilege was granted (system. • Edit . partition. Reports can reference the following objects. partition.full control over all reports on the level the privilege was granted (system. and edit all reports on the level the privilege was granted (system. partition. partition. isolation group or system-wide • All . isolation-group) • Delete . you automatically get privileges on reports you create. partition.allows you to create resources on the level the privilege was granted (system. you automatically get privileges on resources you create. you have no further privileges through this rank.privilege rank on the report. isolation-group) • Delete . view. you have to have one the following privileges: • Edit . you need either: • scheduler-administrator role • system. view. and delete all reports on the level the privilege was granted (system.allows you to create reports on the level the privilege was granted (system. or on Report in its partition. or on Report in its partition.allows you to create. isolation-group) 249 . you need at least View privileges on these objects and their partition(s) when you want to edit a report that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use Resources Use To use resources. • Edit . partition or isolation group-level permissions • object-specific privileges Creating Resources You need one of the following privilege ranks to be able to create resources: • Create . isolation group or system-wide • Delete .allows you to create. isolationgroup). view. isolation-group). partition.privilege rank on the report. and edit all resources on the level the privilege was granted (system. partition. isolation group or system-wide You also require View privileges on the partition of the report. you have no further privileges through this rank.privilege rank on the report. view. Editing Reports To successfully edit a report. isolation-group) You also require View privileges on the partition of the resource. or on Resource in its partition. Custom roles are roles that did not ship with SAP CPS. partition or isolation group-level permissions • object-specific privileges Creating SAP Systems You need one of the following privilege ranks to be able to create SAP systems: • Create . Privileges Required to use SAP Systems Use To use SAP systems. or on Resource in its partition. Users can grant roles privileges they have with an Admin rank to custom roles. partition. you need at least View privileges on these objects and their partition(s) when you want to edit a resource that references them: • Application • Process Server See Also • Privileges Required to use Applications • Privileges Required to use Process Servers Privileges Required to use Roles Use Roles are hosted in external authentication systems and cannot be edited from within SAP CPS. you automatically get privileges on SAP systems you create.full control over all resources on the level the privilege was granted (system. Resources can reference the following objects. or on Resource in its partition. 250 . isolation group or system-wide You also require View privileges on the partition of the resource.privilege rank on the resource.Administering the Scheduling Landscape • All . you have to have one the following privileges: • Edit . Editing Resources To successfully edit a resource.allows you to create SAP systems on the level the privilege was granted (system.privilege rank on the resource. partition. you have no further privileges through this rank. isolation group or system-wide • Delete . you need either: • scheduler-administrator role • system. isolation group or system-wide • All . isolationgroup).privilege rank on the resource. partition. partition. and delete all SAP systems on the level the privilege was granted (system. Privileges Required to use the Shell Use To use the shell. • Business Automation API . partition. isolation-group) • All . view.privilege rank on the SAP system. isolation group or system-wide • Delete . Solution Manager integration and use of other SAP technologies. isolation group or system-wide • All . or on SAPSystem in its partition. isolation group or system-wide You also require View privileges on the partition of the SAP system. you need at least View privileges on these objects and their partitions when you want to edit a SAP system that references them: • Application • Events Using the SAP CPS RFC Server A special rank allows you to use the RFC server for Closing Cockpit.Administering the Scheduling Landscape • Edit .privilege rank on the SAP system. and edit all SAP systems on the level the privilege was granted (system.allows you to create. or on SAPSystem in its partition.privilege rank on the SAP system. 251 . so no privilege rans are available for Service.allows you to interact with SAP CPS from within an ABAP stack of an SAP instance. Editing SAP Systems To successfully edit a SAP system. you need the following Global Privilege : • System_Shell ( see the Administration Guide ) .allows you to create.full control over all SAP systems on the level the privilege was granted (system. See Also • Privileges Required to use Applications • Privileges Required to use Event Definitions Privileges Required to use Services Use Services are viewable to every SAP CPS user. view. isolation-group) You also require View privileges on the partition of the SAP system. or on SAPSystem in its partition.allows you to access the command-line interface known as the Shell. isolation-group) • Delete . SAP systems can reference the following objects. you cannot change of delete them. you have to have one the following privileges: • Edit . isolation-group) • Delete . isolationgroup) Editing StatisticCagtegories To successfully edit a StatisticCagtegory. To use SubjectIsolationGroups. and delete all ad StatisticCagtegory on the level the privilege was granted (system. or on StatisticCagtegory in its partition.privilege rank on the ad StatisticCagtegory. you have no further privileges through this rank. view. you automatically get privileges on StatisticCagtegories you create. partition. and edit all StatisticCagtegories on the level the privilege was granted (system. you need either: • scheduler-administrator role 252 . partition. partition or isolation group-level permissions • object-specific privileges Creating StatisticCagtegories You need either of the following privilege ranks to be able to create StatisticCagtegories: • Create . you need either: • scheduler-administrator role • system. or on StatisticCagtegory in its partition.allows you to create an ad StatisticCagtegory on the level the privilege was granted (system. isolation group or system-wide • All . partition.allows you to create. isolation group or system-wide See Also StatisticCategory Privileges Required to use SubjectIsolationGroups Use SubjectIsolationGroups are used to calculate job statistics. or on StatisticCagtegory in its partition.privilege rank on the ad StatisticCagtegory. • Edit . isolation-group) • All .full control over all StatisticCagtegories on the level the privilege was granted (system. partition.allows you to create.privilege rank on the ad StatisticCagtegory. isolation-group). isolation group or system-wide • Delete . you have to have either of the following privileges: • Edit . view.Administering the Scheduling Landscape Privileges Required to use StatisticCagtegories Use StatisticCagtegories are used to calculate job statistics. To use StatisticCagtegories. you have no further privileges through this rank. you have to have either of the following privileges: • Edit . or on SubjectIsolationGroup in the partition. isolation-group) • Delete . and delete all SubjectIsolationGroups on the level the privilege was granted (system. isolation group or system-wide • All . isolation-group) Editing SubjectIsolationGroups To successfully edit a SubjectIsolationGroup. isolation-group) • All .privilege rank on the SubjectIsolationGroup. • Edit . isolation group or system-wide • Delete . view. and edit all SubjectIsolationGroups on the level the privilege was granted (system. view.privilege rank on the SubjectIsolationGroup. isolation-group).full control over all SubjectIsolationGroups on the level the privilege was granted (system.Administering the Scheduling Landscape • system.allows you to create. or on SubjectIsolationGroup in its partition.allows you to create.privilege rank on the SubjectIsolationGroup. isolation group or system-wide See Also StatisticCategory Privileges Required to use SubjectRoleGrantExpanded Use The SubjectRoleGrantExpanded property is not used at this moment. partition.allows you to create an SubjectIsolationGroup on the level the privilege was granted (system. partition. or on SubjectIsolationGroup in its partition. you automatically get privileges on SubjectIsolationGroups you create. partition or isolation group-level permissions • object-specific privileges Creating SubjectIsolationGroups You need either of the following privilege ranks to be able to create SubjectIsolationGroups: • Create . partition. partition. Privileges Required to use Subjects Use To use Subjects you need either: • scheduler-administrator role • system-level permissions Creating Subjects You need either of the following privilege ranks to be able to create subjects: 253 . partition or isolation group-level permissions • object-specific privileges Creating Submit Frames You need one of the following privilege ranks to be able to create submit frames: • Create . isolationgroup) You also require View privileges on the partition of the submit frame. you have no further privileges through this rank. you need either: • scheduler-administrator role • scheduler-job-administrator • system. view. • Edit .allows you to enable all subjects. isolation group or system-wide • Delete . and delete all submit frames on the level the privilege was granted (system.allows you to create submit frames on the level the privilege was granted (system. Privileges Required to use Submit Frames Use To use submit frames. Editing Submit Frames To successfully edit a submit frame.full control over all submit frames on the level the privilege was granted (system. you need at least View privileges on these objects and their partition(s) when you want to edit a submit frame that references them: • Application • Time Window See Also • Privileges Required to use Applications 254 .privilege rank on the submit frame.allows you to create. partition. isolation-group) • All .allows you to create.privilege rank on the submit frame. isolation-group) • Delete . partition. and edit all submit frames on the level the privilege was granted (system. or on TimeWindow in its partition.allows you to enable all subjects. isolation group or system-wide • All . or on TimeWindow in its partition. partition. • All .privilege rank on the submit frame. system-wide. isolation group or system-wide You also require View privileges on the partition of the submit frame. view. isolationgroup). system-wide.Administering the Scheduling Landscape • Manage . you have to have one the following privileges: • Edit . or on TimeWindow in its partition. partition. Submit frames can reference the following objects. you automatically get privileges on submit frames you create. partition. Editing Table Definitions To successfully edit a table definition. view. isolationgroup) You also require View privileges on the partition of the table definition. isolationgroup). partition. you need at least View privileges on these objects and their partition(s) when you want to edit a table definition that references them: • Application See Also • Privileges Required to use Applications 255 . isolation group or systemwide You also require View privileges on the partition of the table definition. isolation-group) • All . or on TableDefinition in its partition. and edit all table definitions on the level the privilege was granted (system. partition. and delete all table definitions on the level the privilege was granted (system. Table definitions can reference the following objects. you need either: • scheduler-administrator role • system.allows you to create.allows you to create. you have no further privileges through this rank. partition. you automatically get privileges on table definitions you create. • Edit .privilege rank on the table definition.Administering the Scheduling Landscape • Privileges Required to use Time Windows Privileges Required to use Table Definitions Use To use table definitions. or on TableDefinition in its partition.privilege rank on the table definition. partition or isolation group-level permissions • object-specific privileges Creating Table Definitions You need one of the following privilege ranks to be able to create table definitions: • Create . or on TableDefinition in its partition.full control over all table definitions on the level the privilege was granted (system.allows you to create table definitions on the level the privilege was granted (system. isolation group or systemwide • All . you have to have one the following privileges: • Edit . isolation group or systemwide • Delete . isolation-group) • Delete . view.privilege rank on the table definition. and delete all tables on the level the privilege was granted (system. Tables can reference the following objects. partition. partition or isolation group-level permissions • object-specific privileges Creating Tables You need one of the following privilege ranks to be able to create tables: • Create . isolation group or system-wide • All . you have to have one the following privileges: • Edit . isolation-group) You also require View privileges on the partition of the table and table definition.privilege rank on the table.allows you to create. you need either: • scheduler-administrator role • system. you automatically get privileges on tables you create. and edit all tables on the level the privilege was granted (system.full control over all tables on the level the privilege was granted (system. you have no further privileges through this rank. isolation-group) • All . or on Table in its partition. or on Table in its partition. isolation group or system-wide You also require View privileges on the partition of the table and table definition.privilege rank on the table. partition. you need either: • scheduler-administrator role • scheduler-job-administrator 256 .allows you to create tables on the level the privilege was granted (system.privilege rank on the table. you need at least View privileges on these objects and their partition(s) when you want to edit a table that references them: • Application See Also • Privileges Required to use Applications Privileges Required to use Time Windows Use To use time windows.allows you to create. isolation-group).Administering the Scheduling Landscape Privileges Required to use Tables Use To use tables. view. view. or on Table in its partition. partition. Editing Tables To successfully edit a table. partition. isolation group or system-wide • Delete . • Edit . isolation-group) • Delete . allows you to create time windows on the level the privilege was granted (system. or on TimeWindow in its partition. partition.privilege rank on the time window. view. view.privilege rank on the time window.Administering the Scheduling Landscape • system. you automatically get privileges on time windows you create.allows you to create. partition. Time windows can reference the following objects. partition or isolation group-level permissions • object-specific privileges Creating Time Windows You need one of the following privilege ranks to be able to create time windows: • Create . isolation group or system-wide • Delete . you have to have one the following privileges: • Edit . isolation group or system-wide • All . you need at least View privileges on these objects and their partition(s) when you want to edit a time window that references them: • Application • Period Function • Submit Frame • Time Window • Resource See Also • Privileges Required to use Applications • Privileges Required to use Submit Frames • Privileges Required to use Period Functions 257 . • Edit . partition. isolationgroup) You also require View privileges on the partition of the time window. and delete all time windows on the level the privilege was granted (system. isolation-group) • Delete . isolationgroup). isolation group or system-wide You also require View privileges on the partition of the time window. or on TimeWindow in its partition. or on TimeWindow in its partition. isolation-group) • All . partition. you have no further privileges through this rank.privilege rank on the time window.full control over all time windows on the level the privilege was granted (system. and edit all time windows on the level the privilege was granted (system.allows you to create. Editing Time Windows To successfully edit a time window. view. or on Trigger in its partition. isolation-group) • All . view.privilege rank on the trigger. isolation-group) • Delete . partition. Privileges Required to use Triggers Use To use triggers. and edit all triggers on the level the privilege was granted (system. you automatically get privileges on triggers you create. Editing Triggers To successfully edit a trigger. or on Trigger in its partition. isolation-group). and delete all triggers on the level the privilege was granted (system.Administering the Scheduling Landscape Privileges Required to use Time Zones Use Time zones are viewable by all SAP CPS users.allows you to create. partition. isolation group or system-wide • All .allows you to create triggers on the level the privilege was granted (system. partition. isolation group or system-wide You also require View privileges on the partition of the trigger. you need either: • scheduler-administrator role • system. partition or isolation group-level permissions • object-specific privileges Creating Triggers You need one of the following privilege ranks to be able to create triggers: • Create .full control over all triggers on the level the privilege was granted (system.privilege rank on the trigger. • Edit . or on Trigger in its partition. you need at least View privileges on these objects and their partition(s) when you want to edit a trigger that references them: • Library • Application See Also • Privileges Required to use Applications • Privileges Required to use Libraries 258 . you have no further privileges through this rank. isolation group or system-wide • Delete .allows you to create.privilege rank on the trigger. you have to have one the following privileges: • Edit . partition. Triggers can reference the following objects. isolation-group) You also require View privileges on the partition of the trigger. isolation group or system-wide • Edit .privilege rank on UserMessage in its partition. you must have one of the following privileges: • View . isolation group or system-wide Replying to User Messages To successfully reply to a user messages. so you need the privileges required to submit jobs as well as privileges to create user messages: • Create . you need either: • scheduler-administrator role • scheduler-job-administrator role • object. isolation group or system-wide as well as be a participant of the user message or have received a delegation to reply to a user message. system. isolation group or system-wide as well as be a participant of the user message or have received a delegation to reply to a user message. Note Forwarded user messages are read-only if the addressee is not a participant and/or has not received a delegation. isolation group or system-wide Viewing User Messages To successfully view user messages.privilege rank on UserMessage in its partition.privilege rank on UserMessage in its partition. Users can grant privileges they have with an Admin rank to other users. partition or isolation group-level permissions One on the following privileges are required to reply to user messages: • Reply . you must have the following privilege: • Reply .privilege rank on UserMessage in its partition. 259 . isolation group or system-wide • Delete .privilege rank on UserMessage in its partition. isolation group or system-wide • Reply . Privileges Required to use User Messages Use To use user messages. Creating User Messages User messages are jobs.Administering the Scheduling Landscape Privileges Required to use Users Use Users are hosted in external authentication systems and cannot be edited from within SAP CPS.privilege rank on UserMessage in its partition.privilege rank on UserMessage in its partition. Audit Rule Name Pattern The name pattern to match objects to be audited. the Application field is mandatory) Audit Rule Application to Match Name of the application to match Audit Rule Partition Pattern The partition name pattern to match objects to be audited. if it has no application Any Application . Tabs & Fields The following table illustrates the fields of each tab of Audit Rules editor dialogs. Audit Rule Application Rule Rule that allows you to match objects based on their application. Tab Field Description Audit Rule Rule Object Type Type of object to audit Audit Rule Level The level of the auditing. Full Audit allows you to undo changes and uses more space in the database. The auditing module allows you to set up rules which will either trace changes on objects only. Note The Active Auditing Module requires the Module. To allow you to trace and easily revert changes.Will match an object if it has an application or not Exact Application . referred to as Full auditing. the Application field is mandatory) No Application . can be Diff Only or Full Audit.Administering the Scheduling Landscape Auditing Object Changes Use Objects can be changed by users and this is a potential cause of havoc. It is there to audit all changes to auditing objects. or trace changes and revert. with wait events for example • Changes to configuration as the result of running system jobs the System_ConfigureMail ( see the Administration Guide ) or SAP_ImportCcmsMonitors for example Note The default auditing rule on audit objects cannot be modified. Examples of where the system makes a change are: • Automatically submitted job definitions.Will match objects which have the application specified (for this option.Will match an object. All Applications . the auditing module was introduced. Object auditing does not apply when the system makes a change. so nobody can escape auditing. referred to as Diff only.Will match an object. if it has an application Sub Application .Will match an object.Auditing license key to be present in your license. Audit Rule Partition Pattern Match The type of match (GLOB or regular expression) in case-sensitive Type or insensitive mode. if its application is a child application of the application specified in the Application field (for this option. You cannot change an audit object and not get caught. 260 . Audit Rule Name Pattern Match Type The type of match (GLOB or regular expression) in case-sensitive or insensitive mode. This is where you can specify who can access/change/remove the audit rule. you would use the search criteria as follows: t:14:05-14:06 261 . in other words restore the object to the state it was after the selected change Expand All Expand all audit trail entries in the current filter Filter > New Filter Create a new audit trail filter Filter > Edit Filter Edit current audit trail filter Filter > Delete Delete current audit trail filter Finding Audit Entries You can search for audit entries using the Search Audit Entries box located under your username on the top righthand side of the user interface. Context-Menu Actions Audit Rules support the following context-menu actions: Action Description Edit Security Edit the security of the audit rule Delete Delete the audit rule Export Export the audit rule into a CAR file Edit Edit the audit rule Disable Disable the audit rule Show permalinks Show links that can be used from third party audit rules to link to the object New audit rule Create a new audit rule Filter > New Filter Create a new audit rule filter Filter > Edit Filter Edit current audit rule filter Filter > Delete Delete current audit rule filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query The actions are available for audit entries in the Audit Trail: Action Description Restore to before change Undo the selected and all subsequent changes Restore to after change Undo all subsequent changes to the object. if you want to display all audit entries created between 2:05 PM and 2:06 PM. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. This is known as IntelliSearch and allows you to specify complex queries in a simple way using prefixes.* ministration Guide ) Enable or disable the audit rule.Administering the Scheduling Landscape Audit Rule Enabled Security ( see the Ad. For example. only Restore to after • Object Modified . 2=Full audit There are different ways of searching by time: • hh:mm . time creation time o. specify the level 1=Diff only.range is from start time to end time. • hh:mm:ss . Reverting a change You can freely revert a change and. These actions are only visible if there is a record for before and after the change respectively: • Object Created . you can revert back to the change again. user user l. even if this was a mistake. The following table illustrates the available prefixes for audit entries: Prefix Description t. specify the code C=Created. D=Deleted u.without a range. See the Advanced Object Search for more information. M=Modified. the default range is +/. • hh:mm-hh:mm or hh:mm:ss-hh:mm:ss . action action.without a range.Administering the Scheduling Landscape You can search more than one property. as follows: t:14:05-14:06 u:jdoe Note No spaces should be entered before or after the colon (:). the default range is +/. The following actions have been introduced: • Restore to before change • Restore to after change Note These two actions are also available via scripting via the methods restoreBefore and restoreAfter on the AuditObject object. key businesskey business key a.15 minutes.1 minute.Both before and after • Object Deleted . level audit level.only Restore to before Security Privilege Description 262 . object objecttype object type (case sensitive) k. Edit Edit auditing rules AuditingRule. 2. Choose Save & Close.Create Create auditing rules AuditingRule. which requires the Chargeable version. Revert a change 1. 2. and delete the auditing rule. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure Create an audit rule 1. 4.Delete Delete auditing rules AuditingRule. you have an additional Security tab on the auditing rule. It allows you to specify which users can access. If you have the object security. a privilege granted on Admin level allows the grantee to grant the privilege to other users.View Access auditing rules You can grant privileges on two levels. Choose Revert to before change from the context-menu of the audit entry you would like to revert. 3. Access and Admin. Select an object type in the Rule Object Type and a Level. full audit Diff Only Full Audit allows you to revert changes Name Reg Ex (optional) A regular expression pattern that is used to match object names Application (optional) The application the object resides in 263 . Navigate to Auditing > Audit Rules. Values Field Description Values Rule Object Type The type of object you want to audit Level The level of auditing you want. 5. refer to the Values section below. Navigate to Auditing > Audit Trail. Choose New Audit Rule from the context-menu. per partition or isolation group.Administering the Scheduling Landscape AuditingRule. These privileges can be granted system-wide. edit. Specify optional match criteria. Will match an object if it has an application or not Exact Application . Leave the editor window without closing it.Administering the Scheduling Landscape Application Rule Rule that allows you to match objects based on their application. the rule is enabled. choose Refresh from the context-menu if you do not see the new entry. 6.Will match an object. Select Job Chain as the Rule Object Type and Full Audit as the Level. Choose Save & Close. Notice the new entry for for the creation of the job chain. 11. Fill JCprdFin. 14. if its application is a child application of the application specified in the Application field (for this option. 9. 5. notice that the step and the job have vanished. Navigate to Definitions > Job Chains. 7. 2. Choose New Job Chain. the Application field is mandatory) Example Revert changes made to a job chain 1. Enabled When this is checked. In the main window.Will match an object. 15. 12. Return to the job chain editor window. Choose New Audit Rule from the context-menu.Will match an object. 8. Navigate to Definitions > Job Chains and inspect it. 3. Navigate to Auditing > Audit Rules. in the new window choose the Job Chain tab and fill JCprdFinQtrRep into the Name field and select the application named Finance. Select Exact Application in the Application Rule drop-down. Choose Save & Close. if it has no application Any Application . 4. notice the new entries in Audit Trail. the Application field is mandatory) No Application . choose Revert to before change from the contextmenu of the Modified entry of the job chain.* into the Name Reg Ex field. 10.Will match objects which have the application specified (for this option. 264 . Choose Save. Fill Finance into the Application field. add a step and a job with the System_Info job definition. return to the main window and navigate to Auditing > Audit Trail. 13. if it has an application Sub Application . All Applications . Overhead • • Space in the database • Diff only . referred to as Full auditing. An estimated 2 times the size of the object Time overhead when users make changes . or trace changes and revert. To allow you to trace and easily revert changes. you will receive audits for objects you are not directly auditing. you will receive audits for this time window as well as the submit frame. Object auditing does not apply when the system makes a change. System changes (particularly upgrades and changes to jobs) are reflected correctly. for each change. When you change the time window.depends on object size. both the old and the new value of anything that changed are recorded. if you audit submit frames only and add a submit frame element which is defined by a time window. We also only audit users. a copy of the object is taken before and after the change. So if you change the name of a parameter from StartDate to StartDateTime. Diff-only In diff-only auditing. While some of these may be duplicates. such as the System_ConfigureMail ( see the Administration Guide ) or SAP_ImportCcmsMonitors for example SAP CPS only audits changes. The auditing module allows you to set up rules which will either trace changes on objects only. both values need to be recorded.for example. Full Audit In full recording. the field name (Name) plus some XML to wrap it. An estimated 3 times the size of the change • Full . Note Under certain circumstances. not the system. with wait events for example • Changes to configuration as the result of running system jobs. indirectly.depends on change volume. For example. but will be noticeable for things like large job chains or large imports. referred to as Diff only.Administering the Scheduling Landscape Object Auditing Overhead Use Objects can be changed by users and this is a potential cause of havoc. 265 . not access. you change the submit frame. Note The Active Auditing Module requires the Module. it will be audited. and an audit rule matches. Examples of where the system makes a change are: • Automatically submitted job definitions. plus some overhead for the XML wrapping. the auditing module has been introduced. this ensures that: 1.this is relatively small.Auditing license key to be present in your license. So if I make a change. and the overhead significant in this case. or create an export object. If you run one of the system jobs. Redwood recommends using the query filters whenever possible and using a Selections or a combination of Selections. Reporting Use Reports allow you to gather meta-data about your repository in one of the following formats: • Comma separated values (CSV) to import into your favorite spreadsheet application • HTML to view in your browser • XML to import into third party systems You can define multiple reports. If auditing is enabled. see Generating Reports. objects that are imported that match audit rules will be audited. Export is just reading the database. changes are made and then it is turned on again. and Sorts. You may want to disable auditing for large imports. The report object allows you to define the query with the following tabs • Report . Parameters. For report automation. and because an object is created. Note that translated fields are saved in the database in a special way. This goes both ways. As far as export and import are concerned.select which columns appear in the report and their formats • Selections .sort the rows in a specific order Report You have the choice between using a Query Filter and Object Definition Query. If you use Export or Export Tree. then there will be some auditing if audit rules are enabled.create the initial query. It is also possible to run an existing report from within RedwoodScript. there will be something visible even if you don't have auditing enabled. as imports can potentially be large.limit the number of rows of the report • Sorts . choose the columns of the query you want to end up in the report in the Columns tab. such as Description. so you cannot use translated fields. The Object Definition Query can be used for more complex queries.Administering the Scheduling Landscape 2. Imports follow similar rules. and throttle the amount of rows in the Selections tab based on the values of two columns or the value in a column. there will be no specific auditing. 266 . based on query filters or custom SQL • Parameters . That you get the right results when auditing is turned off. ANSI '92 SQL knowledge is required. nothing special is done. all imports result in a system job running and potentially an import object being created. You can generate a report based on an object filter or a query on the Report tab. This is particularly useful for very large imports. and schedule System_ReportRun or a job definition from the report to generate the output. Documentation fields of built-in job definitions (with the System_ or SAP_ prefix) in String comparisons.use REL expression for use with the Selections • Columns . so nothing is audited. instead of its UniqueId • Permalink .used with Value or Report Parameter only.used with Value or Report Parameter only.value of the Left Report Column must be smaller than the provided value of the Column.displays the full permalink instead of the value • Permalink Business Key . Value. • Not Matches Regex . Value. or Report Parameter. Columns You choose the columns you are interested in by choosing Add. Value. or Report Parameter.used with Value or Report Parameter only. with a hard-coded value or report parameter. • Less Than Or Equal . • In Range . • Not In Range .value of the Left Report Column must be smaller than or equal to the provided value of the Column. The following operations can be used to compare values: • Equal To . 267 .displays a Business Key which links (via permalink) to the actual object Selections On the Selections tab you can compare values of different columns with each other. or Report Parameter.formats the output to be more user-friendly • Business Key . the value of the Left Report Column must match the provided range expression. both have to match. The following formats are available for columns of HTML reports. Parameter values are to be compared to column values of the report.displays the name of the object. or Report Parameter.value of the Left Report Column must be greater than or equal to the provided value of the Column.values must differ • Matches Regex .used with Value or Report Parameter only.Administering the Scheduling Landscape Parameters Parameters are available to use Redwood Expression Language in Selections. the value of the Left Report Column must match the provided regular expression.displays the data as it is stored in the database • Formatted .values must be equal or in other words be the same. • Greater Than . the value of the Left Report Column must match not the provided range expression. These parameters will also be available when you create job definitions from the report. the value of the Left Report Column must match not the provided regular expression. you also have a convenient Create All Columns button. Value.value of the Left Report Column must be greater than the provided value of the Column. • Greater Than Or Equal . so you first choose the data type of the column in the report you would like to compare to. • Less Than . they are not used for CVS or XML formats: • Raw . • No Equal To . See the Advanced Object Search for more information. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges 268 . application searches the application property Security Privilege Description Report.Edit Edit reports Report. description searches the description property a. per partition or isolation group. and delete the report. as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:). It allows you to specify which users can access. name searches the name property c. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. These privileges can be granted system-wide.Create Create reports Report. comment searches the documentation property d.Administering the Scheduling Landscape Finding Reports You can search for reports using filters and the Search Reports box on the Reports tab. if you want to display all reports with the term import in the comment.Delete Delete reports Report. For example. which requires the Chargeable version. If you have the object security. Access and Admin. IntelliSearch allows you to specify complex queries in a simple way using prefixes. you would use the search criteria as follows: c:import You can search more than one property. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. you have an additional Security tab on the report. a privilege granted on Admin level allows the grantee to grant the privilege to other users.View Access reports You can grant privileges on two levels. edit. Filters allow you to specify a list of objects with static criteria. The following table illustrates the available prefixes for reports: Prefixes Description n. Manual Generation Simply choose Submit Report from the context-menu of the report Automated Report Generation Once you have created a report. You can also generate reports with Redwood Script. allows you to change parameters easily Delete Delete the report Report Preview Generate and display a preview of the report Export Export the report into a CAR file Edit Edit the report Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New report Create a new report Filter > New Filter Create a new report filter Filter > Edit Filter Edit current report filter Filter > Delete Delete current report filter Filter > Duplicate Filter Create a copy of the filter 269 .Administering the Scheduling Landscape See Also • Generating Reports • Configuration Data for Reports Creating and Running Reports Use Creating reports in the graphical user interface is done in Definitions > Reports and requires the Chargeable version. you can automate it using System_ReportRun or create a job definition based on the report. You may create reports based on object filters (query filters) and refine them. The report Parameter are available as job parameters once you create a job definition based on the report. use the preview functionality to make sure your settings are correct. Once you have created a report. you can generate the report output manually or schedule it to run automatically. Context-Menu Actions Reports support the following context-menu actions: Action Description Submit Report Submit a job to generate the report Edit Security Edit the security of the report Duplicate Make a copy of the report to create a similar one New Job Definition Create a report job definition. The latter is especially recommended if you want the report to be dynamic and want change some of the Selections criteria using report Parameters. fill a name into the Name field and choose a filter name in the query field. Navigate to Monitoring > Jobs and locate the job you just submitted. Choose New Report JobDefinition from the context-menu of the report. Choose Submit Report from the context-menu of the report. On the Report tab. 2. 3. Navigate to Monitoring > Jobs and locate the job you just submitted. 2. Choose Save & Close. 3. Generate the report output manually 1. expand Files and choose report. Navigate to Definitions > Job Definitions 2. Generate the report output automatically (using System_ReportRun) 1. 5. 3. 4. 2. 4. In the lower details pane of the job. In the lower details pane of the job. 5. 4. 6. On the Selections tab choose a column and a condition. expand Files and choose report. choose the columns you want to sort by and give each a unique sort order. Navigate to Definitions > Reports. Choose Submit from the context-menu of the job definition System_ReportRun. 5. Fill a report name and format into the fields and choose Submit. Inspect the job parameters and Job Definition settings. Navigate to Definitions > Reports. Fill in or change any parameters if required and choose Submit. Navigate to Definitions > Reports. On the Sorting tab. On the Columns tab choose Create All Columns.Administering the Scheduling Landscape Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Procedure Create the report 1. Create a job definition based on the report 1. 4. 3. 270 . Choose New Report from the context-menu. Navigate to Definitions > Reports. On the Report tab. fill ScheduledStartTime into the Left Report Column field. Navigate to Monitoring > Jobs and locate the job you just submitted.expression(Time. Example Create a report for the error jobs in the production environment 1. 9. 2. On the Sorting tab. choose HTML in the Report Format field and choose Submit. 6. Choose Save and Close to leave the edit window. Navigate to Definitions > Job Definitions 2.now('GMT'). On the Report tab. 4. 6. On the Sorting tab. 3. choose the Parameter radio button and select Start in the Parameter field. On the Columns tab choose Create All Columns and remove the LLP Version column from the list.state. On the Selections tab. 8. enter JobId and 1 in the Sort Order field. Fill AllErrorJobs Report field. 2. 4.state. choose Matches Regex in the Operation field.* in the Value field of the Column/Value area. Generate the report and view its output 1. 5. fill AllErrorJobs into the Name field and Job. On the Selections tab fill Remote System into the Left Report Column field. create a new parameter named Start of type Date Time Zone with the Default Expression =Time. You have to choose the radio button to fill the Value field. 7. On the Columns tab choose Create All Columns and remove the LLP Version column from the list.Error into the query field. 7. In the lower details pane of the job.Administering the Scheduling Landscape Values The configuration details for reports can be found in the Configuration Data for Reports section of the documentation. choose Greater Than in the Operation field. expand Files and choose report. 271 . Choose Submit from the context-menu of the job definition System_ReportRun. enter JobId and 1 in the Sort Order field. and enter PR. Choose New Report JobDefinition from the context-menu of the report. Choose New Report from the context-menu. 5. Choose Save and Close to leave the edit window.Error into the query field. 5. Navigate to Definitions > Reports. 'subtract 1 month') 4. 3. Choose New Report from the context-menu. 3. fill AllErrorJobs into the Name field and Job. Create a report to display all jobs in error that were scheduled to start in the past month 1. On the Parameters tab. ReportDestination dest = reporter. When you test if a column entry is null. The value in the Queue column will be the UniqueId of the queue. For example. ANSI '92 SQL knowledge is required to be able to write queries. null. or a single <space> character. { String query = "select Job. use IS STRINGNULL instead of IS NULL. Choose Save & Close. so it has a Queue column.JobId.JobId <= 244". import com. The downside of referencing objects by their UniqueId is that queries become more complex.api.api.ReportDestination.UniqueId from Queue q where q.report. Matching You use the where clause for matching. a job definition can have a default queue. The following example illustrates how to query all job definitions that have DefaultQueue set to System: where JobDefinition. Relationships between objects go through the UniqueId of the object. dest).scheduler.Name = Procedure Create the report 272 'System') .scheduler.model.Reporter.report. containing joins.DefaultQueue in (select q. Note Strings are trimmed before they are written to the database. If you want to check if a column of type string is empty. you can query the Object Definition. Empty strings are saved as ' '. Reporter reporter = jcsSession. ANSI '92 SQL enables you to write quite complex queries.Job.createReporter(jcsOut).model. you must keep in mind that empty strings are stored as ' '. jcsSession. and the object filters are not enough. This allows you to easily rename objects without having to change all it relatives.getCSVReportDestination().redwood. not its name.executeQuery(query. Inspect the job parameters and Job Definition settings.Description from Job where Job. Luckily. or a single <space> character. You need to be able to join tables when you want to query on a relative.Administering the Scheduling Landscape 10. Create and run a report in RedwoodScript import com. 11.redwood. } See Also • Configuration Data for Reports • Reporting Creating Advanced Reports Use When you want to generate more complex reports. On the Report tab. 5. fill Rep_Job4UNIXS3 into the Name field and choose Job in the Object Definition Query field. On the Sorting tab. 2. 5. Navigate to Definitions > Reports.ProcessServer in (select ps. On the Preview tab. On the Selections tab choose a column and a condition. 8. On the Sorting tab. Choose Submit. Configuration Data for Reports Use The following tables describe the available settings for reports. 3. On the Report tab. Report Field Description Default Value 273 . Make sure the output format is correct.UniqueId from ProcessServer ps where ps. 3. Choose New Report from the context-menu. 7. 4.Name = 'MSLN_UNIXS3')} 4. On the Selections tab choose column Status and enter Error into Column/Value > Value field. choose the columns you want to sort by and give each a unique sort order. Fill {{where Job. Example Create a report of all jobs that reached status Error on process server MSLN_UNIXS3 1. Choose Submit Report from the context-menu of the report object. fill a name into the Name field and choose a object type in the Object Definition Query field. Navigate to Definitions > Reports. Optionally use the lower field to enhance the query. Navigate to Definitions > Reports.Administering the Scheduling Landscape 1. 6. inspect the report. Choose New Report from the context-menu. 2. choose column JobId to sort by and give it a sort order of Ascending. Choose Save & Close Submit the report 1. On the Columns tab choose Create All Columns. 2. 4. 6. 3. Make sure the correct report is in the Report field. 5. On the Columns tab choose Create All Columns. Administering the Scheduling Landscape Partition The partition the report resides in. Display Should this parameter be displayed in the submit wizard of a Yes job? Character Columns You need to choose Add or Create All Columns to choose add columns to the report. Field Description Default Value Name The name of the parameter. Query The query used to generate the report. Field Description Name Name of the column in the report. Description The description of the parameter. which does not have to match the real column name. Display Should the column be displayed in the report. Comment A comment about the column. Type The data type of the parameter. The current default partition Documentation Field Description Documentation A comment about the report Parameters You need to choose Add to create a new parameter. Description The description of the report. Name The name of the report. Limit Restrain the amount of rows retrieved. instead of its UniqueId Column Format > Permalink displays the full permalink instead of the value Column Format > Permalink Business Key displays a Business Key which links (via permalink) to the actual object 274 . Comment A comment about the parameter. Column Format > Raw displays the data as it is stored in the database Column Format > Formatted formats the output to be more user-friendly Column Format > Business Key displays the name of the object. you have the choice between using a QueryFilter or using custom SQL. Application The application the report belongs to. the default value is yes (checked). which will be used in the submit wizard. Description A description of the column. Default Expression The default expression of the parameter. used when more than one column are used for sorting.Administering the Scheduling Landscape Field/Expression You use Field when you want the raw value of the field and expression. when you want to apply an expression to the value of the field. Equal to Sorts Sorts allow you to order the row of a query by one or more columns in a certain order. Note Column formatting is only available in HTML reports. Choose Add to create a new rule. Report Preview Allows you to see a preview of the report. for example. like alphabetically. uncheck this box to have a Yes (checked) descending order. the lower number has higher priority. Security Allows you set privileges directly on the report for users and custom roles. Sort Order The order in which to apply the sorting. See Granting and Revoking Object Privileges for more information. Field Description Default Value Left Report Column The columns to use for comparison (on the left hand-side of the query) Operation The operation you want to perform on both values Column/Value Column. Ascending The default sort order is ascending. a hardcoded value or a report parameter. It can be another column in the report. XML and CSV reports are note affected. Selections You can refine you query on the Selections by only returning rows that match particular criteria. See Also • Generating Reports • Reporting • Documenting Objects using the Documentation Tab 275 . Field Description Default Value Report Column The column on which to sort. value or parameter you want to compare to the value of Left Report Column. Column Order The order in which the columns are displayed in the report. You choose Add to create new sort criteria. api.report. Note Strings are trimmed before they are written to the database. which in turn allows you to use custom CSS. the output format.model.scheduler. which can be used in RedwoodScript job definitions. and the ReportDestination.report. use IS STRINGNULL instead of IS NULL.JobId. Empty strings are saved as ' '. you will have to import them with an import statement. dest).api. or a single <space> character. when referring to a column. You have to import two classes.ReportDestination Classes The two classes are required for creating reports and are not imported in standard scripting contexts. 276 . The database can be queried with the following function. The output format can be one of the following • HTML .executeQuery("select Job.Description from Job".. or a single <space> character. which is available when you have the Chargeable version.Job. as shown below. see Examples section below.).redwood. • CSV . null. the latter allows you to specify a css prefix. which has to be a PrintWriter (usually jcsOut). the available tables in SAP CPS are listed in the API documentation.Reporter • import com.use the getXMLReportDestination() method Retrieving Report-Data You cannot query the tables in the database directly. The Data model can be found under the Scheduler API and Language Reference section on the index page.use the getHTMLReportDestination() or getCSVReportDestination(<css_prefix>) method.use the getCSVReportDestination() method • XML . If you have the Chargeable version but no API documentation. If you want to check if a column of type string is empty. followed by a period (.redwood.Administering the Scheduling Landscape Creating and Running Reports in RedwoodScript Use RedwoodScript can be used to generate reports with custom queries. jcsSession. [[bind variables]) Standard ANSI'92 SQL can be used in queries. only an upper-layer table-implementation. which name is the type of the object you want to query for.model. which is defined in the SchedulerSession object: executeQuery(query string. please contact SAP. When you test if a column entry is null.scheduler. The Reporter requires the output stream. you must keep in mind that empty strings are stored as ' '. you need to prepend the table name. since they are not imported by default in the different scripting contexts job definitions: • com. Administering the Scheduling Landscape Example The code below illustrates how to create a Reporter.redwood.scheduler. } Bind variables can increase the performance and scalability of queries.scheduler. a ReportDestination. { String query = "select Job.getCSVReportDestination().ReportDestination. ReportDestination dest = reporter. Reporter reporter = jcsSession. dest).api.api.model.report.report. new Object[] { String.ReportDestination.scheduler. import com.createReporter(jcsOut).Status = ?". which is available when you have the Chargeable version.Job.valueOf('E') }. dest).report. jcsSession.scheduler.Status above changes frequently.createReporter(jcsOut).Reporter.getCSVReportDestination().executeQuery(query. import com.api.JobId. Generate a CSV report of all jobs in error: import com. If you have the Chargeable version but no API documentation.JobId.api.redwood. like Oracle.executeQuery(query.ScheduledCode) }.scheduler. The following example is for illustration purposes.getHTMLReportDestination().Job.report.model. please contact SAP. parse every query once and skip some queries they have already parsed. when you do not know the job status code and want to use it in a query (note that looking up the code is easier).model.api.model.report. like the one above.executeQuery(query. the database will have to parse each and every query for each Job.valueOf(JobStatus.Description from Job where Job.redwood.Reporter. especially simple queries.model. the fully qualified class name can be found in the API documentation. { String query = "select Job.ReportDestination.enumeration.createReporter(jcsOut). import com. ReportDestination dest = reporter. jcsSession.Description from Job where Job.Status = ?".redwood. if we use a bind variable. Some supported databases. dest).scheduler.Status = 'E'". new Object[] { String. null.Job.JobId.scheduler. jcsSession. and how to use a query for the report. import com.: import com.model.report.Status. } See Also • Reporting • Scripting Contexts and Implicit Objects • RedwoodScript • Creating and Running Reports 277 .model. Reporter reporter = jcsSession.redwood. { String query = "select Job. So if the Job.redwood.Description from Job where Job. this step can be skipped.redwood.api. } The same example as above using bind variables and HTML output: import com. ReportDestination dest = reporter. You have to import the JobStatus class. Reporter reporter = jcsSession.api.JobStatus.Reporter. as this setting is set in /configuration/mail/Server. and mail.smtp. for example.smtp.Administering the Scheduling Landscape • Configuration Data for Reports Basic Notification and Alerting with the Mail Module Use The mail module allows you to send emails from within SAP CPS. Note that setting mail. Two job definitions are shipped with the module: • System_Mail_Configure .host has no effect. This module has basic alerting and notification features to alert operators about a job that has reached Error or about the publication of a new report. Please see the Different Versions section for more information.smtp. The module has a basic SMTP server detection mechanism which only requires the default From: email address to retrieve the address of the mail server.smtp. in this case you will be asked for the From address as well as the mail server hostname or IP address. You can have the mails forwarded to mobile phones via SMS.timeout. Configuring the Module Before you can send an email.Mail key in your license. You can override this using the /configuration/mail/Properties/mail.send an email Note Use of the Mail module requires the Module. Note The SMTP port is 25 by default.configure the default mail server • System_Mail_Send . you need to use a third party service provider (additional fees may apply).timeout. mail. Redwood recommends the Active Alerting module. If the job was unable to detect your mail server. 278 . Special caution must be taken when you set other properties.smtp. as you can configure alerts and notifications centrally.port registry key. you need to configure the module to use your mail server and a default from: address. for example.smtp. The mail module allows you to easily send standard emails as well as customize the email before it is sent. it will reach Error.connectiontimeout. however.port by creating a child key under the registry key /configuration/mail/Properties. Note The notification and alerting features of the Mail module require you to configure every job chain that is to use these features. The name of the registry key must match the name of the property. If you make extensive use of alerts and/or notifications. Setting SMTP Properties You set properties such as mail. /configuration/mail/Properties/mail. txt Using the job id of the job Relative Job .Dataload.datarun. <job_number>.Step 1. The job definition is designed to be included in job chains to email output from other jobs in the job chain and optionally in a step which is only executed when a job has reached status Error. See Also • Mail Job Definition Type • Customising Email • Configuring Mail and Sending Emails Configuring Mail and Sending Emails Use You configure the Mail Module for a default SMTP server and From address. these values can be overridden in the System_Mail_Send job definition. you can use the job definition System_Mail_Send to send email. Once you have configured the Mail Module. Example Using default job and step names Relative Job . Job 1 Job file . you create a step with job running System_Mail_Send and use the parameters Relative job and Job file to specify which file to attach to the email. Job 2 Job file .txt Using the job id of the job Relative Job . The Relative job parameter takes a value in the form of <step_name>.1234 Job file . See the Customising Email section of the documentation.txt Advanced Email Customisation The mail module ships with the Mail Job Definition Type which allows you to customize the email before it is sent.Job 1234 Job file .datarun. or [Job] <job_id> and the parameter Job file takes the short name of the job output file.stderr Using custom job and step names Relative Job .Administering the Scheduling Landscape Attaching Job Files The mail module allows you to attach output files of jobs to emails. The feature is used in job chains. 279 .datarun. Configuring the mail module without SMTP server detection 1. and the username/password into the respective fields. Note The notification and alerting features of the Mail module require you to configure every job chain that is to use these features. Choose Save & Close Configuring SMTP Authentication 1. the Fully Qualified Domain Name of the SMTP server into the Server and choose Submit. the SMTP server hostname into Endpoint. Redwood recommends the Active Alerting module. as you can configure alerts and notifications centrally. 280 .Mail key in your license. Navigate to Security > Credentials. SAP CPS looks up the credential with the virtual user. which must be set to default. You will have to create the smtp credential protocol (the name is case-sensitive) prior to creating the credential. 3. Please see the Different Versions section for more information. 3. Procedure Configuring the mail module with SMTP server detection 1. 4. Choose Save & Close Sending an email 1. and the SMTP server (endpoint). 2. Navigate to Definitions > Job Definitions. If you make extensive use of alerts and/or notifications. Fill in a valid From email address. Note that the value in the Endpoint field must match the value in the /configuration/mail/Server registry key (case-sensitive). 2. SMTP Authentication SAP CPS supports SMTP authentication when the SMTP username and password are stored in a credential using the smtp credential protocol. Fill in a valid From email address and choose Submit. Note Use of the Mail module requires the Module. Navigate to Definitions > Job Definitions. 4. Choose Submit from the context-menu of the job definition System_Mail_Configure. Choose New Credential from the context-menu. Navigate to Definitions > Job Definitions. default into the virtual user field. 3. 2. Choose Submit from the context-menu of the job definition System_Mail_Configure.Administering the Scheduling Landscape You configure the Mail Module with the job definition System_Mail_Configure. which must match the value in the /configuration/mail/Server registry key ( see the Administration Guide ) (the match is case-sensitive). Fill smtp into the Credential Protocol field. On the Job Chain tab. Select the job chain or the step. 4. enter a valid name for the job chain. Navigate to Definitions > Job Chains. expand the job status Completed and select Mark Chain Completed in the Action field. a. expand Final Status Handlers. Expand Final Status Handlers of the alerting step. For each status. a. Fill in the parameters as required. a. choose Add Step from the context-menu of the job chain. On the Job Definition tab. Choose Add Job from the context-menu of the step and specify a job definition. if you want an error in any job to trigger the alert. Choose New job Chain from the context-menu. Creating a basic notification scenario 1. Choose Add Job from the context-menu of the step and specify a job definition. for each job for which you want alerting. fill in any parameters that are required. Add a Status Handler on the job chain. 6.Administering the Scheduling Landscape 2. choose Add Step from the context-menu of the job chain. 6. On the last step before the notification step. 3. Fill in a valid To email address and Subject and choose Submit. Choose Submit from the context-menu of the job definition System_Mail_Send. This makes sure the alerting step is not executed when no job reached Error. 4. Repeat the previous step(s) for all job definitions that you require to be executed in this job chain. fill Message and Exit Code fields appropriately. 281 . Expand Default Status Handlers or Final Status Handlers. c. d. select Goto Step in the Action Field and select the step containing the jobs for alerting in the Goto Step field. b. for each job for which you want notification. enter a valid name for the job chain. expand the job status Completed and select Raise Error in the Action field. Repeat the previous step(s) for all job definitions that you require to be executed in this job chain. Add another step as described above. 5. Fill in the parameters as required. Add another step as described above. 2. fill in any parameters that are required. Choose New Job Chain from the context-menu. Navigate to Definitions > Job Chains. 2. 7. create a separate job for running the job definition System_Mail_Send. 7. 5. Choose Save & Close Creating a basic alerting scenario 1. expand the job statuses for which you want to send an alert. or on step-level for the required steps. create a separate job for running the job definition System_Mail_Send. On the Job Chain tab. 3. 3. On the Job Definition tab. 8. add 3 minutes to the 'Requested Start Time field value and choose Next''. 11. Navigate to Definitions > Job Chains. Wait until the job chain completes See Also • Basic Notification and Alerting with the Mail Module 282 . drill down to the first step. 9. Expand the job status Completed and select Mark Chain Completed in the Action field. Choose Submit from the context-menu of the job chain JC_BasciAlert. Navigate to Definitions > Job Chains. Choose Add Step from the context-menu of the job chain. 8. Choose New Job Chain from the context-menu. choose Scheduling > Cancel from the context-menu of the job of step Step 1. 2. Select the job chain. Choose Add Job from the context-menu of the new step and specify the job definition System_Mail_Send in the Job Definition field. 5. 7. expand the job status Error. 5. Expand Final Status Handlers of the step Step 2.Administering the Scheduling Landscape 9. On the Job Chain tab. select Goto Step in the Action Field and the step Step 2 in the Goto Step field. 6. 6. choose Add Step from the context-menu of the job chain. 3. 13. Choose Save & Close Example Creating a basic alerting scenario 1. 3. 12. 2. 7. fill An error occurred in the chain in the Message and 123 into the Exit Code field. Canceled and Killed. Navigate to Monitoring > Jobs. enter name JC_BasciAlert for the job chain. 4. Expand the job chain (you might have to refresh the view). expand the job status Completed and select Raise Error in the Action field. On the Scheduling page. Choose Save & Close Testing the alerting scenario 1. 10. On the Times and Dates page of the submit wizard. Expand Default Status Handlers. For each status. On the Job Definition tab. 4. Choose Add Job from the context-menu of the step and specify the job definition System_Info in the Job Definition field. fill System into the Queue field and choose Submit. the email is in plain text.The value of the parameter of the email job. as you can configure alerts and notifications centrally. in which case HTML is expected.Administering the Scheduling Landscape • Customizing Emails • Creating Job Chains • The Registry • Registry Keys Customizing Emails Use Using the System_Mail_Send you may attach one file and specify email headers.Metadata about the body.The description of the job that sent the email. Please see the Different Versions section for more information. • ${jobid} . furthermore. for example. • ${<parameter_name>} . for example. if the email job has a parameter Subject it would be referenced as ${Subject}.The jobid of the job that sent the email.For email headers • [Body] . If you make extensive use of alerts and/or notifications. By default.Mail key in your license. This allows you to use Redwood Expression Language in parameters and use the output of the functions in the mail body. Use one of the following keywords for job: • Parent . With the mail job definition type. You can specify the content-type in the [Body] section of the email. you can customize the email to meet your needs. to set it to XML. You can use the following substitution parameters: • ${jobname} . Syntax The mail job definition type has the following sections: • [Attachments] . Note The notification and alerting features of the Mail module require you to configure every job chain that is to use these features. Note Use of the Mail module requires the Module.File attachments are specified here • [Headers] . the email is in plain text. like content-type and charset. this can be overridden by starting the code with a <. Blank lines and comments (lines starting with #) are ignored in the sections above.the parent job 283 . Redwood recommends the Active Alerting module. prefix to use for files to be embedded in emails. Job 2:stderr. negative numbers are counted backwards ( from the end of the file) • ?search .log files contain the output of standard error. for example inline_stderr.customize the behavior of search • WildCard . Job 1:stderr. for example Job 6:?type=log • output . by default.log //output file named stdout.Used with a search string of "*" to specify a wild card search • Reverse .specifying the step and job.Returns all lines that match the search string Note Multiple job files can be specified separated by semicolons (.the job with job id <jobid>.log • • inline_ . XML files are printed directly as XML.the name of the job file.log //all output files from that same job Job 123456:?type=output Retrieve part of the file with the following keywords: • ?range .Performs a case insensitive search • EntireLine .specify a range of line numbers.Returns the last line in the file matching the search string • IgnoreCase . Job 4:stderr. HTML (text/html) and XML (text/xml) files can be embedded in emails.). the jobs have to be in the same job chain. //Last 15 lines from job 4 of step named Step 2. for example Job 6:?type=output Note Only plain text (text/plain). for example Step 2. for example stderr.log from job with job id 123456 Job 123456:stdout.log ?type .An entire line in the attachment must match the specified string • RangeResult . Job 6 • Job <jobid> .-1 "Step 2" 284 . the line with the first occurrence is copied. • ?options . for example Job 1234 You specify the file as follows: • <name> . //output file from parent Parent:stdout.output files contain the output of standard out.log //error log from Job 2 of step named "Step 1" Step 1.will attach all files of the job matching the type • log .Administering the Scheduling Landscape • <step name>. Job <m> .log?range=-15.log=Step 1.search for the occurrence of a string in the file. Job 3:stderr. case-insensitive Step 1. choose New > Registry from the context-menu of the mail registry key and name it AccessiblePath.-1. if the registry key does not exist. • @{index} . For example.Step 1. if the registry key does not exist. 3.Administering the Scheduling Landscape //first "caused by" line from the error log Step 1. Drill-down to configuration/mail/AccessiblePath. create it. especially when you use a regex expression: • @{name} . Choose Save & Close. Job 3:stderr. Job 3:stderr. Procedure 1. Drill-down to configuration/mail/AccessiblePath.A simple counter. Job 3:stderr. Choose New Registry from the context-menu of the AccessiblePath registry key and give it a name. Navigate to Configuration > Registry 2. 4. C:\temp could be the value of the registry key configuration/mail/AccessiblePath/temp. enter /tmp into the value field. This is done by setting a key below configuration/mail/AccessiblePath in the registry.IgnoreCa The following ant expressions can be used to generate the file name of attachments. create it. To create the AccessiblePath registry key. Example Allowing files in /tmp to be attached to emails 1. Navigate to Configuration > Registry 2. note that the name temp of the registry key has no significance to SAP CPS.The name of the file to attach. it is its value that will be used. See Also • Mail Job Definition Type 285 . Choose Save & Close.IgnoreCase //first and last example in one go Step 2. 4. Attaching Files from the Server For security reasons.log?search="caused by"?options=Reverse //all "caused by" lines.log?range=-15. you have to specifically allow the directories in which the files reside on the server to be able to attach them.log?search="caused by" //last "caused by" line from the error log Step 1.log?search="caused by"?options=RangeResult. a. Choose New > Registry from the context-menu of the AccessiblePath registry key and give it a name and a value. The registry key ( see the Administration Guide ) does not exist by default and needs to be created. Job 4:stderr. 3.log?search="caused by"?options=RangeResult. 286 . This operator message must be replied to in order to acknowledge the alert. see below. There are two ways operators and managers can get informed: • operator messages • email/SMS The key features of the module are: • Operator message integration .Administering the Scheduling Landscape • Basic Notification and Alerting with the Mail Module • Configuring Mail and Sending Emails • Registry Keys • the Registry Advanced Notification and Alerting with the Active Monitoring Module Use The Active Monitoring Module is used to make sure that errors in specific business processes get acknowledged and fixed by IT staff or escalated when nobody has acknowledged the problem in a specific time-frame. An operator message that has alerts attached to it will have a [+] next to it in the monitor. Rules are defined based on a monitor. • Rule based configuration . Note The Active Monitoring Module requires the Module. • Jobs .alerts can be defined as rules separate from the objects that cause the alert to be raised. The alerting system consists of three types of object: • Alert Sources . Alerts themselves are children of operator messages.Alerting key to be present in your license. Alerting revolves around the operator message system. • Monitors . When an alert is raised.any status change. Rules are defined based on a process server name pattern. Rules are defined based on a job definition name pattern and the job parameters. and can be monitored via the operator message monitor.alerts must be acknowledged by replying to the operator message in order to clear them. • Alert escalations .unanswered alerts can be escalated through shared escalation pathways (email/SMS). • Acknowledgment .any change in severity.all alerts are raised as operator messages and are visible in the operator message console and the operator messages monitor application.any status change.object specific rules that are defined for when alerts should be created. an operator message is created. Alerts can be defined for the following objects: • Process servers . rules determining how messages are formatted and sent. As soon as the operator message is replied to.used when a monitor reaches a certain severity.used in job chains.used when a process server loses the connection to a remote system • Job Alert Sources . This can be changed on the alert source.Administering the Scheduling Landscape • Process Server Alert Sources . Triggering Alerts Use Alert sources define which objects create alerts.used in job chains to fire alerts with the job definition System_Alert_Send • Monitor Alert Sources . with the System_Alert_Send job definition. the only response to an alert operator message is Acknowledge. While the alert is being escalated. • Alert Escalations . messages are sent via the alert gateways to elicit a response. and what the next alert is. creating an operator message that needs to be responded to. Each alert source uses specific rules to determine: • when an alert needs to be raised • the escalation to use • the message to send See Also • Job Definition Alert Sources • Raising Alerts and Notifications from Jobs • Process Server Alert Sources • Raising Alerts and Notifications from Process Servers • Ad Hoc Alert Sources • Sending Ad Hoc Alert Sources 287 .defines the situations in which specific process servers raise alerts. The alert source specifies the first alert escalation to use. • process servers alert sources . By default.used when a job reaches an undesired status • Ad Hoc Alert Sources . From then on the alerting escalation system decides how long to wait for acknowledgment. under which circumstances and which alert to send. how long to wait for acknowledgment. An alert is raised by an alert source. There are three types of alert sources: • job alert sources . for example. • Alert Gateways .defines the situations in which specific jobs raise alerts.defines the situations in which monitors raise alerts. the alert is acknowledged and no further automatic action is taken. and which alert to escalate to should the alert remain unacknowledged. • AdHoc alert sources .rules detailing who to send the alert to. • monitor alert sources . Job Definition Alert Source Sent to Job Definition Alert Source Use a dynamic escala. The reply expression ministration Guide ) can use regular expressions to force the user to select a reply. 288 . Statuses Status The status to react on.Administering the Scheduling Landscape • Monitor Alert Sources Job Definition Alert Sources Use You can use jobs to generate notifications or alerts when they finish with job alert sources. Job Definition Alert Source Raise alerts only at cer.see below. depending on the Time Window Status. can be used for documentation purposes. You may use substitution parameters ( see the Administration Guide ) in the address.erator Message Reply Expression. Statuses Delay Amount The amount of Delay Units to wait until the alert is sent. Specify an Address and a Default Alert Escalation. Tab Field Description Job Definition Alert Source Partition The partition where you wish to store the job definition alert source Job Definition Alert Source Name The name of the job definition alert source Job Definition Alert Source Application The application of the job definition alert source Job Definition Alert Source Description The description of the job definition alert source Job Definition Alert Source Raise an alert for job definitions that match ( see the Administration Guide ) Specify a job definition Name Pattern that will be used to match jobs. Job Definition Alert Source Raise a custom operator Specify a custom Operator Message Expression and Opmessage ( see the Ad. if necessary. If you do not provide a Default Alert Escalation you must specify a dynamic one . All conditions must be met for the alert to fire! Tabs & Fields The following table illustrates the fields of each tab of job definition alert sources editor dialogs. or no notifications or alerts will be sent. the default specified above will be used. Every Job definition alert source needs at least a job name pattern and a status mapping. Documentation Documentation A comment about the object. A job definition alert source can be created to trigger alerts for multiple jobs with pattern matching. See Raising Alerts and Notifications from Job Definitions information on how to create a job definition alert source. if no escalation can be found. overrides pression default. Statuses Delay Units The units of time used in the Delay Amount. using the specified escalation.Time Window and Time Zone allow you specify that alerts tain times should only be fired when the time window is open or closed.Specify an alert escalation using substitution parameters tion path ( see the Administration Guide ). you may also specify a Partition Pattern to only search for jobs whose job definitions' partition matches the pattern provided. the alert will be sent to the specified address and escalated.Status-specific operator message expression. Statuses Operator Message Ex. they fire after an alert is sent. Rules Variable Variable used by the rule. Rules Processing Order The order in which the rules are processed. You must set an action subject if you want to use jcsSession Alert Source Actions ( see the Source Administration Guide ) The source of your code. You must reply to the operator message and delete it if you want to suppress it. see Customizing email messages for information on how you can customize it. Parameter Matches Match Type The method used to match the value of the parameter. Alert Source Actions ( see the Enabled Administration Guide ) This checkbox allows you to enable or disable the action. Parameter Matches Value The value of the parameter. when unchecked.Administering the Scheduling Landscape Parameter Matches Name The name of the parameter to match. limited to Post Alert on alert sources. Rules Alert Escalation The rule-specific escalation. Security ( see the Administra. Rules Value The expected value of the variable using the above operator. Alert Source Email ( see the Administration Guide ) Body The body of the email to send.* tion Guide ) This is where you can specify who can access/change/remove the job definition alert source. Alert Source Actions ( see the Action Subject Administration Guide ) The user under which the code in the action is performed. Alert Source Actions ( see the Library Administration Guide ) You can specify a library here containing methods you would like to use. Context-Menu Actions Job definition alert sources support the following context-menu actions: Action Description Edit Security Edit the security of the job definition alert source Duplicate Make a copy of the job definition alert source to create a similar one Delete Delete the job definition alert source Export Export the job definition alert source into a CAR file Edit Edit the job definition alert source Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New job definition alert source Create a new job definition alert source Show diagram Display the dependencies in a Java applet diagram Filter > New Filter Create a new job definition alert source filter 289 . Alert Source Actions ( see the Stub Source Administration Guide ) This code shows you where the action will be performed. Alert Source Actions ( see the Type Administration Guide ) The type of action. Rules Operation The operator use to compare the value of the variable. overrides default. the action will never fire. It is recommended to save your code in libraries so you can use it elsewhere. names. GLOB wildcards allowed (? and *).The value must match. No wildcards allowed. then the email type is set to HTML. • Exact Sensitive . see Customizing Emails ( see the Administration Guide ).Administering the Scheduling Landscape Filter > Edit Filter Edit current job definition alert source filter Filter > Delete Delete current job definition alert source filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Alert Source Emails Gateways will always attempt to use the most specific email and email address. case-sensitive.The value must match.The value must match. if the first letter is a <. To avoid duplicate alerts.The value must match. You can use specific constructs using REL expressions in your emails. If parameters are specified. case-sensitive.The value must match. 290 . case-sensitive. You can use the following match rules for partitions. the only exception to this rule is for statuses Console and Console Restart. No wildcards allowed. • GLOB Insensitive . programs or variants. • RegEx Insensitive . case-insensitive. • The new status of the job. Since all of these jobs have the same job definition name. GLOB wildcards allowed (? and *). Regular Expression pattern. • The parameters of the job. The pattern and the new status must be specified. case-insensitive. • GLOB Sensitive . then they must match. additional criteria are needed to distinguish specific SAP Systems. case-insensitive. They match a status on three criteria: • A pattern matching the partition/name of the job definition. Regular Expression pattern. If no parameters are specified then no additional matching is done. Criteria Job definition alert sources raise alerts or notifications when jobs change status. the search is done in the following order: • specific alert source • the gateway • the default The email type is detected by the first letter. • RegEx Sensitive . Parameter matches are used to raise alerts or notifications on generic job definitions like SAP_AbapRun. job definition alert sources do not fire for job chain steps.The value must match. otherwise a text email is sent. The parameters are optional. and parameters: • Exact Insensitive . For more information. then it is used. • A default alert escalation The expression is always evaluated first. then the default is used. The reply expression works the same way as the reply expression for the System_OperatorMessage. If no message is specified at any level. Substitution Parameters Substitution parameters can be used in various field on alert sources. Escalation Escalations send operator messages and emails (via Email Alert Gateways). no operator message is sent and the condition is ignored. If no reply expression is specified. for the full list see the Scripting Contexts and Implicit Objects ( see the Administration Guide ). Job definition alert sources use two rules to determine the alert escalation to use: • An expression to determine a dynamic escalation name. different escalation paths can be defined depending on the name of the : • Expression: Error_${jobDefinitionOwner} • Default: Error_Jobs • Statuses: Error. and overridden per status. see the parameters below. If it does not exist. you can escalate the alert to another operator. and overridden per status. Operator Message and Reply Expressions The operator message to use is specified as an expression that allows substitution parameters.Error_Reporting • A job from a job definition belonging to Finance reaches status Canceled . This allows the used escalation to be dynamic. Killed • The following alert escalations are defined: Error_Reporting. If the escalation returned by the expression exists. the default reply expression is Acknowledge. Error_Sysadmin. Operator Message Expression. You can look these up in Definitions > Job definitions or for built-in job definitions you can see System job definitions and SAP job definitions. When a specific condition does not have an escalation. and the Alert Source Email Body fields. For example. This can be specified at the alert source level. The message can be specified at the alert source level. This expression supports ${variable} substitutions and the Redwood Expression Language Syntax syntax for expressions.Administering the Scheduling Landscape Note You must use parameter names and not descriptions. the default message is Acknowledge. Canceled. Substitution parameters can be used in the Email Address.Error_Finance 291 . when specifying parameters. Error_Finance. Error_Jobs This will raise the following alerts: • A job from a job definition belonging to Reporting reaches status Error . this is done with escalations. When nobody has resolved the alert in a timely fashion. if you want to display all job definition alert sources with the term error in the comment.redwood.scripting. as follows: c:error n:all Note No spaces should be entered before or after the colon (:).redwood.varijcsAlertSourcePostAlertContext. name searches the name property c.getQueueByName("MyQueue"). application searches the application property 292 . jcsSession com.Logger jcsOutLog.AlertSourcePostAlertActionScriptObject Source(). Filters allow you to specify a list of objects with static criteria. you would use the search criteria as follows: c:error You can search more than one property.Error_Jobs Alert Source Actions Alert source actions are used to customize the behavior using RedwoodScript.logging.info("This is an informational message. jcsAlertSourcePostAlert. For example. IntelliSearch allows you to specify complex queries in a simple way using prefixes.api. description searches the description property a.redwood.getAlertContext ables.scheduler. See the Advanced Object Search for more information. comment searches the comment property d.scheduler. The following table illustrates the available prefixes for job definition alert sources: Prefixes Description n.scheduler.SchedulerSession jcsSession.com.api. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Finding Job Definition Alert Sources You can search for job definition alert sources using filters and the Search Job Definition Alert Sources box on the Job Definition Alert Sources tab.api. The following pre-defined objects are available: Object Class Example Code jcsOutLog com.").model.Administering the Scheduling Landscape • A job from a job definition belonging to Sysadmin was killed . Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. Note The jcsSession object is only available when you set an Action Subject.infrastructure.Error_Sysadmin • Other matching jobs . the job id of the highest parent.Create Create job definition alert sources JobDefinitionAlertSource. • ${jobDefinitionOwner} .the owner of the job definition.the job id.the name of the job definition. • ${jobId} . a privilege granted on Admin level allows the grantee to grant the privilege to other users.Edit Edit job definition alert sources JobDefinitionAlertSource. A job alert source can be created to trigger alerts for multiple jobs with pattern matching. per partition or isolation group. edit. If you have the object security. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges See Also • Triggering Alerts • Raising Alerts and Notifications from Jobs • Process Server Alert Sources • Raising Alerts and Notifications from Process Servers • Ad Hoc Alert Sources • Sending Ad Hoc Alert Sources • Monitor Alert Sources • Documenting Objects using the Documentation Tab Raising Alerts and Notifications from Jobs Use You can use jobs to generate alerts when they fail with job alert sources. which requires the Chargeable version.View Access job definition alert sources You can grant privileges on two levels. It allows you to specify which users can access. 293 .Delete Delete job definition alert sources JobDefinitionAlertSource. Access and Admin.Administering the Scheduling Landscape Security Privilege Description JobDefinitionAlertSource. you have an additional Security tab on the job definition alert source. • ${topLevelJobId} . Substitution Parameters Job definition alert sources support the following substitution parameters: • ${jobDefinition} . and delete the job definition alert source. These privileges can be granted system-wide. • ${<object>. proceed as follows: ='Job ${jobId} has a parameter Param1 with the following value: '+parameters. using the following two constructs: • conditional evaluation • REL expressions (without the equals (=)) Conditional Evaluation [?if test="expression"?] text [?endif?] REL Expressions [?=expression?] Substitution Parameters for use in Emails The following substitution parameters can be used in emails: • ${<object>. 294 .Administering the Scheduling Landscape • ${jobOwner} . • ${oldStatus} .url} Link to the object (permalink URL). getErrorName()) the object.the new status of the job.the old status of the job. • ${newStatus} .the value of output parameter 'name' of the job.the name of the queue of the highest parent job • ${remoteStatus} . • ${topLevelQueue} .name .Param1 To mix REL and non-REL substitution parameters. • outParameters. for example: Job with job id ${jobId} failed! As soon as you use REL expressions. available in REL only. you need to use the REL syntax ='Parameter Param1: '+parameters.the queue of the job Parameters with the ${} syntax can be entered verbatim. The value of the field must be prefixed with =. • parameters.Param1 Customizing Emails You can customize emails on the Alert Source Email tab.the value of input parameter 'name' of the job.Name of (ie.name .name} .the status in the remote system • ${returnCode} . available in REL only. like parameters.the owner of the job.the return code of the job • ${queue} . The value of the field must be prefixed with =.name. 3. Example Raise alerts when any SAP_AbapRun job enters status Error. Fill in a name into the Name field. Choose New Job Definition Alert Source from the context-menu. Fill in a name and SAP_AbapRun* into the Name Pattern field.link} Fully formed link: <a href="link">name</a> Where <object> can be one of the following: • object . Please check the following: ${o Example <html> <head><title>Email</title></head> <body> [?if test="alertSourceType === 'AdHocAlertSource'"?] Job alert: [?=Param1?] [?endif?] Link <a href="http://prd1. Fill Job ${jobOwner}. 2. Optionally fill the other fields. Choose Save & Close. 295 . Navigate to Alerting > Job Definition Alert Sources. 5.Administering the Scheduling Landscape • ${<object>. Choose Add and select Error in the Status drop-down.the alert • operatorMessage . Navigate to Alerting > Job Definition Alert Sources. has the job been restarted?. On the Statuses tab choose Add and select a status in the Status drop-down. Optionally fill in a status-specific operator message that overrules the default message. into the Name Pattern field. to force users to reply with Yes or No. Killed or Canceled. Unknown. 6. On the Statuses tab: a. 5. Choose New Job Definition Alert Source from the context-menu. 4.com:50200/scheduler/api-permalink/show?link-objecttype=[?=alertSourceType?]&link-uni </body> </html> Procedure Creating a job definition alert source 1. 3.masalan. 1. Fill ^Yes|No$ into the Reply Expression field.${jobDefinition} with job id ${jobId} reached status ${newStatus}. 2. 4.the operator message of the alert The following alert was not replied to in a timely manner: ${operatorMessage}. Choose Add and select Error in the Status drop-down.${jobDefinition} with job id ${jobId} and parameter '+parameters. Killed. b. Navigate to Alerting > Job Definition Alert Sources. Fill ='Job ${jobOwner}. SchedulerEntity se = om. the maximum number of restarts is set to 4.getRestartCount())) { // Reply to the operator message and restart the job om. // If RestartJobId is null. 2.Param1+'reached status ${newStatus}!' into the Operator Message field. 4. Unknown. if (j. 3. OperatorMessage om = alert.getState() == JobStatusState. 6.setReply("Acknowledged"). 5. A job definition is restarted when it reaches Error. Choose New Job Definition Alert Source from the context-menu. Choose Save & Close. Choose Save & Close. you can fill a specific operator message for each status. // Do not send emails for the first failure if (se instanceof Job) { Job j = (Job) se. choose Add and fill SAP_SYSTEMS into the Name field and ERP into the Value field. Fill in a name and SAP_AbapRun* into the Name Pattern field. On the Statuses tab: a. and Canceled. 7.Administering the Scheduling Landscape b.getAlert(). 7. and Canceled.getSenderObject(). then this is the first job. Long restartCount = new Long(3L). the job definition needs a parameter Param1. For the operator message to work.getOperatorMessage(). On the Parameter Matchers tab.getStatus().Final && restartCount. { // Get the alert information Alert alert = jcsAlertSourcePostAlertContext. Repeat previous step for statuses Unknown. Note that getRestartCount returns the number of remaining restarts. Repeat previous step for statuses Unknown.equals(j. Killed or Canceled. } } } See Also • Triggering Alerts • Job Definition Alert Sources 296 . You do not want to have to answer an alert for the first restart. 1. Killed. Raise alerts when any SAP_AbapRun job where the parameter SAP_SYSTEMS has value ERP enters status Error. If you do not provide a Default Alert Escalation you must specify a dynamic one . the default specified above will be used. if no escalation can be found. You may use substitution parameters ( see the Administration Guide ) in the address. Process Server Alert Source Raise a custom operator message ( see the Administration Guide ) Specify a custom Operator Message Expression and Operator Message Reply Expression. using the specified escalation. the alert will be sent to the specified address and escalated. Documentation Documentation A comment about the object. depending on the Time Window Status.see below.Specify an alert escalation using substitution parameters tion path ( see the Administration Guide ). 297 .Administering the Scheduling Landscape • Process Server Alert Sources • Raising Alerts and Notifications from Process Servers • Ad Hoc Alert Sources • Sending Ad Hoc Alert Sources • Monitor Alert Sources Process Server Alert Sources Use Process server alert sources raise alerts when process servers change status. Process Server Alert Source Raise alerts only at certain times Time Window and Time Zone allow you specify that alerts should only be fired when the time window is open or closed. you may also specify a Partition Pattern to only search for process servers whose partition matches the pattern provided. Statuses Status The status to react on. All conditions must be met for the alert to fire! Tabs & Fields The following table illustrates the fields of each tab of process server alert sources editor dialogs. Process Server Alert Source Sent to Specify an Address and a Default Alert Escalation. Process Server Alert Source Use a dynamic escala. if necessary. can be used for documentation purposes. Tab Field Description Process Server Alert Source Partition The partition where you wish to store the process server alert source Process Server Alert Source Name The name of the process server alert source Process Server Alert Source Application The application of the process server alert source Process Server Alert Source Description The description of the process server alert source Process Server Alert Source Raise an alert for process servers that match ( see the Administration Guide ) Specify a process server Name Pattern that will be used to match process servers. The reply expression can use regular expressions to force the user to select a reply. The value must match. when unchecked. No wildcards allowed. see Customizing email messages for information on how you can customize it. they fire after an alert is sent. overrides pression default. You must reply to the operator message and delete it if you want to suppress it. Regular Expression pattern. case-sensitive. GLOB wildcards allowed (? and *).Administering the Scheduling Landscape Statuses Operator Message Ex. Alert Source Actions ( see the Stub Source Administration Guide ) This code shows you where the action will be performed. You can use the following match rules: • Exact Insensitive . No wildcards allowed.Status-specific operator message expression. You must set an action subject if you want to use jcsSession Alert Source Actions ( see the Source Administration Guide ) The source of your code. Alert Source Actions ( see the Action Subject Administration Guide ) The user under which the code in the action is performed. the action will never fire. Alert Source Actions ( see the Library Administration Guide ) You can specify a library here containing methods you would like to use. case-insensitive.The value must match. • RegEx Insensitive . Context-Menu Actions Process server alert sources support the following context-menu actions: Action Description 298 . Statuses Delay Amount The amount of Delay Units to wait until the alert is sent.The value must match. • GLOB Sensitive . It is recommended to save your code in libraries so you can use it elsewhere.The value must match. case-sensitive. • The new status of the process server. case-sensitive. • Exact Sensitive . • RegEx Sensitive . They match on two criteria: • A pattern matching the name of the process server. Alert Source Email ( see the Administration Guide ) Body The body of the email to send. GLOB wildcards allowed (? and *). case-insensitive.* tion Guide ) This is where you can specify who can access/change/remove the process server alert source. Security ( see the Administra. Alert Source Actions ( see the Type Administration Guide ) The type of action. • GLOB Insensitive . Statuses Delay Units The units of time used in the Delay Amount. limited to Post Alert on alert sources. Regular Expression pattern. case-insensitive. Alert Source Actions ( see the Enabled Administration Guide ) This checkbox allows you to enable or disable the action.The value must match.The value must match. Criteria Process server alert sources raise alerts or notifications when process servers change status. • GLOB Sensitive . • RegEx Sensitive .The value must match. case-insensitive. Regular Expression pattern. the default reply expression is Acknowledge.The value must match. If no message is specified at any level. Escalation Escalations send operator messages and emails (via Email Alert Gateways).The value must match.The value must match.The value must match. • GLOB Insensitive . the default message is Acknowledge. No wildcards allowed. When a specific condition does not have an escalation. If no reply expression is specified. 299 . This can be specified at the alert source level. case-sensitive. Operator Message and Reply Expressions The operator message to use is specified as an expression that allows substitution parameters ( see the Administration Guide ). The reply expression works the same way as the reply expression for the System_OperatorMessage job. The message can be specified at the alert source level. and overridden per status.The value must match. no operator message is sent and the condition is ignored. GLOB wildcards allowed (? and *). case-sensitive. case-insensitive.Administering the Scheduling Landscape Edit Security Edit the security of the process server alert source Duplicate Make a copy of the process server alert source to create a similar one Delete Delete the process server alert source Export Export the process server alert source into a CAR file Edit Edit the process server alert source Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New process server alert source Create a new process server alert source Show diagram Display the dependencies in a Java applet diagram Filter > New Filter Create a new process server alert source filter Filter > Edit Filter Edit current process server alert source filter Filter > Delete Delete current process server alert source filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Criteria The name/partition pattern and status must be specified. case-sensitive. You can use the following match rules for name/partition patterns: • Exact Insensitive . No wildcards allowed. and overridden per status. Regular Expression pattern. GLOB wildcards allowed (? and *). • RegEx Insensitive . • Exact Sensitive . case-insensitive. PS_PRD_Shutdown will be tried.model.infrastructure.redwood.redwood. If it does not exist. different escalation paths can be defined depending on the new status of a process server: • Match Name: PS_PRD* • Expression: PS_PRD_${newStatus} • Default: PS_PRD_Alert • Statuses: Connecting.varijcsAlertSourcePostAlertContext. Unknown • The following alert escalations are defined: PS_PRD_Connecting. Note The jcsSession object is only available when you set an Action Subject.getAlertContext ables.scripting. then the default is used. is: • Connecting .AlertSourcePostAlertActionScriptObject Source().Administering the Scheduling Landscape When nobody has resolved the alert in a timely fashion. Alert Source Actions Alert source actions are used to customize the behavior using RedwoodScript.PS_PRD_Connecting will be tried. found and used. • A default alert escalation The expression is always evaluated first. • Running . for example. The following pre-defined objects are available: Object Class Example Code jcsOutLog com.scheduler.scheduler.api. PS_PRD_Alert If the new status of a process server named PS_PRD_EMEA_DB2.getQueueByName("MyQueue"). found and used.redwood. Process server alert sources use two rules to determine the alert escalation to use: • An expression to determine a dynamic escalation name.api. This allows the escalation used to be dynamic. then it is used. so PS_PRD_Alert will be used.Logger jcsOutLog. but not found. If the escalation returned by the expression exists. PartiallyRunning. Shutdown.SchedulerSession jcsSession."). • Shutdown .no alert will be raised.api. • Unknown .info("This is an informational message. 300 . PS_PRD_Shutdown. you can escalate the alert to another operator.logging.PS_PRD_Unknown will be tried. jcsAlertSourcePostAlert. For example.com. jcsSession com. This expression supports ${variable} substitutions and the Redwood Expression Language syntax for expressions.scheduler. This is done with escalations. If you want to use the same email for multiple alerts. Gateways will always attempt to use the most specific email and email address.Administering the Scheduling Landscape Alert Source Emails The Active Active Monitoring Module allows you to send email notifications to operators in case of errors. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. the search is done in the following order: • specific alert source • the gateway • the default See Customizing Emails ( see the Administration Guide ) for more information. description searches the description property a. The alert source allows you to specify a custom email with links to objects. so that operators can quickly evaluate the situation and react in a quick and efficient manner. you should consider specifying the email template on the alert escalation or gateway instead. as follows: c:error n:all Note No spaces should be entered before or after the colon (:). application searches the application property Security Privilege Description 301 . you would use the search criteria as follows: c:error You can search more than one property. IntelliSearch allows you to specify complex queries in a simple way using prefixes. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. The following table illustrates the available prefixes for process server alert sources: Prefixes Description n. See the Advanced Object Search for more information. Filters allow you to specify a list of objects with static criteria. comment searches the comment property d. name searches the name property c. Emails can be configured on the alert source as well as on the alert escalation. For example. Finding Process Server Alert Sources You can search for process server alert sources using filters and the Search Process Server Alert Sources box on the Process Server Alert Sources tab. if you want to display all process server alert sources with the term error in the comment. Likewise. The message can be specified at the alert source level.View Access process server alert sources You can grant privileges on two levels.Delete Delete process server alert sources ProcessServerAlertSource. If you have the object security. Access and Admin. a privilege granted on Admin level allows the grantee to grant the privilege to other users.Administering the Scheduling Landscape ProcessServerAlertSource. and delete the process server alert source. just like in Microsoft Windows or Unix. Alerts will be raised if both Name and Statuses criteria match. job alert sources raise alerts when jobs reach a specific status. edit. and overridden per status. It allows you to specify which users can access. so the wildcards * and ? can be used.Create Create process server alert sources ProcessServerAlertSource. per partition or isolation group. you have an additional Security tab on the process server alert source. the default message is Acknowledge. If no message is specified at any level. They match on two criteria: • A pattern matching the name of the process server or job. Glob matching is done. 302 . • Granting and Revoking System Privileges • Granting or Revoking Object Privileges See Also • Triggering Alerts • Job Definition Alert Sources • Raising Alerts and Notifications from Jobs • Raising Alerts and Notifications from Process Servers • Ad Hoc Alert Sources • Sending Ad Hoc Alert Sources • Monitor Alert Sources • Documenting Objects using the Documentation Tab Raising Alerts and Notifications from Process Servers Use Process server alert sources raise alerts when process servers change status. Operator message and reply expressions The operator message to use is specified as an expression that allows substitution parameters ( see the Administration Guide ). These privileges can be granted system-wide. which requires the Chargeable version.Edit Edit process server alert sources ProcessServerAlertSource. • The new status of the process server or job. found and used. PartiallyRunning. but not found. • Shutdown . If no reply expression is specified. PS_PRD_Shutdown. and overridden per status. found and used. PS_PRD_Alert If the new status of a process server named PS_PRD_EMEA_DB2. This can be specified at the alert source level. is: • Connecting . When nobody has resolved the alert in a timely fashion. then it is used. Unknown • The following alert escalations are defined: PS_PRD_Connecting. using the following two constructs: • conditional evaluation • REL expressions (without the equals (=)) Conditional Evaluation [?if test="expression"?] 303 . Alert Source Actions Alert source actions ( see the Administration Guide ) are used to customize the behavior using RedwoodScript. for example. For example. you can escalate the alert to another operator. When a specific condition does not have an escalation. Shutdown.PS_PRD_Connecting will be tried. This expression supports ${variable} substitutions and the Redwood Expression Language syntax for expressions. • A default alert escalation The expression is always evaluated first. Process server alert sources use two rules to determine the alert escalation to use: • An expression to determine a dynamic escalation name. then the default is used. If the escalation returned by the expression exists. This allows the escalation used to be dynamic.PS_PRD_Shutdown will be tried. Customizing Emails You can customize emails on the Alert Source Email tab.no alert will be raised. different escalation paths can be defined depending on the new status of a process server: • Match Name: PS_PRD* • Expression: PS_PRD_${newStatus} • Default: PS_PRD_Alert • Statuses: Connecting. • Running . This is done with escalations. so PS_PRD_Alert will be used. Note Escalation Escalations send operator messages and emails (via Email Alert Gateways).Administering the Scheduling Landscape The reply expression works the same way as the reply expression for the System_OperatorMessage job.PS_PRD_Unknown will be tried. • Unknown . If it does not exist. no operator message is sent and the condition is ignored. the default reply expression is Acknowledge. Choose New Process Server Alert Source from the context-menu. 2. Choose New Process Server Alert Source from the context-menu. Choose Save & Close. choose Add and select a status in the Status drop-down. Choose New Process Server Alert Source from the context-menu. [?=newStatus?] Link <a href="http://prd1. Navigate to Alerting > Process Server Alert Sources. Navigate to Alerting > Process Server Alert Sources. Repeat the previous step for statuses PartiallyRunning and Connecting. Example Raise alerts when any process server enters the Shutdown. choose Add and select Shutdown in the Status drop-down.masalan. Fill in a name into the Name field and * into the Name Pattern field. 2. PartiallyRunning. a.Administering the Scheduling Landscape text [?endif?] REL Expressions [?=expression?] Example <html> <head><title>[?=processServer?] Email</title></head> <body> Process server alert: [?=oldStatus?] =>. a. Raise alerts when process servers whose names start with Finance enter the PartiallyRunning or Connecting status. Repeat the previous step for all required statuses. 3. b. 1. 3. On the Statuses tab. Fill in a name into the Name field and Finance* into the Name Pattern field. Choose Save & Close. 3. 2. On the Sources tab. Fill in a name into the Name field and a pattern into the Name Pattern field. Navigate to Alerting > Process Server Alert Sources. b. 4. 304 . 1.com:50200/scheduler/api-permalink/show?link-objecttype=[?=alertSourceType?]&link-uni </body> </html> Procedure 1. 4. or Connecting status. 305 .getSenderObject(). instead. //Reply to operator message om. ignoring alert.getErrorNameEN())) { //Optional log entry jcsOutLog."). Alert Source Action to ignore process server PR3_PorcessServer.equals(se. Choose Save & Close. choose Add and select Shutdown in the Status drop-down.getOperatorMessage(). a. See Also • Triggering Alerts • Job Definition Alert Sources • Raising Alerts and Notifications from Jobs • Process Server Alert Sources • Ad Hoc Alert Sources • Sending Ad Hoc Alert Sources • Monitor Alert Sources Ad Hoc Alert Sources Use Ad hoc alerts are raised by the System_Alert_Send job definition or by custom script using RedwoodScript. which we have to take into consideration when we compare the strings.valueOf("Acknowledged")). } } Note In the above example. which is undergoing maintenance { // Get the alert information Alert alert = jcsAlertSourcePostAlertContext. On the Sources tab.info(se. getErrorNameEN() is used to retrieve the name of the process server because the method is available on SchedulerEntity. since it is mainly used for error messages. SchedulerEntity se = om.setReply("Acknowledge"). However.setStatus(AlertStatus. Tabs & Fields The following table illustrates the fields of each tab of Ad Hoc Alert Sources editor dialogs. OperatorMessage om = alert. //Check if the process server is PR3 if ("Process Server PR3_ProcessServer". You could look up the business key of the process server and retrieve the name from the ProcessServer class. b.getAlert(). it has an object type prefix.Administering the Scheduling Landscape 4. The job definition or code can be placed into job chains in order to implement customized alerting.getErrorNameEN()+ " was shut down. //Set status of alert to acknowledged alert. Repeat the previous step for statuses PartiallyRunning and Connecting. Alert Source Actions ( see the Enabled Administration Guide ) This checkbox allows you to enable or disable the action. 306 . Alert Source Actions ( see the Library Administration Guide ) You can specify a library here containing methods you would like to use.see below. they fire after an alert is sent. Specify an Address and a Default Alert Escalation. If no message is specified. the alert will be sent to the specified address and escalated. You must set an action subject if you want to use jcsSession Alert Source Actions ( see the Source Administration Guide ) The source of your code. when unchecked. limited to Post Alert on alert sources. Security This is where you can specify who can access/change/remove the ad hoc alert source. Alert Source Email ( see the Administration Guide ) Body The body of the email to send.Specify a custom Operator Message Expression and Operator message ( see ator Message Reply Expression. The reply expression can the Administration use regular expressions to force the user to select a reply. see Customizing email messages for information on how you can customize it. It is recommended to save your code in libraries so you can use it elsewhere. the default message is Acknowledge. Documentation Documentation A comment about the object. the action will never fire. depending on the Time Window Status. Alert Source Actions ( see the Action Subject Administration Guide ) The user under which the code in the action is performed. Alert Source Actions ( see the Type Administration Guide ) The type of action. If you do not provide a Default Alert Escalation you must specify a dynamic one . Ad Hoc Alert Source Raise a custom oper. Alert Source Actions ( see the Stub Source Administration Guide ) This code shows you where the action will be performed. You must reply to the operator message and delete it if you want to suppress it. You may use substitution parameters ( see the Administration Guide ) in the address. The message can be specified only at the alert source level. Guide ) Ad Hoc Alert Source Sent to Ad Hoc Alert Source Use a dynamic escal. using the specified escalation. can be used for documentation purposes. the default specified above will be used.Administering the Scheduling Landscape Tab Field Description Ad Hoc Alert Source Partition The partition where you wish to store the ad hoc alert source Ad Hoc Alert Source Name The name of the ad hoc alert source Ad Hoc Alert Source Application The application of the ad hoc alert source Ad Hoc Alert Source Description The description of the ad hoc alert source Ad Hoc Alert Source Raise alerts only at certain times Time Window and Time Zone allow you specify that alerts should only be fired when the time window is open or closed.Specify an alert escalation using substitution parameters ( ation path see the Administration Guide ). if no escalation can be found. * Operator Message and Reply Expressions The operator message to use is specified as an expression that allows substitution parameters ( see the Administration Guide ). if necessary. jcsAlertSourcePostAlert.model.com.redwood. When a specific condition does not have an escalation. Alert Source Emails Alert Gateways will always attempt to use the most specific email and email address. Note The jcsSession object is only available when you set an Action Subject. no operator message is sent and the condition is ignored. Alert Source Actions Alert source actions are used to customize the behavior using RedwoodScript. otherwise a text email is sent.redwood."). You can use specific constructs using REL expressions in your emails. For more information. jcsSession com.scheduler.getAlertContext ables.logging.scheduler. then the email type is set to HTML. the search is done in the following order: • specific alert source • the gateway • the default The email type is detected by the first letter. This allows the escalation used to be dynamic. When nobody has resolved the alert in a timely fashion. see Creating and Configuring Alert Gateways ( see the Administration Guide ).infrastructure.SchedulerSession jcsSession. If no reply expression is specified. Ad hoc alert sources use two rules to determine the alert escalation to use: • An expression to determine a dynamic escalation name.scheduler. Escalation Escalations send operator messages and emails (via Email Alert Gateways).api. if the first letter is a <.api.AlertSourcePostAlertActionScriptObject Source(). This expression supports ${variable} substitutions and the REL syntax for expressions. you can escalate the alert to another operator. it can be written as a regular expression. then the default is used.scripting.varijcsAlertSourcePostAlertContext. The following pre-defined objects are available: Object Class Example Code jcsOutLog com.getQueueByName("MyQueue"). This can be specified at the alert source level.api.Administering the Scheduling Landscape The reply expression works the same way as the reply expression for the System_OperatorMessage job. then it is used. 307 . this is done with escalations. If it does not exist.redwood. • A default alert escalation The expression is always evaluated first. If the escalation returned by the expression exists. the default reply expression is Acknowledge.info("This is an informational message.Logger jcsOutLog. Context-Menu Actions Ad hoc alert sources support the following context-menu actions: Action Description Edit Security Edit the security of the ad hoc alert source Duplicate Make a copy of the ad hoc alert source to create a similar one Delete Delete the ad hoc alert source Export Export the ad hoc alert source into a CAR file Edit Edit the ad hoc alert source Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New ad hoc alert source Create a new ad hoc alert source Show diagram Display the dependencies in a Java applet diagram Filter > New Filter Create a new ad hoc alert source filter Filter > Edit Filter Edit current ad hoc alert source filter Filter > Delete Delete current ad hoc alert source filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Ad Hoc Alert Sources You can search for ad hoc alert sources using filters and the Search Ad Hoc Alert Sources box on the Ad Hoc Alert Sources tab. you would use the search criteria as follows: c:error You can search more than one property. as follows: c:error n:all Note No spaces should be entered before or after the colon (:). This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. For example. for the full list see the Scripting Contexts and Implicit Objects ( see the Administration Guide ). Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. if you want to display all ad hoc alert sources with the term error in the comment. IntelliSearch allows you to specify complex queries in a simple way using prefixes.Administering the Scheduling Landscape Substitution Parameters Substitution parameters can be used in various field on alert sources. 308 . description searches the description property a. and delete the ad hoc alert source. which requires the Chargeable version. If you have the object security.Administering the Scheduling Landscape See the Advanced Object Search for more information.View Access ad hoc alert sources You can grant privileges on two levels. This is available as a substitution parameter in the alert source expressions.the job id of the alerting job.Edit Edit ad hoc alert sources AdHocAlertSource. 309 . per partition or isolation group. The following table illustrates the available prefixes for ad hoc alert sources: Prefixes Description n. name searches the name property c.Create Create ad hoc alert sources AdHocAlertSource. Access and Admin. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges See Also • Ad Hoc Alert Source • Documenting Objects using the Documentation Tab Sending Ad Hoc Alert Sources Use Ad hoc alerts are raised by the System_Alert_Send job definition or by custom script using RedwoodScript. The job definition or code can be placed into job chains in order to implement customized alerting. you have an additional Security tab on the ad hoc alert source. edit. a privilege granted on Admin level allows the grantee to grant the privilege to other users. These privileges can be granted system-wide. comment searches the comment property d.Delete Delete ad hoc alert sources AdHocAlertSource. application searches the application property Security Privilege Description AdHocAlertSource. It allows you to specify which users can access. The job takes two parameters: • The name of the ad hoc alert source • An optional data parameter that can be used to determine the escalation to use. Substitution Parameters Ad hoc alert sources support the following substitution parameters: • ${jobId} . no operator message is sent and the condition is ignored. then it is used. If no message is specified. Ad hoc alert sources use two rules to determine the alert escalation to use: • An expression to determine a dynamic escalation name. If the escalation returned by the expression exists. • ${topLevelJobId} .the value of the data parameter to the alerting job.the job id of the parent of the chain (inner-most job chain) Operator message and reply expressions The operator message to use is specified as an expression that allows substitution parameters. This can be specified at the alert source level. this is done with escalations. This expression supports ${substitution parameter} substitutions and the REL syntax for expressions. When nobody has resolved the alert in a timely fashion. using the following two constructs: • conditional evaluation • REL expressions (without the equals (=)) Conditional Evaluation [?if test="expression"?] text [?endif?] REL Expressions [?=expression?] Example 310 . Alert Source Actions Alert source actions ( see the Administration Guide ) are used to customize the behavior using RedwoodScript. the default message is Acknowledge. then the default is used.the job id of the main parent of the chain (outer-most job chain) • ${chainJobId} . If no reply expression is specified. If it does not exist. it can be written as a regular expression. Escalation Escalations send operator messages and emails (via Email Alert Gateways). This allows the escalation used to be dynamic. Customizing Emails You can customize emails on the Alert Source Email tab. • A default alert escalation The expression is always evaluated first. The reply expression works the same way as the reply expression for the System_OperatorMessage job. the default reply expression is Acknowledge. you can escalate the alert to another operator.Administering the Scheduling Landscape • ${data} . The message can be specified only at the alert source level. When a specific condition does not have an escalation. Administering the Scheduling Landscape <html> <head><title>Email</title></head> <body> Ad-hoc alert: [?=data?] Link <a href="http://prd1. 1. Result The second procedure uses an escalation expression: When the System_Alert_Send job definition is run with DataWareHouseReadCompleted as a parameter.com:50200/scheduler/api-permalink/show?link-objecttype=[?=alertSourceType?]&link-uni </body> </html> Procedure Use the finance escalation when the System_Alert_Send job is run with DataWareHouseLoaded as the alert source parameter. 2. 4.escalation DataMart_Default is run • data is China . 4. then the escalation run depends on the value of the data parameter: • data is USA . DataMart_${data} into the Escalation Expression and DataMart_Default into the Default Alert Escalation fields. Navigate to Alerting > Ad Hoc Alert Sources.escalation DataMart_APJ is run • data is India . Fill DataMartReadCompleted into the Name. 3. Fill DataWareHouseLoaded into the Name and Finance into the Default Alert Escalation fields.escalation DataMart_EMEA is run • data is APJ . Choose New Ad Hoc Alert Source from the context-menu.escalation DataMart_USA is run • data is EMEA . Choose Save & Close. 2. 3. Navigate to Alerting > Ad Hoc Alert Sources. Choose New Ad Hoc Alert Source from the context-menu. Note This requires the following alert escalations Finance. Make the escalation dependent on the value of the data alert source parameter 1. Choose Save & Close.masalan.escalation DataMart_Default is run Example Restart the inner-most chain when an ad hoc alert is sent 311 . Monitor Alert Source Raise a custom operator Specify a custom Operator Message Expression and Opmessage ( see the Ad. The reply expression ministration Guide ) can use regular expressions to force the user to select a reply. using the specified escalation.Select a monitor node.Time Window and Time Zone allow you specify that alerts tain times should only be fired when the time window is open or closed.erator Message Reply Expression.Administering the Scheduling Landscape { // Get the alert information Alert alert = jcsAlertSourcePostAlertContext. // Restart parent of parent Job myJob = (Job) se.getOperatorMessage(). If you do not provide a Default Alert Escalation you must specify a dynamic one .see below.getParentJob(). by monitoring the /System/ node.getSenderObject().resubmit(). the alert will be sent to the specified address and escalated. 312 .getParentJob(). You may use substitution parameters ( see the Administration Guide ) in the address. myJob. Tab Field Description Monitor Alert Source Partition The partition where you wish to store the monitor alert source Monitor Alert Source Name The name of the monitor alert source Monitor Alert Source Application The application of the monitor alert source Monitor Alert Source Description The description of the monitor alert source Monitor Alert Source Raise an alert for monit. like the host running the central server is running out of swap space or a queue is held. You can monitor the entire system. The system monitor displays a visual representation of the status of all components. } Monitor Alert Sources Use Monitor alert sources raise alerts when a system component reaches a specific severity. if necessary. for example. all its children are also monitored. Tabs & Fields The following table illustrates the fields of each tab of Monitor Alert Sources editor dialogs. OperatorMessage om = alert. All criteria must be met for the alert to fire. depending on the Time Window Status. Monitor Alert Source Sent to Specify an Address and a Default Alert Escalation. SchedulerEntity se = om. all nodes and leaf-nodes can be monitored with monitor alerts. or ( see the Administration Guide ) Monitor Alert Source Raise alerts only at cer. When you monitor a node.getAlert(). the default specified above will be used. When you do not specify an escalation for a specific rule. Criteria Monitor alert sources raise alerts or notifications when system components change status. Alert Source Email ( see the Administration Guide ) Body The body of the email to send. Alert Source Actions ( see the Action Subject Administration Guide ) The user under which the code in the action is performed. Rules Alert Escalation The rule-specific escalation. Alert Source Actions ( see the Enabled Administration Guide ) This checkbox allows you to enable or disable the action.* tion Guide ) This is where you can specify who can access/change/remove the monitor alert source. limited to Post Alert on alert sources. Rules Delay Units The units of time used in the Delay Amount. Rules Delay Amount The amount of Delay Units to wait until the alert is sent. see Customizing email messages for information on how you can customize it. You must reply to the operator message and delete it if you want to suppress it. You must set an action subject if you want to use jcsSession Alert Source Actions ( see the Source Administration Guide ) The source of your code. Alert Source Actions ( see the Library Administration Guide ) You can specify a library here containing methods you would like to use. Rules Operator Message Ex. then the severity change is ignored. Alert Source Actions ( see the Stub Source Administration Guide ) This code shows you where the action will be performed. Documentation Documentation A comment about the object. • The current severity of the monitor and the trend (raising or falling). if no escalation can be found. • Rules • An escalation 313 . Security ( see the Administra. Rules Processing Order The order in which the rules are processed. the action will never fire.Specify an alert escalation using substitution parameters tion path ( see the Administration Guide ). can be used for documentation purposes. this alert will fire only when the severity has risen to the previously specified severity. they fire after an alert is sent. Alert Source Actions ( see the Type Administration Guide ) The type of action. overrides default. Rules Rising When checked. It is recommended to save your code in libraries so you can use it elsewhere.Status-specific operator message expression.Administering the Scheduling Landscape Monitor Alert Source Use a dynamic escala. They match on two criteria: • The name of the monitor. Rules Severity Severity that will fire the alert. when unchecked. overrides pression default. Variables • ${data} . the monitor of that object will not be deleted immediately and a warning will be logged. and overridden per status. If no reply expression is specified. the default reply expression is Acknowledge. This can be specified at the alert source level. The message can be specified at the alert source level. Context-Menu Actions Monitor alert sources support the following context-menu actions: Action Description Edit Security Edit the security of the monitor alert source Duplicate Make a copy of the monitor alert source to create a similar one Delete Delete the monitor alert source Export Export the monitor alert source into a CAR file Edit Edit the monitor alert source Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New monitor alert source Create a new monitor alert source Show diagram Display the dependencies in a Java applet diagram Filter > New Filter Create a new monitor alert source filter Filter > Edit Filter Edit current monitor alert source filter Filter > Delete Delete current monitor alert source filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Operator message and reply expressions The operator message is specified as an expression that allows substitution parameters ( see the Administration Guide ). this may impact the response-time of the alert. If you set a delay amount on swiftly changing monitors.Administering the Scheduling Landscape Note Some monitors have a latency. The reply expression works the same way as the reply expression for the System_OperatorMessage job. and overridden per status. Note When you delete or rename an object which you are watching with a monitor alert source. the default message is Acknowledge. you will have to perform this task. If no message is specified at any level.Alert Source Type 314 . The monitor path of the alert source will not be updated.the current severity • ${alertSourceType} . the alert will only fire once the condition has been met for the duration of the delay. jcsSession com.info("This is an informational message. Alert Source Emails The Active Active Monitoring Module allows you to send email notifications to operators in case of errors. Emails can be configured on the alert source as well as on the alert escalation.scheduler.redwood.redwood. you should consider specifying the email template on the alert escalation or gateway instead. Gateways will always attempt to use the most specific email and email address.logging.model.getAlertContext ables. you can escalate the alert to another operator.scripting. no operator message is sent and the condition is ignored.redwood. If it does not exist. Monitor alert sources use two rules to determine the alert escalation to use: • An expression to determine a dynamic escalation name. This allows the escalation path to be dynamic.Administering the Scheduling Landscape • ${alertSourceUniqueId} .scheduler.Logger jcsOutLog.SchedulerSession jcsSession. The alert source allows you to specify a custom email with links to objects.com. This is done with escalations.getQueueByName("MyQueue"). • A default alert escalation The expression is always evaluated first.AlertSourcePostAlertActionScriptObject Source().varijcsAlertSourcePostAlertContext.Alert Source Unique Id Escalation Escalations send operator messages and emails (via Email Alert Gateways). If the escalation returned by the expression exists. When a specific condition does not have an escalation.api. The following pre-defined objects are available: Object Class Example Code jcsOutLog com.scheduler. the search is done in the following order: • specific alert source • the gateway 315 . Note The jcsSession object is only available when you set an Action Subject. Alert Source Actions Alert source actions are used to customize the behavior using RedwoodScript.api. so that operators can quickly evaluate the situation and react in a quick and efficient manner."). This expression supports ${variable} substitutions and the Redwood Expression Language syntax for expressions. If you want to use the same email for multiple alerts. then it is used. jcsAlertSourcePostAlert.infrastructure. then the default is used.api. When nobody has resolved the alert in a timely fashion. Each alert source uses specific rules to determine: • when an alert needs to be raised • the escalation to use • the message to send • the valid replies Alert escalations define where alerts are sent.ProcessServer. Alert operator messages are created by alert sources. this means that you will have to update the monitor alert source. the path to the monitor node will change independently of the monitor alert source.ProcessServer. • Default Alert Escalation .where the escalation message is to be sent. Renaming Objects When you rename objects for which a monitor alert source is watching a monitor node.the next escalation to use. This can be changed on the alert source. the monitor node will change to System. This is due to the fact that monitor nodes are not created during the import of an object. you will have to import the process server separately before you import the monitor alert source or the import will fail. For example.Administering the Scheduling Landscape Promotion When you promote monitor alert sources. if you have a monitor alert source that uses a monitor node belonging to a process server. the watched monitors must exist prior to importing the alert source. if your monitor alert source is watching System. For example.MSLN_WINS16 so you must update the monitor alert source. 316 . Each alert escalation has the following fields: • Address . See Also • Triggering Alerts • Job Definition Alert Sources • Raising Alerts and Notifications from Jobs • Process Server Alert Sources • Raising Alerts and Notifications from Process Servers • Ad Hoc Alert Sources • Sending Ad Hoc Alert Sources • Documenting Objects using the Documentation Tab Defining Escalation Routes Use By default the only response to an alert operator message is Acknowledge. and how long to wait for an acknowledgment before continuing to the next stage of the escalation.MSLN_WINS3 and you rename the process server MSLN_WINS3 to MSLN_WINS16. model.isables. Warning It is possible to create loops in escalation to repeatedly send messages.info("This is an informational message").api.infrastructure.api.scripting. We recommend you add a delay of at least one minute between escalations to avoid overloading your mail server or clients.redwood. If a default alert escalation is specified.AlertEscalationPostAlertActionScriptO. The message is sent to the specified address the moment the escalation is raised.Resend() bject jcsSession com. The following pre-defined objects are available: Object Class Example Code jcsOutLog com.SchedulerSession jcsSession. then it will be raised after the delay specified on the current escalation.logging. Alert Escalation Actions Alert escalation actions allow you to customize the way alerts are escalated.redwood.how long to wait for acknowledgment before the next escalation. Context-Menu Actions Alert escalations support the following context-menu actions: Action Description Edit Security Edit the security of the alert escalation Duplicate Make a copy of the alert escalation to create a similar one Delete Delete the alert escalation Export Export the alert escalation into a CAR file Edit Edit the alert escalation Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New alert escalation Create a new alert escalation Show diagram Display the dependencies in a Java applet diagram Filter > New Filter Create a new alert escalation filter Filter > Edit Filter Edit current alert escalation filter Filter > Delete Delete current alert escalation filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file 317 .getQueueByName("MyQueue").scheduler.Logger jcsOutLog.scheduler.api. jcsAlertEscalationPostAlertContext com. Note The jcsSession object is only available when you set an Action Subject.scheduler.Administering the Scheduling Landscape • Delay amount and units .varijcsAlertEscalationPostAlertContext.redwood. application searches the application property Deleting Alert Escalations You can only delete alert escalations when no other objects relate to them. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. comment searches the comment property d. You can see all job definition alert sources that relate to the escalation in Related Objects in the lower detail pane and on the show page. you would use the search criteria as follows: c:management You can search more than one property. if you want to display all alert escalations with the term management in the comment.Create Create alert escalations 318 . For example.the type of object with a link to it • Related Object . as follows: c:management n:corp Note No spaces should be entered before or after the colon (:). The table in related objects contains three columns: • Type . See the Advanced Object Search for more information.Administering the Scheduling Landscape Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Alert Escalations You can search for alert escalations using filters and the Search Alert Escalations box on the Alert Escalations tab. if there are job definition alert sources that use the escalation. description searches the description property a. name searches the name property c. The following table illustrates the available prefixes for alert escalations: Prefixes Description n.objects can sometimes be used in different roles Security Privilege Description AlertEscalation.the name of the object with a link to it • Used As . Filters allow you to specify a list of objects with static criteria. For example. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. IntelliSearch allows you to specify complex queries in a simple way using prefixes. the escalation cannot be deleted until all job definition alert sources that use it have been modified. Navigate to Alerting > Alert Escalations. If you have the object security. a privilege granted on Admin level allows the grantee to grant the privilege to other users.com into the Address field. Example Simple three stage escalation 1. 4.StageThree • Delay . Repeat the previous two steps to create two more with the data below. • Name . per partition or isolation group. you have an additional Security tab on the alert escalation.it-manager@company. and Delay field.com • Default . duty-operator@masalan. 2.View Access alert escalations You can grant privileges on two levels. 2. Choose Save & Close.none • Delay .com • Default . Fill the Name field.ignored 319 . It allows you to specify which users can access. edit. Choose New Alert Escalation from the context-menu.StageThree • Address . 3.Edit Edit alert escalations AlertEscalation. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure Create a simple alert escalation 1. Choose New Alert Escalation from the context-menu. Fill StageOne in the Name field.Delete Delete alert escalations AlertEscalation. the Address field. a.StageTwo • Address . leave the Unit drop-down on Minutes. b. 3. which requires the Chargeable version. and 15 into the Delay field. Choose Save & Close. Access and Admin.10 Minutes • Name .Administering the Scheduling Landscape AlertEscalation. Navigate to Alerting > Alert Escalations.backup-operator@company. and delete the alert escalation. These privileges can be granted system-wide. An email will be sent to duty-operator@company. If no response is received after 10 minutes. If no response is received after 10 minutes.StageThree • Delay . and 15 into the Delay field. duty-operator@masalan. then it will be escalated to StageTwo. Fill StageOne in the Name field.StageThree • Address .it-manager@company. • 20:15 . If no response is received after 5 minutes. If no response is received after 15 minutes. If no response is received after 15 minutes.An email will be sent to
[email protected] email will be sent to it-manager@company. 320 . Choose New Alert Escalation from the context-menu. then it will be escalated to StageThree.com.com • Default . Procedure 2: If an alert is raised at 20:00 and escalated to StageOne.backup-operator@company. b.com into the ''Address' field.StageTwo • Address . Choose Save & Close. • 20:30 .An email will be sent to duty-operator@company. • 20:15 .com.5 Minutes Result Procedure 1: If an alert is raised at 20:00 and escalated to StageOne. Navigate to Alerting > Alert Escalations. 2. then it will be escalated to StageThree. the following will happen: • 20:00 . • 20:25 .An email will be sent to backup-operator@company. then it will be escalated to StageThree. leave the Unit drop-down on Minutes.An email will be sent to
[email protected] Minutes • Name . 3.StageThree • Delay . Repeat the previous two steps to create two more with the data below.com.com. • Name . a. then it will be escalated to StageThree.An email will be sent to backup-operator@company. the following will happen: • 20:00 .com. then it will be escalated to StageTwo. If no response is received after 5 minutes. • 20:25 .com • Default .Administering the Scheduling Landscape Three stage escalation with loop 1.com. Tabs & Fields The following table illustrates the fields of each tab of Email Alert Gateway editor dialogs. bcc . Headers ( see the Administration Guide ) Value The value of the header. Tab Field Description Email Alert Gateway Partition The partition where you wish to store the email alert gateway Email Alert Gateway Name The name of the email alert gateway Email Alert Gateway Application The application of the email alert gateway Email Alert Gateway Description The description of the email alert gateway Email Alert Gateway Address Pattern ( see The email address pattern that this email alert gateway the Administration should use. valid email headers include subject. limited to Presend on email alert gateways. when unchecked. Documentation Documentation A comment about the email alert gateway Headers ( see the Administration Guide ) Name The name of the email header to use. if you want to use multiple SMTP servers. Email Alert Gateway Alert Resend Delay (in minutes) The delay in minutes before trying to resend a failed alert. Email Alert Gateways Use Alerting gateways specify the addressee as well as the content of the message that is to be sent to the operator. note that you can use substitution parametGuide ) ers in this field Email Alert Gateway Processing Order The order in which email alert gateways are processed. the file name Actions ( see the Administration Guide ) Type The type of action.Administering the Scheduling Landscape • Email will be continue to be sent to it-manager@company.. the action will never fire. You can have more than one email gateway. to. Job File Attachments ( see the Ad. Actions ( see the Administration Guide ) Enabled This checkbox allows you to enable or disable the action. the first that matches will be used.Name ministration Guide ) The short name of the job file to attach to the email.com every 5 minutes until the operator message is acknowledged.. It is recommended to save your code in libraries so you can use it elsewhere. 321 . they fire before an email is sent so you can suppress or customize it. Email Alert Gateway Alert Rate Limit The number of alerts that can be sent to an address within the alert rate window. Actions ( see the Administration Guide ) Library You can specify a library here containing methods you would like to use. Email Alert Gateway Alert Rate Interval (in The time interval in minutes for calculating the alert minutes) rate. Security ( see the Administration * Guide ) This is where you can specify who can access/change/remove the email alert gateway. Patterns support two wildcards: • '*' . Context-Menu Actions Email alert gateways support the following context-menu actions: Action Description Edit Security Edit the security of the e-mail alert gateway Duplicate Make a copy of the e-mail alert gateway to create a similar one Delete Delete the e-mail alert gateway Export Export the e-mail alert gateway into a CAR file Edit Edit the e-mail alert gateway Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New e-mail alert gateway Create a new e-mail alert gateway Show diagram Display the dependencies in a Java applet diagram Filter > New Filter Create a new e-mail alert gateway filter Filter > Edit Filter Edit current e-mail alert gateway filter Filter > Delete Delete current e-mail alert gateway filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Address Patterns Email alert gateways use patterns rather than names so that gateways can apply to all recipients of a particular group and aliases with specific naming conventions can be used to minimize the number of required gateways.matches any number of characters • '?' . Actions ( see the Administration Guide ) Stub Source This code shows you where the action will be performed.Administering the Scheduling Landscape Actions ( see the Administration Guide ) Action Subject The user under which the code in the action is performed.matches any single character. You must set an action subject if you want to use jcsSession Actions ( see the Administration Guide ) Source The source of your code. see Customizing email messages for information on how you can customize it. Example: 322 . Email ( see the Administration Guide ) Body The body of the email to send. •
[email protected] • ERP1@masalan. There is a special email header that can be used to override the SMTP server.the object that triggered the alert Mail headers starting with $MIME-Body-<name> set the MIME header <name> on the email body.the addressee's address • ${messageTitle} .com" . this allows you to dynamically set the subject of the email.com . for example text/plain • MIME-Version .com .indicates whether or not a binary-to-text encoding has been used and if yes. Note If the source of the email starts with < SAP CPS will set the Content-Type to text/html.presentation information for the email or part of it • Content-ID .the message • ${alertSource} .the alert source that triggered the alert • ${object} .com .matches all recipients at Masalan Inc. This is handy if you want to adapt the subject or add a reply-to address.the subject • ${message} . named X-Redwood-Server.com . currently MIME-Version: 1.a description for an object in the email • Content-Disposition .automatically generated globally unique identifiers • Content-Transfer-Encoding .DOES NOT MATCH er?@masalan. 323 . Valid Mime Headers include: • Content-Description . which one • Content-Type .com . otherwise it will be set to text/plain. for example.0 is the only value allowed.MATCHES •
[email protected] •
[email protected] all three letter strings starting with ER • erp@masalan. You can override this with the headers.com .DOES NOT MATCH Headers Email gateways also allow you to override email headers. The following substitution parameters can be used in headers: • ${address} . for example.maslan.the title of the message • ${subject} .MIME type used.MIME version used.Administering the Scheduling Landscape • • "*@masalan. You can use substitution parameters in email gateways. You can also add other custom email headers that may be required by your email system. Administering the Scheduling Landscape Job Files You can attach job files of the failed job to the email.log. as follows: 324 .api.api.redwood.api.SchedulerSession Note The jcsSession object is only available when you set an Action Subject. otherwise a text email is sent.getQueueByName("MyQueue"). jcsSession jcsSession. then the email type is set to HTML.Logger jcsOutLog. Stub code is already available to you and contains predefined objects. com. information on what went wrong.redwood. The job output is usually stored in stdout.info("This is an informational message").varireSendActionContext ables. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. For example. Usually. if you want to display all email alert gateways with the term management in the comment. Gateway Emails Gateways will always attempt to use the most specific email.model.EmailAlertGatewayPreSendActionScriptObject jcsEmailAlertGatewayPreSendActionContext.redwood. Alerting Gateway Actions Actions allow you to write script custom reactions to alerts in RedwoodScript.scripting. like managers. This allows the operator to troubleshoot the problem without the need to connect to the system and gives other addressees. Finding Email Alert Gateways You can search for email alert gateways using filters and the Search Email Alert Gateways box on the Email Alert Gateways tab.com. the search is done in the following order: • specific alert source email • the gateway email • the default email The email type is detected by the first letter. but you can specify any short name of a job file of the job. if they need to know. Filters allow you to specify a list of objects with static criteria. jcsEmailAlertGatewayP.logging.log which should contain specific error messages. you would use the search criteria as follows: c:management You can search more than one property.infrastructure. you would send stderr. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes.getMessage(). see Creating and Configuring Alert Gateways ( see the Administration Guide ). if the first letter is a <. You can use specific constructs using REL expressions in your emails. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Object Class Example Code jcsOutLog com.scheduler. For more information.scheduler.scheduler. Delete Delete email alert gateways EmailAlertGateway. These privileges can be granted system-wide. a privilege granted on Admin level allows the grantee to grant the privilege to other users. which requires the Chargeable version.the type of object with a link to it • Related Object . See the Advanced Object Search for more information. comment searches the documentation property d. You can see all alert escalations that relate to the gateway in Related Objects in the lower detail pane and on the show page.Administering the Scheduling Landscape c:management n:corp Note No spaces should be entered before or after the colon (:).View Access email alert gateways You can grant privileges on two levels. you have an additional Security tab on the email alert gateway. if there are alert escalations that use the gateway. the gateway cannot be deleted until all alert escalations that use it have been modified. edit. It allows you to specify which users can access.objects can sometimes be used in different roles Security Privilege Description EmailAlertGateway. For example. If you have the object security. and delete the email alert gateway.Create Create email alert gateways EmailAlertGateway. The table in related objects contains three columns: • Type . per partition or isolation group. The following table illustrates the available prefixes for email alert gateways: Prefixes Description n. description searches the description property a.Edit Edit email alert gateways EmailAlertGateway. Access and Admin. name searches the name property c.the name of the object with a link to it • Used As . application searches the application property Deleting Email Alert Gateways You can only delete gateways when no other objects relate to them. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges See Also • Creating and Configuring Alert Gateways 325 . com if their processing order is greater than 1.masalan.Administering the Scheduling Landscape • Documenting Objects using the Documentation Tab Creating and Configuring Email Alert Gateways Use Alerting gateways specify the addressee as well as the content of the message that is to be sent to the operator. SAP recommends using a catch-all gateway with an extremely high processing order. for example. you must pay attention to the pattern you use as well as the processing order of each email gateway.com:50200/scheduler/api-permalink/show?link-objecttype=[?=alertSourceType?]&link-uni </body> </html> 326 .masalan.masalan. an email gateway with an Address Pattern of *masalan. like 99. to make sure all emails are sent. You can. The most specific address patterns have to have the lowest processing order.com. When you configure multiple alert gateways. or you might have the wrong email gateway being used. using the following two constructs: • conditional evaluation • REL expressions (without the equals (=)) Conditional Evaluation [?if test="expression"?] text [?endif?] REL Expressions [?=expression?] Example <html> <head><title>[?=alertSourceType?] Email</title></head> <body> [?if test="alertSourceType === 'AdHocAlertSource'"?] Ad-hoc alert: [?=data?] [?endif?] [?if test="alertSourceType === 'ProcessServerAlertSource'"?] Process server alert: [?=oldStatus?] =>. like de. Customizing Emails You can customize emails on the Email tab.com or us. Email Alert Gateway Actions Email alert gateway actions ( see the Administration Guide ) allow you to customize the email and perform specific tasks before it is sent using RedwoodScript. cancel it under specific circumstances. You can have more than one email gateway. if you want to use multiple SMTP servers.com and a processing order of 1 will take precedence over any other email gateway for masalan. [?=newStatus?] [?endif?] Link <a href="http://prd1. For example. com into the Value field. Fill in the fields Name. 4. Choose Submit from the context-menu of System_Mail_Configure. choose Add again and enter stdout. 5. Creating an email gateway 1. Choose Save & Close. the mail server could not be automatically detected.com 1. 3. 7. You should ask your system or network administrator for the name or IP address of your SMTP mail server. You want to wait until the second run of the job has failed before you send alerting emails. Navigate to Alerting > Email Alert Gateways. You can re-run the job and specify the mail server to use. 4. Choose New Email Alert Gateway from the context-menu. 5. This will attempt to detect the appropriate mail server to use automatically. If the job ends in status Completed then the mail server has successfully been detected and stored. Navigate to Alerting > Email Gateways. 4. Optionally set custom headers on the Headers and specify files to attach on the Job File Attachments tab. Choose New Email Alert Gateway from the context-menu. Navigate to Definitions > Job Definitions.Administering the Scheduling Landscape Procedure Setting up email 1. If the job ends in status Error. this is done by suppressing the first email and operator message in the alert gateway action: { // Get the alert information Alert alert = jcsEmailAlertGatewayPreSendActionContext. Specify only the from address if you do not know the address of the SMTP server.log into the Name field. Check the status of the job in Monitoring > Job Monitor. 2. 2. Choose Save & Close.log into the Name field. Address Pattern and Processing Order. choose Add and fill subject into the Name field and prd-Job failed: ${subject} 6. Example Creating an email gateway for masalan. 327 . You should look at the log file for more information. choose Add and fill From into the Name field and prd-operators@masalan. On the Headers tab.getAlert().com into the Address Pattern and 99 into Processing Order. 2. On the Job File Attachments tab choose Add. Fill in the fields Name. enter stderr. 3. fill *@masalan. 3. On the Headers tab. this is not available for Escalation Expressions. consider the Oracle Job Definition Type. See Also • Diagram Applet Quick Reference Connecting to Remote Databases with JDBC Use The JDBC standard allows you to connect to third-party databases and perform queries against the remote database. om. 328 . The layout is random and cannot be changed. Only SQL is allowed. this is displayed with a connection to the escalation(s) referencing the gateway. if (j. When an alert source or an escalation directly references an escalation.Final && null == j.getRestartJobId()) { // Suppress sending the email jcsEmailAlertGatewayPreSendActionContext.getOperatorMessage(). SchedulerEntity se = om. If you need to execute PL/SQL calls against an Oracle database. then the diagram shows a connection between the two. which makes customizing them easier.setReply("Acknowledge"). platform dependent dialects. You can quickly visualize alerting routes.setSend(false).getState() == JobStatusState. Note JDBC requires the ProcessServerService. // Do not send emails for the first failure if (se instanceof Job) { Job j = (Job) se. } } } See Also Email Alert Gateways Visualizing Alerting Routes Use The Alerting diagram applet allows you to have an overview of the currently implemented alerting scenarios and customize it further.getStatus(). like TSQL or PL/SQL are not supported. You can query tables and execute stored procedures.getSenderObject(). SAP CPS allows you to interface with JDBC. // Reply to and delete the operator message om.deleteObject(). // If RestartJobId is null.JDBC. Choosing any object opens the object in an edit screen. then this is the first job.Administering the Scheduling Landscape OperatorMessage om = alert. When a gateway contains an explicit email address.limit license key. their basic database URL syntax and driver name. If you are running on another application server. you can upload it into a SAP CPS Library. You create a process server for JDBC 3. Always read the documentation that is provided with or for your JDBC driver. for example oracle. Drivers also require a database URL. 2. you can use the JDBC job definition wizard to jump-start. Some JDBC drivers only allow connecting to newer database versions. IBM DB2 329 . for example. You put the JDBC driver (jar file) into the CLASSPATH of your application server (AS). you must make sure the drivers are in the classpath and accessible to SAP CPS.Administering the Scheduling Landscape JDBC Drivers Note There are a number of JDBC drivers for different databases.driver. The following is required to use the JDBC driver: • JDBC driver (jar file) • driver name • database URL • database name and username/password The JDBC drivers usually have a driver name. make sure the JDBC driver is compatible with your database version.OracleDriver is the name of Oracle's thin client. Process Flow 1. alternatively. You create one or more credential(s) for JDBC (also covered in the JDBC process server topic). the Oracle thin client can use jdbc:oracle:thin:@<host>:<port>:<SID> or jdbc:oracle:thin:@<host>:<port>/<service>. See Also • JDBC Drivers • Creating JDBC Process Servers • JDBC Job Definition Wizard • JDBC Job Definition Types • JDBC Job Definition Type JDBC Drivers Use The following topic lists drivers. 4.jdbc. You create one or more JDBC job definitions. Always use the latest for your specific database version. which are shipped with Redwood Platform. such as SAP NetWeaver. This is an issue in the MS SQL Server JDBC driver version 3 and you have the following options to work around this issue: Install the hotfix released by Microsoft or use the version 2 or 4 of the MS SQL Server JDBC driver.jcc.microsoft.SQLServerDriver JDBCUsername masalan 330 .jdbc.microsoft.sqlserver.driver.jcc.driver. See the Microsoft JDBC team's blog [http://blogs.masalan.Administering the Scheduling Landscape jdbc:db2://<host>:<port>/<db> com.msdn.DB2Driver Oracle Thin Client jdbc:oracle:thin:@<host>:<port>:<SID> oracle.ibm.SQLServerDriver Note When you attempt to retrieve date-related data from an MS SQL Server database using the MS SQL Server JDBC driver in combination with a Java 1.com:1521/orcl JDBCDriverLibrary Custom JDBCDriverName oracle.OracleDriver Microsoft SQL Server 2000 jdbc:microsoft:sqlserver://<host>:<port>[.masalan.jdbc.7 JVM.com/b/jdbcteam].db2.jdbc.com:50000/msln JDBCDriverLibrary Custom JDBCDriverName com. the date will be off by two days.DatabaseName=<db>] com.masalan.jdbc. Examples The following examples illustrate how to use the above drivers in a JDBC process server IBM DB2 Process Server Parameter Value JDBCConnectionURL jdbc:db2://db2.sqlserver.OracleDriver JDBCUsername masalan SQL Server Process Server Parameter Value JDBCConnectionURL jdbc:microsoft:sqlserver://mssql.db2.DatabaseName=Masalan JDBCDriverLibrary Custom JDBCDriverName com.ibm.com:1433.DB2Driver JDBCUsername masalan Oracle Process Server Parameter Value JDBCConnectionURL jdbc:oracle:thin:@oracle. SAP CPS comes with several ways to spread the load out across systems. Creating a Process Server b. You can use queues to spread the load over multiple process servers by attaching the process servers that can run the jobs to queues. this has to be configured. 3. Creating Locks Raising Events with Files Tuning SAP CPS 331 . Using Resources to distribute the load d. Using Resources. Every SAP AS that is allowed to run jobs controlled by SAP CPS has its process server and queue created as soon as the connection is configured. Configuring a Process Server c. Using Process Servers a. This chapter contains the following topics: 1. jobs can be directed to specific process servers that serve the queue. Using Queues to Administer Job Execution c. especially when high load jobs are submitted without control. Controlling Process Servers with RedwoodScript Using Queues a. 4. Creating a Queue b. See Also • Connecting to Remote Databases with JDBC • JDBC Job Definition Type • Creating JDBC Process Servers • JDBC Job Definition Wizard Scaling the Scheduling Resources on the Central System Use Resources become scarce when the system load is not evenly spread out across the system landscape. 5. Creating Event-Driven Schedules a. 2. Controlling Queues with RedwoodScript Prevent Simultaneous Execution of Processes a.Administering the Scheduling Landscape Note MS SQL Server does not by default listen on TCP network ports. please check your license.Queue Relationships Use The process server and queue diagram applet is used to graphically display process server usage as well as relationships between process servers and queues in a 2D diagram. Process servers host services. Balancing the Load a. • System jobs (locally) for maintenance tasks. • Message-driven Beans with JXBP process servers • SAPPI jobs with SAPPI process servers • Platform process servers* • Unix shell scripts* • Windows Command scripts* • HP OpenVMS scripts * • Perl scripts* • JCL scripts for IBM z/OS* • AS/400 jobs* * (requires a specific license) Note Some job definition types require specific licenses. which allow jobs of different types to be run. They run jobs in local and remote systems. Choosing any object opens the object in an edit screen. Queue providers. The different types of jobs supported by SAP CPS include: • SAP ABAP jobs (via XBP) in R/3 and InfoPackages and Process Chains (via BW-SCH) in BI and Mass Activities in IS/U. which are represented as connections between queues and process servers. watching for file events. The layout is random and cannot be changed. SAP CPS Load Balancing for SAP Visualizing Process Server .Administering the Scheduling Landscape 6. 332 . and monitoring system performance. See Also • Diagram Applet Quick Reference Using Process Servers Use Process servers are responsible for running and monitoring jobs. XAL Load Balancing b. log and a second tab will open with a link to the job. 333 . Get Support Files Allows you to download log files and operator messages from the process server. Controlling Process Servers with RedwoodScript Context-Menu Actions The following context-menu actions are available for process servers: Action Description Start Start the process server Stop Stop the process server Monitor related Jobs Shows a job monitor with all jobs that are have. Pi or JXBP) or one per instance/client. Requires the Import/Export module license key. you will need to restart the process server for the changes to take effect. the required services are added automatically to the process server based on the job definition types or the SAP interfaces you configured. delete process servers. see the Deleting Process Servers section below for more information on deleting process servers. for example one per interface (XBP. Edit Security Allows you to specify which users or roles may view. You select the files you are interested in and submit the job. Duplicate Allows you to make a copy of the process server will all its settings. Configuring a Process Server 3. A new tab will open once the job has completed with the output of the job. edit. however. The only exception is for process servers that are used for file events exclusively. XMW. from there you can access the zip file with all the logs. SAP Process Servers There can be one or more process servers for every instance of an SAP System in the landscape. This allows SAP Systems and interfaces to be managed in a granular manner and makes it possible to manage scheduling on both a per-system and a perinterface basis.Administering the Scheduling Landscape Process servers are part of the Environment section of the navigation bar. Creating a Process Server 2. there you do not need to specify a job definition type. so there is no need to change services on a process server. 1. you can import it into another SAP CPS environment. this allows you to quickly inspect logs when something goes wrong. Note When you create or edit a process server. Process Server Parameters 4. are and are scheduled to run on the process server Export Allows you to export all the settings from this process server. Edit Allows you to edit the configuration of the process server. choose <job id> stdout. Delete Allows you to delete the process server. the PlatformAgentService has to be added manually. SAP process servers are created for you when you define an SAP System object in SAP CPS. XAL. Retrieving Support Files When you use the action Get Support Files a job is prepared so you can choose which log files to retrieve. For example.objects can sometimes be used in different roles. if you want to display all process servers with the term production in the comment. IntelliSearch allows you to specify complex queries in a simple way using prefixes. the process server cannot be deleted until all jobs that ran on it have been deleted. Besides. description searches the description property a. For example. if there are jobs that have run on the process server.Administering the Scheduling Landscape Finding Process Servers You can search for process servers using filters and the Search Process Servers box on the Process Servers tab. SAP jobs are forced to run on the process server that is connected to the appropriate SAP instance. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. application searches the application property Deleting Process Servers You can only delete process servers when no other objects relate to them. See Also • Process Server Parameters • Process Server Services • Job Files 334 . Filters allow you to specify a list of objects with static criteria. comment searches the documentation property d. You can see all jobs that relate to the process server in Related Objects in the lower detail pane and on the show page. See the Advanced Object Search for more information.the type of object with a link to it • Related Object . you must stop the process server first. name searches the name property c.the name of the object with a link to it • Used As . The table in related objects contains three columns: • Type . you cannot delete process servers that are currently running. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. The following table illustrates the available prefixes for process servers: Prefixes Description n. you would use the search criteria as follows: c:production You can search more than one property. as follows: c:production n:B1P Note No spaces should be entered before or after the colon (:). all of its services are also started. and creates job files. When a process server is started. • Can represent a remote system. for example. Process servers are part of the Environment section in the navigation bar.setForcedProcessServer(<process_server>) RedwoodScript method. Services A service executes jobs. You can recognize jobs that have been forced to run on a given process server in the job monitor by the Forced Process Server property which is set to the name of the process server. and execute your jobs. • Accepts jobs from a queue via a queue provider. to force a job to run on the same host as another job in a job chain. Context-Menu Actions Process servers support the following context-menu actions: 335 . for the ProcessServer named 'PS_TEST' which is in the GLOBAL partition as follows: /configuration/requestQueueSize/GLOBAL/PS_TEST/ScriptService=20 Forced Process Server You force a job to run on a specific process server by using the <job>. A service can be started and stopped independently of other services. for example. you might want to assign a service but no job definition type to a process server. for example an SAP system or a Unix server. The following standard process servers are provided with SAP CPS: Worker Queues By default. control. This is used in pre-running actions and triggers. Most services are related to job definition types. which means that it can execute 100 concurrent jobs (job running in parallel). when you assign a job definition type to a process server. In some circumstances.Administering the Scheduling Landscape • Creating Platform Process Servers • Privileges Required to use Process Servers Creating a Process Server Use A Process server is used to schedule. all services are stopped. when the process server is only used for file events. A process server: • Provides resources. When a process server is stopped. • Has services that execute jobs. You can set the maximum number of worker queues using the registry: /configuration/requestQueueSize/<process_server_partition>/<process_server>/<service> You set the maximum workers for the ScriptService (redwoodscript) to 20. the required service is automatically assigned to the process server. a process server has 100 worker queues. job logs. then it cannot be deleted until all jobs have been deleted. For example. if there are still jobs that ran on the process server. Process server parameters have two values. Errors and Operator Messages Process servers raise operator messages in the central 'Operator Messages' system when they encounter warnings and errors. You must first stop the process server.Administering the Scheduling Landscape Action Description Start Start the process server Stop Stop the process server Edit Security Edit the security of the process server Duplicate Make a copy of the process server to create a similar one Delete Delete the process server Monitor related Jobs Opens the job monitor with a filter displaying jobs related to the current process server Get Support Files Allows you to retrieve files for troubleshooting purposes. The Desired value reflects this change and makes it clear that a change has been made. it is recommended to check the Desired values of the parameters. 336 . which is the one that will be used after a restart of the process server. These will be different if you edit the parameters on a running process server but do not restart it. Before you restart a process server in a production environment. a Current value that is being used by the process server right now and a Desired value. operator messages Export Export the process server into a CAR file Edit Edit the process server Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar Expand All Expand all process servers in the current filter New Create a new process server Show Diagram Displays the Process Server diagram in a new tab (Java applet) Filter > New Filter Create a new process server filter Filter > Edit Filter Edit current process server filter Filter > Delete Delete current process server filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query It is not possible to delete a process server when it is in status Running. or if a process server does not start. such as process server logs. but is not yet being used. You should check the operator message log if a process server appears not to be behaving correctly. Deleting Process Servers You can only delete process servers when no other objects relate to them. after changing a process server (or the related SAP System). You can see all jobs that relate to the process server in the Related Objects in the lower detail pane and on the show page. Values More information about the various tabs of the process server editor is available in the Values for Creating a Process Server section of the documentation. and fill the data below into the corresponding fields on the tabs. It allows you to specify which users can access. 2. 3.UseForFileEvents Use the process server for file event jobs ProcessServer. select Manual Setup. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure 1. ProcessServer Tab Name: Main_SystemServer Default Job Time Zone: Europe/Berlin Application: [none] Description: Process server for the main system. 2.Administering the Scheduling Landscape Security Privilege Description ProcessServer. Choose Environment > Process Servers. Choose Save and Close. Choose New Process Server. Choose New Process Server. refer to the Values section below.Create Create process servers ProcessServer.SubmitOnto Submit jobs onto the process server You can grant privileges on two levels. Choose Save & Close to save the new process server and close the edit window. 5. and delete the process server. These privileges can be granted system-wide. If you have the object security.Control open and close the process server ProcessServer. 3. 337 . edit. a privilege granted on Admin level allows the grantee to grant the privilege to other users. Example 1.Edit Edit process servers ProcessServer. Choose Environment > Process Servers. Access and Admin. you have an additional Security tab on the process server. which requires the Chargeable version. Fill in the details.ViewJobs View the jobs in the process server ProcessServer. per partition or isolation group. Select the appropriate type 4.View Access process servers ProcessServer.Delete Delete process servers ProcessServer. Administering the Scheduling Landscape Documentation Tab Documentation: Process server for the main system. Parameters Tab Name: RootDirectory Value: /opt/redwood/data Services Tab Service: JobChainService Desired Status: Running Service: SystemService Desired Status: Running Providers Tab Queue: System Held: unchecked Execution size: Inclusive: unchecked Hold level: Hold Above CPU Load: Hold Above Page Rate: Time Window: [none] Resources Tab None Job Definition Types Tab JOBCHAIN SYSTEM See Also • Using the Wizard to Create Process Servers • Process Server Parameters • Process Server Services • Privileges Required to use Process Servers • Configuring a Process Server • Process Server Parameters • Controlling Process Servers with RedwoodScript 338 . parameters can have different values for every type. Note When you create or edit a process server. The only exception is for process servers that are used for file events exclusively. Value The process server parameter value. however. • Desired Status . there you do not need to specify a job definition type. Type Description Current The current value that is being used by the running process server. or ShutdownAbort. the PlatformAgentService has to be added manually. Default Value The default value of the process server parameter.The status of the service: Running. for reference only. Process Server Tab Field Name Description Name The name of the process server. the required services are added automatically to the process server based on the job definition types or the SAP interfaces you configured. Description The description of the process server. Queue Providers Tab Field Description 339 . ShutdownImmediate. Default Job Time Zone The time zone to use for jobs on this process server. Desired The value that is used the next time that the process server is started. Application The name of the application used to group this object. so there is no need to change services on a process server. refer to the process server parameters section. Parameters Tab For an extensive list of parameters. In the lower detail pane of a process server.Administering the Scheduling Landscape Values for Creating a Process Server Use The following tables illustrate the options available on the tabs of the process server editor. LastWorking The previous value that was used by the process server. Services Tab • Service .The service that the process server supports. ShutdownNormal. Field Name Description Name The process server parameter name. Documentation Tab Field Name Description Documentation A comment about the process server. See Also • Documenting Objects using the Documentation Tab Configuring a Process Server Use Configuring a process server enables you to tune the way it handles jobs and resources. by setting the hold level to 80 the other jobs run on the remaining process servers serving this queue. choose Edit. 3. Held Is this queue closed? (Y or N) Execution Size The number of concurrent jobs in the queue. For most customers. The configuration of a process server can be done at any time. Another queue. other process servers are serving this queue.The resource the process server can provide. One queue provider. Time Window The time window during which the queue releases the jobs. Example A process server is running low on resources and important financial jobs are not being processed in the expected time frame. refer to the Creating Process Servers section for the values. Hold Level Jobs below this priority level do not start. named MSLN_PRD_LW. especially at implementation time. to become active. Note You configure process servers that connect to SAP systems via the SAP System object in SAP CPS. Time Zone The time zone to use when the time window is used (and it has no time zone). is held. to prevent low priority jobs to be executed on this process server. Procedure 1.Administering the Scheduling Landscape Queue The queue name. Resources • Resource . after analysis the important jobs have a priority of 80. 4.The job type that the process server can run. Choose Environment > Process Servers. the new settings require a restart of the process server. From the context-menu of the process server. Further analysis shows that there are time consuming but low priority jobs running. the default settings are satisfactory. Choose Save and Close. Job Definition Types • Job Definition Type . MSLN_PRD_EM contains both low and high priority jobs. the queue size includes waiting jobs. 340 . Fill in the fields on the different tabs. 2. Inclusive If set to true. then restart the process server and open all queue providers. 3. in that you cannot create them manually. From the context-menu of the process server. which creates a process server for the SAP System.allows execution of job chain jobs • JXBPService .connects to AS/400 systems • DynamicsAxService . A process server can have one or more services to enable it to carry out these specific tasks. The process server needs to be restarted. The following services are available by default: • AS400Service . Choose Environment > Process Servers. Holding a queue provider only affects one process server.connects to DynamicsAx systems • JDBCService . choose Edit. You have to create an SAP System. 6. 2. 4. Choose MSLN_PRD_EM and enter 80 into the field Hold Level.connects to databases • JDEdwardsService .Administering the Scheduling Landscape 1. See Also • Configuring Load Balancing on Platform Agents • Configuring Platform Agents • Configuring Platform Agents on Microsoft Cluster Service • Configuring Platform Agents on Microsoft Windows • Privileges Required to use Process Servers • Creating a Process Server • Job Files • Process Server Parameters • Process Server Services Process Server Services Use Process servers have services to execute specific job definition types or connect to specific external systems. Choose MSLN_PRD_LW and select Held 5. Choose the QueueProviders tab. the best way to do this is to hold all queue providers and wait until all jobs have finished.allows execution of SAP Java Scheduler Message-Driven Beans jobs 341 . SAP process servers are special.connects to JDEdwards systems • JobChainService . Choose Save and Close. You can. however. the PlatformAgentService has to be added manually. for example. you must be careful when doing so.the service is attempting to connect the remote server • Running .allows creation of custom emails • OraAppsService .connects to SAP PI/XI systems • SAPR3Service .Administering the Scheduling Landscape • MailService .publishes files to Report2Web or Archive Server systems • ReportService . HP OpenVMS).connects to SAP PeopleSoft systems • PlatformAgentService . the directory has to exist on the Central Scheduler (where RedwoodScript jobs are processed) or the jobs will fail.the process server is shutdown Note All services of a scheduler need to have a Running status for the process server to have the Running status.allows execution of RedwoodScript jobs • UserMessageService . Mixing Process Server Services You may mix process server services. which can be one of the following: • Connecting .connects to Oracle Applications (Oracle EBS) systems • OracleJobService . if you set DataRootDirectory to F:\Some\Directory on a platform agent process server and you add the ScriptService to this process server.connects to BusinessObjects systems • SAPPIService .connects to local Oracle database • OraOhiService . Note When you create or edit a process server. The only exception is for process servers that are used for file events exclusively.generates reports • SAPBOBJService . Unix.connects to SAP systems • ScriptService . so there is no need to change services on a process server. there you do not need to specify a job definition type. you should not mix services if you have specified a DataRootDirectory parameter on the process server. the required services are added automatically to the process server based on the job definition types or the SAP interfaces you configured. You should create separate a process server with the ScriptService and put it in 342 . You should watch out. this status means that the connection has been established between the remote system and the Central Scheduler • Shutdown .the service is operational. for connecting services. however.connects to Platform agents • PublishService . when you mix services that save their files remotely with services that save their files locally. If you override the default settings of DataRootDirectory the resulting value must be valid on all systems involved. add the ScriptService to an SAP process server.connects to Oracle Health Insurance systems • PeopleSoftService . however. For example.Creates/processes UserMessages Services have a status. If the Central Scheduler and the platform agent process server are not running on the same platform (Windows. Administering the Scheduling Landscape the same queue(s) as the platform agent as using the System process server for this is not recommended (you cannot stop it). The following services store files on the Central Scheduler • AS400Service - connects to AS/400 systems • DynamicsAxService - connects to DynamicsAx systems • JDBCService - connects to databases • JDEdwardsService - connects to JDEdwards systems • JobChainService - allows execution of job chain jobs • JXBPService - allows execution of SAP Java Scheduler Message-Driven Beans jobs • MailService - allows creation of custom emails • OraAppsService - connects to Oracle Applications (Oracle EBS) systems • OracleJobService - connects to local Oracle database • OraOhiService - connects to Oracle Health Insurance systems • PeopleSoftService - connects to SAP PeopleSoft systems • PublishService - publishes files to Report2Web or Archive Server systems • ReportService - generates reports • SAPBOBJService - connects to BusinessObjects systems • SAPPIService - connects to SAP PI/XI systems • SAPR3Service - connects to SAP systems • ScriptService - allows execution of RedwoodScript jobs • UserMessageService - Creates/processes UserMessages The following service stores files on remote systems • PlatformAgentService - connects to Platform agents Security A service cannot be modified by a user, can be seen by all users and as such has no privileges. Job Files Use Jobs generate output, usually at least one output file and when errors occurred there is also a log file. These files can be plain text files or of another format , like PDF, depending on the job. These files are stored on the process server, SAP and System job output gets stored on the Central Scheduler; Remote agents store output of jobs locally. Sufficient free space must be available on these file systems, 343 Administering the Scheduling Landscape The default output file of jobs is named stdout.log, which refers to the concept of the standard output stream of computer systems. The log file is named stderr.log which refers to the concept of standard error stream of computer systems. Additional output files have the name of the output, if for example in a KSH or CMD job definition you direct output to a file, the filename will be the name of the output. In the following example, the job file will have the name of the output, done.txt. echo done > done.txt The location of the output and log files is configured with the DataRootDirectory process server parameter, which can be set for all process servers. The DataRootDirectory also contains process server log files, as well as other data used by file event processes. This directory must reside on local storage; SAN is considered local storage, NFS/SMB or any other type of NAS network share is not supported for the DataRootDirectory. Note The process server parameter can have a trailing slash / or \, however, this is not required. Under the DataRootDirectory a lis and log directory will be created, the first for the output, which by default will have a txt extension, and the latter for log files, which by default will have a log extension. The extension of the job files depends on the output and log format. SAP and System Process Servers SAP and System process servers do not have the parameter in their parameters list and use the default value, which is java.io.tmpdir, and depends on the configuration of your JEE Application Server, where it can be changed centrally. In Redwood Platform, the default java.io.tmpdir, is set to ${InstallDir}\j2ee\cluster\server1\temp. In SAP NetWeaver, this value is set to the system temp directory by default, which is %windir%\temp on Windows by default and /tmp on most Unix systems by default. The DataRootDirectory of the System process server can be set with the job definition System_SetSystemDataRootDirectory. The DataRootDirectory of SAP process servers just needs to be set on the process server. Previous versions required the process server to have a System job definition type, this is no longer the case. Platform Agents The default value of DataRootDirectory is set to <InstallDir>/var by default, this value should be changed to a directory on a large file system. <InstalLDir> is the installation directory, on Windows the default is %ProgramFiles%\Redwood\Server on Unix systems there is no default, it will default to the current working directory. Note Previous releases had the DataRootDirectory set to <InstallDir>/<version>/var; Redwood highly recommends to set the DataRootDirectory process server parameter before upgrading if you had not set it previously. If you choose not to, file events can loose their state after the upgrade. 344 Administering the Scheduling Landscape See Also The Environment of Platform Jobs Creating JDBC Process Servers Use You use JDBC process servers to connect to remote databases using the standard JDBC drivers. To be able to configure the process server, you must be know the configuration details of JDBC in Java. Check the documentation that ships with/for your jdbc driver before you continue. JDBC setup is database-specific. Note Every JDBC process server requires a free slot in the ProcessServerService.JDBC.limit license key. Note If SAP CPS is installed in an Oracle database, you can also use the OracleJob job definition type. Prerequisites • Every JDBC process server requires a free slot in the ProcessServerService.JDBC.limit license key Parameters The following JDBC-specific process server parameters are available: • JDBCDriverLibrary - Name of the custom library that contains the driver jar file, required only if the driver is not on the CLASSPATH. • JDBCOracleDBMSOutput Use Oracle DBMS Output? • JDBCOracleDBMSOutputDestination - either stderr.log or stdout.log. Defaults to stderr.log for CSV, and stdout.log for all others. • JDBCOracleDBMSOutputHeader - header to print before the dbms output. Defaults to <h3>Output</h3><hr><pre> for HTML, <output> for XML and nothinga for all others. • JDBCOracleDBMSOutputFooter - footer to print after the dbms output. Defaults to </pre></hr> for HTML, </output> for XML and nothing for all others. • JDBCUsername The username for the JDBC connection. • JDBCDriverName The class name of the JDBC driver. • JDBCConnectionURL The URL for the JDBC connection. Procedure Creating a JDBC process server 1. Navigate to Environment > Process Servers. 2. Choose New Process Server from the context-menu. 345 Administering the Scheduling Landscape 3. Select the appropriate type of process server. 4. Fill a name into the Name field and select a time zone in the Default Job Time Zone field. 5. On the Job Definition Types tab, add JobChain and JDBC; if your SAP CPS installation is running against an Oracle database, you may as well add OracleJob. 6. On the Parameters tab, add at least the following parameters: 7. a. JDBCConnectionURL - The URL for the JDBC connection. b. JDBCUsername - The username for the JDBC connection. c. JDBCDriverName - The class name of the JDBC driver. Choose Save & Close Creating a Credential 1. Navigate to Security > Credentials. 2. Choose New Credential from the context menu, select JDBC as credential type. 3. Fill-in the name of the JDBC process server created earlier into the Endpoint field. 4. Fill-in a username (must be the same as the process server parameter) and its password. 5. Optionally, specify a virtual username. Example You want to connect to an Oracle database with the ojdbc6.jar driver. The driver ships with the following info: Name: Oracle Thin Client Database URL: jdbc:oracle:thin:@<host>:<port>:<SID> Alternate database URL: jdbc:oracle:thin:@<host>:<port>/<service_name> Driver Name: oracle.jdbc.driver.OracleDriver 1. Navigate to Environment > Process Servers 2. Choose New process Server from the context-menu. 3. Select the appropriate process server type. 4. Fill a name into the Name field and select a time zone in the Default Job Time Zone field. 5. On the Job Definition Types tab, add JobChain and JDBC; if your SAP CPS installation is running against an Oracle database, you may as well add OracleJob. 6. On the Parameters tab, add the parameters from the table below. 7. Choose Save & Close Parameter Name Value JDBCConnectionURL jdbc:oracle:thin:@127.0.0.1:1521:masalan 346 Administering the Scheduling Landscape JDBCDriverLibrary Custom JDBCOracleDBMSOutput true JDBCUsername masalan JDBCDriverName oracle.jdbc.driver.OracleDriver See Also • Connecting to Remote Databases with JDBC • JDBC Drivers • Creating JDBC Process Servers • JDBC Job Definition Wizard • JDBC Job Definition Types • JDBC Job Definition Type Controlling Process Servers with RedwoodScript Use When you have a lot of repetitive tasks to perform, it is often easier to use script. RedwoodScript allows you to control process servers, and you can edit all process servers, regardless of the total number, with a few lines of code. The following examples illustrate how you can use RedwoodScript to control process servers. SAP does not warrant that this is the most effective way to solve your problem. For more information on RedwoodScript, see the API documentation, which is available when you have the Chargeable version. If you have the Chargeable version but no API documentation, please contact SAP.. Example Starting and stopping Process Servers { // get the process server ProcessServer prodProcessServer = jcsSession.getProcessServerByName("TR2_ProcessServer"); //stop the test process server prodProcessServer.stop(); jcsSession.persist(); //start the production process server prodProcessServer.start(); jcsSession.persist(); } Adding a Process Server to a Queue The following example can be used to add a process server into a queue and display all queues the process server is currently serving. { // get the queue and the process server Queue queue = jcsSession.getQueueByName("TR50_Queue"); ProcessServer proc = jcsSession.getProcessServerByName("TR5_ProcessServer"); 347 Administering the Scheduling Landscape //create a queue provider proc.createQueueProvider(queue); //save data in the database jcsSession.persist(); //go through all queue providers of the process server for (Iterator it = proc.getQueueProviders(); it.hasNext();) { QueueProvider provider = (QueueProvider) it.next(); //print the queues jcsOut.println(provider.getQueue().getName()); } } Adding a Job Definition Type When you add a job definition type to a process server in the user interface, the process server automatically gets the respective service. This is not the case in RedwoodScript, the service has to be added as well. The process server needs to be shutdown for the code to work. { //get the process server, the job definition type as well as the service ProcessServer proc = jcsSession.getProcessServerByName("TR5_ProcessServer"); JobDefinitionType jobDefType = jcsSession.getJobDefinitionTypeByName("KSH"); Service procservice = jcsSession.getServiceByName("PlatformAgentService"); //add job definition type and service to process server proc.createProcessServerJobDefinitionType(jobDefType); proc.createProcessServerService(procservice); //add the mandatory process server parameters required by the ''PlatformAgentService'' service. ProcessServerParameter RemoteHostName = proc.createProcessServerParameter(); RemoteHostName.setName("RemoteHostName"); RemoteHostName.setValue("192.168.1.3"); ProcessServerParameter SharedSecret = proc.createProcessServerParameter(); SharedSecret.setName("SharedSecret"); SharedSecret.setValue("SomeBase64"); jcsSession.persist(); } Shutdown All Process Servers Retrieve the process servers using executeObjectQuery. { String query = "select ProcessServer.* from ProcessServer where Name <> 'System'"; for (Iterator it = jcsSession.executeObjectQuery(query, null); it.hasNext();) { ProcessServer proc = (ProcessServer) it.next(); jcsOut.println("Stopping process server "+ proc.getName()+", which has the status "+ proc.getStatus()+". proc.stop(); jcsSession.persist(); } } 348 Administering the Scheduling Landscape Delete Jobs that ran on a Process Server You want to delete all the jobs of a process server because you want to delete the process server, you may proceed as follows: The following example illustrates how to delete all the jobs that ran on process server MSLN_WINS3. { for (Iterator it = jcsSession.executeObjectQuery("select Job.* from Job where ProcessServer = "+jcsSession.g { Job j = (Job) it.next(); if(j != null) { jcsOut.println("Deleting job "+ j.getDescription()+", which has the status "+ j.getStatus()+"."); j.deleteObject(); } jcsSession.persist(); } } See Also • Using the Wizard to Create Process Servers • Process Server Parameters • Process Server Services • Job Files • Creating Platform Process Servers • Privileges Required to use Process Servers • Creating a Process Server • Configuring a Process Server • Process Server Parameters Using Queues Use Groups of jobs are managed using queues. Queues distribute jobs to process servers, where the jobs actually run. You can use queues to limit the number of jobs that can run simultaneously, distribute workload across multiple systems and provide fail-over facilities. One queue can be attached to multiple process servers, in which case SAP CPS decides which process server to run the job at when the job starts. One process server can be attached to multiple queues, in which case it can run jobs from any of those queues. 1. Creating a Queue 2. Using Queues to Administer Job Execution 3. Using Resources to distribute the load 349 Administering the Scheduling Landscape 4. Controlling Queues with RedwoodScript Note SAP recommends you to specify a time zone on a queue, especially when you tie a time window to it to make sure the correct time is used. Finding Queues You can search for queues using filters and the Search Queues box on the Queues tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. For example, if you want to display all queues with the term production in the comment, you would use the search criteria as follows: c:production You can search more than one property, as follows: c:production n:B1I Note No spaces should be entered before or after the colon (:). See the Advanced Object Search for more information. The following table illustrates the available prefixes for queues: Prefixes Description n, name searches the name property c, comment searches the documentation property d, description searches the description property a, application searches the application property Deleting Queues You can only delete queues when no other objects relate to them. For example, if there are jobs that have run in the queue, the queue cannot be deleted until all jobs that ran in it have been deleted. You can see all jobs that relate to the queue in Related Objects in the lower detail pane and on the show page. The table in related objects contains three columns: • Type - the type of object with a link to it • Related Object - the name of the object with a link to it • Used As - objects can sometimes be used in different roles 350 Administering the Scheduling Landscape See Also • Central Scheduling System • RedwoodScript • Privileges Required to use Queues Creating a Queue Use A queue contains jobs waiting to be processed by one or more process servers. Queues allow: • Resource limiting - you can limit the number of jobs running on a queue. • Routing using queue providers - queues can route jobs to one or more process servers. A queue can be served by more than one process server at the same time. You can link a queue to a process server by creating a queue provider. When a job enters the queue it will be executed by an active process server that serves the queue. A queue can be open or held. While a queue is held, the central server will not start any new jobs in the queue. A queue is automatically held if: • There are no process servers associated with the queue. • The time window on the queue is held. • All queue providers are held. A queue provider is held if: • The queue provider has been put on hold by an operator. • The process server associated with the queue provider is stopped. A queue might appear held to you while it is open to others; this is usually due to the fact that you cannot see any of the running process servers that are serving the queue. A queue can also be held and released by operators, a queue held by an operator will be in status ClosedHeld. If a queue is held, no more jobs will start in that queue. It is also possible to hold the individual queue providers (for example, to hold a provider linking the queue CRM to the process server CR6). This allows the queue to continue feeding jobs to other process servers. This is useful when it is necessary to shut down a single process server, but leave the queue feeding others. The process to follow in this case is: • Hold each queue provider that connected to the process server you want to shut down. • Wait for all jobs currently running on the process server to reach a final state. • Shut down the process server. When starting up, the reverse process is necessary: • Start up the process server. • Release each queue provider. 351 Administering the Scheduling Landscape Queues are part of the Environments section in the navigation bar. The following standard queues are provided with SAP CPS: • System - the queue for processing system jobs. Please note that you cannot change (hold, for example) the System queue, so you should create your own for scheduling your System jobs. Note SAP recommends you to specify a time zone on a queue, especially when you tie a time window to it to make sure the correct time is used. Context-Menu Actions Queues support the following context-menu actions: Action Description Hold Holds the queue, this prevents new jobs from starting (changing from state Queued to Running) in the queue. Jobs that are already running will continue to run. Release Releases the queue, this releases a queue that is held. This action only works if the queue is in status ClosedHeld (which means that it is held by the operator). Edit Security Edit the security of the queue Duplicate Make a copy of the queue to create a similar one Delete Delete the queue Monitor related Jobs Opens the job monitor with a filter displaying jobs related to the current queue Export Export the queue into a CAR file Edit Edit the queue Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New queue Create a new queue Filter > New Filter Create a new queue filter Filter > Edit Filter Edit current queue filter Filter > Delete Delete current queue filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Note If a queue and/or a queue provider has/have a time window, it is always wise to specify a time window, especially when the time window has not time zone. 352 Administering the Scheduling Landscape Deleting Queues You can only delete queues when no other objects relate to them. For example, if there are still jobs that ran in the queue, the queue cannot be deleted until all jobs have been deleted, likewise if job definitions reference the queue as a default queue. You can see all jobs and job definitions that relate to the queue in the Related Objects in the lower detail pane and on the show page. Security Privilege Description Queue.Create Create queues Queue.Delete Delete queues Queue.Edit Edit queues Queue.View Access queues Queue.ViewJobs View the jobs in the queue Queue.SubmitOnto Submit jobs onto the queue You can grant privileges on two levels, Access and Admin; a privilege granted on Admin level allows the grantee to grant the privilege to other users. These privileges can be granted system-wide, per partition or isolation group. If you have the object security, which requires the Chargeable version, you have an additional Security tab on the queue. It allows you to specify which users can access, edit, and delete the queue. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure 1. Choose Environment > Queues. 2. From the context-menu, choose New Queue. 3. Fill in the details on the different tabs, refer to the Values section below. 4. Choose Save and Close. Queue • Name - The name of the queue. • Application - The name of the application used to group this object. • Description - The description of the queue. • Execution Size - The number of concurrent jobs in the queue. • Inclusive - If set to true, the queue size includes waiting jobs. • Hold Level - Jobs below this priority level will not be started. • Time Window - The time window during which the queue will release the jobs. • Time Zone - The time zone to use for the time window (if specified). • Overdue - Set scripts that are not run within their time window to status OVERDUE 353 Administering the Scheduling Landscape Documentation • Documentation - a comment about the queue. Providers • Process Server - The process server name. • Held - Is this queue provider closed? (Y or N) • Execution Size - The number of concurrent jobs in the queue. • Inclusive - If set to true, the queue size includes waiting jobs. • Hold Level - Jobs below this priority level will not be started. • Time Window - The time window during which the queue provider will release the jobs. • Time Zone - The time zone to use for the time window (if specified). Example 1. Choose Environment > Queues in the Navigation bar. 2. Choose New Queue and fill in the values below. 3. Choose Save & Close to save the new queue and close the edit window. Queue tab Name: Process_Reports_Queue Application: [none] Description: Process Reports Queue Execution Size: 10 Inclusive: Checked Hold Level: 20 Time Window: System_Week_Friday Time Zone: Europe/Berlin Overdue: Unchecked Documentation Tab Documentation: This queue is used to process reports. Providers tab Process Server: SYSTEM Held: Unchecked Execution Size: 20 Inclusive: Checked Hold Above Page Rate: Time Window: [none] Time Zone: [none] See Also • Using Queues to Administer Job Execution 354 Administering the Scheduling Landscape • Using Resources to distribute the load • Controlling Queues with RedwoodScript • Privileges Required to use Queues Using Queues to Administer Job Execution Use Jobs wait in queues until a process server serving the queue and that provides adequate resources is available, and while queue limits are not reached. Queue limits can be a number of jobs, a time window restricting the queue to be open at night time, for example. Queue providers, by which process servers serve a queue, can also have restrictions. The following restrictions apply to queues and to queue providers: • Execution Size • Hold level • Time window with time zone The most restrictive setting applies, a queue can have an execution size of 3, if a queue provider serving this same queue has an execution size of 6 this value is never reached. If the time window of a queue provider is always closed during the time window of the queue then the process server may not run any jobs from that queue. Note SAP recommends you to specify a time zone on a queue, especially when you tie a time window to it to make sure the correct time is used. Procedure To limit the amount of jobs in a queue 1. Choose Environment > Queues. 2. From the context-menu of the queue, choose Edit. 3. Fill in a numeric value into the field Execution Size. 4. Choose Save & Close. See Also • Creating a Queue • Using Resources to distribute the load • Controlling Queues with RedwoodScript • Privileges Required to use Queues 355 Administering the Scheduling Landscape Using Resources to distribute the load Use Resources are a way of restricting jobs to run on process servers that have certain facilities available. Job definitions can optionally require a resource, when they have, they are forced to run on a process server that offers that resource. Such job definitions will only run on a process server that provides that resource. Process servers may provide one or more resources. Resources are part of the Definitions section in the navigation bar. There are no standard resources provided with SAP CPS Resources support the basic actions of New, Edit, Delete, and Refresh. Context-Menu Actions Resources support the following context-menu actions: Action Description Edit Security Edit the security of the resource Duplicate Make a copy of the resource to create a similar one Delete Delete the resource Export Export the resource into a CAR file Edit Edit the resource Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New resource Create a new resource Filter > New Filter Create a new resource filter Filter > Edit Filter Edit current resource filter Filter > Delete Delete current resource filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Resources You can search for resources using filters and the Search Resources box on the Resources tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. For example, if you want to display all resources with the term production in the comment, you would use the search criteria as follows: c:production You can search more than one property, as follows: 356 Administering the Scheduling Landscape c:production n:Bi Note No spaces should be entered before or after the colon (:). See the Advanced Object Search for more information. The following table illustrates the available prefixes for resources: Prefixes Description n, name searches the name property c, comment searches the documentation property d, description searches the description property a, application searches the application property Deleting Resources You can only delete resources when no other objects relate to them. For example, if there are still jobs or job definitions that reference the resource, the resource cannot be deleted until all references have been deleted. You can see all references to the resource in Related Objects in the lower detail pane and on the show page. Resources used by process servers are shown in the Process Server Resources table. The table in related objects contains three columns: • Type - the type of object, like Job Definition for a job definition with a link to it • Related Object - the name of the object with a link to it • Used As - objects can sometimes be used as different object types For example, resources that are used in job job definitions, will have the call-reference in Related Objects. The type will be Job Definition, for example and the Related Object will be the name of the job definition. Note When a job definition is displayed with a timestamp in the name, this indicates that there still is a job that refers to the resource. You might have changed the job definition, but as long as that job is in the system you will not be able to delete the resource. Security Privilege Description Resource.Create Create resources Resource.Delete Delete resources Resource.Edit Edit resources Resource.View Access resources You can grant privileges on two levels, Access and Admin; a privilege granted on Admin level allows the grantee to grant the privilege to other users. These privileges can be granted system-wide, per partition or isolation group. 357 Administering the Scheduling Landscape If you have the object security, which requires the Chargeable version, you have an additional Security tab on the resource. It allows you to specify which users can access, edit, and delete the resource. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure 1. Choose Definitions > Resources. 2. Choose Refresh to see all existing resources. 3. Choose New Resource to create a resource. 4. Fill in the details, refer to the section below. 5. Choose Save and Close to save the resource. Resource • Name - The name of the resource. • Application - The name of the application used to group this object. • Description - An optional description of the resource. Documentation • Documentation - An optional comment about the resource Resource Providers • Process Server - The name of the process server that will provide the resource. Example 1. Choose Definitions > Resources in the Navigation bar. 2. Choose New Resource from the context-menu and fill in the values below. 3. Choose the Resource Providers tab. 4. Choose the Add button and select a process server that will provide this resource. 5. Choose Save and Close to save the new resource. Name: PRINTER Description: Printer resource Comment: Process servers that provide this resource have a printer available. Controlling Queues with RedwoodScript Use When you have a lot of repetitive tasks to perform, it is often easier to use script. RedwoodScript allows you to control queues, and you can hold all queues, regardless of the total number, with a few lines of code. The following 358 Administering the Scheduling Landscape examples illustrate how you can use RedwoodScript to control queues. Redwood Software does not warrant that this is the most effective way to solve your problem. For more information on RedwoodScript, see the API documentation, which is available when you have the Chargeable version. If you have the Chargeable version but no API documentation, please contact SAP.. Example Holding a queue { // aQ // if get the queue = jcsSession.getQueueByName("TR2_Queue"); check to see if the queue is open (aQ.isOpen()) { //hold the queue aQ.hold(); jcsSession.persist(); } } Changing the State of a Queue This is an example of how you can retrieve the status of a queue. { //get the queue Queue aQ = jcsSession.getQueueByName("TR2_Queue"); //check if the queue is open if (aQ.isOpen()) { //queue is open aQ.hold(); jcsSession.persist(); } else { //queue is held aQ.release(); jcsSession.persist(); } } Holding all Queues You can hold all queues, except system queue. Retrieve the queues using executeObjectQuery. { for (Iterator it = jcsSession.executeObjectQuery("select Queue.* from Queue where Name <> 'System'",null); i { Queue queue = (Queue) it.next(); if(queue.isOpen()) { jcsOut.println("Holding queue "+ queue.getName()+", which has the status "+ queue.getStatus()+"."); queue.hold(); jcsSession.persist(); } } } 359 Administering the Scheduling Landscape Adding a Process Server to a Queue { Queue queue = jcsSession.getQueueByName("TR1_Queue"); ProcessServer proc = jcsSession.getProcessServerByName("TR2_ProcessServer"); queue.createQueueProvider(proc); jcsSession.persist(); } List all Process Servers Serving a Queue A queue provider is the link between a process server and a queue, to find all the process servers serving a queue, we need to list the queue providers. { for (Iterator it = queue.getQueueProviders(); it.hasNext();) { QueueProvider provider = (QueueProvider) it.next(); out.println(provider.getProcessServer().getName()); } } See Also • RedwoodScript • Creating a Queue • Using Queues to Administer Job Execution • Using Resources to distribute the load • Privileges Required to use Queues Prevent Simultaneous Execution of Processes Use Multiple processes can be scheduled to run across the scheduling landscape at any given time. Some of these jobs or job chains have dependencies that must be met and that forbid simultaneous execution. One simple way is to create a job chain that executes the jobs in a specific order, often however, one single job or job chain can only run once or when multiple other jobs or job chains have completed. To prevent two identical jobs or job chains from running at the same time, locks can be used. A lock is an object that can be attached to a job or job chain and that prevents other jobs or job chains with that same lock from starting as long as a job with that lock is running. An alternative solution, which is recommended for locking a great number of jobs, would be to use a queue with a queue limit of 1, so only one job can run in the queue at any given time. When you have many jobs waiting on a lock, you end up in a situation of lock contention; to avoid this, use queues with limits instead. • Creating Locks 360 Administering the Scheduling Landscape • Editing Queues Creating Locks Use Locks define job locks. Job locks prevent simultaneous execution of jobs. When two jobs have the same job lock and one of the two has the status RUNNING the other job will not start until the first job has finished. Locks are part of the Definitions section in the navigation bar. Lock Contention Locks are typically used when you want to prevent two jobs of a single job definition from running simultaneously. It is not recommended to use locks to restrict the number of concurrent jobs, use queue limits in this case. When a lock is freed, all jobs waiting for this lock will be rescheduled and the first job to get hold of the lock will force all other jobs attempting to get the lock to be rescheduled again, this can have consequences on performance when many jobs are waiting on a lock. If you are planning on having many jobs wait on a lock, use queue limits instead. You can specify a default queue for a job definition and set the execution size of the queue to a low number - with a great number of jobs, this will considerably increase performance. Context-Menu Actions Locks support the following context-menu actions: Action Description Edit Security Edit the security of the lock Duplicate Make a copy of the lock to create a similar one Delete Delete the lock Export Export the lock into a CAR file Edit Edit the lock Expand All Expand all locks in the current filter Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New lock Create a new lock Filter > New Filter Create a new lock filter Filter > Edit Filter Edit current lock filter Filter > Delete Delete current lock filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Locks You can search for locks using filters and the Search Locks box on the Locks tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Prefixes are used to specify which property you are searching in and have short as well as long 361 Administering the Scheduling Landscape syntaxes. For example, if you want to display all locks with the term import in the comment, you would use the search criteria as follows: c:import You can search more than one property, as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:). See the Advanced Object Search for more information. The following table illustrates the available prefixes for locks: Prefixes Description n, name searches the name property c, comment searches the documentation property d, description searches the description property a, application searches the application property Security Privilege Description Lock.Create Create locks Lock.Delete Delete locks Lock.Edit Edit locks Lock.View Access locks You can grant privileges on two levels, Access and Admin; a privilege granted on Admin level allows the grantee to grant the privilege to other users. These privileges can be granted system-wide, per partition or isolation group. If you have the object security, which requires the Chargeable version, you have an additional Security tab on the lock. It allows you to specify which users can access, edit, and delete the lock. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure 1. Choose Definitions > Locks. 2. Choose Refresh to see all existing locks. 3. Choose New Lock to create a lock. 4. Fill in the details, refer to the section below. 362 Administering the Scheduling Landscape 5. Choose Save and Close to save the lock. Event Definition • Name - The name of the event definition. • Application - The name of the application used to group this object. • Description - An optional description of the event definition. • Documentation - An optional comment of the event definition. Example Choose Definitions > Locks in the Navigation bar. Choose the New Lock button and fill in these values: Job Lock Name: DataWareHouseLoadRun Description: Data Warehouse load is running Documentation: The data warehouse is being loaded. For data warehouse consistency, this process cannot be run Creating Event-Driven Schedules with Events Use Events allow the creation of complex dependencies, as they can be raised and cleared by completed jobs or manually. If you have platform agents, you can also create file events which allow files to raise events. A job waiting on events will not start until all events it is waiting for have been raised. This guaranties that a job will not start unless all conditions are met for it to start. Event definitions define event objects. When an event definition is raised, a new event object is created and associated with the event definition. Raising an event definition object multiple times will create a queue of event objects of which the first event will be raised and all queued event objects will be pending. Clearing a raised event definition will clear its currently raised event object and, if there are pending event objects queued for the event definition, raise the next event object and put the event definition back into the raised state. If there are no more pending event objects to be raised, the event definition returns to the cleared state. Events can be raised and cleared manually, by completed jobs, an SAP System repository object, and the ProcessServerService (for file events). Jobs can wait for one or more event objects to be raised before they start. The Raised by and Cleared by fields will clearly reference which object or user raised or cleared the event. Event Definitions are part of the Definitions section in the navigation bar. There are no standard event definitions provided with SAP CPS Raiser and Clearer Comments can be made compulsory, which will force users who manually raise or clear an event to provide a reason for their actions, the user account that raised/cleared the event will be saved as well. For jobs and job chains the raiser/clearer comments can be defined in the job definition / job chain. Tabs & Fields The following table illustrates the fields of each tab of Event Definitions editor dialogs. 363 Administering the Scheduling Landscape Tab Field Description Event Definition Partition Partition of the event definition. Event Definition Name Name of the event definition. Event Definition Application The application for the event definition. Event Definition Description An optional description of the event definition. Event Definition Comment An optional comment for the event definition. Event Definition Requires Comment On Raise Users who raise events from this definition must By User fill out a raiser comment. Event Definition Default Raise Comment Event Definition Requires Comment On Clear Users who clear events from this definition must By User fill out a clearer comment. Event Definition Default Clear Comment he predefined text for the clearer comment. Documentation Documentation A comment about the object, can be used for documentation purposes. File Event Definitions Name Name of the file event. File Event Definitions Description Description of the file event. File Event Definitions Comment Comment on the file event. File Event Definitions Enabled Is the file event enabled or not? File Event Definitions Raise on file(s) > Process Server the process server running on the remote system where the file is reachable. File Event Definitions Raise on file(s) > Directory Directory containing the file. File Event Definitions Raise on file(s) > Pattern Filename or filename-pattern (GLOB) of the file to look for. File Event Definitions Move Directory Directory to which the file is moved once the even was raised. File Event Definitions Overwrite File If a file of the same name exists in the Move Directory should it be overwritten? File Event Definitions Poll Interval The number of seconds between each check. File Event Definitions Check if file is in use A check is performed on the operating system to check the file is complete, no more handles to the file exist. File Event Definitions Raise Comment A raise comment that is used when a file raises the event. Security ( see the Administra- * tion Guide ) The predefined text for the raiser comment. This is where you can specify who can access/change/remove the event definition. Raiser Comments The following substitution parameters are available for raiser comments in job definitions and job chains: • ${jobid} - The job id of the raiser job • ${jobdescription} - the raiser job name, as displayed by the job monitor at the time of raising the event. • ${jobstatus} - The status of the job at the time it raised the event. The following substitution parameters are available for raiser comments of file events: 364 Administering the Scheduling Landscape • ${CurrentDateTime} - Current date & time • ${CurrentTimeStamp} - Current time in epoch • ${FileDateTime} - File modification date & time • ${FileTimeStamp} - File modification time in epoch • ${ServerDateTime} - Central server date & time • ${ServerTimeStamp} - Central server time in epoch • ${server} - Platform agent name • ${filename} - file name The default raiser comment is the following: Event raised by Job:${jobid} (${jobdescription}) going to status ${jobstatus}. Clearer Comments The following substitution parameters are available for clearer comments in job definitions and job chains: • ${jobid} - The job id of the clearer job • ${jobdescription} - the raiser job name, as displayed by the job monitor at the time of clearing the event. Context-Menu Actions Event definitions support the following context-menu actions: Action Description Raise Raise the event definition Clear Clear the event definition Clear All Pending Clears all pending event definitions Export Export the event definition into a CAR file Edit Edit the event definition Edit Security Edit the security of the event definition Delete Delete the event definition Duplicate Duplicate the event definition Expand All Expand all event definitions in the current filter Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New event definition Create a new event definition Filter > New Filter Create a new event definition filter Filter > Edit Filter Edit current event definition filter Filter > Delete Delete current event definition filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file 365 Administering the Scheduling Landscape Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query File Events Events can also be raised by files on servers with a platform agent. • Triggering Events with Files Finding Event Definitions You can search for event definitions using filters and the Search Event Definitions box on the Event Definitions tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. For example, if you want to display all event definitions with the term import in the comment, you would use the search criteria as follows: c:import You can search more than one property, as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:). See the Advanced Object Search for more information. The following table illustrates the available prefixes for event definitions: Prefixes Description n, name searches the name property c, comment searches the documentation property d, description searches the description property a, application searches the application property Deleting Event Definitions You can only delete event definitions when no other objects relate to them. For example, if there are still jobs or job definitions that reference the event (both as wait or raise event), the event definition cannot be deleted until all references have been deleted. You can see all references to the event definition in Related Objects in the lower detail pane and on the show page. Furthermore, you cannot delete events which are raised, clear them before you delete them. Note Raise events are not displayed in the Related Objects table as they these events are displayed as Raised in the event definition table. 366 Choose Definitions > Event Definitions.Create Create event objects EventDefinition. Event Definition Name The name of the event definition. 4. 2.Edit Edit event objects EventDefinition. for example and the Related Object will be the name of the job chain followed by a colon and the name of the event.the name of the object with a link to it • Used As . you have an additional Security tab on the event definition.Clear Pending Events Clear pending events EventDefinition. These privileges can be granted system-wide. Choose Refresh to see all existing event definitions. Choose New Event Definition to create an event definition. which requires the Chargeable version. will have the call-reference in Related Objects. If you have the object security. The type will be Job Definition Raise Event. refer to the section below. Event Definition Application The name of the application used to group this object. Event Definition Tab Name Field Name Description Event Definition Partition The partition of the event definition.Raise Raise events EventDefinition. 3. It allows you to specify which users can access.the type of object.Clear Clear events EventDefinition.Administering the Scheduling Landscape The table in related objects contains three columns: • Type . edit and delete the event object. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure 1. Fill in the details.objects can sometimes be used as different object types For example. with a link to it • Related Object .Delete Archived Events Delete archived events EventDefinition. Security Privilege Description EventDefinition. 5. like job raise event for for a raise event in a job. Access and Admin. event definitions that are used in job chains. Choose Save and Close to save the event definition. 367 .View Access events and event objects EventDefinition. a privilege granted on Admin level allows the grantee to grant the privilege to other users. per partition or isolation group.Delete Delete event objects You can grant privileges on two levels. Reports that require data from the data warehouse should wa See Also • Documenting Objects using the Documentation Tab Raising Events with Files Use File events are special events that are linked to a directory on the host that a platform agent runs on. File Event Definition Check if file is in use Check if the file is in use. If they are defined the platform agent will monitor the file system and wait for a file to arrive that matches the file pattern. 2. move the file (use of this is recommended) File Event Definition Poll Interval Interval to poll the file system. File Event Definition Description An optional description of the event definition. Microsoft Windows and HP OpenVMS platform agents. File Event Definition Name The name of the event definition. Choose Definitions > Event Definitions in the Navigation bar. Comment when it gets raised Example 1. Choose New Event Definition and fill in these values: Event Definition Tab Name: DataWareHouseLoaded Description: Data Warehouse loaded Documentation: The data warehouse has been loaded. can be explicit file name or contain GLOB (* and ?) wildcards File Event Definition Move Directory Once the file has been picked up. Event Definition Requires Raiser Comment Does this event definition require a comment when it gets raised? Event Definition Raiser Comment Event Definition Requires Clearer Comment Does this event definition require a comment when it gets cleared? Event Definition Clearer Comment Comment when it gets cleared Documentation Documentation An optional comment of the event definition. the process server will wait until the file has been released before raising the event. File Event Definition Enabled Is this file event enabled? Disabled file events will not trigger events. File events are supported by all UNIX.Administering the Scheduling Landscape Event Definition Description An optional description of the event definition. File Event Definition Directory Directory to await the incoming file File Event Definition Pattern Pattern of the file name. Network shares do not have ad- 368 . The files that you want events raised for have to be local files on the platform agent system connected to by the process server. To define a file on a file event you point it to a single process server. File Event Definition Process Server The process server which runs on the server. If you want networked files to be detected you need to install a platform agent on the system where the files are local. Keep in mind that the "fuser" method is somewhat expensive to check on some UNIX variations. ? will match a single character. On UNIX checking for locks would not work as UNIX does not lock files that are open for read or write. You cannot have wildcard characters in the directory path nor can you detect files in multiple directories. The file event definition sets the: • Directory where the file(s) are detected. The HP OpenVMS file system supports versioning of files. • Poll interval. if set then the system checks that the file is not locked or open by any process. Note File events are provided by the platform agent. Wildcards You can specify GLOB style wildcards for the filename: * will match any number of characters. therefore we use the "fuser" or equivalent program to check in the kernel whether any process has the inode of the file open. which requires a ProcessServerService. if you require that you need to create a file event definition per directory. • Filename or pattern that the file must have.limit license key for OpenVMS agents. On Microsoft Windows and HP OpenVMS this is done by checking that there are no outstanding file locks. the overhead varies per operating system. if set then detected files will overwrite existing files in the move directory. Files located on a SAN are considered local files. even if you specify a specific version in the filename attribute. Where possible the system refuses to detect networked files. This works quickly and reliably on local files.Administering the Scheduling Landscape equate file locking. removing the need to check for the file still being open. • Overwrite flag. If their timestamp is changed or they are deleted and then recreated they will be detected again. • An optional move directory where the file is moved to after it is detected. Detection If you do not specify a move directory the files are left in place once detected. To make this work reliably the platform agent keeps a state file that contains the timestamp for every file. If you specify a wildcard an event will be raised for every file that changes or is created.OS. allows a custom comment to accompany the raised event. this causes issues because the process server cannot reliably determine when the file has been written.limit license key for UNIX and Microsoft Windows agents. 369 . • Lock flag. To ensure reliable detection all versions of a file will be detected.VMS. and a ProcessServerService. Lock detection The platform agent can check for locks on the file when the lock attribute is set. If you anticipate having many files that need detecting on a platform agent it is more efficient to modify your setup so that only a marker file is detected that contains no data. how often the file event is checked. • Raise comment. NFS or SMB mounted files are considered networked files. keeping the directory that it needs to watch smaller and thus more efficient. as the content may be needed by the system. It is your responsibility to ensure that the new filename will not match the file event (or else it will be detected with the new name in the next poll. a symbolic link was created in /etc for backward compatibility. A full path including a directory and a filename. 370 . The system determines whether to check the lsof type output by scanning the FileInUseCommand for the string lsof. When defining fuser as the fileInUseCommand on Linux it doesn't work because the returncode is '1'. • For lsof. If the filenames that are detected are not unique over time you should set the overwrite flag.) Using this option is not as efficient as a move directory that contains a directory. 3. On all other unices the returncode of fuser is '0' whether a file is or is not in use. This allows the system to move detected files to a new directory. or delete the detected file as part of the actions that happen as part of handling the event. the platform agent will then make sure that no data is lost. Note that the fuser implementation generally either is silent on an unlocked file (for example on Linux) or it produces (for instance on AIX 5): ^${file}:[ ]* so the test on digits after the whitespace is necessary. the file is not locked. SAP has decided to change the default for Solaris to point directly to the actual binary. The rules that the agent uses to parse the output are: • For fuser. 2. Its default value is: Operating System Command Linux lsof ${Filename} UNIX /usr/sbin/fuser ${Filename} OpenVMS N/A Microsoft Windows N/A Note The default used to be /etc/fuser ${Filename} on Solaris and has been changed.Administering the Scheduling Landscape Changing the lock test on UNIX You can set the command used to perform the file-is-locked check for UNIX platform agents using the FileInUseCommand process server parameter. Move Directory If your wildcard matches many files it is more efficient to use a move directory. Since all supported versions have the symbolic link. By default the system will not overwrite the file. This is also helpful at the OS level: if a file is still in the original directory it has not been detected yet. in later Solaris releases. in which case the filename will remain the same. fuser lived in /etc on older SUN Solaris releases. if it is in the move directory the system has seen the file and the event has been raised (or is in the process of being raised). Historically. The move directory field value can be: 1. If the result value is ok (and there is output) the file is locked. Just a directory name. if it finds at least one line of the format ^${file}:[ ]*[0-9]+ then the file is locked. If your files contain data you should keep the overwrite file cleared. The symbolic link is provided by SUNWscpr. You can use your own command but it should behave like either fuser or lsof. Just a file name in which case the file will remain in the same directory with the new filename. if the result value is error and the output is empty. • ${FileDateTime:<format>} and ${CurrentDateTime:<format>} . The HP OpenVMS file system supports versioning of files. 1970. • ${Dot} . 371 .The modification timestamp that the detected file has. The following substitution parameters are available for the Move Directory field: • ${Name} . in a numeric format containing the milliseconds since midnight of January 1. • ${CurrentTimeStamp} .The extension of the detected file. • ${UniqueID} . • ${BaseName} . • ${FileTimeStamp} . in a numeric format containing the milliseconds since midnight of January 1.A guaranteed unique sequence number.The current timestamp. Poll interval The poll interval defines how many seconds elapse between checks for this file event. usually referred to as epoch or Unix time. • The file event scan interval is set to a large value. respectively. • An operator message attached to the file event definition is sent to the server. • ${BaseDirectory} .directory excluding filename and extension. the equivalents are ${FileDateTime} and ${FileTimeStamp}. If the next attempt succeeds the scan interval is reset to the original value.The date/time is formatted according to <format>.A dot if the detected file had an extension. Note ${DateTime} and ${TimeStamp} have been deprecated and should not be used anymore. • ${FileDateTime} . usually referred to as epoch or Unix time. in a string format YYYYMMDDHHMMSS. If you place a file in the detection directory with a version number that already exists in the move directory the file will not be moved and an error is raised unless you have set the Overwrite flag.The base filename plus extension of the detected file. If the value is already one hour or longer it is doubled until the scan interval is once per day.The base filename of the detected file. To ensure that no files are clobbered the file move performed by the agent will not modify the file version of the moved file.The modification timestamp that the detected file has. and refrain from creating a new file version. • ${Extension} .Administering the Scheduling Landscape The directory path that the move directory contains can be a subdirectory of the original directory. At the first error it is set to one hour. • ${CurrentDateTime} . and nothing otherwise. Error handling When a platform agent encounters a problem with a file that it has detected it will take the following actions: • A message is logged in the network processor log file.The current timestamp. which must be a Java SimpleDateFormat. 1970. Note The directory path set as the move directory must exist. in a string format YYYYMMDDHHMMSS. 2. 7. refer to the section below. Fill in the details. Could not check whether file is in use: {command} 2.Administering the Scheduling Landscape The scan interval is increased as repeating the attempt after the original scan interval would generate huge amounts of error messages. Event Definition Description An optional description of the event definition. when one file event definition errors on a particular system then it does not cause any other file events defined on the same process server to delay. Fill in the details. Event Definition Comment An optional comment of the event definition. Choose Save and Close to save the event definition. The current list of possible errors includes: 1. If you see file event error messages in the operator message console and have repaired the problem then you should reset the platform agent event timing by stopping and then starting the process server. Choose New Event Definition to create an event definition. The error messages that cause this are accompanied by a message stating until when the platform agent will refrain from checking the files for this file event. 5. refer to the section below. Procedure 1. File event {name} not raised for detected file {source} because the variables in {moveDirectory} could not be substituted 5. Choose Definitions > Event Definitions. File event {name} not raised because the file could not be renamed from {source} to {destination} 3. 6. Event Definition Tab Name Field Name Description Event Definition Name The name of the event definition. 4. File event {name} not raised for detected file {source} because {directory} is not an existing directory 4. Choose the File Event Definition tab and choose the Add button. File event {name} not raised as the target move file name could not be built: Components {moveDirectory} and {targetFile} Note Different file events each have an individual scan interval. Event Definition Application The name of the application used to group this object. Choose Refresh to see all existing event definitions. Event Definition Requires Raiser Comment Does this event definition require a comment when it gets raised? Event Definition Raiser Comment Event Definition Requires Clearer Comment Does this event definition require a comment when it gets cleared? Event Definition Clearer Comment Comment when it gets raised Comment when it gets cleared 372 . 3. 2. Reports that require data from the data warehouse should wa File Event Definition Tab Name: DataWareHouseLoaded Description: Data Warehouse loaded Comment: The data warehouse has been loaded. can contain substitution variables. can be explicit file name or contain GLOB (* and ?) wildcards File Event Definition Move Directory Once the file has been picked up. Event Definition Tab Name: DataWareHouseLoaded Description: Data Warehouse loaded Documentation: The data warehouse has been loaded. File Event Definition Process Server The process server which runs on the server. File Event Definition Raise Comment Comment that will accompany the raised event.Administering the Scheduling Landscape Documentation Documentation An optional comment of the event definition. See Also • Documenting Objects using the Documentation Tab 373 . Choose the New Event Definition button and fill in the values for the Event Definition Tab. File Event Definition Check if file is in use The process server will wait until the file has been released before raising the event. Reports that require data from the data warehouse should wait for Enabled: <true> Directory: C:\tmp\ Pattern: done??. 3. File Event Definition Name The name of the file event definition. move the file (use of this is recommended at it has less overhead) File Event Definition Overwrite file Whether any existing files in the Move Directory will be overwritten File Event Definition Poll Interval Interval to poll the file system. Example 1. File Event Definition Directory Directory to await the incoming file File Event Definition Pattern Pattern of the file name. File Event Definition Description An optional description of the event definition. Choose Definitions > Event Definitions in the Navigation bar. File Event Definition Enabled Is this file event enabled? Disabled file events will not trigger events. On the File Event Definition tab choose the Add button and fill in the values below.txt Move Directory: C:\done\ Check if file is in use: <true> Process Server: WIN-SERV-03 Leave the other fields with their default values. like SAP_ImportCcmsJobs.com/sap/support/notes/314530] and SAP Note 316877 [http://service. XAL and XMW. will use an RFC connection until the job finishes and the idle time has been reached. this can be changed by setting the CPIC_MAX_CONV environment variable. Tuning JMS Messaging JMS messaging is used in clusters for communication between cluster nodes.update runtime statistics of jobs. Import jobs. like an SAP_AbapRun job. There is always one reserved RFC connection that the service uses to connect to the SAP System. Tuning SAP connections SAP RFC connections can be tuned. Tuning SAP CPS SAP CPS Can be customized by modifying the three submit frames of the following built in job definitions: • System_DeleteJobFiles . which should not be the case. The RFC library in SAP NetWeaver is limited to 100 concurrent RFC connections by default. Note that this can influence the schedule of jobs controlled by SAP CPS. additionally. submit the System_Info job definition. bear this extra RFC connection in mind. To make 100% sure that JMS messaging is enabled.com/sap/support/notes/316877]. check the output for Is Really Clustered: true. you should turn it off. When SAP CPS is not monitoring. then you can limit the maximum amount of open RFC connections for XBP. More information about submit frames can be found in the user guide. the maximum pool size is set to 10 and RFC connections will be opened as required until the maximum value has been reached.delete job logs and output files of deleted jobs. you can turn it off by setting the following JVM parameter: 374 . you may increase or decrease this by changing the interval of the submit frame. If you do not have a cluster and JMS messaging is enabled. and the bottleneck has been identified as a high number of open RFC connections. please see the SAP documentation for more information. however. these jobs are submitted every 15 minutes. if not all implementations. When you tune the RFC connections. although the default behavior should be ideal for most. By default. SAP CPS would use two or less.delete old jobs according to keep clauses. and are closed after an idle time. There is also a pool of RFC connections that is used to monitor jobs and retrieve job output as well as log files.sap. RFC connections are mostly used to create and start jobs. there should only be one RFC connection open after the idle time of the other RFC connections. in which case these will be opened. If your SAP System is running slow. also see SAP Note 314530 [http://service.Administering the Scheduling Landscape Tuning SAP CPS Use Tuning allows you to customize the behavior of SAP CPS as well as the lower the pressure on SAP Systems. heavy load and multiple concurrent jobs can require more RFC connections.sap. If this is set to true and you are sure you do not have a multi-node cluster. • System_ProcessKeepClauses . By default. there can be one or more RFC connections for every interface. they are closed again after a pre-defined idle time. by default. starting jobs or retrieving output. • System_UpdateJobStatistics . Ideally. SAP CPS will open as many RFC connections as required to process the load of jobs. However. number of RFC connections. 3. 5.cluster. 5. Choose Refresh to update the list. Choose Save & Close. To edit the maximum numbers of RFC connections of an SAP System connection 1. Procedure To edit the submit frame of the job System_UpdateJobStatistics 1. 2.scheduler.redwood. choose Edit. 4. 375 . Choose The Elements tab and enter the following value in the Every Number of field 1. from the context-menu of the System_UpdateJobStatisticsSubmitFrame submit frame.Administering the Scheduling Landscape -Dcom. 10. 5. Choose Refresh to update the list. Choose Refresh to update the list. Choose the Save & Close button to save changes and leave the editor. 5. From the context-menu. 3. From the context-menu of the System_UpdateJobStatisticsSubmitFrame submit frame. Choose Save & Close. Choose Save & Close. Choose The XBP tab and edit the value after Max. Choose Environment > Submit Frames. 4. if required. 4. Choose The XBP tab and enter the following value after Max. 2.sap. Choose the Refresh button to update the list. 2. 3.enabled=false Warning You should only change this when advised to do so by SAP support services. Example 1. for the Unit field choose Days. 3. choose Edit. number of RFC connections. 2. Choose Environment > Submit Frames. 4. To edit the maximum numbers of RFC connections of an SAP System connection 1. Choose Environment > SAP Systems. Choose Environment > SAP Systems. choose Edit. Choose The Elements tab and edit the value after Every Number of as well as the unit. Choose Edit from the context-menu of the SAP System to edit. on the XAL or XMW tab of the SAP System. The maximum amount of memory that can be allocated to the JVM is -XMX + -XX:MaxPermSize. Tuning Memory Usage/Garbage Collection Use The JVM manages the memory it is allocated by the OS automatically.com/sap/support/notes/723909]. The memory footprint of a JVM running a JEE application server is the combined footprint of the application server and all web applications it is running. refer to the application server-related documentation.the maximum amount of memory that can be allocated to the JVM (excluding PermSize) • -XX:PermSize . you can inspect current idle memory usage. which is available in Sun/Oracle. Once you have set up the application server. If you are using XAL and/or XMW the RFC connections can still increase.the initial amount of memory allocated to the permanent generation of the JVM • -XX:MaxPermSize . SAP. if you use a JVM from a different vendor. Note Inspecting the memory footprint using Task Manager or tools like top will not give you reliable data. you may limit those connections in similar way. refer to the JVM-specific documentation. For SAP NetWeaver application servers. You use the following JVM parameters to inspect the allocated memory: • -XMS .the initial amount of memory allocated to the JVM • -XMX . Garbage Collection Java uses garbage collection rather than requiring the programmer to free memory explicitly. Most application servers have built-in tools to inspect the current memory footprint. SAP recommends to use a dedicated application server for SAP CPS. Determining Application Server Base Memory Usage The JVM gets a certain amount of memory allocated. RFC connections The maximum number of RFC connections has been set to 10 for XBP only. This has an advantage if you do not need up-to-date job statistics.sap. please read SAP Note 723909 [http://service. This means that the amount of memory used will slowly climb until the system detects that it is running low on memory (often triggered 376 . Shortly after the initial deployment it is very handy to monitor job statistics to get an idea of the real load on the system as well as other information. the memory consumed by unused objects is freed (deallocated) and made available to the application again. and HP JVM's. Once a threshold is reached. You can also use tools such as jconsole. this memory pool is used by the JVM.Administering the Scheduling Landscape Result of the Example System_UpdateJobStatistics The job definition System_UpdateJobStatistics is run once a day and no longer every 15 minutes. it contains valuable information and links to a number of JVM-related SAP Notes.the maximum amount of memory allocated to the permanent generation of the JVM The initial amount of memory available to the JVM is XMS + XXPermSize (latter defaults to 64Mb on most platforms). simple. This can cause pauses (see below). then you may be getting this problem. In this case it may make sense to reduce the maximum amount of memory available. If you are getting long pauses where the application is not responding. take some measurements (a GC log and some timing measurements for performance). If in doubt.4 through to Java 7 (1. In general Java benefits from more memory allocated. On Java 1.5+ you may be able to enable a concurrent garbage collector that cuts down on pauses. The two horizontal lines show the minimum required and maximum used heap sizes.00 (NW 2004/NW2004s). you may get pauses as large amounts of garbage is collected. and is considerably more sophisticated than is explained here. or use GC options to increase the frequency (generally by setting a recommended size for something other than -Xmx).4 uses a stop the world collector.4. the application is stopped while GC runs. If you are not getting a GC at least once a day. 377 . If they are too far apart. It frees some/all of this and then returns the request. increase the amount of memory and take the measurements again. and looks around for memory that is allocated but no longer used by the application (called Garbage). Problems and Solutions If you are getting OutOfMemoryError (OOME) then you need to increase the maximum heap size. the amount of memory between the two horizontal lines (or how much churn there is) and the GC log (if you have one) to see if this may be the case. Look at the GC cycle time (see graph above). If these are close together. then increasing the maximum heap size will be helpful. GC may be running a long time as it has to do a lot of work. This is not possible on NW 7.Administering the Scheduling Landscape by a memory allocation request). Java 1. and it is possible to increase the amount of memory. The actual implementation of this varies considerably from Java 1. as they only run on Java 1. At this point the Garbage Collector (GC) runs.7). xml contains swallowOutput=true (in which case the output goes to the web app logger). check for hs_err_pid<xx>. then the options are well enough supported that you can pass them to NW. you will see a big jump in memory usage when switching to 64-bit.log is created. • On NW: Check the default trace file for messages. Finally.6 and above on most platforms) implement something called object pointer compression to alleviate this problem. This allows large heap sizes (>4Gb) without the downside of 64 bit pointers. if you need less than the limit that the 32-bit VM supports (generally around 2Gb).sap. Newer virtual machines (Java 1. • 64-bit virtual machines use nearly 2x as much memory (as all pointers are now twice the size). 378 . Memory errors during startup In some cases (for example when far too little memory is allocated) you may not be able to start the application server because of a rogue web application.log You can check this before changing any NW settings. In this case you need to disable the application. and run: /path/to/java/used/by/nw/bin/java -XX:+PrintGCTimeStamps -XX:+PrintClassHistogram -XX:+PrintGCDetails -verbose If gc.com/saphelp_nw04/helpdata/en/0e/fb29feebc73248a3d097a229a5d548/content. There are some areas to watch out for: • Some platforms allow you to run a 32-bit VM on a 64-bit CPU architecture. See help. Other logs to look for Generally (it depends on the VM) OOME is logged to stdout or stderr (and thus should be captured to a file).Initially_Not_Started_Apps. which may be somewhere else.log files. So. Once you have reconfigured and restarted NW you can look at the GC log for more information.sap. make sure the path for -loggc: is correct.Administering the Scheduling Landscape Getting a GC log Add the following to the startup (works with the Sun VM and derivatives): -XX:+PrintGCTimeStamps -XX:+PrintClassHistogram -XX:+PrintGCDetails -verbose:gc -Xloggc:/path/to/gc.com/sap/support/notes/914045] . On SAP NetWeaver you can do this using SAP Note 914045 [http://service. use this. These should be in j2ee/cluster/server<n> (on NetWeaver and Redwood Platform) but are generally written to the current working directory.htm [http://:] for more information. if you need to go over the limit the 32-bit VM for a given platform supports. • On Redwood Platform: Check if scheduler. otherwise check where stderr and stdout go. Memory in 64 and 32 bit systems Most platforms now have a 64-bit mode that allows access to more memory. • CCMS load balancing .SAP CPS uses the XAL monitoring data to distribute the load across SAP Systems. however. XAL data can be up to 5 minutes old.LoadBalancing license key. Note Agent load balancing for SAP also requires an additional process server per SAP application server in your ProcessServerService. Note It is not possible to use SAP CPS to balance the load of process chains across SAP application servers.is the default option if no load factors are defined for the process servers.uses near-real-time monitoring data from the platform agents to decide where to run the job.External. XAL Load Balancing 2. You can. Configuring Load Balancing on Platform Agents 379 . which is not optimal when the application servers are not equal in size or configuration. Note OS metric load balancing requires the Module. • OS metric load balancing .SAP CPS uses near-real-time monitoring data from a platform agent running on the SAP application server. • XAL load balancing . Agent Load Balancing for SAP 3.as available with CCMS. No further settings need to be changed in SAP CPS. • Agent load balancing for SAP . The system sends new jobs to the process server with the least amount of running jobs. As far as scheduling is concerned.limit license key. For load balancing OS jobs across platform process servers there are two options: • job count load balancing . you can only influence the parent job.LoadBalancing license key.Administering the Scheduling Landscape Balancing the Load Use Load balancing allows you to get the most out of your servers by evenly distributing the load across systems. restart certain child jobs. There are three types of load balancing for SAP workload that can be used with SAP CPS. This uses a round-robin approach. More detail on how to set up and use load balancing can be found in: 1. Note XAL load balancing and Agent load balancing for SAP require the Module. This is correct. The XAL data is calculated over a 5 minute average. The SAP CPS dispatcher will use the load factors to set the TARGET_SERVER parameter. See the Restarting Process Chains section for more information. 5th and 6th work process once the three work processes on the slower system are used up. not on which SAP application server within a particular SAP instance. This allows integration into the Active Monitoring Module. for instance. one system should handle three times more jobs than the others. With SAP CPS. The CCMS scheduler will use a simple round-robin method to distribute ABAP jobs over the application servers. named Load Threshold on the SAP Application Server tab. Load balancing over SAP application servers is configured in the Maintain Objects context-menu of the SAP System definition in Environment > SAP System. If your batch jobs are short and system load varies much more quickly you can also use Agent Load Balancing for SAP as it can provide very quick update rates. As far as scheduling is concerned. as this does not take into account the relative performance and desired profile of the application servers. For example. one slow system with three batch work processes and a fast system with six batch work processes. you might think that you could use the Load Factors tab on the <SID>_ProcessServer window to influence load balancing. but it would decide on which SAP System the job would run. Every application server can have its own load factors. you can use the SAP derived operating system monitoring data from application servers to determine the best application server for the job. 380 . you can only influence the parent job and restart child jobs. To enable this you have to configure the XAL interface on SAP System. This can be sub-optimal. The threshold defines when no more jobs should be allocated to the application server: the application server will be considered overloaded when the threshold equals jobs * load factor. you set the multiplier to 1 on it and 3 on the others. Obviously. In other words: submitting a job in SAPGUI or SAP CPS will have the same effect. this is probably not what you intend to do. it will set the process server of the SAP System to overloaded. Therefore. let's say that you have two application servers. your instance needs at least two or more application servers in order for SAP CPS to be able to send jobs to the appropriate application server. this can be set on the process server as well as on individual application servers and once reached. An additional threshold field.Administering the Scheduling Landscape XAL Load Balancing Use SAP CPS by default defers the decision as to where to run an SAP job to the SAP System that the job is executed on. SAP CPS obtains this data over the XAL interface and fills the TARGET_SERVER parameter for you on the job. allows you to specify when the entire SAP System should be considered overloaded by SAP CPS. Monitor tree The system will create a monitor value containing the number of running jobs for every application server named /System/SAP_ApplicationServers/<app_server> If. Note It is not possible to use SAP CPS to balance the load of BI process chains across SAP application servers. Note As an SAP System also has a related process server. The round-robin algorithm used by the ABAP scheduler will only start using the 4th. To force the process server to Overloaded when an application server is overloaded 1. On the Load Factors tab. 7. fill Weak Application Server into the Description field. 4. 3. 2. Choose Maintain Objects from the context-menu of the SAP System. if you want to allow 5 concurrent SAP jobs enter 10 which is 5 * 2. 381 . 4. 5. To disable an application server. Expand Application Servers and choose the application server to disable. In the Threshold field enter the maximum amount of concurrent jobs multiplied by the multiplier. Navigate to Environment > SAP Systems. In the Threshold field enter the maximum amount of concurrent jobs multiplied by the multiplier. enter the name of the application server. In the Monitor Value field. 9. Choose Save & Close. Choose Save & Close. In the Monitor Value field. 2. 2. Note that no other application servers of this instance will receive additional workload until this application server can accept new workload. Fill the maximum amount of jobs this application server can handle into the Load Threshold field. enter 2. 12. On the Load Factors tab. In the Multiplier field. fill Strong Application Server into the Description field. 3. So in this case. so that SAP CPS no longer sends workload to it 1. enter the name of the application server and choose Save. choose Add and fill XAL Data into the description field. Choose Maintain Objects from the context-menu of the SAP System. see XAL interface on SAP System for more information. Procedure Create a load balancing scenario where one application server can handle twice as many jobs as the other one 1. choose Add and fill XAL Data into the description field. 5. Choose Maintain Objects from the context-menu of the SAP System. 4. enter 1. Expand Application Servers and choose the stronger application server. 8. In the Multiplier field.Administering the Scheduling Landscape Prerequisites • An SAP System with XAL connection data. Navigate to Environment > SAP Systems. Choose the weaker application server. 13. Expand Application Servers and choose the application server. Navigate to Environment > SAP Systems. 6. 3. 11. 10. Check Enabled if the box is checked so that the check-box becomes empty. at which the process server should go into overloaded in SAP CPS.External. jobs * load factor. If you schedule data for multiple SAP Systems. See the Creating a Monitoring Platform Agent topic for more information. SAP Application Server Active Is this application server active SAP Application Server Enabled Is this application server enabled Documentation Documentation An optional comment Load Factors Description An optional description Load Factors Multiplier The load factor multiplier by which the monitor value will be multiplied. To make this approach possible you need to install a platform agent on all application servers that are part of an SAP instance. Choose Save & Close. also known as SAP CPS Load Balancing for SAP. When making the scheduling decision the load factors set for the application servers no longer refer to XAL data but to data originating from platform agents. further improves on XAL load balancing by improving the accuracy of the performance metrics on which the scheduler bases its decisions. 382 . Note Installing a platform agent on an SAP application server only requires an additional process server in your ProcessServerService. The higher the value. The agent load balancing method combines metrics gathered by platform agents with the SAP System information that the system keeps. should be higher than the Threshold.Administering the Scheduling Landscape 5. Values TAB Field Description SAP Application Server Name The name of the application server SAP Application Server Description An optional description SAP Application Server Load Threshold The load. you can make this decision on a per-instance basis. You may require this platform agent anyway if you want to schedule OS tasks on those systems. it is the same as the application server name Providers SAP Application Server The application server group(s) the application server beGroup longs to See Also • Documenting Objects using the Documentation Tab SAP CPS Load Balancing for SAP Use Agent Load Balancing for SAP.limit license key if you add a native job definition type to the process server. the less likely it is for jobs to get allocated to this instance Load Factors Threshold The load (jobs * multiplier) at which no more jobs are allocated to the application server. Must be lower than Load Threshold on the SAP Application Server tab Load Factors Monitor Value The monitor value to use. Enter Strong Application Server into the Description field.Administering the Scheduling Landscape You allocate jobs to application servers based on the current CPU usage of the system where that application server runs by specifying the CPUBusy monitor leaf node of the corresponding platform agent in the Monitor Value field. Note It is not possible to use SAP CPS to balance the load of BI process chains across SAP application servers. usually named <SID>_ProcessServer. On the Load Factors tab. In the Multiplier field. fill Weak Application Server into the Description field. Choose Save & Close. SAP recommends to name the process server <SID>_<application_server>_Agent. In the Multiplier field. The monitor leaf node for memory usage is named PageRate. 7. Procedure Create a load balancing scenario where the ABAP workload should be distributed according to CPU load. 9. Prerequisites • A platform agent on the nodes of the application servers. choose the CPUBusy monitor for the path /System/ProcessServer/<SID>_<AppServer>_Agent/Performance. 5. As far as scheduling is concerned. 11. 6. 383 . Expand Application Servers and choose the stronger application server. 10. 12. In the Monitor Value field. Choose Save. In the Monitor Value field. 4. The monitor leaf node is displayed in the Monitor Value field as follows: Monitor Value Path <monitor_leaf_node> /System/ProcessServer/<process_server>/Performance}} Note The monitor node must contain the name of the platform process server. See the Restarting Process Chains section for more information. On the Load Factors tab. not the name of the process server of the SAP System. When installing a platform agent on an SAP application server. Choose Maintain Objects from the context-menu of the SAP System 3. Choose the weaker application server. Make sure that you are specifying the monitor leaf node for the correct process server. Navigate to Environment > SAP Systems 2. enter 1. 1. 8. you can only influence the parent job and restart child jobs. choose the CPUBusy monitor for the path /System/ProcessServer/<SID>_<AppServer>_Agent/Performance. enter 1. choose Add and enter CPU into the description field. choose Add and fill CPU into the description field. These effects can be reduced or eliminated by implementing highly available solutions. but how they are deployed and the hardware dependencies involved. Network Dependencies High availability setups should do their best to reduce dependencies on network resources. • the database. • the remote systems being managed. For example satellite links are often the only connectivity to remote areas. This section explains how the software operates. For example: • Host failures will only affect the components on that host. If DNS or NTP are in use.Administering the Scheduling Landscape High Availability Use The very concept of a central job scheduler means that it is likely that it is important that it is operating. In some cases it may be more expensive to remove an SPOF than it is to deal with its potential down time. Factors Common to all Components Many high availability factors are common to all components. The most important of these are the Domain Name Servers (DNS) and the Network Time Protocol (NTP) servers. The SAP CPS architecture has been designed to isolate the effect of many types of failure to the components dependent on the failed resource. The factors common to all components include highly available infrastructure and eliminating single points of failure. Those that are component specific include how particular failures (host. The SPOFs in a system depend not only on the architectures of the products involved. It is important to be aware of potential SPOFs when designing a highly available system. node. or where this is not possible. • Network failures only affect components communicating over that link. but not if it is provided by a Storage Area Network (SAN). 384 . and to have contingency plans for operation during failures SAP CPS can be configured to operate without any SPOF if the high availability features are configured correctly. Using Active-Active platform agents can ensure that processing occurs without interruption. and it is run on appropriate infrastructure. and in many cases processing can complete and report back results when the network returns. including the application server. network and software) are handled by individual components. Single Points of Failure (SPOF) A single point of failure (SPOF) is a resource whose failure will cause a larger system failure. Processing can continue on both sides of the link. how it can be set up so that it is highly available and how the software can inter-operate with third party products that ensure high availability. This includes high availability for: • the central server. For example a disk drive may be a point of failure. In these cases it is important to raise awareness of these failure points. to ensure that the network resources themselves are highly available. some of which are common to all components (like host availability) and some of which are component specific (like how much processing can continue during a network failure). When analyzing a system for SPOFs it is important to consider both the impact of the SPOF and the cost of eliminating it. High availability depends on a number of factors. as when it is not then background jobs on many computer systems are affected. then multiple servers should be available. The term networked file system in this context designates NAS systems. and you have random errors that SAP believes are caused by the NAS (NFS or SMB share). as many outages are caused by sizing problems. in which case a small. Without testing small errors like typing ". Adequate Sizing Adequate sizing is an important part of any high availability solution. or at least when the HA or software configuration changes. This statement outlines the support of the different installable components for using networked file systems. SAP CPS Support for Networked File Systems When you want to use SAP CPS in a networked environment there are occasions when you want to use networked file systems in your infrastructure. • Correctly sized primary and backup servers. but when debugging is activated. Testing High availability setups should be tested regularly. persistent state and job output are stored. logical volumes or file systems filling up. These prevent data from being written and will eventually stop all processing until the condition is corrected. also known as SMB X/NFS/SSHFS file shares. Software should always be deployed locally. Similarly. Such file systems are not sufficiently fast or reliable for many scenarios. that SAP cannot reproduce on local storage. or a catastrophic failure occurs they can grow more quickly. a SAN will be considered local if it is mounted via iSCSI. note that SAN file systems. the tables in the database should have sufficient space to grow. particularly when significant amounts of processing may occur: overnight. • Storing data intended to be stored on a local disk. including: • Storing the software itself. for example. If insufficient CPU or memory is allocated and machines are overloaded they can appear to be 'down' when they are in fact very busy. for example mounted via iSCSI. It is important that this directory is on a local disk or SAN (not on a network file system) and that it is appropriately sized. The resolution to this issue may require that you reinstall on local storage. The DataRootDirectory where configuration and output files are stored as well as the installation directory must not reside on a NAS (NFS or SMB share). In general these trace files do not take up much space (10-100Mb). over the weekend.com" in a host name may not be picked up until failover occurs. are considered local storage. or during period end processing. If this recommendation is ignored. easily correctable error could cost many hours (or thousands of dollars). The most common are: • Disks.con" instead of ". 385 . you will be required to demonstrate that the issue can be reproduced when installed on local storage. Data Storage Each component of SAP CPS has a 'data root directory' where important files like tracing. All components of SAP CPS have an active tracing facility that will log errors (particularly fatal errors) as they are running.Administering the Scheduling Landscape Another major area where network dependencies should be avoided is network file systems like the UNIX Network File System (NFS) and Windows file shares (using Server Message Block or SMB). Note SAP recommends strongly against installing the software on a networked file system. Platform Agent Redwood Platform agents are responsible for the actual execution of jobs on an OS level. availability of this stack is paramount. and participate in cache coherence. When a platform agent is required. Redwood Platform is supported on Unix when installed on a networked file share. The installation directory and DataRootDirectory must be located on a local file-system. a slave is immediately promoted master. This is often called clustered or multi-node mode. • One node (the master) performs certain time-critical operations. High Availability of the Central Application Server Redwood Platform You use the integrated high availability of the central server by configuring two or more nodes to use the same database connection settings. that when Redwood Platform is installed on a networked drive you increase the risk that the system will be unavailable due to infrastructure outages. if large files need to be stored and managed with the job. using MSCS. When additional application servers access the database (same database and user/schema). Platform Agents are not required to run all types of job definitions. and provides faster. These significantly boost performance in all scenarios (single and multi-node). You can use third-party fail-over software with SAP CPS using one single license for both nodes as long as both nodes use the same hostname and port for Redwood Platform or the same SAP Instance number for SAP NetWeaver. As the Central Scheduler server runs in a Java Enterprise Edition (JEE) application server stack. the first to access the database becomes a master. SAP and Job Chains do not require a Platform Agent. When this is the case then: • Users are load-balanced across all the nodes by the JEE Application server. additional application servers automatically become slaves. The main issue here is ensuring that the shared drives are available before the service starts. it must be installed on the target system that the jobs need to be executed on. you configure Redwood Platform as a service and use the cluster software to control that service on all nodes. you use the platform-specific clustering solution and configure Redwood Platform to start with init or the platform-equivalent. Platform Agents also have the ability to monitor file systems for changes in directories. one of the slave nodes will automatically take over this functionality. When a master node fails. notably RedwoodScript. • All nodes cache read data for improved performance. so users can end up on any node. The time critical operations are performed on a single node as this is more accurate (global locks can take 10ms or more to acquire). On Windows.Administering the Scheduling Landscape Redwood Platform Redwood Platform is the web hosting environment that Redwood delivers explicitly for hosting Redwood Cronacle. If this node fails. 386 . and allows the use of both aggressive caching and fast (nanosecond) local locking. Note. This type of setup requires licenses for each application server. more reliable failover. For this reason SAP CPS can run in multiple nodes if the application server is configured to do so. Redwood Platform is not supported on a networked drive on Windows. It is always possible to link files from outside of the DataRootDirectory to jobs. On UNIX. and can raise file events upon these changes being noticed. Increased CPU usage Multiple node. single host" and "multiple node. Single host Fits in with existing host based fail. Most effihost based fail-over mechanisms cient use of memory. you replace the /configuration/boot/cluster with com. on a single host. network and CPU. Multiple No host-level high availability scen.More complex set up. The advantages and disadvantages of the different setups are: Setup Advantages Disadvantages Single node. but still on on a single host. Some duplication of software and memory usage.multiple application server nodes run the software.a single application server node is running the software. single host . on Redwood Platform the second and third digit of the port number.cluster.redwood. 387 .Administering the Scheduling Landscape Application Server Setups There are three classes of application server setup: • single node. Single host Simple set up. usually 0. Fits in with existing Relies entirely on host-based fail-over. on multiple hosts. • multiple node. • multiple node. • <instance id> .multiple application server nodes run the software. Some duplication of software over mechanisms and memory usage.the hostname as defined by InetAddress. May require an external load host ario needed balancer.Most complex set up. To set system properties.the identifier of the node in the cluster usually 1 You can also set JVM parameters for the above which will have precedence over the registry keys. The multiple mode setups may allow some reconfiguration of the application server (for example JVM parameters) while the application is running. but not required in a "multiple-node.getHostName() on Redwood Platform and by SAPMYNAME on SAP NetWeaver. Multiple node. single host . single host" setups both require a separate host fail-over mechanism to handle the host itself failing (and thus all nodes failing).boot. The "single node.bindAddress will override /configuration/boot/cluster/<host>/<instance id>/<node id>/bindAddress.getLocalHost().redwood.<host>. So the registry paths will be as follows: /configuration/boot/cluster/<host>/<instance id>/<node id>/bindAddress /configuration/boot/cluster/<host>/<instance id>/<node id>/port /configuration/boot/cluster/<host>/<instance id>/bindAddress Where • <host> .the identifier of the instance in the cluster. This does include patching or upgrading SAP CPS while it is running. The bindAddress can potentially be the same for all nodes on the same host. so it should try and get the specific value for the node. and if it can't it should try a generic setting for the host/instance. Increased CPU and network usage.cluster for example: com. • <node id> .scheduler. multiple host .<instance id>.boot. This is possible.scheduler. by default. multiple host" setup. depending on the application server vendor. In many cases the failure will not recur as it was the result of a specific action. Network Failure The server can deal with multiple modes of network failure. With multiple nodes per host additional copies of the application server. If the network failure is between the central server and a managed system. to alert an operator. Performance in Multiple Node Setups Workload in a multiple node setup is not homogeneous. You should follow the guidelines from your application server vendor for setting up high availability between the application server and the database. In order to operate the SAP CPS software. More information can be found in the 'Network failure' sections of individual components. Software Failure If a node fails because of a software induced error (for example out of memory.it can simply be restarted with no impact on the time critical operations on the master. as all data is stored in the database. Node & Host Failure Both node and host failures are dealt with by the same mechanism. particularly memory. SAP CPS software and cache). 388 . Having a single node per host leaves the most memory available for data and cache.a single node can quickly take over as there is no need to co-ordinate all nodes. Without access to the database many components will wait for it to become available again before continuing. depending on the type of node that failed (master or slave). the application server and operating system all need to be in memory. These retries are done at the transaction level to ensure data integrity. SAP CPS software are required. Database operations are automatically retried if they fail and the failure code indicates that a retrying may fix the error. or specific circumstances. This means that there is less memory for each node's cache. and that some items may be cached twice (once on each node). as there is only one copy of the other items (application server. Hence the nodes will end up having to share the remaining memory for their data and cache. other activities may take place: • If a slave node fails . SAP CPS software and OS). If a node or host fails then other nodes will continue processing their current tasks. complex tasks. This can result in different performance profiles on different nodes. High Availability of the Database. • If the master node fails . Multiple node setups require more hardware resources. its data (including cache). or a bug in the software stack) then the effect is generally limited to that node. This affects performance (more database accesses) and is less efficient (due to the duplication of the application server. In all setups (but particularly for single node setups) the application server should be configured to restart nodes automatically if they fail. at a given point in time some nodes may be doing very little while others are processing large. since they cannot write any data. High availability of the database used by the application server is also important. and to implement a brief delay between restarts.Administering the Scheduling Landscape Note You can use the System_Info job definition to gather the information you need to set these parameters and inspect their values. There is no timeout or such. • Fail-over to another host that has access to the same database files • Active-Active setups like Oracle Real Application Clusters. In all cases the database HA and the application server are responsible for ensuring that the database is available. If the SAP system itself goes down. the job outcome is undetermined and the job status is set to Unknown. the Central Scheduler server will keep trying to contact the SAP system. This can then be used to trigger escalation procedures or automatic restarts. High Availability of the SAP Agent SAP System Failure The way that the SAP agent has been designed means that it is as resilient as possible against host failure. It is recommended to connect the SAP agent to a SAP system via the message server rather than connecting it to a specific ABAP application server as this gives you the following advantages: • resilience to ABAP application server failures • automatic load balancing of RFC connections across ABAP application servers 389 . particularly where the failure did not result in a transaction being committed to the database and where retrying the same transaction will result in it being committed successfully. it will not receive further jobs. This includes handling errors related to connection pools. One important case of database host failure is when the disks (or SAN.Administering the Scheduling Landscape Database Host Failure Should the database host fail. but will retry less and less often as the length of the network outage increases. Common solutions include: • Restarting the database host. The SAP agent then in turn determines whether any of these jobs finished. Software Failure The automatic retry system can cope with some software failures. and asks the SAP system what happened to each of these jobs. Should the database software fail in a more permanent manner then SAP CPS will act as if the database host failed. The Central Scheduler server then examines which jobs were running according to its information. and deadlocks in the database caused by row level locking. particularly before significant period end or overnight processing is likely to occur. If the Central Scheduler server goes down. etc) that store the database files become unavailable or full. You should ensure that sufficient disk space is available for database data. The results of these job terminations will be picked up by the SAP agent when the central Scheduler server becomes available and will be applied to the repository (database). then the database HA solution is responsible for making the database available again. Should this not be the case then data inconsistencies may result. but the jobs that are already running on the SAP system can finish. Network Failure Transient network failures will be handled by the automatic retry system. it will keep doing this until the SAP system is back up. If no information is found. This will retry operations using a backoff system that allows brief outages to be recovered from quickly (seconds or less). some driver errors. and that the data from transactions that have previously been committed is available to SAP CPS. so making the JEE server high available will also make the SAP agents high available. enqueue server.Administering the Scheduling Landscape For making the SAP system itself high available you have to consider all its components: • database • network • hardware • operating system • software . • Network failure .sap.crash or kill of the platform agent or just a single component of the platform agent.com/ contains information on how to make your specific SAP release high available. it will not receive further jobs. nor can job status updates be transmitted to the Central Scheduler server. but no status has been lost. Some delay will have been introduced.what happens if only the network goes down. message server. The site http://help. Software Failure Experience so far with the SAP agent shows that it is very reliable. The server will start reconnecting until the connection is available again. but the hosts on both side stay up. Host Failure The way that the platform agent has been designed means that it is as resilient as possible against host failure.what happens if either side of the connection goes down. It keeps trying until it succeeds. SAP Agent Fail-Over Scenarios The SAP agents run inside the Central Scheduler server.ABAP application servers. • Software failure . with the highest incidence of customer problems related to configuration issues. The results of these job terminations are stored on disk until the central Scheduler server is ready to pick this data up and apply it to the repository (database). operations are picked up where they were left. etc Please refer to SAP documentation and support for more details on making the SAP system high available. Once the connection is re-established. It also lists all SPOFs that you have to consider. If the Central Scheduler server goes down. Some user setups that guard against the above require redundancy: having a fall-back or backup platform agent available. the Central Scheduler server is effectively disconnected from the SAP system. We will show that this can be accomplished in (again) three different manners. Network Failure If the network goes down. but the jobs that are already running on the remote system can finish. High Availability of Platform Agents When examining the availability of platform agents that monitor and control the execution of operating system jobs on the computer systems under the schedulers span of control there are three types of failure that can occur: • Host failure . 390 . It can no longer send new job start requests to the SAP system. The job-processor is a little more important. • The job-processor. If no information is found. The command-line tools all serve a single purpose. and asks the platform agent what happened to each of these jobs. some of which have extended run-times. It keeps trying until it succeeds. It starts. When this happens already executing jobs are not affected. If this is not the case this indicates an abnormal failure. which is started for every job. so there is a low chance of software failures causing long-term effects: every run is stand-alone. The networkprocessor will simply pick these up when it is restarted. To keep the actual effect of such a failure low. it only affects that single execution. As such there is a higher risk involved with software failure of the network-processor. and return reliable error codes. All tools are designed so that they are easily scriptable. If a failure occurs. In this way the exposure to software failure that cannot be recovered has been reduced. Some delay will have been introduced. The Central Scheduler server then examines which jobs were running according to its information. The job-processor tries to perform as much as it can before telling the network-processor that it has indeed set the job up as far as possible. the Central Scheduler server will keep trying to contact the platform agent. but no status has been lost. operations are picked up where they were left. for an indefinite amount of time. When the network-processor process aborts completely it is restarted by the platform-agent. In such a case it will sleep for a number of seconds (currently fixed at 10 seconds) and then restart the network-processor. 391 . Network Failure If the network goes down. These parts are: • A monitor component that has no other task than monitor the network-processor called the platform-agent process. the Central Scheduler server is effectively disconnected from the platform agent. It runs multi-threaded. It can no longer send new job start requests to the agent host. which is a long running process that is responsible for communicating with the Central Scheduler server over the network. Once the connection is re-established. with one task per thread. This can then be used to trigger escalation procedures or automatic restarts. monitors and controls a single job. as the messages that need to be sent from the job-processor to the Central Scheduler server are stored on disk. It has been designed to do as little as possible after the job has finished. As long as the network-processor keeps running it does not do anything. mail etc. it will keep doing this until the server that the platform agent runs on is back up and the platform agent has restarted. with the highest incidence of customer problems related to configuration issues. The server will start reconnecting until the connection is available again. The platform-agent process also has a single well-defined and very simple job: monitor the network-processor. • The job can call various command-line tools such as jftp. Experience so far with the platform agent shows that it is very reliable. The network-processor itself is the most complicated part of the platform agent. There is no timeout or such. the network-processor has been designed such that such a failure will not cause a total breakdown of the agent. This way it guards against memory errors and other recoverable problems in the network-processor.Administering the Scheduling Landscape If the host itself goes down. Software Failure The platform agent consists of four different parts. • The network-processor. The platform agent then in turn determines whether any of these jobs finished. Only when the network-processor stops for any reason does it verify that the network-processor stopped in a controlled manner. nor can job termination messages be transmitted to the Central Scheduler server. but the hosts on both side stay up. the job outcome is undetermined and the job status is set to Unknown. but if it fails this still affects only a single job. you create a Windows serviceScheduler Service Manager (servicemanager. it is only a question of either changing the RemoteHostName or changing the IP address of the warm standby host. HP ServiceGuard and Microsoft Cluster Service. or launchd). since it is a warm-warm scenario where both systems can perform useful work if both are functioning properly. The reason that this is important is that the file system is used to persist data about jobs. In such a case you have a single process server and multiple platform agents on the clustered nodes. If you need redundancy in job execution you are not forced to use a clustered operating system or hardware solution. There are (at least) three scenarios how to handle fail-over between platform agents: 1. and this file system must move with the agent service. hostnames. Using two (or more) process servers each contacting a single platform agent. this easies seamless transition and accessibility of job output regardless of the active server.exe). on UNIX you use the platform-specific functionality (SMF. Operation of this scenario is as follows: the cluster software determines where the software should run.should be set to an FQDN • port • sharedSecret The port and sharedSecret must be the same for each server group. Use a clustering solution provided by the hardware or operating system vendor. If this changes. Fail-over from the active to the warm node is handled either by changing the RemoteHostName in the process server (and restarting it) or virtual IP handover. init. Popular solutions that provide this are IBM HACMP. Clustering Software by 3rd Party Vendor The platform agent can run on a system that is part of a hardware cluster. Sun Cluster. The clustering software provides virtual IP and file system handover. 2. Ideally. 3. This does provide a solution for being able to start new jobs. Each server is configured to start the platform agent at startup. Typical resources that are available are virtual IP addresses. When you intend to use such a solution you must store the agent instance data on a file system that is locally available to the active node in the cluster. The central server connects to platform agents using the following criteria: • hostname . knowledge about jobs that finished on node A will be unavailable once the service moves to node B. this way you simply change DNS entries to switch to another server. with two platform agents (active and warm) on two different machines. This provides redundancy and enhanced throughput. If the file system is not available. Whether this is serious depends on 392 . A single process server. but if you are not able to make the file system where the job status files of the old active node available to the new active node then the job status for those jobs is lost. Custom Active-Warm Setup Instead of a vendor solution you can also prepare a custom setup where a 'warm standby' platform agent is already installed and configured. When problems occur with the active node. the software should be installed on SAN storage attached to all servers in a group. it moves resources to the (winner of the) surviving node(s). Let us examine these three scenarios in more detail. file systems and software components. on Windows.Administering the Scheduling Landscape Platform Agent Fail-Over Scenarios The platform agents normally run on a particular system. you will not need an additional license for the second passive node . for instance reporting jobs that connect to a common database. Note that if you want an Active/Passive setup. The status of the jobs that was executing on those systems is determined once the connectivity is restored. SAP CPS supports such scenarios using the queue mechanism. Active-Active Setup In many circumstances it is possible to set up two or more systems that can each run a particular class of jobs. Should this occur.the license must be valid for all server nodes. including the bind address and the port number on a per-instance-node basis. each with a single platform agent.microsoft. with the same database connection settings. Note that on non-SAP NetWeaver 393 .Administering the Scheduling Landscape your environment. the newly started application server will act as a slave and be available as soon as it has been registered and a license has been installed. either the system has crashed in which case the job status becomes Unknown or the job has finished successfully and the status was written to (local) disk where it can be retrieved after the failure is repaired.the license must contain a sufficient number of process servers.aspx?id=8005] Configuring Web Application Clusters for High Availability Use There is usually no need to configure a cluster as SAP CPS has been designed from the base for application clusters. Licensing As configuring high availability often involves allocating and configuring additional resources. but only the status that the job scheduler has. there are various SAP CPS registry keys that can be used to configure a cluster. If another application server is active. If you want to tune the behavior.you may install the same license on both nodes provided they have the same hostname. Areas where licensing becomes a consideration are: • When the application is run on multiple server nodes . See Also • Server Clusters: Cluster Configuration Best Practices for Windows Server 2003 [http://www. Note that you can have as many classes of jobs as required. This gives great redundancy characteristics: if a system becomes unusable or unreachable then all remaining jobs will be executed on the remaining process servers. Attach multiple process servers.com/en-us/download/details. licensing may be affected. and every process server can work for as many queues as desired. For more information see the Queue mechanism in the Concepts section. If you configure a multi-node system and the license is not valid on all server nodes you will get a warning in the user interface indicating which nodes are not covered by the license. As soon as a second application server connects to the database. or jobs that perform computations. as you can create as many queues as you like. • Where multiple platform agents are being used in an active-active setup . Create a single queue where all jobs of the class of jobs that can run on these systems are sent. contact your account representative to get an appropriate license. it will request a license. to this queue. please note that it is not the job outcome itself that is lost. this excludes Ipv6 addresses and has a preference for an external address to a localhost address. By default it is CLUSTER. Clustering Implementation 2. The implementation can be changed with the following registry entry /configuration/boot/cluster/type The possible values are (Note: these values are case-sensitive): • RWM .SAP JMS Messaging • RMI . SAP CPS will immediately assign the master role to one of the running nodes. However in certain circumstances the implementation should be changed. Note: This can be different from the Cluster Host Name. Cluster Instance Id 4. There are five values that can be configured: 1. Redwood Messaging communication binding address 5.Redwood Messaging. This is determined by looking up all applicable addresses for the host and taking the best option . as soon as more than one application server share the same database connection settings. The following main variables are used for the naming of clusters: System Host Name The name of the host the server is run on.A non-clustered implementation designed as a Failsafe Cluster Name This is used for display purposes (for example within the output of the System_Info job) for identifying a cluster. Redwood Messaging communication port Cluster Implementation This is the implementation that is used to perform all clustering operations. the default implementation • SAP . they form a cluster.Administering the Scheduling Landscape systems.JMS Messaging for Redwood Platform (deprecated) • Standalone . Cluster Name 3. The Node Id is determined from the path in which the server is installed matching the value X in j2ee/cluster/serverX. By default Redwood Messaging is used. These three values can be viewed by running the System_Info job and looking at the information for the cluster node. The name can be changed with the following registry entry 394 . Under a standard configuration this will be 1 by default. If the system is configured to map the ip address to a host name then the host name will be returned. Cluster Node Id The unique identifier for the node within the cluster instance. This uniquely identifies members of a cluster instance. They follow a standard naming scheme whereby the root path /configuration is removed and is replaced with com.Administering the Scheduling Landscape /configuration/boot/cluster/name Cluster Instance Id This is a unique identifier for the cluster.cluster.). The bind address can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/<Cluster Instance Id>/<Cluster Node Id>/bindAddress Alternatively the bind address for all nodes in an instance can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/<Cluster Instance Id>/bindAddress If both these values are set the more specific (Instance + Node) value is used.boot. By default this is the System Host Name.redwood.scheduler. 395 . and the Cluster Node Id via the following equation: Port Number = 10000 + (1000 * Cluster Instance Id) + 70 + (Cluster Node Id) On a default setup this will be 10071. Setting the registry entry will change the Cluster Instance Id for all instances on the same host (that share the same database). The id can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/instanceId This must to be a number between 0 and 99 (inclusive).type. If a particular server instance requires a separate Cluster Instance Id then it should be set via the System Property rather than the Registry Entry. By default this is set to 0.scheduler and all slashes (/) are replaced with dots (. This allows you to have two clusters on the same host.redwood. For example /configuration/boot/cluster/type becomes com. By default this is determined from the Cluster Instance Id. Redwood Messaging Communication Port The port to which the communication is bound. The port can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/<Cluster Instance Id>/<Cluster Node Id>/port Using System Properties instead of SAP CPS Registry Keys All the boot configuration settings can be overridden by System Properties. Redwood Messaging Communication Bind Address The address to which the communication port is bound. 4. this is solved with the latest symbolic link. You can use the same script as used for node 0. configure cluster software to control the startup script of the platform agent. Install Platform Agent on node 0 as usual on a shared SAN file-system 2.exe and create a service for the platform agent. Install the platform agent on the first node on a shared SAN file system 2. Configuring Platform Agents on Microsoft Cluster Service Use Note Scheduling workload or using file events on Microsoft Windows process servers is only possible when your license includes a non-zero value for the license key ProcessServerService. Windows using MSCS 1.limit. Procedure UNIX 1. 3. Update process server parameter RemoteHostname to the FQDN of the cluster. in theory: • you install the software on a SAN drive • all fail-over servers must use the same port/SharedSecret/hostname Note When you update platform agents on Microsoft Windows. 3. The value of this key determines how many active platform agents (across all platforms) you can run. you might have to adapt the binary paths in your cluster software depending on the solution you are using. 396 . 4. You may create an unlimited amount of monitoring only platform agents. On node 1 is start the servicemanager. When the node of the platform agent fails or becomes unreachable its service is moved by Microsoft Cluster Service to a backup node. Update process server parameter RemoteHostname to the FQDN of the cluster. Control platform agent services from within MS Cluster.Administering the Scheduling Landscape Configuring Platform Agents for High Availability Use Integrating platform agents in high availability clusters is straight forward.OS. Using Microsoft Cluster nodes you can create a platform agent that has the same availability characteristics as the Microsoft Cluster. Optionally. On UNIX. On node 1 configure the system to start the platform agent using the platform-specific startup mechanism. limit . • Do not register the agent.OS. After you have installed the agents. make sure that the configuration data is identical.the total number of platform agent process servers< Note Both license keys must be honored if present. so you need to override these. Platform Agent Network Timeout A network timeout has been introduced to solve networking issues. • ProcessServerService. It is probably easiest to stop all platform agent instances and copy the ${InstallDir}\net\instance\${Instance} directory using Windows Explorer or another file copy mechanism. The most restrictive applies</note> 397 . when no message has been received in at most twice the MessageInterval. and SAP connectors) • ProcessServerService. their presence depends on your contract. if you install the agent in C:\Program Files\Redwood\Agent then you must install it in this path on every node. • A shared physical drive that is available on those nodes.Administering the Scheduling Landscape Cluster Fail Over • Jobs that are executing when the cluster node moves will be reported as Unknown. Suppose that cluster node A is in operation when the system is updated.the total number of external process servers (Platform agents.External. The standard installation generates different secrets on every node. If the physical disk resource was already disabled or moved to the winning node in the cluster the job status will be lost and the job will get status Unknown. For example. when the job-processor still had access to the physical disk at the time when the job finished. the system does not know what happened to them. Only the service on node A will be updated. Only when the cluster fails over to node B will the service on node B be updated. Prerequisites To create a service that is managed by the Microsoft Cluster Service you need: • A Microsoft Windows Server cluster consisting of at least two nodes. Cluster Services and Auto Update of the Platform Agent Auto-update will update one cluster node at a time. This configuration data can be found in the net subdirectory relative to where you installed the agent. • Create an instance. Error. distinct web service endpoints. Give this instance the same name and port number on all nodes. in particular the secret. Installation • Install the agent in the same directory on the Windows disk drive or another "fixed" path that is identical on all nodes.limit . or any other final status code (except Unknown). the platform agent will attempt to reconnect. • A job that finishes immediately before the cluster node moves will get a proper status update to Completed. To verify that everything works. Install the product using the guidelines in the Installation section above. • (MUST be already present on the nodes set in Window 2) Registry Replication is not needed. If not. choose Finish. NAS (NFS. 3.Administering the Scheduling Landscape Procedure 1. start the process server. Start the process server. See Also • Configuring Platform Agents on Windows • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents 398 . Start the platform agent (scheduler) resource. Install the SAP CPS Platform Agent on all nodes in the cluster. Using the SAP CPS ui. 4. Bring the Platform Agent online. Move the cluster group to a different node to verify that the platform agent service can run on all nodes. Make sure that the platform agent is made dependent on both resources. SMB) shares/drives are not supported. but make sure they ran on different nodes. Run another job. see Creating a Microsoft Windows Process Server (Advanced) for details. Move the cluster group to a different node. Both jobs should run successfully. such that it uses the cluster IP address and sets DataRootDirectory to a directory on the shared physical drive. check the operator messages. 2. • Generic Service Parameters Service name: jcs_<instance> Start parameters: Empty. Values Here is an example of the data that is filled in • New Resource Name: Scheduler platform agent <instance> Description: SAP CPS Job Scheduler platform agent Resource Type: Generic Service Group: Suggested: same group as the IP address and physical disk • Possible Owners Add the nodes in the cluster that have the platform agent installed. • Dependencies Add the Cluster IP Address and the physical disk. Make sure you create a process server in the Central Scheduler. submit and run a job. Use the Microsoft Cluster Administrator software to add a new resource that is in the same group as the cluster IP address and shared physical disk. The cluster group will show that the Scheduler is off-line. After a few moments the scheduler should go to the Running status. The JXBP module application. Applications have their own section in the navigation bar. This allows for easy migration from a DEV or QA environment into a PROD environment. • SAP . • Platform . This allows you to quickly and easily locate an object or a group of objects.The SAP module application.Parent application for the Redwood modules applications. enable a temporary filter showing all jobs related to the application Export tree Export the application and all its children into a CAR file Edit Edit the application 399 . using job definition System_ExportApplication ( see the Administration Guide ) or manually. These archives can then be imported with the System_Import_Archive job definition into other Repositories. the objects in that application are shown in the main pane ordered by the type of object. This can be done by deleting contained objects. • System .The Platform module application. or setting their application to null. moving them to another application (by changing the value in each object's Application field). they can be nested inside one another. • RedwoodScript . When an application is selected in the navigation bar. You must first remove the contained objects from the application. • JXBP . Additionally.Administering the Scheduling Landscape • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents Organizing Processes Use Applications are used to group objects in a hierarchy.The System module application. applications can be exported to a CAR archive file. Applications can contain other applications. The following applications are shipped with the product: • Redwood .The RedwoodScript module application. Context-Menu Actions Applications support the following context-menu actions: Action Description Edit Security Edit the security of the application Duplicate Make a copy of the application to create a similar one Delete Delete the application Monitor related Jobs Go to the job monitor. This means that you cannot delete an application which has child applications or contains objects. For example. These privileges can be granted system-wide. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges See Also • Creating Applications Creating Applications Use Applications are used to group objects used to group other objects in a hierarchy.Delete Delete applications You can grant privileges on two levels. 400 .CreateChildren Create child-applications Application. If you have the object security.the type of object with a link to it • Related Object . per partition or isolation group. Access and Admin.objects can sometimes be used in different roles Security Privilege Description Application. you have an additional Security tab on the application.View view applications Application. and delete the application. The table in related objects contains three columns: • Type . the application cannot be deleted until all job definitions that use it have been modified. they can be nested inside one another.Create Create applications Application. a privilege granted on Admin level allows the grantee to grant the privilege to other users. if there are job definitions that use the application. edit.Edit Edit applications Application. create children of. which requires the Chargeable version. You can see all job definitions that relate to the application in Related Objects in the lower detail pane and on the show page. It allows you to specify which users can access.the name of the object with a link to it • Used As .Administering the Scheduling Landscape Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar Expand All Expand all objects in the application New application Create a new application Deleting Applications You can only delete libraries when no other objects relate to them. { Application oldApp = jcsSession. • Description . Application newApp = jcsSession.next(). Name: EMEA_DataWareHouse Parent Application: [none] Description: Data warehouse for EMEA Documentation: This application is used to group all objects related to the EMEA Data Warehouse.The name of the application that contains this application. This differs from most other properties.hasNext(). o. From the context-menu.setParentApplication(newApp). ApplicationObjects are objects that can have an application and the application can be retrieved by the getParentApplication() method.Administering the Scheduling Landscape Procedure To create an application: 1. it. Managing Applications with RedwoodScript Use You can use RedwoodScript to manage applications. Choose Applications.The description of the application.persist().) { ApplicationObject o = (ApplicationObject) it. This has been done. Example You want to move all objects from the App1 application to the App2 application. From the context-menu of the left-hand side bar. then fill in the values below. refer to the values below. } 401 . Choose Save & Close to save the new application and close the edit window. because of the Parent part of the method name. • Documentation . for (Iterator it = oldApp. Values • Name . Example 1. 3. choose New Application .getApplicationByName("App1"). choose New Application . 2.A comment about the application.getChildApplications() . 3.The name of the application. 2. jcsSession. Choose Applications in the Navigation bar. so that the method name matches the name of the method you use on application objects. • Parent Application .getApplicationByName("App2"). Fill in the necessary information. } } } Migrating Objects with the Promotion Module Use The Promotion Module is used to migrate SAP CPS from one environment into another. "Finance").getApplicationByName("Masalan"). Application app = jcsSession. for example. Export rule sets are used to specify which objects are to be exported. it.Administering the Scheduling Landscape } You want to force users to specify an application when ApplicationObjects (except Applications) are created.getObjects().getApplicationByName(parentApp.iterator(). The module ships with the following job definitions • System_Import_Archive • System_Export_RuleSet • System_Export_Application The Import Third Party Scheduler Data functionality is provided for Product Consultants to import data from third-party scheduling solutions. { Application parentApp = jcsSession. (Note that ApplicationObjects are objects which can have a parent application).next(). like changing the default value of job parameters. import and export rule sets. if (o instanceof ApplicationObject && !( o instanceof Application)) { ((ApplicationObject) o). This can be used as a trigger. The module introduces new object types. Import rule sets are used to adapt the objects to the new environment.hasNext(). See Also • Export Rule Sets • Creating Export Rule Sets • Exporting SAP CPS Objects • Importing Objects • Importing SAP CPS Objects with Imports • Importing Objects with Import Rule Sets 402 .setParentApplication(app). for (final Iterator it = jcsImportRuleSet.) { Object o = it. Export rule sets provide two ways of selecting which objects are to be exported: • Export Rules . Comment A comment about the rule. To customize your imports and exports. so even new objects that are created and fulfil the criteria are included in the export. Applications are used to group different objects for easy migration. you can save the rule set. Export Rule Set Field Description Partition The partition of the export rule set. or USERNAME for SAP job definitions. Application The application of the export rule set. all objects of the type that are not part of the system will be exported. it will be used as the second part of the business key.static list. hyphens. Tabs The following sections cover the tabs in the Export Rule Set editor screen. it may only contain letters. you can specify rule sets. it will be used as the first part of the business key.Administering the Scheduling Landscape Export Rule Sets Use Most objects can be exported as CAR files from within the user interface. 403 . When you create an import. much like object filters • Export Lists . Export lists are static. will be used as the name of the rule when set. Quality Assurance and Production systems. you may specify an import rule set according to which Parameters. you use the queries to locate the objects to include in the list. search for objects according to various criteria (object type with optional name pattern or last modification date) and add them to the list Export rules are dynamic. Import and export rule sets allow you to organize the flow of processes between Development. underscores and numbers. Field Description Name The name of the rule. By default. CLIENT. like INSTANCE. Once you are satisfied with the list of objects. Description The description of the export rule set. Name The name of the export rule set.dynamic list according to criteria. Description The description of the rule. Object Type Rules can be created for a number of object types. can be adjusted to the new system with overrides. Export Rules Import rule sets can hold one or more import rules. for each rule. Use the Preview tab to get a list of objects that are going to be exported with the current settings. an object-sensitive filter will be displayed. they can then be imported with the job definition System_Import_Archive or from the command line. Context-Menu Actions Export rule sets support the following context-menu actions: Action Description Submit Export Job Submits an export job with the current export rule set Edit Security Edit the security of the export rule set Duplicate Make a copy of the export rule set to create a similar one Delete Delete the export rule set Export Export the export rule set into a CAR file Edit Edit the export rule set Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New Create a new export rule set Filter > New Filter Create a new export rule set filter Filter > Edit Filter Edit current export rule set filter Filter > Delete Delete current export rule set filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Export Rule Sets You can search for export rule sets using filters in Search Export Rule Sets box. Filters allow you to specify a list of objects with static criteria. you may specify modification before [.[] dates and the user who modified the objects for displaying a list to choose from. select the objects to be exported and add them to the list of exported objects. Field Description Where the object of type The type of object you wish to export Where the object was changed after [. known as the IntelliSearch box. For example. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. if you want to display all import rule sets with the term dev in the comment. you would use the search criteria as follows: c:dev 404 .. List of Objects The list of objects that fulfill the specified criteria Objects to Export The list of objects that have been added to the export rule set.] by user . located under your username on the top right-hand side of the user interface....Administering the Scheduling Landscape Export List The Export List tab allows you to easily create a static set of objects to export.. You set a number of rules. IntelliSearch allows you to specify complex queries in a simple way using prefixes..] and Instead of specifying an object type. as such. Access and Admin. comment searches the documentation property d. any built-in object that matches a pattern will be discarded from the export. Security Privilege Description ExportRuleSet. Always use the Preview tab to check which objects match your criteria.Administering the Scheduling Landscape You can search more than one property.Edit Edit export rule sets ExportRuleSet. a privilege granted on Admin level allows the grantee to grant the privilege to other users. If you have the object security.Create Create export rule sets ExportRuleSet. There is no need to exclude built-in objects. application searches the application property Export Rule Sets Export rules define which objects get exported into CAR archives. Note Exports. description searches the description property a. per partition or isolation group.Delete Delete export rule sets ExportRuleSet. name searches the name property c. which requires the Chargeable version. and delete the import or export rule set. export rules and export rule sets require the Import/Export module. as they cannot be exported and will be discarded. You can match one or more objects to be transported from one system into another seamlessly. edit. as follows: c:dev n:ORA Note No spaces should be entered before or after the colon (:). you have an additional Security tab on the import and export rule set. which requires a specific license. Note Built-in objects cannot be exported. Export rule sets can hold one or more export rules.View Access export rule sets You can grant privileges on two levels. The following table illustrates the available prefixes for import and export rule sets: Prefixes Description n. See the Advanced Object Search for more information. It allows you to specify which users can access. • Granting and Revoking System Privileges 405 . These privileges can be granted system-wide. 406 . you can specify rule sets. Export Rule Set Application The application of the export rule set.. Export List Where the object of type Select an object type for export. Export Rules Description The description of the export rule. Export Rule Set Name The name of the export rule set. Export List Where the object was Specify dates between which the object was modified changed after[. Export Rules Matches Object Type Export all non-system objects matching the type. To customize your imports and exports. Documentation Documentation A comment about the object. Tip Check the Preview tab. Import and export rule sets allow you to organize the flow of processes between Development. Export List List of exported objects. Export Rules Name The name of the export rule. Tab Field Description Export Rule Set Partition The partition where you wish to store the export rule set..] and before by an optional specific user.Administering the Scheduling Landscape • Granting or Revoking Object Privileges See Also • Migrating Objects with the Promotion Module • Creating Export Rule Sets • Exporting SAP CPS Objects • Importing SAP CPS Objects Creating Export Rule Sets Use Most objects can be exported as CAR files from within the user interface. Export Rules Application The application of the export rule. they can then be imported with the job definition System_Import_Archive or from the command line. which will list all objects that match your rule set. Export Rule Set Description The description of the export rule set. Quality Assurance and Production systems. Tabs & Fields The following table illustrates the fields of each tab of Export Rule Sets editor dialogs. [. Preview List of exported objects per Export Rule and Export List. can be used for documentation purposes..] by user Export List List of objects matching the specified criteria. choose Add. Navigate to Promotion > Export 2. Fill in the details and choose the Export Rules tab. Choose Save & Close. select Where the job Definition belongs to Application on the Include tab and choose Application in the Selection field below. Using an Export Rule Set 1. Navigate to Promotion > Export Rule Sets 2. choose Add and fill JobDef into the Name and field. Navigate to Promotion > Export Rule Sets 2. then Ok. Fill in the details and specify an export rule set. Proceed when you are satisfied. When you specify an object type. 407 . 4. 1. Locate and add other objects on the Export List tab. you can also specify the user who made the modification to narrow-down the list. Example Creating an Export Rule Set to export all Job Chains and Job Definitions from the Masalan application. On the Export Rules tab. In the new dialog. 6. perform the previous steps again to adapt the rule or list. 3. 5.* tion Guide ) This is where you can specify who can access/change/remove the export rule set. you can select the objects to export according to a query on an object type or according to the 'Last Modification Time of the object. Choose Export from the context-menu. enter JobDef into the Matches Object Type field and select JobDefinition. 4. 6. Choose New Export Rule from the context-menu. 3. Enter Export_Masalan_JobDefs into the Name field. 5. 4. Note that some objects do not support When you specify a modification time.Administering the Scheduling Landscape Security ( see the Administra. In the Available conditions field below. Choose Add to create a new import rule and fill in the details. Procedure Creating an Export Rule Set 1. fill Masalan into the Where the job chain belongs to Application field. if necessary. you can select a filter or fill an IntelliSearch expression into the matching'' field. 3. 7. Inspect the results on the Preview tab. Choose New Export Rule Set from the context-menu. Choose Save & Close. Export List On the Export List tab. 3. 1. enter JobC into the Where the object of type field. 4. 6. Creating an Export Rule Set based on a static list of all Job Chains and Job Definitions currently members of the Masalan application. replacing JobDef and JobDefinition with JobCh and JobChain. for example. On the Export List tab. you can specify rule sets. optionally use an existing object filter or specify part of the name in the search query box to reduce the amount of hits. they can then be imported with the job definition System_Import_Archive or from the command line. Exports support the following actions: Action Description Delete Delete the export Edit Edit the export Show permalinks Show links that can be used from third party to link to the object Submit Export Job Submits an export job Expand All Expand all exports in the current filter Filter > New Filter Create a new export filter Filter > Edit Filter Edit current export filter Filter > Delete Delete current export filter 408 . See Also • Migrating Objects with the Promotion Module • Export Rule Sets • Exporting SAP CPS Objects • Importing SAP CPS Objects Exporting SAP CPS Objects Use Most objects can be exported as CAR files from within the user interface. You can use an existing or create a new object filter which matches criteria and use it here if you do not know which objects match. select the items that are in the Masalan application and choose Export Selected. respectively.Administering the Scheduling Landscape 7. 8. From the list. Import and export rule sets allow you to organize the flow of processes between Development. Quality Assurance and Production systems. Enter Export_Masalan_JobDefs into the Name field. Navigate to Promotion > Export Rule Sets 2. Choose Save & Close. Repeat the above steps for job chains. 5. Choose New Export Rule Set from the context-menu. Choose Save & Close. To customize your imports and exports. 5. 409 . Choose New Export Rule Set from the context-menu. Using Export Rule Sets 1. Import Rule Sets Import rules define which objects get imported from CAR archives and the changes required by the new system. Navigate to Promotion > Export 2. To customize your imports. Fill in the details and specify an export rule set. See Also • Migrating Objects with the Promotion Module • Export Rule Sets • Creating Export Rule Sets • Importing SAP CPS Objects Importing Objects Use Most objects can be exported as CAR files from within the user interface. Choose Export from the context-menu. with the job definition System_Import_Archive or from the command line. you can specify import rule sets. Import rule sets allow you to organize the flow of processes between Development.Administering the Scheduling Landscape Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Procedure Creating Export Rule Sets 1. they can then be imported manually with imports. 3. Choose Save & Close. 3. Fill in the details and choose the Export Rules Tab 4. Choose Add to create a new import rule and fill in the details. which allow one or more objects to be transported from one system into another seamlessly. 4. Quality Assurance and Production systems. Choose Save & Close. Navigate to Promotion > Export Rule Sets 2. 410 . Actions on import rule sets allow you to specify RedwoodScript code to be executed against the imported objects before they are written to the database. as this is done for you at a later stage. which requires a specific license.car -server prd. import rules and import rule sets require the Import/Export module.com:50000 -username jdoe -password mysecret }}} If you need to edit the objects in a CAR file.car • execute the car file with java (on the command line) and specify the URL to the central server (see section below) Importing CAR Files from the command line The uploader class is included in the CAR file. You have multiple choices. specifying the local path to the file.com/Masalan.masalan. Valid <arguments> -self . you can: • * run an import and use the file browser to upload the CAR file • copy the file over to the target central SAP CPS server and submit System_Import_Archive. The code can be specified on the Actions tab and make use of the classes that you have stored in a library. you would like to import it into SAP CPS.car • copy the file to a web server.Administering the Scheduling Landscape Note Imports. you will be prompted for the data Valid <options> -gui (present a GUI for entering server/username/password) -txt (command line prompt for server/username/password) If the -gui/-txt option is omitted the input method will depend on the operating system and JDK version. for example http://prd1. You can usually import car files created with zip-compatible tools with the job definition System_Import_Archive. where it can be downloaded. for example c:\files\Masalan. which does not use the uploader class. you can decompress it. java -jar <CAR> [-server [http[s]]://]host:port -username <username> -password <password> <option> <arguments> if -server is omitted. You decompress CAR files with jar and other zip-compatible programs and re-create them with jar (so you can use the uploader class) and other zip-compatible tools. Importing Objects from Remote CAR Files A CAR file is located on a remote system. Note You should not persist the session in import rule set actions.self upload this file (default) -ruleset <ruleset name> . so you can run upload CAR files from the command line interface. and submit System_Import_Archive.use an import ruleset (optional) Example {{ java -jar processServer. specifying the HTTP URL to the file. The zip-compatible tools might not preserve the uploader class.masalan. car on Windows and /opt/car/import. see note below) URL • file:// . see note below) • ftp:// .com/shared/car/import.com\shared\car\import. SAP CPS does not hide the password. as that user has no access to network shares. CIFS share) .file://C:/car/import.masalan. • UNC .C:/car/import. They were introduced to ease the promotion work-flow and submit a System_ImportArchive ( see the Administration Guide ) job with the corresponding parameters.car (The central server must reside on Windows.car (note the three forward slahes (/) on Unix).masalan.anonymous or with the username and password specified in the URL.com/pub/car/import. Since backslash is a special character in a lot of programming languages. Note Microsoft Windows accepts forward slashes (/) instead of backslash (\) in paths as long as the command used with the path does not use old-style parameters like /?.Administering the Scheduling Landscape See Also • Migrating Objects with the Promotion Module • Importing SAP CPS Objects with Imports • Importing Objects with Import Rule Sets Importing SAP CPS Objects with Imports Use Imports are used to import objects from CAR files.car or C:\car\import.car. Note When you use ftp or http with authentication. like ftp://jdoe:secret@ftp. Path Syntax When you specify CAR files.masalan. or file:///opt/car/import.samba.http://share.com/car/import. depending on the web server. Note Note that the user the JEE server runs as needs to have access to the share.car.com/shared/car/import.masalan. You can upload a car file or specify a remote car file to be retrieved by the central server. SAP strongly recommends the use of the forward slash over the backslash when you are not programming in Windows Command (CMD) / Batch.car on Unix • • UNC . NFS.car (Note the four forward slahes (/).file:////samba. make sure it is not running under local System account (NT Authority\System).car • http:// . 411 . you can use the following path syntaxes for files: • Native (local. If the central server is running on Windows.masalan. The central server must reside on Windows. you may encode the username/password in the URL.car or //samba. masalan. where it can be downloaded. for example c:\files\Masalan. You have multiple choices. 412 . Choose Save & Close. Navigate to Promotion > Import 2. 4. for example http://prd1.Administering the Scheduling Landscape Importing Objects from Remote CAR Files A CAR file is located on a remote system.car • copy the file to a web server. and submit System_Import_Archive. Choose Import from the context-menu. Choose Import from the context-menu.car • execute the car file with java (on the command line) and specify the URL to the central server (see section below) Context-Menu Actions Imports support the following context-menu actions: Action Description Delete Delete the import Edit Edit the import Show permalinks Show links that can be used from third party applications to link to the object Submit Import Job Submits an import job Filter > New Filter Create a new import filter Filter > Edit Filter Edit current import filter Filter > Delete Delete current import filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Procedure Using Imports 1. you can: • run an import and use the file browser to upload the CAR file • copy the file over to the target central SAP CPS server and submit System_Import_Archive. Navigate to Promotion > Import 2.com/Masalan. specifying the local path to the file. Fill in the location of the CAR file. Using Import Rule Sets 1. 3. specifying the HTTP URL to the file. you would like to import it into SAP CPS. Fill in the location of the CAR file and specify an import rule set to narrow down the imported objects. 3. import rules and import rule sets require the Import/Export module. it will be used as the first part of the business key. Choose Submit. When you import an object. 4.car. The CAR file is located in D:\data\job_definitions. You can adapt default values of parameters. for example.Administering the Scheduling Landscape 4. 1. Navigate to Definitions > Job Definitions 2. which requires a specific license. the object is overwritten with the object in the CAR archive. to the target system. Example Importing Objects with System_Import_Archive A local CAR file contains job definitions that need to be imported. Choose Save & Close. Import rule sets allow you to organize the flow of processes between Development. See Also • Migrating Objects with the Promotion Module • Importing Objects • Importing Objects with Import Rule Sets • Export Rule Sets • Creating Export Rule Sets • Exporting SAP CPS Objects Importing SAP CPS Objects Use You use import rule sets to customize your imports. Import rule set actions allow you to further customize the objects during the import process with RedwoodScript. Choose Submit from the context-menu of the job definition System_Import_Archive 3. Import Rule Set Field Description Partition The partition of the import rule set. You do not require import rules for these job definitions. Tabs The following sections cover the tabs in the Import Rule Set editor screen. Quality Assurance and Production systems.car into the File field. except for tables (see below). 413 . Fill D:\data\job_definitions. Note Imports. Matching This field groups the match criteria for a job definition/job chain call and job/scheduling parameter.Used with job chain call jobs only. can be adjusted to the new system with overrides. this is used to differentiate parameters with the sion same name but different default values. the import will fail. Matching > Queue The queue value to match. it may only contain letters. Replaces > Script Run-as-user The new Run As User for the job definition/job chain call job. Import Rules Import rule sets can hold one or more import rules. Matching > Parameter > Mapping Ex. Matching > Priority The priority to match. CLIENT. like INSTANCE. New rows that were added during the import will be prefixed by the value of this property. will be used as the name of the rule when set. Matching > Hold On Submit The Hold on Submit value to match. you can use GLOB wildcards (*. When you create an import. Replaces >Priority The new priority of the Job definition/job chain call job.Administering the Scheduling Landscape Name The name of the import rule set. Empty means all job definitions or job chain call jobs will match. Ignore Failure When the new value is invalid. you may specify an import rule set according to which Parameters. Variable Prefix The variable prefix is used when you import the special System_Values table. Replaces >Queue The new default queue of the Job definition/job chain call job. Applications are used to group different objects for easy migration. Field Description Name The name of the rule. Replaces >Hold On Submit The new value for the Hold on Submit scheduling parameter. Matching > Script Run-as-user The Run As User to match for the job definition. Matching > Parameter > Default Expres. Replaces This field groups the new values of the previously matched items. Description The description of the import rule set. ?). Matching > Parameter Used to match zero or more parameters. Replaces >Parameter The new value(s) of the parameters. by default. it will be used as the second part of the business key. Matching > Name The name to match. Application The application of the import rule set. Comment A comment about the rule. Description The description of the rule. it is the parameter mapping that the pression parameter has in the job chain. or USERNAME for SAP job definitions. underscores and numbers. You can override this with the Ignore Failure for specific changes. hyphens.Used with job definitions. Object Type Rules can be created for either job definitions or job chain call jobs and allow you to change job parameters or scheduling parameters. 414 . jcsErrLog com. except for the special System_Values table. Importing Tables The import will fail when you import existing tables that differ in contents. The context of actions in import rule sets have a SchedulerSession object which allows you to rename the objects.warn("This does not look good!").getQueueByName("PRD_QUEUE").Logger jcsOutLog.model. when imported. and the ''jc sImportRuleSet'' which is an iterator over the collection of objects that are to be imported.infrastructure. Note You should not persist the session in import rule set actions.scheduler.fatal("Cannot determine the application of imported object. Context-Menu Actions Import rule sets support the following context-menu actions: Action Description Submit Import Job Submits an import job with the current import rule set Edit Security Edit the security of the import rule set Duplicate Make a copy of the import rule set to create a similar one Delete Delete the import rule set Export Export the import rule set into a CAR file Edit Edit the import rule set Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New import rule set Create a new import rule set Filter > New Filter Create a new import rule set filter Filter > Edit Filter Edit current import rule set filter Filter > Delete Delete current import rule set filter 415 .infrastructure. Object Class Example Code jcsSession com."). modified rows will.api.logging.Logger jcsErrLog.api.variables.redwood.redwood. for example. See the example below. however not be modified during the import.SchedulerSession jcsSession.scheduler.ImportActionScriptObject jcsImportRuleSet.scheduler. This special table.getObjects().scheduler. The code can be specified on the Actions tab and make use of the classes that you have stored in a library.redwood.Administering the Scheduling Landscape Import Action Actions on import rule sets allow you to specify RedwoodScript code to be executed against the imported objects before they are written to the database.scripting. as this is done for you at a later stage.logging. will append additional rows that are found in the CAR archive to the existing table.api.api. jcsOutLog com. jcsImportRuleSet com.redwood. known as the IntelliSearch box.Delete Delete import rule sets ImportRuleSet. you would use the search criteria as follows: c:dev You can search more than one property. name searches the name property c. The following table illustrates the available prefixes for import and export rule sets: Prefixes Description n.View Access import rule sets You can grant privileges on two levels. These privileges can be granted system-wide.Create Create import rule sets ImportRuleSet. edit. you have an additional Security tab on the import and export rule set. It allows you to specify which users can access. and delete the import or export rule set. a privilege granted on Admin level allows the grantee to grant the privilege to other users. Access and Admin. 416 . located under your username on the top right-hand side of the user interface. IntelliSearch allows you to specify complex queries in a simple way using prefixes. if you want to display all import rule sets with the term dev in the comment. For example. description searches the description property a. Filters allow you to specify a list of objects with static criteria.Edit Edit import rule sets ImportRuleSet. See the Advanced Object Search for more information. per partition or isolation group.Administering the Scheduling Landscape Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Import Rule Sets You can search for import rule sets using filters and the Search Import Rule Sets box. If you have the object security. comment searches the documentation property d. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. which requires the Chargeable version. application searches the application property Security Privilege Description ImportRuleSet. as follows: c:dev n:ORA Note No spaces should be entered before or after the colon (:). like INSTANCE. CLIENT. Procedure Creating Import Rule Sets 417 . Import Rules Import rule sets can hold one or more import rules. or USERNAME for SAP job definitions. When you create an import. You can adapt default values of parameters. can be adjusted to the new system with overrides. Note You should not persist the session in import rule set actions.Administering the Scheduling Landscape • Granting and Revoking System Privileges • Granting or Revoking Object Privileges See Also • Importing Objects with Import Rule Sets • Importing Objects • Importing SAP CPS Objects with Imports • Migrating Objects with the Promotion Module • Privileges Required to use ImportRuleDefinition • Privileges Required to use ImportRuleSets • Privileges Required to use ImportSources • Export Rule Sets • Creating Export Rule Sets • Exporting SAP CPS Objects Importing Objects with Import Rule Sets Use You use import rule sets to customize your imports. Quality Assurance and Production systems. to the target system. for example. Actions on import rule sets allow you to specify RedwoodScript code to be executed against the imported objects before they are written to the database. Import rule set actions allow you to further customize the objects during the import process with RedwoodScript Note Imports. import rules and import rule sets require the Import/Export module. Import rule sets allow you to organize the flow of processes between Development. you may specify an import rule set according to which Parameters. which requires a specific license. The code can be specified on the Actions tab and make use of the classes that you have stored in a library. as this is done for you at a later stage. Perform steps 3 to 5 for the CLIENT parameter. these job definitions all have a parameter named SAP_SYSTEMS that needs to get a new default value. Choose New Import Rule Set from the context-menu. Fill in the details and choose the Import Rules Tab 4.Name SAP_SYSTEMS Replaces . Fill in a name and choose the Import Rules tab. Choose Add next to Parameter Matches for the Matching field and fill in the details below. Choose Save & Close. 4.Name SAP_SYSTEMS Matching . Values SAP_SYSTEMS parameter: Field Value Name Q2A_TO_PR2 Object Type Job Definition Matching . do the same for Replaces. 4. The default value in the car file is Q2A and should be replaced with PR2 to match the new system. Navigate to Promotion > Import Rule Sets 2. Navigate to Promotion > Import Rule Sets 2.a 6. 7. Fill in the details and specify an import rule set to narrow down the imported objects. 3. 3. 3. Choose Import from the context-menu. Choose New Import Rule Set from the context-menu. Navigate to Promotion > Import 2.Default Expression PR2 418 . Choose Save & Close.Default Expression Q2A Replaces . Using Import Rule Sets 1. Choose Save & Close.Administering the Scheduling Landscape 1. 5. The parameter CLIENT also needs to change from 200 to 800. Example Using import rules to change objects during import A CAR archive containing multiple job definitions are to be imported. Choose Add to create a new import rule and fill in the details. 5. 1. Choose New Import Rule Set to create a new import rule and fill the details below into the Name and Object Type fields. 2. Choose New Import Rule Set from the context-menu. } } } See Also • Customizing Imports with ImportRuleSets • Importing Objects • Importing SAP CPS Objects with Imports • Migrating Objects with the Promotion Module • Privileges Required to use ImportRuleDefinition • Privileges Required to use ImportRuleSets 419 . Sample code to set the application or parent application to the Masalan application { Application app = jcsSession. 3. Fill in a name and choose the Import Action tab.Administering the Scheduling Landscape CLIENT parameter: Field Value Name 200_TO_800 Object Type Job Definition Matching .Default Expression 800 Using RedwoodScript code to change objects on import 1.setParentApplication(app). 8.iterator(). for (final Iterator it = jcsImportRuleSet. Choose Save & Close. Choose New Application from the context-menu and fill Masalan into the Name field.getApplicationByName("Masalan"). if (o instanceof ApplicationObject) { ((ApplicationObject) o). Navigate to Applications. it. 6. Choose Add and fill the code below into the Source field.Name CLIENT Matching .hasNext().) { Object o = it. Choose Save & Close. 7.Name CLIENT Replaces . Navigate to Promotion > Import Rule Sets 5.next().Default Expression 200 Replaces .getObjects(). 4. Administering the Scheduling Landscape • Privileges Required to use ImportSources • Export Rule Sets • Creating Export Rule Sets • Exporting SAP CPS Objects Managing Job Output Formats Use Jobs produce different kinds of output. A format can be assigned to a job definition's output or log format. The application used to view a job file depends on your browser. the file type can range from plain text files to PDF or ZIP files. A format describes file content types. a MIME type needs to be specified. such as text or Postscript. Formats are part of the Definitions section in the navigation bar.redwood.txt ting text/plain PortableDocumentFormat Portable Document Format files pdf application/pdf TextLog Text Log files log text/plain XMLText eXtensible Markup Language files xml text/xml Feel free to add any formats that your jobs generate. Context-Menu Actions Formats support the following context-menu actions: Action Description Edit Security Edit the security of the format Duplicate Make a copy of the format to create a similar one Delete Delete the format Export Export the format into a CAR file Edit Edit the format Show permalinks Show links that can be used from third party applications to link to the object 420 . The following standard formats are provided with SAP CPS: Format Explanation Extension MIME type CSV Comma-separated Values files csv text/csv CronacleArchive Cronacle Archive files car application/x-vnd. and your browser settings. thus defining the extension and MIME (Multimedia Internet Mail Extensions) type to use for the job files.car HTMLText HyperText Markup Language files html text/html JavaArchive Java archive files jar application/java-archive PlainText Plain Text or text files with no format. Formats can be attached to job definitions and job chains to specify the output format and MIME type. To allow the browser to use the correct application to open the output file. If this fails. The job's standard output stream (stdout. the application logs and the job statistics log is in TextLog format. Registry key /configuration/mail/AutoExtension=false 421 . other types of spool will be retrieved as PlainText. but a future version of SAP CPS will allow smart browsing through TextLog files. The job's standard error stream (stderr. which do not already have a .in the comment of the format 2. then all spool files will be in PDF.log) is in the job definition's Default Log Format. or else in Text format. If the SAP system supports new XBP functionality for retrieving spool as PDF (see SAP Note 1280850 [http://service. the job output is in PlainText format. SAP jobs For SAP jobs the job log. Automatic Extensions SAP CPS appends extensions automatically to text files and HTML files.html extension. If the Default Output Format of the SAP job definition is set to PortableDocumentFormat. The difference between PlainText and TextLog files is small at the moment. The default format of the spool files is PlainText. or else to Text format. For others. the format is set to the job definition's Default Out Format.log) is in TextLog format. If those are not set it uses PlainText or TextLog. Registry key /configuration/mail/AutoExtension/<Format_Partition>/<Format_Name>=false 3. it maps the extension of the job's filename to the list of possible formats. If that fails it uses the Default Output Format and Default Log Format attributes of the Job Definition.Administering the Scheduling Landscape Add to navigation bar Add the current object to the navigation bar New format Create a new format Filter > New Filter Create a new format filter Filter > Edit Filter Edit current format filter Filter > Delete Delete current format filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Mapping of files to formats The system's process server agents will try to assign a format to every job file created by the jobs. System jobs For System jobs.sap. for instance the agent log file. The agent's error messages are in TextLog format.log) is in the job definition's Default Out Format. the job agent log (stdlog. or if that is not set in TextLog format. For some files the system knows exactly what the content is as it has generated them itself.com/sap/support/notes/1280850]). @autoextension=false . You can disable this by specifying one of the following: 1. then the spool output of type OTF (SAP Script) is automatically converted into PDF. Operating system jobs For Operating System jobs run by the Platform Agent.txt or . Other files are mapped according to their extension. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. like Job Definition for a job definition. you would use the search criteria as follows: c:W3C You can search more than one property. The type will be Job Definition. the format cannot be deleted until all references have been deleted. as follows: c:W3C n:XML Note No spaces should be entered before or after the colon (:). If none are found. IntelliSearch allows you to specify complex queries in a simple way using prefixes.Administering the Scheduling Landscape Note that the settings are parsed in this order. You can see all references to the format in Related Objects in the lower detail pane and on the show page. See the Advanced Object Search for more information. name searches the name property c. for example and the Related Object will be the name of the job definition. application searches the application property Deleting Formats You can only delete formats when no other objects relate to them. if you want to display all formats with the term W3C in the comment.the type of object.the name of the object with a link to it • Used As . The following table illustrates the available prefixes for formats: Prefixes Description n. the first setting found is used. Filters allow you to specify a list of objects with static criteria. the default is true. description searches the description property a. For example. if there are still jobs or job definitions that reference the format. The table in related objects contains three columns: • Type . Finding Formats You can search for formats using filters and the Search Formats box on the Formats tab. formats that are used in job job definitions. 422 .objects can sometimes be used as different object types For example. For example. comment searches the documentation property d. with a link to it • Related Object . will have the call-reference in Related Objects. 423 . • Extension .Edit Edit formats Format. If you have the object security. you have an additional Security tab on the format. 4. Choose Refresh to see all existing formats. a privilege granted on Admin level allows the grantee to grant the privilege to other users. These privileges can be granted system-wide. but as long as that job is in the system you will not be able to delete the format. Choose Save and Close to save the format. Format • Name . • MIME Type . and delete the format. per partition or isolation group.Create Create formats Format. Choose Definitions > Formats in the Navigation bar. You might have changed the job definition. edit. refer to the section below. this indicates that there still is a job that refers to the format.View Access formats You can grant privileges on two levels. Fill in the details. • Documentation . Access and Admin.The MIME type to use when sending this file to a web browser.Administering the Scheduling Landscape Note When a job definition is displayed with a timestamp in the name.The description of the format.The name of the application used to group this object. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure 1.The name of the format.Delete Delete formats Format. Choose New Format to create a format. 3. which requires the Chargeable version. Example 1. Security Privilege Description Format. • Application .A comment about the format. 5. Choose Definitions > Formats. • Description .The extension of files that use this format. 2. It allows you to specify which users can access. Choose Save & Close to save the new format and close the edit window.The format you want to use for displaying dates and other data that has region-dependent formats can be specified with the locale. • Navigation Bar . • Locale . Name: ZIP Description: Compressed ZIP File Comment: Compressed ZIP file containing other files Extension: zip Mime Type: application/zip See Also • Working with Job definitions • Creating Job Chains Setting User Parameters in the Options dialog Use The options dialog is accessible from the title-bar and contains the following user parameters that can be changed: • Language . • Timezone .request user confirmation for the following actions: • Confirm delete operations 424 . You may customize a subset of settings for your preferred locale: • • Editable Date Field format • Long Date format • Medium Date format • Short Date format • Medium Time format • Short Time format • Thousand Separator • Decimal Separator • Shorter than 1 day • Between 1 and 2 days • Longer than 2 days Confirm operations .Administering the Scheduling Landscape 2.The local time zone. Choose New Format and fill in the values below. 3.The navigation bar layout.The language of the client. two letters displays the year of the century. • UI Color # . for the changes to take effect.The color of the upper part of the tool-bar in hex. for example. Note When you switch language.format for the minute ss . You can find the dialog in Configuration > Override User Settings. 425 .Allows you to toggle Java applets on and off. The following variables can be used: y . You can create a customized navigation bar for them and prevent them from changing it.6 or higher). These settings can be specified globally and for a particular partition by creating special job definitions. The job chain editor. for example. one letter displays the month in a number format (1 for January).format for the year. Locale Format In the Locale format you can set format preferences for date formats. you have to log out and log-in again.Administering the Scheduling Landscape • Confirm cancel job operations • Confirm kill job operations • Confirm restart job operations • Allow edit as XML . See Also • Editing Objects in XML Controlling Global and Partition Restart Behavior Use Restart behavior is used to react to the final job status of the job. default is 3366BB • Use Java applets when available .format for the seconds Override User Settings You can prevent users from changing user settings by using the Override User Settings dialog.A new tab is displayed for every object in its editor window with the XML source of the object definition.format for the day h . four letters display the full year M . is available as a standard editor and a more advanced Java applet (requires JRE 1. three letters display the short three letter form (JAN for January).format for the hour mm . like 11 for 2011. see Restart Behavior for information on restart behavior.format for the month. four letters display the full name of the month. d . On the Restart Behavior tab. • Restart Behavior • Object-level security Tip The easiest way to create these special job definitions is to create a job chain with the appropriate name.can only be set at creation-time in the ui. it will be changed into a System job definition as soon as you save it. Choose Save & Close. Navigate to Definitions > Job Chains 2.Administering the Scheduling Landscape The job definition for the system-wide settings is named System_Defaults_System and resides in the GLOBAL partition. The job definition for the partition-level settings is named System_Defaults_Partition and resides in the partition for which you want to specify the restart behavior. 5. Make sure the Partition field is set to GLOBAL. fill System_Defaults_Partition into the Name field. Choose New Job Chain from the context-menu 3. select your desired restart settings. On the Job Definition tab. Example You want killed jobs in the Finance partition to be restartable on request: 426 . On the Restart Behavior tab. select your desired restart settings. Procedure Creating system-wide restart behavior settings: 1. Make sure the Partition field is set to the appropriate partition.can only be set at creation-time in the ui. On the Job Definition tab. 4. The only properties that can be set on these special job definitions are: • Description . Choose New Job Chain from the context-menu 3. 4. Creating partition-level restart behavior settings: 1. Navigate to Definitions > Job Chains 2. Their sole purpose is to allow you to specify restart behavior settings at various levels. • Documentation . Note These job definitions are special and you cannot submit them or modify any other properties. Choose Save & Close. fill System_Defaults_System into the Name field. 5. 5. On the Restart Behavior tab. The registry is stored in the database and not in the Windows Registry.getJobDefinitionByName(mypart. Navigate to Definitions > Job Chains 2.persist(). } You forgot to set the description at creation-time or would like to change the description of the job definition System_Defaults_Partition in the Finance partition: Navigate to Scripting > Shell and use the following code: { //Get the partition and job definition Partition mypart = jcsSession. jcsSession.Administering the Scheduling Landscape 1. Choose Save & Close.setDescription("System-wide Restart Behavior"). jcsSession. Choose New Job Chain from the context-menu 3.setDescription("Restart Behavior for the Finance partition"). //Set the description jobdef. 427 .getPartitionByName("Finance"). "System_Defaults_Partition"). fill System_Defaults_Partition into the Name field. On the Job Definition tab. Navigate to Scripting > Shell and use the following code: { //Get the job definition JobDefinition jobdef = jcsSession. } See Also • Restart Behavior • Setting Job Definition Properties • Job Status The Registry Use The registry contains the configuration settings used by clients and the system. A registry entry can have a value associated with it. //Set the description jobdef. You forgot to set the description at creation-time or would like to change the description of the job definition System_Defaults_System. JobDefinition jobdef = jcsSession. as well as child registry entries.persist(). 4. Make sure the Partition field is set to Finance. select Request Restart for the On Killed property.getJobDefinitionByName("System_Defaults_System"). Delete. Edit. Context-Menu Actions Registry keys support the following context-menu actions: Action Description Edit Security Edit the security of the registry key Apply Security Recursively Apply the security settings to child registry keys as well Duplicate Make a copy of the registry key to create a similar one Delete Delete the registry key Export Export the registry key into a CAR file Edit Edit the registry key Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar Expand All Expand all registry keys in the current filter New Create a new registry key Security Privilege Description RegistryEntry. You should not edit or create registry entries unless asked to do so by SAP support. Access and Admin. It allows you to specify which users can access. per partition or isolation group. You can grant privileges on two levels.Edit Edit registry entries RegistryEntry.CreateChildRegistryEntry Create a child registry entry.View Access registry entries RegistryEntry. To view a hierarchy of all registry entries.Administering the Scheduling Landscape Note Registry entries for users should be managed through the options button on the tool-bar. choose Configuration > Registry in the Navigation bar. A standard registry tree is shipped with SAP CPS and registry entries for users will automatically be added as users log in. and delete the registry entry. you have an additional Security tab on the registry entry. These privileges can be granted system-wide. edit. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges 428 . Registry entries support the basic actions of New.Create Create registry entries RegistryEntry. The registry is part of the Configuration section in the navigation bar.Delete Delete registry entries RegistryEntry. and Refresh. which requires the Chargeable version. a privilege granted on Admin level allows the grantee to grant the privilege to other users. If you have the object security. • Description .updates the runtime statistics of jobs • System_ProcessKeep ( see the Administration Guide ) . 3. Choose Save and Close to save the modified registry key. to determine if a job has to be deleted or not • System_DeleteJobFiles .Administering the Scheduling Landscape Procedure To change a users time zone using the registry 1. Enter the desired Time zone in the field Value. you might want to consider scheduling these jobs less frequently or at specific times.Whether users can modify the value of this registry entry themselves. • Modify allowed . • Type . Choose one ChildRegistryEntry and choose delete to delete a child registry entry. 2.deletes the output and log files of deleted jobs 429 . Expand user > <username> > ui > configuration. 2.An optional description of the registry entry. 4. • Value .An optional comment for the registry entry. Choose new to create a child registry entry.Value of this registry entry stored as textual data.calculates the keep clauses for jobs. When your system is very busy and one or more of the following jobs runs for too long or uses too many system resources at any given point in time. See Also • Registry Keys Regular Activities for SAP CPS Use All housekeeping has been scheduled to run in intervals of 15 minutes by default. • Documentation . To delete child registry entries 1.The name of the registry entry. 3. 5. Registry Entry • Name . Choose Save & Close to save the new registry key and close the edit window. which should be sufficient for most systems. • System_UpdateJobStatistics .Client-dependent type definition of the value. In the detail pane choose Edit from the Actions menu. Choose Configuration > Registry. for example: ALTER INDEX PK__JCS_JOBP__D9CE5306737017C0 ON JCS_JOBPARAMETER0 REBUILD ALTER INDEX JCS_JOBPARAMETER00 ON JCS_JOBPARAMETER0 REBUILD ALTER INDEX JCS_JOBPARAMETER01 ON JCS_JOBPARAMETER0 REBUILD Note Please check the names of the indexes in your database. Deleting Jobs There are two basic ways of deleting jobs in the user interface: • You can select one or more in the job monitor (the same way you would on your platform. since the output is deleted later files will pile-up The Following submit frames are associated with the above job definitions and should be used to influence their periodicity: • System_UpdateJobStatisticsSubmitFrame • System_ProcessKeepClausesSubmitFrame • System_DeleteJobFilesSubmitFrame See the Tuning SAP CPS and Submit Frames sections for instructions on changing the submit frames. If you cannot reduce the number of job parameters. • You can delete all completed jobs of a job definition using the context-menu of the job definition. Cleaning Ghost Records up on MS SQL Server Databases Customers using a great number of jobs with many parameters and short keep clauses can experience the buildup of ghost records in the indexes on JCS_JOBPARAMETER0. See Automatically Deleting Old Job Definitions for more information. When you are in an emergency situation and you need to delete a great number of old jobs to free-up disk space or increase database performance.Administering the Scheduling Landscape Please note that changing the periodicity of these jobs can have the following consequences: • statistics data will tend to be outdated the more you widen the interval • keep clauses will be honored late the more you widen the interval which can affect disk space and overall performance • the total amount of disk space used by jobs for output and logs at peak times will increase. the frequency depends on the volume of job parameters. it is however strongly recommended to specify a keep clause for every job that is to be scheduled regularly. for example. Automatically Deleting Jobs You control the size of the job history (number of jobs in the repository) with the keep clauses which can be specified on the job definition. using the following commands. use keep clauses instead. This can slow-down the system and use up a tremendous amount of space. all jobs are kept. hold down the Shift key as you choose on Microsoft Windows) and use the context-menu. you will have to rebuild the indexes regularly on that table. 430 . you can use the job definition System_RemoveOldJobs. You schedule a rebuild of the indexes at regular intervals. By default. Please do not schedule the job definition regularly. • Local persistent data .the output of jobs run on a certain machine.diagnostic information.the code and data that make up the product.local copies of data to be sent to the server. where. It covers which sorts of data are stored. not for scheduled applications. • Database data . There are five types of data stored: • Software .Administering the Scheduling Landscape Backup and Recovery of SAP CPS Use This document explains where SAP CPS stores data and how to handle backup. • Job Logs and Output . and appropriate backup & restore strategies for each data set. It is intended for operational use. Architecture SAP CPS stores data locally to meet two main operational requirements: Writing to local files is independent of the network infrastructure. It covers backup for SAP CPS itself. • Local traces . Local writes are generally faster than network writes. Data Locations The diagram below shows where the data (Red) and software (Blue) are stored: 431 . restore and disaster recovery for that data. not for archiving.the central store used for server data. Administering the Scheduling Landscape Backup The backup strategy and schedule differ per location and type of data: Type Location Strategy Frequency Software All File Before/after upgrades Traces All File Daily Local persistent All File Daily Job output & logs All File Daily Database Data Database Database Daily Upgrades You should back up all data before and after doing an upgrade or patch. 432 . The backup after the upgrade ensures that you do not have to perform the patch or upgrade again in the case of a restore being required. The backup before the upgrade can be used to restore the system to a working state should the upgrade or patch fail or have undesired consequences. net. When backing up the local persistent data and job output & logs you should backup the directory pointed to by the process server parameter DataRootDirectory. For a software only backup you do not need to backup the var directory (this contains data). or left to backup these files. For the central server this is the web application server. Backups of job output and logs may contain partial files for jobs that are running at the time. Such software has two advantages: a) normal operations can continue.the entire web application server installation (including other applications) • Platform agent . Your backup software can either be configured not to backup open files. When backing up the software you should back up: • Server .the installation directory that contains the 0_nn_mm. then a backup with the minimal number of running jobs will keep additional restoration activities to a minimum. Should no suitable window be available.Administering the Scheduling Landscape File Backup This document assumes that your file backup software can backup programs while they are running. For the local files on the central server. then you will need to shut down the entity being backed up. See Also • Database Backup topic • Restore Data Database Backup Use We recommend an online database backup is performed daily. consult the guide for your application server for more information. some files are stored in the (optional) DataRootDirectory of the System process server. for platform agents you need only shut down the platform agent itself (the process server will go into Connecting status until the agent returns). Database Backup See the Database Backup topic for more information. ideally when no jobs are running as this will simplify restore procedures. etc and var directories. If you cannot do this. the default value of this parameter will vary. 433 . b) you can schedule the backups with SAP CPS. Should you do the latter then only the partial output will be restored. 5. The following procedure can be used to ensure that no jobs are running: 1.Shutdown and Backup Ensuring that no jobs are running simplifies both the backup and restore procedures. 4. 3. Perform the backup. Wait for all jobs to complete. 2. Release all queues. Hold all queues.Administering the Scheduling Landscape Database backup . Shut down all process servers (except the System process server). Start all process servers 6. 434 . • Reconciliation of jobs that are running or were scheduled between the backup and restore times. then you cannot install the SAP CPS under the same user (generally SYSJCS) Restore Data from Backup Use The main factors to consider when restoring SAP CPS from a backup are: • Consistency of the restoration across the entire landscape. while job output is stored on disk. The following process can be used: 1. Consistency As data is stored in many locations in the system landscape. Release all queues. then it may be desirable to be able to back up only the data for a specific instance of SAP CPS. while if the database is newer than the disk then the job may be Completed with links to job files that do not exist. views. Perform the backup. and ensure that the system will not automatically start new jobs when it is restored from a backup.Multiple instances If you have multiple instances in the same database. If you are using Oracle and have one of the Oracle based versions of SAP CPS some additional considerations apply. 2. You can check if you have such an older version by looking for a public synonym for a package called jcs. 3. or back them up individually. Database backup . All tables and views have the prefix JCS_. In this situation you can either back up all instances using a database backup. restore and disaster recovery activities. For instance. You will need to ensure that you are working with the correct instance/username during all backup. If multiple users or schema have JCS_ tables then you will need to know which database the data are stored in and which username is used to access them. If the backup of the database is older than the disk then there will be job output files on disk that are not linked to the job. job information like Status is stored in the repository. stored procedures. If you have one of these older versions. Hold all queues. Database backup . You need to back up all tables in that database that are owned by the username (or schema for DB2). consistency of that data can be an issue. or triggers).Hold Queues and Backup If it is not possible to perform a backup with no jobs running. it does not use any proprietary objects (for example public synonyms.Administering the Scheduling Landscape Database backup . then they need to be installed and accessed as different usernames (schema for DB2). Consistency problems can be reduced by: 435 . SAP CPS stores only tables and indexes in the database. particularly if the other applications store the majority of the data.Other applications If other applications (including different instances or older versions of SAP CPS) are present in the database. rather than backing up the entire database. then holding the queues will prevent new jobs from starting. this will prevent jobs of type E and F from starting automatically when the restore completes. May only have partial job files present. The timeline below illustrates the possibilities: The different jobs start and finish (or are scheduled to) at different times relative to the backup.Administering the Scheduling Landscape • Frequent backups. or setting process servers not to start on startup . May resolve automatically for: SAP jobs that still exist on the managed system. If it is critical that the job is only run once. manual resolution is required. then job output will exist and be correct. E and F and hence reduce the amount of reconciliation work. Resolution for status is the same as C. In all cases.this will reduce the number of jobs of type C. they will start when the system is restored. Reconciliation problems can be reduced by: • Performing backups when no jobs are running . G These jobs are unaffected. Frequent backups . • Performing backups when no jobs are running. Can be left to re-run automatically if there are no side-effects. and not have been started. D Ran and had its status updated. B Job will appear as Running and change status when the process server is started. and hence require reconciliation strategies: Type Reconciliation A None required . C Will appear as Scheduled even though it started and finished. it is possible that jobs were scheduled to run (and in fact ran) between the time of the backup. but information was lost because it was not part of the backup. 436 . Platform agent jobs that are still running. Otherwise the status will be set to unknown. Reconciliation Even if you have a consistent restore. Status and output will both be correct. the time of the failure and the time that the restore occurred. E&F These jobs will be in status Scheduled. failure and restore.this means that there will be no jobs of type B. • Holding queues while the backup is performed. D.captured completely by backup. job files will be complete. This means that a database restore may not contain correct for this period. if the job started before the failure and the system where the job was running was not affected by the failure. • Event Definitions . • Job Chains . Creating Job Definitions 2. SAP CPS ships with a number of job definition types.A job definition is a repository object that defines a process to be executed by the process server. A job can raise one or more events when the job gets a specific job status or return code. the first job to start will hold the lock. Triggering Custom Code 7.An event definition is a repository object that defines event objects.A lock is used to prevent two jobs from running simultaneously. A job definition consists of command text to be executed and several runtime and scheduling controls.Jobs and job chain jobs produce output files in various formats. Scheduling with Times and Dates 5. libraries) are needed by a process server to execute a job. Process servers provide resources. Once you have setup your scheduling landscape with connections to the external systems you would like to use.Generate reports based on queries in HTML or Comma Separated Values (csv) format 1. Every job that is submitted is the request of the execution of a single job definition. Creating Job Chains 3. • Locks . Submitting Jobs and Job Chains 4. The events to be raised can be specified in the job definition. you can create processes with the following repository objects: • Job Definitions . which define the programming language and target platform of the commands to be executed. Automating Processes Across the System Landscape For process automation.A job chain is built from a set of calls to job definitions (named job chain jobs) grouped in one or more steps. 437 .Chapter 8. the correct format must be created and defined in the job definition. Event objects are used by other job definitions and job chains to signal that a job must start or has completed. When jobs share a lock. preventing other job definitions with this lock from starting until it completes. to enable client systems to use the correct program to open output files. • Reports . Importing Objects from SAP Systems 6.A resource is an object that defines which resources (programs. Scripting in the Shell Creating Job Definitions Use A job definition is a Repository object that defines a process to be executed by the process server. • Resources . there are various repository objects that can be viewed and edited in the Definitions tab. • Formats . For these parameters. see the Job States section for more information on job states. the job definition or job chain does not get submitted again according to the submit frame. only custom job definitions can be edited Edit Security Edit the privileges for this object Edit Web Services Edit the web services associated with this job definition Duplicate Duplicate the job definition. Context-Menu Actions Job definitions have the following context-menu actions: Action Description Submit Submit the job definition Cancel non-final state jobs Cancel jobs that have not reached a final state. according to the values of the job definition parameters. validation rules can be added by defining simple constraints on the parameters. Parameters enable job definitions to define generic command texts that behave differently. a Completed job definition or job chain will continue to get submitted according to the submit frame. Special care needs to be taken when you edit a job definition which is currently being (re)scheduled. By default. the new job definition will take effect on all jobs that have not reached the Dispatched job status at modification time. only custom job definitions can be deleted Delete final state jobs Delete jobs that have reached a final state. When you break the submit frame. see the Job States section for more information on job states. They will remain in Event Wait status until all dependent events are raised. These jobs cannot be executed before the events upon which they are dependent are raised. Restart behavior is used to break or continue the submit frame when something unexpected happens. useful if you want to run the report on a regular basis Import Web Service Import a web service and schedule it like any other job definition Filter > New Filter Create a new job definition filter Filter > Edit Filter Edit current job definition filter 438 . Monitor related jobs Jump to the job monitor with a temporary job filter displaying jobs for the job definition Show Statistics Report Display a runtime statistics report with overall job status. only custom job definitions can be exported Show permalinks Show the permalinks to this object. only custom and some built-in jobs can be duplicated Reset Statistics Reset the runtime statistics for jobs from this job definition Delete Delete the job definition.Automating Processes Across the System Landscape Job definitions can be made dependent upon specific events. Edit Edit the job definition. runtime. average and standard deviation Export Export the job definition. which can be used to access it from third party web applications Add to navigation bar Add the object to a navigation bar New Create a new job definition New (from Template) Create a new job definition from a template New (from Report) Create a job definition from an existing report. Please see the Editing Job Definitions Safely section. comment searches the documentation property d. Finding Job Definitions You can search for job definitions using filters and the Search Job Definitions box on the Job Definitions tab. Furthermore. description searches the description property a. name searches the name property c. you would use the search criteria as follows: c:import You can search more than one property. as follows: c:import n:System Note No spaces should be entered before or after the colon (:). This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. if you want to display all job definitions with the term import in the comment. Note The source cannot be edited for all job definition types. is also compulsory and needs to be changed if you want the system to automatically delete old jobs. like the Job Definition Name field. the source is not editable with job definitions of certain types. application searches the application property 439 . The following table illustrates the available prefixes for job definitions: Prefixes Description n. which by default is set to keep all jobs of the job definition. For example. other job definition types require a specific license key.Automating Processes Across the System Landscape Filter > Delete Delete current job definition filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Compulsory Fields Some fields need to be filled. Other job definition types additionally require other fields be filled. For example. The keep clause. like the SAPR3 job definition type. RedwoodScript job definitions need to have the Source field filled with at least the following: {}. IntelliSearch allows you to specify complex queries in a simple way using prefixes. which is the only field that does not have a default and that needs to be filled for every job definition type. See the Editing the Job Definition Source section for more information. Filters allow you to specify a list of objects with static criteria. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. See the Advanced Object Search for more information. jobs of a job definition will prevent you from deleting the job definition. as you will have to use entities for special signs.Create Create job definitions JobDefinition. the job definition cannot be deleted until all job chain jobs using it have been deleted.Automating Processes Across the System Landscape Deleting Job Definitions You can only delete job definitions when no other objects relate to them. It allows you to specify which users can access. Source for the source of the job with a link to it • Related Object . and the Related Object will be the name of the job. per partition or isolation group. edit and delete the job definition. it will be Job 1. You enable the XML source tab in the user options by enabling the Allow edit as XML option. such as the less-than (<) sign. which requires the Chargeable version. the user also needs privileges on the queue and other objects referenced by the job definition. The type will be Job.the name of the object with a link to it • Used As . • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Editing XML Source You can also edit the XML source directly or copy it into your editor of choice. You can see all job chain jobs that relate to the job definition in Related Objects in the lower detail pane and on the show page. It is also possible to cancel and delete related jobs from the context menu.lt. Furthermore.Edit Edit job definitions JobDefinition. The table in related objects contains three columns: • Type . Note that to be able to schedule a job. if the job definition is called in a job chain job. see Setting User Parameters. Please see XML resources on-line for a list of common XML entities. 440 . which needs to be replaced with &.objects can sometimes be used in different roles Job definitions that are called in job chains will have the call-reference in Related Objects. you have an additional Security tab on the job definition. For example..SubmitJob Submit jobs JobDefinition. Security The following privileges are available for job definitions: Privilege Description JobDefinition. For example. Access and Admin.the type of object. a privilege granted on Admin level allows the grantee to grant the privilege to other users. If you have the object security.DeleteJob Delete jobs JobDefinition.Delete Delete job definitions JobDefinition. These privileges can be granted system-wide. These are found by selecting Show Related Jobs from the context-menu. This is especially handy when you want to perform repetitive tasks such as a Search and Replace. if it is the first job in a step. Special care needs to be taken when you edit in XML.View Access job definitions You can grant privileges on two levels. like job for job chain job. 5. Choose New Job Definition from the context-menu. Choose Save and Close. Select the appropriate job definition type. 2. this is done by choosing Add. 441 . 4.Automating Processes Across the System Landscape Procedure To create a job definition: 1. Fill in the values. Tab-Specific Topics Topic Relevant topic Source Tab Job source Job Definition Tab Job definition object Parameters Tab Job definition parameters Parameter validation Parameter validation Wait Events Tab Job definition wait events Raise Events Tab Job definition raise events Job Locks Tab Job definition job locks Runtime Limits Tab Job definition runtime limits Restart Behavior Tab Job definition restart behavior Actions Tab Job definition actions Security Tab Job definition object privileges See Also • The Job Definition Types • Job Chains • Default System Job Definitions • Default SAP Job Definitions Setting Job Definition Properties Use On the job definition tab of job definitions and job chains you can specify standard object properties like Name and Application as well as scheduling properties like Default Queue and Priority. 3. Note Some tabs require a new element to be created. Choose Definitions > Job Definitions. The registry key takes a succession of status codes. Keep Force When you enable Keep Force for a job which has a parent. Job Statuses You can exclude jobs in a specific status from the keep clause using the DefaultKeepStatus ( see the Administration Guide ) registry key. Jobs per Date This strategy allows you to keep jobs for a period of time. Applications are there to store your job definitions in containers along with other objects. The default is to keep all jobs. The keep clause processor maintenance job that is scheduled in the background will delete all jobs for which the keep has expired. when you delete the parent. the order is not relevant. If this registry key is not set. Keep Force also has no effect on jobs which have a shorter keep clause than their parent. The keep clause defines how many jobs or how long jobs will be kept in the system. jobs in all final statuses adhere to the keep clause. only parameter values of parameters with the Part Of Key property will be taken into account. Keep Force has no effect on manually deleting a job. Jobs per System This is the most trivial keep strategy. that belong together.Error • K . You may retain jobs per system. then jobs that have a parent will not be deleted according to their own keep clause. all child jobs will always be deleted as well. the job will no longer be considered as having had a parent. If Keep Force is false. the job will be kept according to its keep clause if the keep clause of its parent is shorter. date or per primary key (parameter value combination).Completed • E . Jobs that have been excluded from the keep clause are kept forever.Killed • U . This allows you to migrate your processes or back them up easily with the Import/Export module. but to that of their parent. You can also limit the job to be kept by status.Canceled • C . The oldest job will be deleted by the keep clause processor maintenance job that is scheduled in the background once the keep clause has been exceeded. which is the default.Unknown 442 . Status codes for final job status • A . commas or semi-colons should be used. The system will keep <n> jobs per parameter value (combination). Jobs per Primary Key At least one job definition parameter must be marked as Part Of Key.Automating Processes Across the System Landscape Naming and Location Every job definition requires a unique name and should be part of an application. note that no spaces. The keep clause processor maintenance job that is scheduled in the background will delete the oldest job once the clause has been exceeded. When the parent of a job with Keep Force has been deleted. that is. Job Keep Every job definition that is to be deleted automatically needs to have a keep clause. When a job deifinition has a resource.job will be executed the next time the window opens. which are also available in the submit wizard.When a job has missed its window. • Time Window .parse('14:59:59'. Can be true. human intervention is required to start the job.marks the job as overdue. you may configure the reaction here. 'hh:mm:ss') or 14:59:59 Resource Resources help you route jobs to correct process servers in a queue.the queue that should be used by default • Priority . Example The start time scheduling parameter requires a date/time specification.the start time of the job chain call.cancels the job. change the status and/or raise an event. it is set to overdue. requires operator intervention. 443 . • Act when jobs are overdue .the default priority of the job • Hold On Submit .the time window that specifies the start time of the job. • Canceling .Automating Processes Across the System Landscape Example value: KAUE Scheduling Parameters You can also set the default values of scheduling parameters. false (the default). then the process server must provide the same resource or the job will not be able to run on that process server. • Set overdue jobs to status • Scheduled . • Held .holds the job. The following scheduling parameters are only available on job chain jobs: • Start Time . You can specify the start time as follows: =Time.the default value for the scheduling parameter Hold on Submit which defines the status of the job after the submit. requires operator intervention. or =<expression> in job chain jobs. Schedules When a job definition has missed its window for execution. • Overdue . • Default Queue . which should be a boolean Redwood Expression Language expression. may require operator intervention. When a job is submitted on hold. 2. . or more complex files such as PDF or HTML files. used to determine on which process server the job will be run Default Output Format The format of the job output files when the extension can not be mapped Default Log Format The format of the job log files when the extension can not be mapped Text Hold On Submit Should the job be submitted on hold by default? Top Level Top level job definitions are listed in the submit wizard as jobs you true can submit. 100 having the highest priority Resource The resource of the job definition.2. Which files can be generated is dependent on the type of job that is executed. value from 1-100. The system will set the Format of the files created by the job. and 3. SAP CPS assumes the process has failed and the job is set to status Error. the job is set to Completed.Automating Processes Across the System Landscape • Raise event for overdue jobs Note When you schedule a job with a submit frame with Skip when time window is closed enabled and the job has a time window. Map To Completed When a process exits with a non-zero exit code. the execution may be skipped if outside the time window. Priority The priority of the job.3 in the Map To Completed. in this case. These can be log files that are guaranteed to contain log records in standard format. For example. Format Jobs can potentially generate output files. Values Field Description Default Value Partition The partition of the job definition GLOBAL Name Name of the job definition Application The name of the application Description A description of the job definition Keep The number of jobs to keep in history Restrict to Time Window The time window at which the job should run Time Zone The time zone used to interpret the time window and/or submit frame Default Queue The default queue of the job definition. your process may return codes 1. text files containing freely formatted information or error messages. You specify a list of comma-separated exit codes that your process can return upon successful operation. Job definitions that should only be submitted as part of a job chain should not have this set to true Act when jobs are overdue Should the system alert you when a job is outside of its time window No because it could not start on time? 444 All Text No. specify 1. This affects time windows on the job as well as time windows on the submit frame. the queue can be changed at submit time. when your process returns any of the specified exit codes. human intervention is required to start the job. a jobs that use a resource will only run on process servers that offer that resource and that have a free slot for the job • Hold On Submit .the default value for the scheduling parameter Hold on Submit which defines the status of the job after the submit.Automating Processes Across the System Landscape Set overdue jobs to status The status an overdue job should be set to Raise event for overdue jobs The event that is raised when the job is late. You cannot change the overview format of built-in job definitions. • Overdue . jobs of these are not to be displayed in the default job filters.Resources are used to locate process servers that offer the correct environment for the job.the default priority of the job • Max priority .VARIANT} Template Template job definitions are used to create new job definitions.the queue that should be used by default • Priority . which should be a boolean Redwood Expression Language expression. you may configure the reaction here.cancels the job. they false cannot be submitted or part of a job chain. requires operator intervention. Raise event for overdue jobs The following scheduling parameters are only available on job chain jobs: 445 .Force the job to only run in the designated time window • Default Queue . which are also available in the submit wizard. such as ${parameters. false Setting the Scheduling Behavior on the Job Control Tab Use You set the default values of scheduling parameters. requires operator intervention.set the maximum priority that can be set in the submit wizard • Resource . this 0 field must contain all successful return-codes if it is set. Returncode Map To Completed The return code that represents a successful execution of the job. change the status and/or raise an event. Maintenance Maintenance job definitions are low profile job definitions. especially useful for duplicated SAP_AbapRun job definitions. • • Set overdue jobs to status • Scheduled . or =<expression> in job chain jobs. When a job definition has missed its window for execution. • Held . it is set to overdue. may require operator intervention.job will be executed the next time the window opens. You may insert parameter values using the syntax ${parameters. • Act when jobs are overdue .<name>}.marks the job as overdue. • Canceling . on the Job Control tab. This allows you to distinguish jobs based on parameter values. Can be true. including 0. When a job is submitted on hold. false (the default).holds the job. Overview Format Formatting used in the overview diagrams.When a job has missed its window. • Restrict to Time Window . then jobs that have a parent will not be deleted according to their own keep clause. Keep Force also has no effect on jobs which have a shorter keep clause than their parent. the system will fill in an expiration time stamp for the job when the job finishes.Automating Processes Across the System Landscape • Start Time . Keep Force When you enable Keep Force for a job which has a parent. this number can be counted per job owner.the time window that specifies the start time of the job. The job information in the central server is deleted by System_ProcessKeepClauses jobs. 'hh:mm:ss') or 14:59:59 Automatically Deleting Old Job Definitions Use The keep clause of a job definition can automate job deletion.parse('14:59:59'. Keep Force has no effect on manually deleting a job. then the conditions under which the existing jobs are kept is not changed. • Time Window . Job Deletion Jobs are not deleted immediately. Example The start time scheduling parameter requires a date/time specification. the changes affect all jobs of the job definition almost immediately. 446 .the start time of the job chain call. If the number of jobs is set. These job definitions run according to the built-in submit frames System_ProcessKeepClausesSubmitFrame and System_DeleteJobFilesSubmitFrame. by default. the job will be kept according to its keep clause if the keep clause of its parent is shorter. per key or overall for the system. If you alter the keep clause of an existing job definition with existing jobs. The author of the job definition can set the keep clause to the desired number of jobs or the maximum age of jobs. For example. that is. You can specify the start time as follows: =Time. If Keep Force is false. you can change them to modify the interval at which the jobs run. which is the default. When the parent of a job with Keep Force has been deleted. the keep clause will only affect future jobs. When you edit the keep clause on the job definition. when you delete the parent. If you need to monitor these jobs. Maximum Age of Jobs If you set a maximum age for a job. the output files are removed by System_DeleteJobFiles jobs. but to that of their parent. if the keep clause is 1 day and the job finishes on 12 October at 11:02. the job will no longer be considered as having had a parent. then the expiration time stamp is set to 13 October at 11:02. you need to use the Maintenance (background) jobs job filter. all child jobs will always be deleted as well. These are maintenance jobs that run in the background and are not displayed in the default All (non-maintenance) jobs job filter. but deleted by system jobs that run according to a submit frame every 15 minutes. This can be set with the following registry key: /configuration/DefaultKeepStatus If this registry key is not set. the system will keep track of the numbers of jobs per script. The registry key takes a succession of status codes. This allows you to migrate your processes or back them up easily with the Import/Export module. This setting also ignores the DefaultKeepStatus registry key. note that no spaces. Partition-wide and System-wide Keep Clause You can set partition-wide and system-wide keep clause defaults by creating or editing <Partition of Job Definition>. then a run with P_COMPANY_ID set to 1 will not be deleted until another run with P_COMPANY_ID set to 1 is finished. jobs in all final statuses adhere to the keep clause.System_Defaults_Partition and/or GLOBAL. 447 . See Controlling Global and Partition Restart Behavior for instructions on how to create the job definition. Editing the Job Definition Source Use Naming and Location Every job definition requires a unique name and should be part of an application. then the jobs with the same values for the parameters that are part of the primary key are considered. DefaultKeepStatus Registry Key Jobs that reach one of statuses defined by the ScriptKeepStatus are excluded from the keep clause of job definitions.Completed • E . If you specify a number per key field. then only the jobs ran for the user are compared to the set value. and the keep clause is 1 per key. the order is not relevant.System_Defaults_System. For example. If you specify a number for the entire system. If you specify a number per user. commas or semi-colons should be used.Unknown Example value: KAUE KeepExpiration You set the KeepExpiration field of a job to override the keep clause specified on the job definition of the job.Error • K . if you run a job with a particular parameter P_COMPANY_ID which is set to be a key parameter. Applications are there to store your job definitions in containers along with other objects. These jobs are kept indefinitely.Automating Processes Across the System Landscape Maximum Number of Jobs If you set a maximum number of finished jobs.Canceled • C . that belong together. then an overall count is calculated and compared against the maximum. Status codes for final job status • A .Killed • U . you must set a default queue for the job to run in Script Type Depending on the job definition type and your license.For writing Korn Shell. The following table describes the different settings that are at your disposal: Field Description Process Server The process server on which the file arrives Directory The directory where the file arrives Pattern A GLOB pattern (use * and ?) that will be used to match the file Move Directory Allows you to move the file out of the way into another directory Overwrite File Should the file overwrite an existing file when it is moved? Default Queue Since the job is started automatically. • Python . PowerShell is available as a download for Microsoft Server 2003. • JCL_FTP .For writing C Shell scripts. It can also be used for parameter validation. which is especially useful for RedwoodScript job definitions. The default shell of the Run As User defines the target shell.For writing Python scripts. • KSH . • PS1 . • VBScript . • PERL (Unicode) . you need to setup Redwood Expression Entry points 448 .For writing JCL scripts submitted to IBM zSeries servers via a Redwood native agent.For writing Microsoft Windows Visual Basic Script job definitions.For writing JCL scripts submitted via FTP to remote IBM zSeries servers running the MVS or z/OS operating system controlled by JES2 or JES3. • PERL . you can edit the source of the job definition.For writing Microsoft Windows PowerShell language scripts. BASH is installed on all Linux systems and optionally on all UNIX (compatible) platforms that SAP CPS runs on. XP and Vista and is delivered with Microsoft Server 2008. Library The library allows you to use your classes across all job definitions. The following job definition types allow you to specify a source. Available on most UNIX systems.The RedwoodScript job definition type allows you to write server based scripts that interact with the repository using the RedwoodScript language.For writing OS-independent scripts.For writing Perl scripts.For writing Bourne Again SHell scripts.For writing Microsoft Windows Command scripts. for job definitions that run on UNIX (compatible) servers. • JCL . • CMD . • CSH .For writing Perl scripts with UNICODE characters in your script source. • OS Native .Automating Processes Across the System Landscape Jobs Waiting on a File You can specify a file that is used to trigger the job by choosing Start this job when a file arrives. • RedwoodScript . if the corresponding license key is enabled: • BASH . see the Assign Users from External Platforms to Jobs with Credentials section for more information. also known as endpoint. this syntax does not allow you to use '/'. The syntax for a credential is as follows: [[<domain>\]<useranme> Example A credential for user oracle exists for all process servers of the queue where you submitted the job: oracle All process servers of the queue where you submitted the job have a credential for MASALAN\jdoe and trust users from the MASALAN domain: MASALAN\jdoe The syntax for a credential with virtual user: {virtual}:<user> Where <user> is the value of the Virtual User field of the credential. for example. The Run As User will be the account used to run the client software (jftp or sqlplus) on the process server. You can specify [<domain>\]<suer>/<password>@<server> in a Run As User field. Run As User Some job definition types allow you to specify a user under which the code in the job definition is executed.Automating Processes Across the System Landscape in the library for the methods you would like to expose to Redwood Expression Language. SAP recommends the use of Credentials as you only have one object to change when the password changes. the user needs to exist and not be locked for the code to be executed on the target system. You can override the values of the [Remote] Run As User fields with JCS_[REMOTE_]USER job definition parameters. or '@' in passwords and is not recommended. See the Redwood Expression Language for more information. When you use credentials there must be a credential for the user or virtual user on the node. however. {virtual}:erpuser Values The source tab contains the following fields: Field Description Default Value 449 . See the Assign Users from External Platforms to Jobs with Credentials section for more information. Example Every process server in the queue where you submitted the job have a credential which has the Virtual User field set to erpuser. '\'. The Remote Run As User is used in job definitions of types FTP as well as SQLPLUS and is the user used to log on to the remote FTP server or Oracle database. where the job is running. parameter holds a date • Date Time . In job chains.the data type of the parameter. • In .parameter can only hold one single character • Date .is used in the source in job chains to refer to the parameter. you cannot store alphabetical characters in number parameters.maximum length of the parameter in characters • Type . Runtime parameters are evaluated immediately before the job reaches status Running.value is provided in the job definition or the submit wizard and can be changed by the job at runtime • Length . which can optionally be changed at submit time. at runtime • In/Out . for example • Character .parameter holds date with time 450 . you should only use alphanumeric characters and the underscore _ in names • Direction . parameters can also be shared and updated between jobs.defines the way how this parameter is to be used.value is provided in the job definition or the submit wizard and does not change • Out .value is provided by the job.Automating Processes Across the System Landscape Type The job definition type Library The library containing your JAVA classes Run As User The user that will execute the source on the process server Remote Run As User The remote user that will be used in the source Source The code to be executed Custom Exceptions The following job definition types do not allow you to change/edit the source code: • JOBCHAIN • JXBP • SAPPI • SAPR3 • SYSTEM See Also • Credentials Defining Job Parameters Use Parameters are used to store values. The following properties define the parameters: • Name . This is particularly interesting when you create dependencies between parameters. Non-runtime parameters are evaluated in the submit wizard once according to their Display Order. Type The type of parameter to use. Job Format The format mask for the value of the parameter.parameter holds a path to a file and allows you to attach files to the job in the submit wizard • Number .like =Time. The following properties specify the appearance in the submit wizard • Display Order .the format of the parameter value.parameter value can be null • Part Of Key .parameter can only hold numbers • String .parameter holds a time • Default Expression . in/out parameters are read/write parameters. out. its value is read-only.password parameters hide the entered value Values Field Description Default Value Name the name of the parameter Direction The direction can be in.parameter can hold one or more alphanumeric characters • Time . can be a literal or an expression.defines the order in which parameters are evaluated as well as displayed in the submit wizard.Automating Processes Across the System Landscape • Date Time Zone . or in/out.runtime parameters are evaluated immediately before the job reaches status Running • Password . Character parameters can only be filled by a single character.parameter is displayed in the submit wizard Other properties • Optional . if the parameter is out it does not have a default value. can be a literal. String can be filled by any number of characters and/or numbers. like Hello World or a Redwood Expression Language expression. You can use a specific syntax to format the value of your parameter. all non-runtime parameters with a higher Display Order are re-evaluated • Group Name . see Automatically Deleting Old Job Definitions • Runtime .now('Europe/Berlin').parameter holds a date with time and time zone • File . see Job Parameter Formats Group Name Allows you to group parameters in tabs in the submit wizard Default Value Editable Can the value be edited in the submit wizard? Default Expression The default value of the parameter.the value of the parameter. Simple Constraint Type The type of constraint 451 [none] None . When a parameter is an in parameter.parameter is used in keep clauses.allows you to create tabs in the submit wizard to group parameters • Display . • Job Format . when a parameter is changed. Display Order The order in which the parameters are displayed in the submit wizard. This is due to the fact that param1. Here. the parameter in the expression must have a lower Display Order than the parameter it defines or the latter will not get resolved. Simple Constraint Message Message that gets displayed when a value does not fulfill a constraint Optional Can the parameter have a null value? Display Should the parameter be displayed in the Submit wizard? Part Of Key Should this parameter be used in the primary key? The primary key is used to calculate the expiry of a job.param1 * 2. its Default Expression is set to =parameters. Note The Display Order of parameters is also the order in which parameters are resolved. date) has its own format mask definition. If you use Redwood Expression Language to define a parameter based on the value of another parameter. See Also • Redwood Expression Language Job Parameter Formats Use Job definition parameter values can have a specific format for use with specific job definition type. yet.Automating Processes Across the System Landscape Simple Constraint Data A value used with the constraint. which once reached will cause the job to get deleted by a background job. once the job has been submitted. param1 and param2. a Job Format can be defined. The parameter param2 is also a Number parameter. for example a table name with table constraints. number. 452 . to limit this to a specific format. Each parameter data-type (string.000. Runtime The value of the parameter is computed at runtime. which is part of the Default Expression of param2. the Display Order is very important. The Job Format property on the job definition or job chain parameter allows you to specify a formatting mask. For example. when SAP CPS attempts to evaluate param2. the job parameter value will be formatted using the Job Format. The data type of param1 is Number and its Default Expression is set to 1. you want 1000 to be displayed as 1. The value of the parameter will not show up in the submit wizard. A date value can be represented as a string in numerous ways. Once defined whenever the job runs. Platform jobs operate on string values. Example Referencing the Value of one Parameter in Another Parameter Your job definition has two parameters. instead of the type-safe object values (like RedwoodScript). has not been evaluated. if parameter param2 has a lower Display Order than param1 it will be displayed first. Out parameter return values are also parsed back from a string to a number or date object. However. SAP CPS will not be able to resolve it and attempting to submit the job will result in an exception being thrown. since the value is passed as an object value directly (and not as a string value). mmm. which would print the date in the German (Germany) locale.Automating Processes Across the System Landscape Note You must pay special attention when you use parameters with both Constraints and Job Parameter Formats. • . You may specify the locale by specifying the {locale} for example "{de} dd.Decimal or Group separator • . when the value does not contain the decimal position it will be omitted. . value.Group separator • * .Digit.time zone id Note The date-formatting can be used with RedwoodScript as long as the type is DateTimeZone. Date Dates use the Java Date Format. output] 453 . Note The Job Format of RedwoodScript job definitions is ignored. . • D . when the value does not contain the decimal position it will be occupied with a zero. "{es}dd MM yyyy" // 06 04 2013 "{de}dd MM yyyy HH:mm:ss:SSS i" // 06 05 2013 16:53:38:200 Europe/London Number • # . when the value does not contain this position it will be omitted. when the value does not contain this position it will be occupied with a zero.Preserve the value range. as the resulting format must match with the format of the constraint. • d .Digit.locale • i . yyyy". Example Print the date in the Spanish (Spain) and German (German) locale. • {de} . and do not limit to the amount of specified digits. Note On the Job's show page.Decimal or Group separator • .Digit.Digit. • 0 . Example [[formatmask. the parameter values are always rendered using the JobFormat (for dates their is a default format) so the values always are displayed in a static format. make lower • * .56" "####". "aap". "4" "*#".78" "0000". "1234".###. "1".DD". "234.Single chararacter. "3. "1234".###.34" "# ###".456.DD". "UL*". "0001" "000#".##.###. "12" "##.DD".456" "*#. "AAP"). "AA").0" "*000". "1.34" // No default group size "#.DD" // distinct group size "#*#" // preserve range must be first and/or last "#0" // leading zero must be first "#. "1. "Aap").456". "0.## ###" // distinct group separator "#.DD" // decimal position "###. "001" "0. "1.000" // No optional position "#. "1234" "#*".###".56" "#. "Aap".##. "123.##. "1234" "####". "1 234" "#". "1".234.dD" // optional decimal must be last "#D" // no decimal separator String • U .dd".78".###.DD". "L*". "12.DD".234" "#. "1234. "1234. "U*".D*".##. 454 . "1" "##. "U*".56". value. "1234". "Aap". "a").78". "-1". "1234". output] "U*".001.dd". "1". "123.Single chararacter.dd".234.4" "*#. null.34".##. "1". "1".Dd". null "UU". "123456. "AAP").Repeat last mask character until value ends Example [[formatmask.00" "#.D###. "aap"). "123456. "1234". "123. "1". "1. make upper • L . "12.###. "123.56". "123.dd". "1234.000.456". "1234".456. "AAP". "1234" "#. "001" "#.78" "###.###.D*". "L". "1234".234.56". "12".Automating Processes Across the System Landscape "#". "1234".D". "aap".456" Invalid Examples null "any invalid string" "1234" "#. null.DDD". "1. "12. null "#".456". "Aap". "123. "123. "-1" "#.56" "*#. A list of valid values • Pair List . The constraints have no effect on the Out value of parameters. or table name. There are different types of simple constraints: • List . Unknown. changes to the following list of fields are ignored: • BlocksOnJob 455 . Error. the value you entered is not valid. such as job filters The Simple Constraint Data field is used to specify the list.A list of valid values with descriptions • Expression . You use simple constraints in your job definitions. The constraints fire for each job status change except the following: • status change to a final state (Completed." Parameter Evaluation and Constraints During the life cycle of a job the constraints fire a number of times to confirm the validity of the job parameter value.A list of values retrieved with a filter. The Simple Constraint Message is displayed when the value of the parameter does not match the simple constraint. There are two types of constraints.Automating Processes Across the System Landscape Invalid Examples "U*L" // repeat must be last Parameter Validation using Constraints Use Constraints are widely used in databases to force valid values in tables.A list of values retrieved from a table • Query Filter . A good Simple Constraint Message could be the following: "Please choose a valid value from the list. Built-in job definition parameters may have built-in constraints which are used to validate the In parameter value and/or display a list of valid values (LOV). Canceled. to make sure nobody makes a typo when entering data. expression.An expression • Table . In SAP CPS constraints are used to validate In parameters values. Killed) • status changes to the following statuses • Killing • Canceling • PostRunning • Disabled • Modified Note that all constraints also fire when job fields or job parameter values are changed. built-in and simple. such as Oracle Applications of SAPrelated job definitions.Automating Processes Across the System Landscape • ChildOrder • CompletionStrategy • CreationTime • CreationTimeZone • Description • JobChainCall • JobChainStep • LLPVersion • NextRecalculation • NextSubmitBaseTime • NumChildJobs • NumJobFiles • NumJobLocks • NumJobMetaData • NumJobNotes • NumJobRaiseEvents • NumJobWaitEvents • RequestedStartTimeType • StatusForJobGroup • UniqueId Built-in Constraints Some job definitions have built-in constraints to create 'lists of values' (LOV). you can restrain the amount of values displayed in the LOV and not increase it.description of the parameter. • ${parameter} . • ${legalValues} .value specified in the submit wizard. 456 . An LOV is a list of valid values to choose from and prevents typo's. When you create a simple constraint on one of these parameters.short list of legal values (This variable is empty when used in expression constraints). otherwise its name. your constraint must adhere to the criteria of the built-in constraint. Simple Constraints All simple constraint types allow the use of variables: • ${value} . if set. The submit wizard will create a list of values for the user to choose from. the following parameters can be used: • titles is a comma separated list of titles. list. Using Redwood Expression Language expressions: Use the keyword value for the actual value.B. 457 .Automating Processes Across the System Landscape List Constraints The List constraint is the easiest to create and parameter-specific. the Expression constraint is parameter-specific and consists of a Redwood Expression Language expression. The result of the expression is used to validate the value in the submit wizard. list. • list is either a normal list or a pair list • bool is a boolean expression involving the parameter value.C. C. bool) • PLSQL. =value >= 5 && value <= 10 In the following example force the value to be a number. The following illustrates a valid List constraint with the following in the Simple Constraint Data field: A. true evaluates to accept and false to reject.pairListConstraint(titles. = value === 4 || value === 5 You can also use the special constraint functions: • Constraint.Z="Last Letter" Note that the letters (A.C="Third Letter". either 4 or 5.B="Second Letter". query. Expression Like the List constraint.contraint( connect_string. binds) In the above functions.E Pair List Like the List constraint. bool) • Constraint. the Pair list constraint is the easy to create and parameter-specific. The following illustrates a valid Pair List constraint with the following in the Simple Constraint Data field: A="First Letter".D.listConstraint(titles. An example message you can use is: The value ${value} you specified is invalid for parameter ${parameter}. B. and Z) are the values passed on to the parameter. in the following example force the value to be a number between 5 and 10. It is bad practice to store values in a constraint expression and even more so if the values can be found in a SAP CPS table .pairListConstraint('Country'. value. '31. If the column is not mandatory and is not filled. PLSQL. The value returned is compared to ''.pairListConstraint() =Constraint.6 Note that the column we retrieve in the boolean expression.Automating Processes Across the System Landscape • connect_string is a special connect string in the form user=<user> endpoint=<process_server> • where process server is a JDBC or OracleJob process server • a JDBC/OracleJob credential must exist for user <user> and endpoint <endpoint> • example connect string: user=scott endpoint=MSLN_ORCL • query is a database query with optionally bind parameters • binds is an optional comma-separated. value.0 33 France Fr France 1.Guatemala=502'. Note that this example is only for illustration purposes and destined to show the syntax.getColumnString('Countries'. 'Translation') !== '') This example works with the table named Countries as well. 'select cust_id "Customer" from sales') =PLSQL. =PLSQL.listConstraint() =Constraint.use the table constraint instead. a credential for the user specified in the connect_string (scott the famous Oracle user in this example). which means empty. ordered list of bind parameters for the query (typical bind syntax) Examples Constraint. Constraint. 'Translation') !== '') This example works with the following table named countries: Key Name Abbreviation Translation Conversion_Rate 31 The Netherlands NL Nederland 1.constraint('user=scott endpoint=MSLN_JDBC_Orcl'.contraint() The following examples retrieve the values from a database table or view.0 49 Germany De Deutschland 1.France=33.getColumnString('Countries'. 'select cust_id "Customer Id". \ Table.constraint('user=scott endpoint=MSLN_JDBC_Orcl'. You must have a JDBC process server connected to the database (in these examples named MSLN_JDBC_Orcl).Deutschland=49. Translation in the example above. the operator will not be able to use the value associated with the column. The last example uses a bind variable that is set to the value of a parameter named Country. 'Nederland=31.33.49.502'.0 502 Guatemala Gt Guatemala 11. is not really relevant.listConstraint('Country'. \ Table. customer_name "Customer 458 . println("job definition=" + jd.println("parameter=" + Parameter1).valueOf(Parameter1). To use a table. expression) Simple Constraint Message The message to display when the constraint is violated See Also • Privileges Required to use QueryFilters • Redwood Expression Language Functions 459 . so two different users might see different lists. for example.<object_name>. you select Table in the Constraint Type field and fill the name of the table in the Simple Constraint Data Field. and 502. // Get a business key for the parameter value BusinessKey key = BusinessKey.constraint('user=scott endpoint=MSLN_JDBC_Orcl'.getName()). the job definition has a parameter named Parameter1 which has a query filter constraint on the filter All Job Definitions. Object filters also display a list according to the requester's privileges.DataLoadComplete. When the job definition is submitted. } The value of the query filter is <object_type>:<partition>.System_Info or EventDefinition:GLOBAL. the Table constraint allows you to specify a list of values once that can be used in multiple job definitions. such as JobDefinition:GLOBAL. 'select name "City". the user will not be allowed to submit the job. you can choose a job definition for Parameter1. state "State/province" from citie Table Unlike the other simple constraints. If the parameter is optional. The list of values can be maintained from one central location. if the parameter is mandatory. 49. this is especially handy for RedwoodScript job definitions.Automating Processes Across the System Landscape =PLSQL. In the example above. // Print the name of the job definition jcsOut. Values Field Description Default Value Simple Constraint Type The type of constraint to use None Simple Constraint Data The data to be used by the constraint (list. the values available would be 31. for example. The submitter must be able to see the object filter. the value is a string. or the parameter value will not be evaluated at submit-time. The Table constraint requires you to fill a table. which can then be used to retrieve the job definition object. however. Query Filter The query filter constraint allows you to use object filters to generate list of values for parameters. 33.createBusinessKeyResolver(). The value used will be the value from the Key column in the table. In the following example RedwoodScript code. { // Print the actual parameter value jcsOut. this has no major consequences. You can use the built-in System_Variables table or create your own. // Use the business key to retrieve the job definition JobDefinition jd = jcsSession.getJobDefinitionByKey(key). via its business key. Importing Tables When you import tables.Tables allow you to store frequently used values and have these form a list in the submit wizard. listing valid columns and data types. and change rarely.Automating Processes Across the System Landscape Using Tables to Store Frequently Used Values Use Many complex process consist of jobs the work with the same parameter values. Tables are created in the Table Definitions overview via the context-menu of the table definition you want to use for the table. 460 . Tabs & Fields The following table illustrates the fields of each tab of Credentials editor dialogs. In some cases there may be a pre-defined set of values from which the user can choose: • A list of countries. you cannot create a Table in the object's overview page.Table definitions define tables. and to prompt them with a list of valid values. rather than at runtime. for instance: • The name of an external system • The processing day (or business day) which may not be the same as today • The name of an SAP instance or client to use for a particular task These values tend to be used by a large number of jobs. Table Name the name of the partition. Note Unlike most objects. • Table definitions . Table Application The application of the table. This option is useful for tables that have 1000 or more rows. you have the option to overwrite all values in the table or append only new rows to the table. Note that you should use the option with care. Quality Assurance and Production environments (for external system names). provinces or cities • A list of departments or cost codes In these cases it is also useful to be able to validate the value a user has entered to ensure it is correct. This means that validation can occur at job submission time. They might change: • On a daily basis (for the business day) • Between the Development. Table Description a free text description of the table. In-Memory Tables You store table data in memory to speed up the retrieval of values. very large tables will use a lot of memory. Tab Field Description Table Partition The partition of the table. • Tables . Context-Menu Actions Tables and table definitions support the following context-menu actions: Action Description Edit Security Edit the security of the table or table definition Duplicate Make a copy of the table or table definition to create a similar one New Table Create a new table from the current table definition Delete Delete the table or table definition Export Export the table or table definition into a CAR file Edit Edit the table or table definition Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New table definition Create a new table definition Filter > New Filter Create a new table or table definition filter Filter > Edit Filter Edit current table or table definition filter Filter > Delete Delete current table or table definition filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Tables and Table Definitions You can search for tables and table definitions using filters and the Search Tables or Search Table Definitions box on the Tables or Table Definitions tabs. in memory tables consume more memory. Prefixes 461 . over 1000 rows. Documentation Documentation Free text field for documentation purposes.Automating Processes Across the System Landscape Table Import Mode When you re-import this table from a CAR file. Values The table data. you can access tables using the REL table functions ( see the Administration Guide ). you overwrite the table data (Import Table) or append rows defined in the CAR file (Import Rows) Table In Memory Tables that have In Memory checked will be cached in memory. however. Filters allow you to specify a list of objects with static criteria. respectively. Accessing Tables from REL If you have the Chargeable version. This feature should only be used for big tables. the number of columns and column type depend on the table definition. Security This is where you can specify who can access/change/remove the table. These boxes are known as the IntelliSearch boxes and located under your username on the top right-hand side of the user interface. Table Definition The table definition of the table. this drastically improves the performance of value retrieval. IntelliSearch allows you to specify complex queries in a simple way using prefixes. See the Advanced Object Search for more information. name searches the name property c. The following table illustrates the available prefixes for tables and table definitions: Prefixes Description n.the type of object with a link to it • Related Object . You can see all job definitions that relate to the table in Related Objects in the lower detail pane and on the show page. The table in related objects contains three columns: • Type . For example. you would use the search criteria as follows: c:users You can search more than one property. For example.Edit Edit table definitions TableDefinition.Edit Edit tables Table.Create Create table definitions TableDefinition. if you want to display all tables with the term users in the comment.Automating Processes Across the System Landscape are used to specify which property you are searching in and have short as well as long syntaxes.Delete Delete table definitions TableDefinition.the name of the object with a link to it • Used As .objects can sometimes be used in different roles Security Privilege Description TableDefinition.Create Create tables Table.View Access table definitions Table.Delete Delete tables Table. if there are job definitions that use the table. application searches the application property Deleting Table Definitions and Tables You can only delete table definitions and tables when no other objects relate to them. as follows: c:users n:ORA Note No spaces should be entered before or after the colon (:). comment searches the documentation property d.View Access tables 462 . description searches the description property a. the table cannot be deleted until all job definitions that use it have been modified. You cannot delete table definitions if there is a table using it. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure Create a table definition 1. It allows you to specify which users can access. Choose Save & Close. 2. Use a table as a reference in a parameter for parameter values 1. Navigate to Scripting > Table Definitions. enter the name of the table into the Simple Constraint Data field. Choose the Parameters tab and select the parameter you would like to use 4. the column names must exist in the table definition you specified. 3. Choose Save & Close. and delete the table and table definition. 3. records in the table are available as list-of-values in the parameter field of the job definition. 4. and fill in some columns. which requires the Chargeable version. Navigate to Definitions > Job Definitions 2. 2.Automating Processes Across the System Landscape You can grant privileges on two levels. you have an additional Security tab on the table and table definition. edit. 463 . Choose Edit from the context-menu of the job definition 3. These privileges can be granted system-wide. 4. Access and Admin. Choose Save & Close. Navigate to Scripting > Table Definitions. If you have the object security. and fill in some columns. Result When you submit the job definition. In the Simple Constraint Type field choose table. Choose the Columns tab. a privilege granted on Admin level allows the grantee to grant the privilege to other users. per partition or isolation group. The Key column is the field that should contain the data that you want to use. 5. Create a table 1. Choose New Table Definition from the context-menu and enter a name and application (optional). Choose New Table from the context-menu of a table definition and enter a Name and Application (optional). Choose the Values tab. with data types and specify if the value is allowed to be null. the Raiser Comment field contains information on the raiser. due to the closing of a job queue). this event is raised? Wait Events Clears Event Should the start of the job clear the event? No. The jobs based upon those definitions cannot be executed before the events upon which they are dependent are raised. Wait Events Auto Submit Should the job start automatically each time Never.Only submit a job when there is no job of the same job definition in a pre-running state. this allows you to trigger other jobs. Clearing events The job that is triggered by the event should clear the event. this forms the basis of event-driven process scheduling. Wait Events Clear Comment Jobs Raising Events Use Jobs can be used to raise events when they reach a specific job status. the job does not wait again for an event from the same event definition the next time the job is released. So if the event was raised but the job did not start (for example. When a job waits for an event it gets the EventWait status. so that another event-waiter (created later) will wait for another occurrence of the event. When a job is created for a definition. it inherits all the events to be raised. • Always .Automating Processes Across the System Landscape Jobs Waiting on Events Use Jobs can wait for one or more events. Note An event-waiting job must first be scheduled before it gets the EventWait status. 464 . this can be further customized. Make sure that all job parameters (if any) have default parameter values.A job will never be submitted. A job waits only once for a specific event. a job that has not yet reached status Running. Values Tab Field Description Default Value Wait Events Event Definition The event definition the job will be waiting for. Automatically started jobs A event-waiting job can be auto-started when the event is raised. • Only one . When a job raises an event.A job will always be submitted. and must wait for those. You can set auto-start to: • Never . You specify as many events as you need to be waited on. As soon as a job starts running. it holds the lock until it has reached a final job state. Values Tab Field Description Default Value Raise Events Event Definition The event definition the job will raise once it has finished. Raise Events Error Code The error code of the job. Maximum 465 . an event or alert can be raised to request intervention from operators. • ${jobdescription} . • ${jobstatus} . Raise Events Raise Comment The comment the raised event will have. Multiple limits are allowed with either minimal and maximal values.the raiser job name. The limits can be hard coded or you can use an offset of runtime estimation based on previous runs of the job.The job id of the raiser job. The following substitution parameters are available for raiser comments in job definitions and job chains: • ${jobid} . When the limits have been reached. A job that is attached to a lock can only start running when no other job is holding the lock. Event raised by Job:${jobid} (${jobdescription}) going to status ${jobstatus}.Automating Processes Across the System Landscape The default raiser comment is the following: Event raised by Job:${jobid} (${jobdescription}) going to status ${jobstatus}. Jobs with Locks Use Locks are used to prevent jobs running simultaneously.The status of the job at the time it raised the event. as displayed by the job monitor at the time of raising the event. Values Field Description Default Value Name The name of the runtime limit Max Min Type The type of runtime limit. Values Field Description Default Value Job Lock The name of the lock the job will take and wait upon Job Runtime Limits Use Runtime limits ensure that a job runs for a predefined period of time or does not exceed a limit. Raise Events Status To Raise On The job status that makes the job raise Completed the event once it reaches that state. Maximum and Minimum are allowed. Continue Submit Frame • Killed .The job is restarted. Additionally. • Restart from Error . you can always send an operator message. When you break the submit frame. You configure the restart behavior on the Job Status tab of a job definition. To restart a recurrence. • Request Restart .Automating Processes Across the System Landscape Value The value of the runtime limit. the job definition or job chain does not get submitted again according to the submit frame. however. • Stop Submit Frame .Continue Submit Frame 466 . the operator needs to acknowledge and choose a restart option. • Restart . Usually to break or continue the submit frame when something unexpected happens. identical to Restart for jobs not in a job chain. Ad Hoc Alert Source Ad hoc alert to raise when the job has reached the limit. or time-based or an offset in percent Kill Job Should the job that has reached the limit be killed? Event Definition Event to raise when the job has reached the limit. it can be fixed.The job is restarted. The job group comprises all jobs from the recurrence as well as restarted jobs from the recurrence. according to the former base time. all final job states will continue to get submitted according to the submit frame.The job is resubmit according to the submit frame. Built-in system defaults: • Completed . Restart Behavior Use Restart behavior is used to react to the final job status of the job which has been scheduled with a submit frame.An operator message is sent requesting the restart. use the Scheduling > Restart action on any job of the job group and select Perform Restart on the job group in the dialog.The job is not resubmit according to the submit frame. it will not be resubmit according to the submit frame. The following job states can be reacted on: • Completed • Error • Killed • Canceled • Unknown For each state one of the following reactions are available: • Continue Submit Frame .Continue Submit Frame • Error . • Restart No Resubmit .Restart a job from the step that reached status Error. By default. The status of the job chain can also be set to reflect the status of the last executed step. The registry key that governs the default behavior: /configuration/jcs/jobchain/useLastExecutedStepStatus The registry key should be set to either true or false.Continue Submit Frame • Unknown . The keyword in the Documentation field of the job chain definition has precedence over the registry key. Skipped. Final Status The final status of a job chain is determined by the status of the last step that reached a final state. Ignored. Job Chains Job Chain Jobs When you configure a restart behavior on a job definition and call this job definition from within a job chain. which is very unlikely. the following final states are special: Disabled. 467 . the final status of the chain will be Completed. The following comments can be used to enable the new behavior: @useLastExecutedStepStatus=true To disable. true or false) into the Documentation field on the Documentation tab of a job chain.Continue Submit Frame The different settings have the following outcome Option Job Restarted Submit frame continued Continue Submit frame (Default behavior) No Yes Stop Submit frame No No Request Restart Depends on the reply of the operator message Yes Restart Yes Yes Restart from Error Yes (from the step that reached Error) Yes Restart No Resubmit Yes No Note Using the On Completed status in combination with Restart from Error will restart from Error only if there was a job in error error. use the following: @useLastExecutedStepStatus=false Just place the keyword (including @ and the desired value.Automating Processes Across the System Landscape • Canceled . the restart behavior of the job definition will take effect inside the job chain. This means that if you have a job chain of which the last step is Disabled. for example. A registry key ( see the Administration Guide ) and documentation keywords have been introduced to allow you to toggle the behavior. and Continue if there was no job in error. due to a precondition. the value is decremented after each run. Therefore you have to put the precondition on the job. since the step does not run. for example. The system processes the restart behavior in the following order. for example. Values Tab Field Description Restart Behavior Maximum Restarts The maximum amount of job runs allowed for the job. <Partition of Job Definition>. then the value is reset to the value of the job definition. Built-in defaults See Controlling Global and Partition Restart Behavior for more information on defining the job definitions for system-wide and partition-level restart behavior. This means that a Maximum Restarts of 4 will actually restart the job 3 times and the total number of runs will be 4. partition-wide. the restart behavior is not evaluated.System_Defaults_Partition 3.governs system-wide Restart Behavior Note The job chain will silently be turned into a special System Job Definition and be accessible in Definitions > Job Definitions. 2. Job Definition of job.System_Defaults_System 4. the first match is used: 1. To set the Restart Behavior partition or system-wide. create a job chain named as follows: • <partition>. 468 Default Value . The only settings you are allowed to change on these special job definitions are on the Security and Job Status tabs. Maximum Restarts The Maximum Restarts value is used to determine how often the system may run this particular job. GLOBAL.Automating Processes Across the System Landscape Preconditions The Restart Behavior is only evaluated at the end of the step. and system-wide.System_Defaults_Partition . where n is a number.governs the Restart Behavior for the <partition> in which the job chain was created • GLOBAL. Global and Partition-Wide Restart Behavior The Restart Behavior can be set on the job definition. When an operator intervenes using an action on a job or an operator message.System_Defaults_System . It is only decremented when the system does a fully automatic restart. When a step is skipped. so the job goes to Skipped and not the step. This can be an issue if you use stepIterations < n preconditions. thus does not finish. The following figure illustrates the restarted job reaching Completed. a new job is submitted. Note that in the figure. RestartNoResubmit: The job will be restarted. the first job has reached Completed. 469 . Restart: Restart the job immediately. The following figure illustrates the job being restarted. The following figure illustrates the number of jobs in this job group. Restart Behavior Operator Message The operator message to send to send 0 Example A job with restart behavior On Error Request Restart was submitted with a submit frame and a pre-submit count of 3. StopSubmitFrame: The submit frame will be broken. The following figure illustrates the job reaching Error. identical to Restart for jobs not in a job chain. again an operator message has been generated waiting for a reply. RestartFromError: Restart a job from the step that reached status Error.Automating Processes Across the System Landscape Restart Behavior Action ContinueSubmitFrame: The restart will occur following the submit frame. the restarted job will not be resubmitted. RequestRestart: An operator message will be sent to request restart permission. you are back at the beginning. an operator message is waiting for a reply. Restart Behavior restart Delay The delay between the end of the job and the restart. The following figure illustrates the restarted job reaching Error. Note that as soon as the job reaches a final state. it might be easier to use a trigger. see the Job States section for more information. the most common one being setting the final job status. The other actions allow you to change the queue. The following three actions are available: • On Change . the job will go to status Error. this can be changed in status handlers.Scripting license key. you must be familiar with the various job states. You need to understand the concepts of job states to get a clear understanding of when triggers and actions fire.After a job has completed Post Running is the only action that allows changing the final status of a job. it is therefore the most used action. There are three different types of actions that fire at three different times in the life-cycle of a job. You may define a set of conditions that must be met for this change to take place. All actions have a log file. See the Using Triggers and Using Actions sections of the documentation.When the status of a job changes but has not reached Queued (but does not fire when the status changes to Chained) • Pre Running .Automating Processes Across the System Landscape See Also • Controlling Global and Partition Restart Behavior • Setting Job Definition Properties Customizing Jobs with Specific Actions Use Actions allow you to interact with objects while these are doing something. Note You are not allowed to persist in any of these actions. that is done for you at the end. The following illustrates the three Actions that are available and what they can be used for: Since actions are dependent on the job state. which will be attached to the job if it is not empty. When an error occurs in an action. If you want to interact with jobs from many job definitions. see the Job States section for more information on the subject. 470 . Note Actions require RedwoodScript which in turn requires an Module.Before a job has started running • Post Running . With Actions you can change the status to Completed even if the job reached status Error. start time or even hold the job if a set of defined conditions are met. scheduler.redwood. because the job has finished running.redwood. EventWait and LockWait • Can change scheduled start time. Dispatched. or hold the job. queue.io.redwood.it is perfectly possible to submit another job in any of the actions or even cancel the job in question. You can reload the source tab from the context-menu to display them.println("This text will be printed to a specific output file on the job.scheduler.getUserName() jcsJob com. jcsOut java.PrintWriter jcsOut.api.variables.logging.infrastructure. Before Job Pre Running Object Class Example Code jcsOutLog com. Killed.Logger jcsOutLog.api. You cannot change the scheduled start time in a post-running action. The changes that are allowed in the actions are action dependent.logging. Contexts The following predefined objects are available in job definition actions.hold(). Pre running • During Queued.model.scripting. Unknown.info("This is an informational message!") 471 .").model. All actions have access to the job changing status.api.PreExecutingActionScriptObject jcsOnChangeContext. or hold the job.redwood.SchedulerSession jcsSession.api. Completed.scheduler. for example.setFailJobOnError(false). Before Job On Change Object Class Example Code jcsOutLog com.infrastructure.Job jcsJob. queue. jcsSession com. Post running • Any transition from Running into a final state: • • Error. The source of the actions is written in RedwoodScript which allows interacting with the repository. Canceled Can change the final state. The above uses are only the most common .Logger jcsOutLog. the old and new statuses as well as a jcsSession.Automating Processes Across the System Landscape On change • Any change before Queued and Dispatched • • Does not fire on Chained status Can change scheduled start time.warning("This is a warning!").scheduler.scheduler. jcsOnChangeContext com.api. These are defined in the Source Stub.redwood. Automating Processes Across the System Landscape jcsSession com. if it did. Actions Enabled Enable/disable action Actions Source Source code of the actions in RedwoodScript Default Value Example A multi-step job chain has a job in the first step that may fail.) { Job myJob = (Job) it.api. Values Tab Field Description Actions Type The type of action to create.restart().redwood.PrintWriter jcsOut.println("This text will be printed to a specific output file on the job.model.variables.getStatus().api.").equals(realStatus)) { throw new RuntimeException().getChildJobs().model. //throw an exception to put the Jobchain job into Error String stepName = "Run SystemBackup".scheduler.println("This text will be printed to a specific output file on the job.scripting.PrintWriter jcsOut. but the rest of the chain must finish to clean up. throws a RuntimeException to force the job chain into status Error. it.logging.getDescription(). jcsPreRunningContext com.infrastructure.scheduler. The following action is used to check if the first step reached status Error.").model. The status of the job chain should be Completed if all steps Completed and Error when the first step went into error. } 472 .scheduler.redwood.hasNext(). if (stepName.name().equals(realStepName) && statusName.scheduler.getQueueByName("UNIX_Generic").Job jcsJob.api. The status handler on the first step for status Error is Continue.scheduler.debug("This is a debug message!") jcsPostRunningContext com. jcsJob com. and if so. String statusName = "Error".scheduler.SchedulerSession jcsJob com.scheduler.redwood.variables.PostRunningActionScriptObject jcsSession com.io.Logger jcsOutLog.model.redwood.api.redwood. jcsOut java. { //Check if the first step failed. String realStepName = (String) myJob. String realStatus = (String) myJob.api.Job jcsJob. Before Job Post Running Object Class Example Code jcsOutLog com.SchedulerSession jcsSession.redwood.api.io.PreExecutingActionScriptObject jcsOut java.redwood.scripting.next().api. // Get an iterator over the child jobs of the job chain job for (Iterator it = jcsJob.hold(). This is due to branching. by default. a copy of the job definition is made for the job. remember that it is applicable to job chains as well. Every job definition has a master job definition. a branch is a copy of a master at a given point. however. Model When you query job definition. the job will be aborted and reach the Modified status. which will require human intervention. as long as no jobs have been submitted. Master job definitions have BranchedLLPVersion set to -1 and UniqueId set to the same value as MasterJobDefinition. the new job definition will be used. This is especially true when you edit the parameter list by adding non-Nullable parameters or by changing a Nullable parameter to non-Nullable. so the current topic will continue mentioning just job definitions. If a job is resubmitted by a submit frame and the parameters are not valid. In SAP CPS. 473 .Automating Processes Across the System Landscape } } See Also • Redwood Script • Trigger Examples • Triggers Editing Job Definitions Safely Use Special care needs to be taken when you edit job definitions that have already been submitted and have not yet started or job definitions that have been submitted with a submit frame. for example when a non-Nullable parameter contains a null value. you will no longer be able to access the job definition or chain that the existing job was based on. it is called a branch. This was implemented to prevent issues with job definition modifications impacting existing jobs in a job chain. no branches are made. The user cannot interact with this slave copy. When you submit a job. Every time a job definition is submitted. you will get all job definitions. Branches have BranchedLLPVersion set to the UniqueId of the master job definition they are based on (the master job definition at branch-time). when a job definition is used several times in a submitted job chain. a slave copy of the job definition in its current state is made and attached to the job. Job definitions and job chains behave the way when it comes to branching. the new job definition will only be used when the first occurrence of the job chain job has not reached Dispatched at modification time. Job definitions have properties that allow you to see if a given job definition is a master or not. When you edit the master job definition before the job has reached the Dispatched status. Modified Job Definitions or Chains and Jobs Use When you modify a job definition or job chain that has existing jobs. This has been implemented to allow job chains to remain consistent. a term used in development. Note that only master job definitions are accessible via the SAP CPS ui. However. ) • ${ProcessName} . You inspect the job output and decide it is not ready for prime-time. . If you want to have branches in your report.Process name (network-processor.date using format 'format'.Automating Processes Across the System Landscape Note When you use a report based on a filter. The format is any valid Java SimpleDateFormat. you must use Object Definition Queries. only master job definitions and job chains will be displayed. • ${TraceDirectory} . May contain any of the following substitution parameters: • ${ProcessId} . • ${ProcessServer} . like a file name or a job id. As of this point. the link to the job definition works again.) • ${InstallDirectory} .Process id of the process • ${ProcessType} . the link in the job to the job definition does not work anymore. 2. 474 . 4. • ${FileSeparator} . At this point. You edit it and save it.${DataRootDirectory}/trc. a-z and 0-9 replaced with underscores..Base directory for platform agent files.Process type (standalone. no new branch has been created.. You forgot something. • ${DataRootDirectory} .. 5. save it. no new branch has been created. At this point. . so you edit it again. Platform agent The platform agent log file can contain a filename pattern.system id with all characters except A-Z. service. Substitution Parameters Use You use substitution parameters in specific objects to insert dynamic values. Depending on the repository object.(for stderr). or . Example You created the job definition RS_FinReporter: 1. A new branch is created and the link works. You submit the first version of it and a branch is created. 3. a new branch was created. stderr. Job Definitions The following substitution parameters can be used in some job definitions: • ${SystemId} . it has been replaced with the name of the job definition followed by the modification-time.install directory. • ${date:format} . You restart the job you submitted in step 1. you note that in the second job.Character(s) between directory and file (for example / on Unix and \ on Windows). and submit the job definition again. specific substitution parameters can be used..Name of the process server that the agent is configured for. You inspect the job output and decide it is not ready for prime-time. You edit it. A dot if the detected file had an extension. • ${jobdescription} .Platform agent name • ${filename} . columnFormat.Central server time in epoch • ${server} . • ${TimeStamp} .File modification date & time • ${FileTimeStamp} . and nothing otherwise.value • {2} .the raiser job name. • ${DateTime} . key.Central server date & time • ${ServerTimeStamp} . Queries The columnFormat parameters of the Table.formatRow(table.The base filename of the detected file.Current time in epoch • ${FileDateTime} . • ${Dot} . you can specify a JavaDateFormat for the *DateTime variables as follows: ${FileDateTime:HHmmss} The following substitution parameters are available for the Move Directory field of file events: • ${Name} . • ${Extension} .The base filename plus extension of the detected file.Automating Processes Across the System Landscape Events The following substitution parameters are available for raiser comments in job definitions and job chains: • ${jobid} .The status of the job at the time it raised the event. in a numeric format containing the milliseconds since 1970. in a string format YYYYMMDDHHMMSS. as displayed by the job monitor at the time of raising the event.column header • {1} .columnSeparator (should always be the first) 475 .file name For the above.The modification timestamp that the detected file has. • ${BaseName} .Current date & time • ${CurrentTimeStamp} . rowStart. The following substitution parameters are available for raiser comments of file events: • ${CurrentDateTime} . rowEnd) function takes the following substitution parameters: • {0} .The job id of the raiser job. usually referred to as epoch or Unix time.File modification time in epoch • ${ServerDateTime} .The extension of the detected file.The modification timestamp that the detected file has. • ${jobstatus} . columnSeparator. Jul. An example for a dynamic date using Java SimpleDateFormat would be the following: ${Time.format() REL function as follows.now:'yyyyMMdd'} You can also use the Time.format(Time. 96 M Month in year Month July.format(). 'dd/MM/yyyy hh:mm:ss i') Result: 23/12/2011 17:59:23 Europe/Paris The following table lists alls valid letters that can be used to form a pattern which represents the date format. Letter Date or Time Component Presentation Examples G Era designator Text AD y Year Year 1996. 07 w Week in year Number 27 W Week in month Number 2 D Day in year Number 189 d Day in month Number 10 F Day of week in month Number 2 E Day in week Text Tuesday. note that it accepts the i to include the time zone: =Time. PST. Tue a Am/pm marker Text PM H Hour in day (0-23) Number 0 k Hour in day (1-24) Number 24 K Hour in am/pm (0-11) Number 0 h Hour in am/pm (1-12) Number 12 m Minute in hour Number 30 s Second in minute Number 55 S Millisecond Number 978 z Time zone General time zone Pacific Standard Time.Automating Processes Across the System Landscape Specifying Dates Using Java Date Format Use The Java SimpleDateFormat class is used to format dates in this case.now. 476 . you can use it with the REL function Time. GMT-08:00 Z Time zone RFC 822 time zone -0800 i Olson time zone Text Europe/Berlin Note The i is not always available. Automating Processes Across the System Landscape Example The given date and time are 2010-07-04 12:08:56 local time in the US Pacific Time time zone. Java SimpleDateFormat Result ${now:"yyyyMMddHHmm"} 201007041208 ${now:"yyyy.MM.dd.HH-mm-ss"} 2010.07.04.12-08-56 ${now:"EEE-dd-MM-yy"} Wed-04-07-10 ${now:"hmma"} 1208PM Changing Job Logging Levels Use The default verbosity-level, or log-level, for jobs is Error. This can be controlled using the following registry keys, the first match will be used: /configuration/logging/Job/ByDefinition/<JobDefinition_Partition>/<JobDefinition_Name>/<JobFile_Name>=<level> /configuration/logging/Job/ByType/<JobDefinitionType_Partition>/<JobDefinitionType_Name>/<JobFile_Name>=<level> /configuration/logging/Job/ByJobFileName/<JobFile_Name>=<level> Levels A level can be one of the following: Level Description fatal Only fatal errors are logged error All errors are logged warn All errors and all warnings are logged info Same as warn with additional info log entries debug All log entries Example /configuration/logging/Job/ByDefinition/GLOBAL/RS_Debug/stdlog.log=debug /configuration/logging/Job/ByDefinition/GLOBAL/RS_Debug/stderr.log=error See Also • The Registry • Registry Keys 477 Automating Processes Across the System Landscape Redwood Job Definition Types Use Job definition types define a type of job definition and the service required to execute the jobs of that type. Job definition types can be assigned to a job definition or to a process server. When job definition types are assigned to a process server, they define the type of jobs that the process server can run and services that are needed. You must only submit job definitions of a certain job definition type into queues that are handled by process servers capable of running those job definition types, or those jobs can never be started. When you create or edit a process server, the required services are added automatically to the process server based on the job definition types you configured, so there is no need to change services on a process server. Job definition types are part of the Configuration section in the navigation bar. Job definition types only support the basic action Refresh. It is not possible to Create, Edit or Delete job definition types. To view a job definition type, choose a job definition type in the overview table. The job definition type details are shown in the lower detail pane. The following standard job definition types are provided with SAP CPS: Redwood System Job Definition Types • RedwoodScript - The RedwoodScript job definition type allows you to write server based scripts that interact with the repository using the RedwoodScript language. • Mail - The Mail job definition type allows you to send custom emails. The following are also strictly speaking job definition types, but do not allow you to write your own script source code: • JobChain - You can graphically compose ordered sequences of parallel jobs. • JXBP - To run SAP Java jobs on the Java Scheduler via the Java eXternal Batch Processing (JXBP) interface. • Report - To run reports with dynamic parameters • SAPPI - To control communication channels in SAP systems via the SAP PI interface. • SAPR3 - To run SAP ABAP jobs accessible via various ABAP interfaces such as XBP and BW-SCH. • System - System jobs provided by Redwood. Note Some job definitions are part of a module and require a specific license, please check the License section for more information. Platform Job Definition Types Platform Job Definition Types are available to connect SAP CPS to external systems such as Windows or Unix servers. 478 Automating Processes Across the System Landscape Note Please pay attention when you mix Redwood job definition types with platform job definition types, see Process Server Services for more information. Finding Job Definition Types You can search for job definition types using filters and the Search Job Definition Types box on the Job Definition Types tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. For example, if you want to display all job definition types with the term dev in the comment, you would use the search criteria as follows: c:dev You can search more than one property, as follows: c:dev n:ORA Note No spaces should be entered before or after the colon (:). See the Advanced Object Search for more information. The following table illustrates the available prefixes for job definition types: Prefixes Description n, name searches the name property c, comment searches the documentation property d, description searches the description property a, application searches the application property Values Property Description Name The name of the job definition type. Description An optional description of the job definition type. Documentation An optional comment for the job definition type. Process Server Job Definition Types A list of process servers that support this job definition type. Handler Service The service needed to process jobs of this job definition type. See Also • Documenting Objects using the Documentation Tab 479 Automating Processes Across the System Landscape Using the RedwoodScript Job Definition Type Use Note The RedwoodScript job definition type is available with the Scripting module, which requires a specific license. RedwoodScript is based on the Java language. It allows you to create job definitions with RedwoodScript in its source. The RedwoodScript job definition type is used to create jobs that interact primarily with the server interfaces themselves. For instance, you can write a job that submits other jobs or retrieves and combines meta data or job output from other jobs. Note You must assign at least one process server to run RedwoodScript job definitions in order to use the job definition type. Variable and Parameters Variables that you require to hold intermediary values are defined in the same way as you would normally define variables in Java, using the standard syntax var myVar or var myVar = "initial value". Job definition parameters are available directly in RedwoodScript as Java variables, as shown in the examples below. Note When a job reaches status Error, the Out parameters are not set. You can use a Post Running action to set them if required. Examples The following code shows how to access the job's input parameter names and values: { jcsOutLog.debug("Job parameters"); for (Iterator it = jcsJob.getJobParameters(); it.hasNext(); ) { JobParameter par = (JobParameter) it.next(); jcsOutLog.debug(par.getJobDefinitionParameter().getName() + "=" + par.getInValue()); } } Within a job chain you can not only access the job parameters, but also the job chain parameters -- if needed. The following code shows how to do this, by creating an object that is the grandparent of the current job. The parent of the job is the 'step' within the job chain, and the grandparent is the job for the job chain itself. If you need to access further ancestors the method would be to call getParentJob() recursively. The following code can also be used to execute code depending on the depth of the job in the chain, or if the job is part of a chain or not. { // Does this job have a step - which would imply that we are part of a job chain if (jcsJob.getJobChainStep() != null) { JobChain chain = jcsJob.getJobChainStep().getJobChain(); if (chain != null) 480 Automating Processes Across the System Landscape { Job chainJob = jcsJob.getParentJob().getParentJob(); // We are in a chain, our parent's parent is the chain job // Since our parent is the step job, the step's parent is the job chain job. jcsOutLog.debug("Part of a chain " + chain.getJobDefinition().getName()); jcsOutLog.debug("Chain parameters"); for (Iterator it = chainJob.getJobParameters(); it.hasNext(); ) { JobParameter par = (JobParameter) it.next(); jcsOutLog.debug(par.getJobDefinitionParameter().getName() + "=" + par.getInValue()); } } } else { jcsOutLog.debug("Not in a chain"); } } More examples are available in the Using RedwoodScript in Jobs section. Using RedwoodScript in Jobs Use RedwoodScript is the ideal language to automate complex tasks, adding custom code to a job chain, for example. The following code will illustrate some example features you would like to implement. The easiest way to develop your code is to use the web-based shell first. If it runs in there, it should run in a job definition, please see the RedwoodScript, Redwood Expression Language, and Scripting Contexts sections for a list of examples, functions, contexts and pre-defined objects, respectively. Please note that the web-based shell does not have parent jobs, so parent/child examples will not run in it. Note Redwood Software does not warrant that this is the most effective way in solving your specific problem. The examples are provided to illustrate the use of RedwoodScript. Note When you set the Requested Start Time of a job, pay attention to not specify dates before 1901 or your job will be vetoed. Create a Job Definition To create a job definition, you first need to know if the job definition type requires a source, then you create the job definition and source (in a Script object) and link the source to the job definition. { JobDefinition jd = jcsSession.createJobDefinition(); jd.setName("JD_GetCurrentSales"); jd.setPartition(jcsSession.getPartitionByName("SALES")); jd.setJobDefinitionType(jcsSession.getJobDefinitionTypeByName("JDBC")); Script sc = jcsSession.createScript(); sc.setLibrary(jcsSession.getLibraryByName("Custom")); sc.setJobDefinition(jcsSession.getJobDefinitionByName(jcsSession.getPartitionByName("SALES"), "JD_GetCurrentSa sc.setRunAsUser("Masalan"); sc.setSource("select prod_id,prod_name,prod_inc,prod_out from prod where prod_mon = "); jcsSession.persist(); } 481 Automating Processes Across the System Landscape Access the Job Parameters To access the current job parameters, remember that the current job is already defined as jcsJob and the SchedulerSession is defined as jcsSession. { jcsOut.println(Name); jcsOut.println(Address); jcsOut.println(City); jcsOut.println(Zip); } You can also use the job to retrieve the parameters and then their values. It is necessary to retrieve the parameters when you want to set Out values, for example. The below code is also used when you want to retrieve the values of parameters of other jobs (replace the job object with an object that points to the correct job). { //get the In value of parameter Param1 and print its value JobParameter Param1Val = jcsJob.getJobParameterByName("Param1"); jcsOut.println(Param1Val); //or, without retrieving the parameter jcsOut.println(Param1); //set the Out value of the parameter Param1 = "GoodBye World!"; //print out the Out value jcsOut.println(Param1); //write it to the database jcsSession.persist(); } Submit a Simple Job Basic code to create a job from a job definition and submit the job, without specifying any parameters. If the job definition has parameters, the defaults will be used. { // code to submit a job running System_Info // get the job definition JobDefinition aJobDef = jcsSession.getJobDefinitionByName("System_Info"); // create the job from the job definition Job aJob = aJobDef.prepare(); // submit the job definition and write unsaved data to the database jcsSession.persist(); } Submit a Simple Job with Parameters The same basic code to submit a job used previously but this time with parameters. If you do not specify a value for a parameter, the default value will be used. Special care needs to be taken, if a job definition has a required parameter with no default value you must specify a value, or the job will not get submitted. { 482 Automating Processes Across the System Landscape // code to submit SAP_AbapRun that runs the ABAP program RSUSR000 // get the job definition SAP_AbapRun JobDefinition aJobDef = jcsSession.getJobDefinitionByName("SAP_AbapRun"); // create the job Job aJob = aJobDef.prepare(); // assign parameters aJob.getJobParameterByName("SAP_SYSTEMS").setInValueString("TR1"); aJob.getJobParameterByName("ABAP_PROGRAM_NAME").setInValueString("RSUSR000"); aJob.getJobParameterByName("JOBNAME").setInValueString("RSUSR000 created with RedwoodScript"); // assign queue as SAP jobs require a queue Queue aQ = jcsSession.getQueueByName("TB7_Queue"); aJob.setQueue(aQ); // submit the job definition and write unsaved data to the database jcsSession.persist(); // wait for all children jcsSession.waitForAllChildren(aJob); } Access Parent/Child Job Parameters A child job retrieves the parameter values of its direct parent. { //get the parent job jcsJob parent = job.getParentJob(); //get the job parameters and respective values JobParameter ParentParam1 = parent.getJobParameterByName("Param1"); JobParameter ParentParam2 = parent.getJobParameterByName("Param2"); JobParameter ParentParam1InValue = ParentParam1.getInValue(); JobParameter ParentParam2InValue = ParentParam2.getInValue(); //print out the values of the parent parameters jcsOut.println("Parent Parameter Param is set to " + ParentParam1InValue); jcsOut.println("Parent Parameter Param2 is set to " + ParentParam2InValue); //set the Out value of the current (child) job job.getJobParameterByName("childParam").setOutValue("Done"); jcsSession.persist(); } Access Job Chain Parameters A job chain job retrieves job chain-level parameters. { //get the step job (up one level) jcsJob step = job.getParentJob(); //get the inner-most job chain job (up another level) jcsJob parent = step.getParentJob(); //get the job chain parameters and respective values JobParameter chainParam1 = parent.getJobParameterByName("Param1"); JobParameter chainParam2 = parent.getJobParameterByName("Param2"); JobParameter chainParam1InValue = ParentParam1.getInValue(); JobParameter chainParam2InValue = ParentParam2.getInValue(); 483 Automating Processes Across the System Landscape //print out the values of the job chain parameters jcsOut.println("Parent Parameter Param is set to " + chainParam1InValue); jcsOut.println("Parent Parameter Param2 is set to " + chainParam2InValue); //set the Out value of the current job job.getJobParameterByName("JobParam1").setOutValue("Done"); jcsSession.persist(); } Another example: { //get the job parameters and respective values JobParameter chainParam1 = jcsJob.getParentJob().getParentJob().getJobParameterByName("Param1"); JobParameter chainParam2 = jcsJob.getParentJob().getParentJob().getJobParameterByName("Param2"); //print out the values of the parent parameters jcsOut.println("Parent Parameter Param is set to " + chainParam1); jcsOut.println("Parent Parameter Param2 is set to " + chainParam2); //set the Out value of the current (child) job childParam = "Done"; jcsSession.persist(); } Delete Jobs that ran on a Process Server using executeObjectQuery You want to delete all the jobs of a process server because you want to delete the process server, you may proceed as follows: The following example illustrates how to delete all the jobs that ran on process server MSLN_WINS3. { for (Iterator it = jcsSession.executeObjectQuery("select Job.* from Job where ProcessServer = "+jcsSession.g { Job j = (Job) it.next(); if(j != null && j.getStatus().getState() == JobStatusState.Final) { jcsOut.println("Deleting job "+ j.getDescription()+", which has the status "+ j.getStatus()+"."); j.deleteObject(); } jcsSession.persist(); } } Count the number of jobs on a process server using executeQuery { LongCallBack callback = new LongCallBack(1); try { jcsSession.executeQuery("select count(*) from Job where Job.ProcessServer =?", new Long[] { jcsSession.ge } catch (Exception e) { throw new RuntimeException(e); } Long myCount = (Long) callback.getResult().get(0); 484 Automating Processes Across the System Landscape if (myCount != null) { jcsOut.println(myCount); } } Using the Mail Job Definition Type Use The mail job definition type allows you to create job definitions that send email. Note Use of the Mail module requires the Module.Mail key in your license. Note The notification and alerting features of the Mail module require you to configure every job chain that is to use these features. If you make extensive use of alerts and/or notifications, Redwood recommends the Active Alerting module, as you can configure alerts and notifications centrally. Please see the Different Versions section for more information. You can use the System_Mail_Send job definition to send simple mails, but as soon as you want to customize the email, you can use the Mail Job Definition Type. The job definition type allows the use substitution parameters and allows you to change the content type of the email. The Source of a mail job definition is composed of sections, which contain <variable>=<value> pairs. The default section is the body of the email and has no header; the following other optional sections can be used: • [Attachments] - File attachments are specified here • [Headers] - For email headers • [Body] - Meta-data about the body, like content-type and character-set (charset). Blank lines and comments (lines starting with #) are ignored in the sections above. The contents of the default section is assumed to be the body of the email. If the default section starts with <, then the content type is set to HTML, you can override this in the [body] section. You can use the following substitution parameters: • ${jobname} - The description of the job that sent the email. • ${jobid} - The jobid of the job that sent the email. • ${<parameter_name>} - The value of the parameter of the email job, for example, if the email job has a parameter param1 it would be referenced as ${param1}. This allows you to use Redwood Expression Language in parameters and use the output of the functions in the mail body. Headers The following special parameters are used to send the email, they override the system defaults you set with the job definition System_Mail_Configure: 485 Automating Processes Across the System Landscape • Mail_To - addressee of the email (required) • Mail_From - sender of the email (optional) • subject - subject of the email (optional) • Mail_Server - SMTP server to use for sending the email (optional) Attachments You specify job files using the relative job syntax followed by a colon (:) and the file name (like <job>:<file>). Specify the Job Use one of the following keywords for job: • Parent - the parent job • Step <n>, Job <m> - specifying the step and job, the jobs have to be in the same job chain, for example Step 2, Job 6 • Job <jobid> - the job with job id <jobid>, for example Job 1234 Specify the Files You specify the file as follows: • <name> - the name of the job file, for example stderr.log • • inline_ - prefix to use for files to be embedded in emails, for example inline_stderr.log=Step 1, Job 1:stderr.log ?type - will attach all files of the job matching the type • log - log files contain the output of standard error, for example Job 6:?type=log • output - output files contain the output of standard out, for example Job 6:?type=output Note Only plain text (text/plain), HTML (text/html) and XML (text/xml) files can be embedded in emails, XML files are printed directly as XML. Retrieve Part of the File Retrieve part of the file with the following keywords: • ?range - specify a range of line numbers, negative numbers are counted backwards ( from the end of the file) • ?search - search for the occurrence of a string in the file, by default, the line with the first occurrence is copied. • ?options - customize the behavior of search • WildCard - Used with a search string of "*" to specify a wild card search • Reverse - Returns the last line in the file matching the search string • IgnoreCase - Performs a case insensitive search 486 Automating Processes Across the System Landscape • EntireLine - An entire line in the attachment must match the specified string • RangeResult - Returns all lines that match the search string Note Multiple job files can be specified separated by semicolons (;). The following ant expressions can be used to generate the file name of attachments, especially when you use a GLOB expression (matching with '*' and '?') or the type keyword for the file name: • @{name} - The name of the file to attach. • @{index} - A simple counter. You can force an attachment to be inserted inline into the email, to form email body using the inline_ prefix. Note that only text, HTML and XML files are supported. Attaching Files from the Server For security reasons, you have to specifically allow the directories in which the files reside on the server to be able to attach them. This is done by setting a key below configuration/mail/AccessiblePath in the registry. The registry key ( see the Administration Guide ) does not exist by default and needs to be created. For example, C:\temp could be the value of the registry key configuration/mail/AccessiblePath/temp, note that the name temp of the registry key has no significance to SAP CPS, it is its value that will be used. Example For the below example to work, the job definition needs to have a parameter TimeNow. <html> <body> <h4>Latest financial results for board-members</h4> <p>The financial results as of: ${TimeNow}</p> <p>See attached <code>report</code> for a summary of the latest results.</p> <br/> <i>This message contains confidential and legally privileged information. In the event of any error in transmi immediately and not to disclose or make use of this information. No warranties or assurance are made or given of this e-mail and attachments. No liability whatsoever is accepted for consequences arising from this e-mail. <i>This email was generated by ${jobname}:${jobid}.</i> </body> </html> For the below example to work, the mail job definition needs parameters subject, Mail_To, TimeNow and InputFile, the latter is the file that was being processed by the job chain (it must be available in /var/reports/inbox/ and accessible to the mail module - see AccessiblePath ( see the Administration Guide )). The job needs to be in at least the third step, the first job of the first step must fail (reach status Error) and have a Final Status Handlers set to Continue on Error, there must also be two more jobs in the first step and a second job in the second step that produces output. <html> <body> <h4>Job failed badly</h4> <p>The time now is: ${TimeNow}</p> <p>See attached <code>stderr</code> for details about the error.</p> <i>This email was generated by ${jobname}:${jobid}.</i> </body> </html> 487 Automating Processes Across the System Landscape [Attachments] #Attach stderr from job 1, step 1 error.txt=Step 1, Job 1:stderr #Attach all files from Step2, Job 1 @{name}-@{index}.txt=Step 1, Job 1:* #Attach all log files from Step 2, Job 2 @{name}-@{index}.txt=Step 2, Job 2:?type=log #Attach a file with all lines in "Step 1, Job 3:stdout.log" containing "caused by" (case-insensitive ) rootCause.txt=Step 1, Job 3:stdout.log?search="caused by"?options=IgnoreCase,RangeResult #Attach multiple files from other jobs @{name}-@{index}.txt=Step 1, Job 3:stdout.log?search="caused by"?options=IgnoreCase,RangeResult;Step 1, Job 1: #Attach a file from the server Attachment.doc=/var/reports/inbox/${InputFile} [Headers] #set the reply-to address and override subject
[email protected] subject=Something went wrong, original subject: ${subject} [Body] Content-Type=text/html; Charset=UTF-8 See Also • Basic Notification and Alerting with the Mail Module • Configuring Mail and Sending Emails • Customizing Emails with the Mail Module JDBC Job Definition Type Use The JDBC standard allows you to connect to third-party databases and perform queries against the remote database. SAP CPS allows you to interface with JDBC. You can query tables, execute stored procedures or specify databasespecific code to be executed. See Configuring JDBC Support for information on setting up SAP CPS JDBC. Tip Since the output is HTML by default, set the Default Output Format of the job definition to HTMLText. JDBC or SQLPLUS Job Definition Type If you need to execute PL/SQL calls against an Oracle database, consider the Oracle Job Definition Type as well. The difference between the JDBC and the SQLPLUS job definition types regarding PL/SQL are that the JDBC job definition type does not allow you to map job definition parameters to PL/SQL parameters. The SQLPLUS job definition type requires a platform agent running on a system where sqlplus is installed; note that the output of an SQLPLUS job is saved on the platform agent. Library If the JDBC driver (jar file) is not on the CLASSPATH of the application server (AS), you need to specify the library where you uploaded the jar file. If the JDBC driver is on the CLASSPATH, set the library to Custom. 488 Automating Processes Across the System Landscape Parameters The following JDBC-specific job parameters can be set: • JDBCOutputFormat - The output format to use, valid values are HTMLText, XMLText and CSV • JDBCMultiStatementSeparator - A character used to delimit multiple queries in the job definition source, to be specified as ^/$, for / • JDBCOracleDBMSOutput - Should Oracle dbms_output be enabled? Equivalent to SET SERVEROUTPUT ON • JDBCOracleDBMSOutputDestination - either stderr.log or stdout.log. Defaults to stdout.log for XML and HTML, and stderr.log for all others. • JDBCOracleDBMSOutputHeader - header to print before the dbms output. Defaults to <h3>Output</h3><hr><pre> for HTML, <output> for XML and nothing for all others. • JDBCOracleDBMSOutputFooter - footer to print after the dbms output. Defaults to </pre></hr> for HTML, </output> for XML and nothing for all others. • JDBCProcedureName - Name of a stored procedure to execute, if this parameter is set, the job definition source will be ignored. • JDBCBindMode - The parameter bind mode. If this parameter is set to OracleNamed, parameters are bound by name, otherwise they will be bound by position (with PARAMETER<n>, where <n> is the order). • PARAMETER<n> - Parameter(s) for the stored procedure, the name will be used as bind position; these are also made available as variables in the source. • JCS_User - the database user to use • JCS_ENDPOINT - the database identifier Depending on the bind mode, parameters can be specified as follows: • ? - bound by position • :<n> - bound by position, where <n> is the position • <name> - bound by name, where <name> is the name of the parameter Examples Use JDBCMultiStatementSeparator JDBCMultiStatementSeparator is set to #: select * from customers#select * from partners This will print the result of the two queries. Note You should be careful when choosing a statement separator, especially on the process server-side. The character should only be used to separate statements. If you use the character for something else in your query, the job might go into error, if the queries could not be parsed properly. 489 Automating Processes Across the System Landscape Enable JDBCOracleDBMSOutput (Oracle databases only) You set JDBCMultiStatementSeparator to true. This will print the output to the output file. Use JDBCProcedureName You specify the full procedure name, with schema. For example, on Oracle, SCOTT.MY_PROCEDURE. Parameter binding: JDBCBindMode is not set to OracleNamed PARAMETER1 is set to 12345 PARAMETER2 is set to Northwind select * from customers where id = ? and name = ? Suppressing or Overriding Headers select address " ", tel_num " " from customers where id = ? and name = ? select address "Your Address", tel_num "Your Phone Number" from customers where id = ? and name = ? Credentials The JDBC job definition type is integrated with the credential system. The Run As User field can be filled with the Oracle database user. If the Run As User field is left empty, the value of the DefaultRunAsUser process server parameter will be used. To use a particular username and password you need to set up the following: • Create a JDBC credential set for each required login, with the following attributes for each set: • Endpoint: Set to Process_Server or another JDBC process server connected to an Oracle database • Real User: The Oracle database username • Password: The Oracle database password • Virtual User (optional): An alternative name to find the username. The syntax for specifying a credential in the Run As User field is [{virtual}:]<user>[@<endpoint>] Using the Job Owner Use the {forcejobowner} or {forcejobowner} syntaxes to specify the job owner in the Run As User field. In this case, the job submitter must have access to a corresponding credential with the same username or virtual username; the SAP CPS username of the submitter must match the Oracle username or match the virtual username of a valid JDBC credential. 490 Automating Processes Across the System Landscape The syntax is as follows: • [{virtual}:]{forcejobowner}[@<endpoint>] • [{virtual}:]{tryjobowner}[@<endpoint>] • [{virtual}:]{tryjobowner}[@<endpoint>]:[{virtual}]<user>[/<password][@<endpoint>] The following table contains examples for using the job owner and the potential consequences of a missing credential: Run As User field Consequence {forcejobowner}@PS_JDBC_ORCL if there is no credential with the username of the job submitter the job fails {tryjobowner} if there is no credential with the username of the job submitter the value of process server parameter DefaultRunAsUser is used. The process server where the job runs specifies the Endpoint. {tryjobowner}@PS_JDBC_ORCL:SYSJCS if there is no credential with the username of the job submitter, the SYSJCS credential is used Example You have a credential for a virtual user named oracle_user for the database, you specify the virtual user as follows in the Run As User field. {virtual}:oracle_user You can also just specify the username as follows: scott If you have a valid credential for user scott for the target database, the connection should succeed. Syntax Table Queries Only a subset of standard ANSI '92 SQL is allowed in the job source, you are not allowed to specify the semicolon (;), that is done for you. If you want to specify more than one query, you have to specify a regular expression to split the code up in queries. Stored Procedure You should not fill anything into the Source field. The name of the stored procedure and its parameters are defined in job definition parameters. Oracle PL/SQL You use standard PL/SQL. Job definition parameters are accessed as follows: begin :1 := 3; dbms_output.put_line(:2); end; 491 Automating Processes Across the System Landscape Note that the job definition contains two parameters named PARAMETER1 and PARAMETER2, these parameters are accessed via :1 and :2, respectively. See Also • Connecting to Remote Databases with JDBC • JDBC Drivers • Creating JDBC Process Servers • JDBC Job Definition Wizar • JDBC Job Definition Types JDBC Job Definition Wizard Use You can use the JDBC job definition wizard to create JDBC job definitions. The wizard checks for the existence of a JDBC credential. It also allows you to construct the table query or procedure call. You specify either the schema or the catalog to retrieve the table name form the database. For example in Oracle databases, you can specify the dict catalog which will display all tables the connecting user can see. Prerequisites • A JDBC credential • A JDBC process server in status Running Procedure Retrieving the contents of a table 1. Navigate to Definitions > Job Definitions. 2. Choose New Job Definition from the context menu. 3. Select JDBC as the job definition type and choose Next. 4. Select the user-process server combination and choose Next. 5. Select Table Query in the Query Type drop-down. 6. You can specify the schema of the table or a catalog to retrieve the table name, choose Next. 7. Select the table from the drop-down and choose Next. 8. A preview is shown of the table contents; choose Next. 9. A job definition editor screen is displayed. Choose Save & Close. Run a stored procedure 1. Navigate to Definitions > Job Definitions. 2. Choose New Job Definition from the context menu. 3. Select JDBC as the job definition type and choose Next. 492 Automating Processes Across the System Landscape 4. Select the user-process server combination and choose Next. 5. You can specify the schema of the procedure or a catalog to retrieve the procedure name, choose Next. 6. Select the procedure from the drop-down and choose Next. 7. A job definition editor screen is displayed. Enter a default value for the parameters of the procedure (if required) and choose Save & Close. See Also • JDBC Drivers • JDBC Job Definition Wizard • JDBC Job Definition Types • Connecting to Remote Databases with JDBC • Creating JDBC Process Servers Using the User Message Job Definition Type Use The User Message job definition type is a special type used in a job chain to represent a manual task to be performed by an operator. User Message job definitions to not have an editable script source, however, you can set the following: • User Message Definition text: The text that is presented to the user • Response: Map replies to job statuses (Completed or Error), return codes, and optionally jump to specific job chain steps • Attachments: Additional information can be saved in attachments, for example reports • Participants: Users that can interact with the user message Other job definition properties behave like traditional job definitions. Variables Variables are used in the text field that will be sent to users requesting interaction. The following table lists the built-in variables: Name Data Type Description ${description} String The description of this job. ${finishtime} Date The time when this job finished. ${jobdefinition} String The name of this job. ${jobid} Number The job Id of this job. ${jobname} String The name of this job. ${jobowner} String The owner of this job. ${processserver} String The process server this job is running on. 493 Automating Processes Across the System Landscape ${queue} String The queue the job is running on. ${requestedstarttime} Date The requested start time of this job. ${starttime} Date The start time of this job. Variables can also be used in the Go To Step field, a list can be found in the Scripting Contexts and Implicit Objects topic ( see the Administration Guide ). Parameters Parameters allow you to specify additional information in the user message Text field. You can retrieve data from tables, other job definitions withing the job chain, for example, for use in the Text field. Parameters are specified as ${parameters.<parameter_name>}. Example Please make sure the ${parameters.reportName}} is consistent with the results of the ${parameters.check}. See Response The Response tab allows you to specify one or more possible reactions to the user message. For example, you use the user message in step 2 to go to the previous step if the data from Step 1 do not add up. In this case, you create two responses as follows: Field Value Name Accept data Description Data from Sales and Finance match +/- 0.5% Status Completed Return Code 0 Go To Step Step 3 Field Value Name Reject data Description Data from Sales and Finance don't match +/- 0.5% Status Completed Return Code 0 Go To Step Step 1 Note The Go To Step functionality only works when the status is Completed, there is already a GoToStep status handler for Completed Goto NextStep on the step, and there is only one job in the step of the user message. This last prerequisite ensures that only one job defines the step to go to. Attachments You attach files from other jobs in the job chain by specifying the file as follows: Step 1, Job 1:stdout.log 494 Automating Processes Across the System Landscape Participants Specify users/roles that can react upon the user message. Participants are automatically granted the required privileges to reply to the user message. Reacting on User Messages Once a user message has been created, you can navigate to Business > User Messages to react on the user message. The following actions are available: Action Description Notify Assignee A notification is sent to the user message assignee again Delegate The user message is delegated to another user; the user will be granted privileges to see and reply to the user message automatically Forward The user message is forwarded to another user for comment; the user will only be allowed to view the message, if the user is not on the participants list Reply Select one of the available replies to the user message Note Each user message job will have the associated user message listed in the Related Objects field. Maintenance Job Definitions Maintenance job definitions are special job definitions that are supposed to run in the background and not be visible in the default All (Non-Maintenance) Jobs job monitor filter. They will show up in the Custom Maintenance (Background) Jobs filter, though. This allows you to craft specific background jobs to perform regular household tasks in the background without invading your production jobs in the default job filter. Template Job Definitions Template job definitions are used as a base for creating other job definitions. They are job definitions that have a number of settings ready-set, like keep-clause for example, and speed up the creation of new job definitions. All settings except for the job definition name are taken over. Note You cannot submit template job definitions. Top Level Job Definitions The distinction between job definitions that are considered top level has been introduced to unclutter the Job Definition field of the submit wizard. You surely have many job definitions that are exclusively submitted as part of job chains, these are the jobs definitions for which you should set Top Level to false. Note You cannot submit job definitions that do not have Top Level set to true from the submit wizard. 495 Automating Processes Across the System Landscape Using Job Chains Use A job chain executes one or more job definitions (job definition jobs) in parallel or sequentially. The job definition jobs are grouped into steps. All jobs in a step are executed simultaneously (parallel processing) and the process server waits until all jobs in a step get a final job status before proceeding with the next step (sequential processing). Jobs executed by job chains are still subject to routing using queues and resources and the limitations applied by queue limits and Locks. A job chain is also a job definition of type JOBCHAIN, where the scheduling and runtime behavior of the chain are defined. A step gets an error status when one of its job definition jobs runs into a erroneous status. A job chain aborts by default when one of its steps gets an error. This can be overridden by defining a status handler. &jdtabavailability; Status Handlers Status handlers can be defined at two levels: • Job chain level, called default status handlers. • Step level, called step status handlers. A status handler defined at job chain level acts as default for a step. Job chain status handlers are overruled by any triggered step status handler. A status handler is triggered when one or more jobs in a step or in the job chain get a specific job status: Status handlers are evaluated as follows: • A Completed handler triggers only if all jobs in the step have the status Completed or Ignored. • Otherwise, a Canceled handler triggers when there is at least one job chain job with the status Canceled. • Otherwise, an Error handler triggers when there is at least one job chain job with the status Error. • Otherwise, a Killed handler triggers when there is at least one job chain job with the status Killed. • Otherwise, an Unknown handler triggers when there is at least one job chain job with the status Unknown. • Finally, if no other handler is triggered, an 'Other' handler will trigger. Restart Behavior is used to control when the submit frame should be interrupted and the recurrence stopped. By default, all final states resume the recurrence. Context-Menu Actions Job chains have the following context-menu actions: Action Description Show job chain diagram Display a diagram of the job chain with related objects Submit Submit the job chain 496 Automating Processes Across the System Landscape Cancel non-final state jobs Cancel jobs that have not reached a final state, see the Job States section for more information on job states. Delete final state jobs Delete jobs that have reached a final state, see the Job States section for more information on job states. Monitor related jobs Jump to the job monitor with a temporary job filter displaying jobs for the job chain Reset Statistics Reset the runtime statistics for the job chain Export > Export Export the job chain into a CAR file Export > Export with related objects Export the job chain into a CAR file including referenced objects Promote > Promote to system Promote the object to a remote system Promote > Edit further then promote Exit the export rule set prior to promoting Promote Promote the job chain to another SAP CPS instance Edit Edit the job chain Edit Security Edit the security of the job chain Delete Delete the job chain Duplicate Duplicate the job chain Expand all Allows you to expand the entire tree of the job chain New Create a new job chain Filter > New Filter Create a new job chain filter Filter > Edit Filter Edit current job chain filter Filter > Delete Delete current job chain filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Job Chains You can search for job chains using filters and the Search Job Chains box on the Job Chains tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Filters allow you to specify a list of objects with static criteria. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. For example, if you want to display all job chains with the term import in the comment, you would use the search criteria as follows: c:import You can search more than one property, as follows: c:import n:BI Note No spaces should be entered before or after the colon (:). 497 Automating Processes Across the System Landscape See the Advanced Object Search for more information. The following table illustrates the available prefixes for job chains: Prefixes Description n, name searches the name property c, comment searches the documentation property d, description searches the description property a, application searches the application property Deleting Job Chains You can only delete job chains when no other objects relate to them. For example, if the job chain is still referred to in another job chain, for example, the job chain cannot be deleted until all relations have been deleted. You can see relations that relate to the job chain in Related Objects in the lower detail pane and on the show page. Furthermore, jobs of a job chain will prevent you from deleting the job chain, these will not be displayed in the Related Objects table. The table in related objects contains three columns: • Type - the type of object, like job for job chain job, Source for the source of the job with a link to it • Related Object - the name of the object with a link to it • Used As - objects can sometimes be used in different roles For example, job chains that are called in other job chains, will have the call-reference in Related Objects. The type will be Job, and the Related Object will be the name of the job, for example, if it is the first job in a step, it will be Job 1. Job Chain Messages By default, several of the internal job chain components create JobNotes under different circumstances to store processing and/or error messages. You can overrule this to create OperatorMessages instead by specifying the following registry key ( see the Administration Guide ) and setting it to OperatorMessage. /configuration/jcs/JobChainMessageLocation Tab-Specific Topics &bpatabjdtable; Creating Job Chains Use Job chains can be edited in multiple ways: • standard job chain editor (displayed below) • Java applet job chain editor (requires a Java Runtime Environment 1.6 or later) • web shell 498 Automating Processes Across the System Landscape • using import and export ... This is the main window of the standard job chain editor. The Java applet has been introduced to allow you to create more complex job chains with greater ease, although it looks slightly different, the usage is consistent with the standard editor. You can toggle the Java applet and standard editor in the user options with the Use Java applets when available option; see Setting User Parameters. From here the structure of the job chain can be edited, and other tabs can be accessed that allow you to change the properties of the various parts of the chain: • the job chain itself: the job definition and the default status handlers. • the steps: the step name and precondition function • the jobs: • • the job definition and precondition function • the parameter mappings testing Most of the actions can be accessed in several ways: 499 Automating Processes Across the System Landscape • the right-hand-side detail pane acts on the currently selected item. • choosing the context-menu of an item (the job chain name, the box of the job chain job, or the step name) shows the available actions. • the links in the boxes give access to the job chain details or the job details. You can leave the job chain details pane without saving or canceling the changes. They are stored in memory as long as the browser session exists, they are not committed to the database and have no effect when the job chain is submitted. However, do not edit the same job chain in more than one edit screen. In the upper right-hand side of the job chain box is a white box with a plus (+) or a minus (-). The plus (+) is used to expand the view to show any child components of the part of the chain. The parent and all child components are shown. The minus (-) is used to collapse or hide the child components of the chain. Only the parent is shown. The empty box with the dashed line outline represents an empty step in the job chain. This empty box is shown at the end of a chain. This is a place holder and shows the end of the chain. The empty box is also shown in the job chain flow when a step has been defined, but no job definitions have been added to the step. Note The changes are committed to the database only after you choose Save . Special care needs to be taken, when you edit a job definition which is currently (re)scheduled; the new job definition will take effect on all jobs that have not reached the Dispatched job status at modification time. Editing XML Source You can also edit the XML source directly or copy it into your editor of choice. This is especially handy when you want to perform repetitive tasks such as a Search and Replace. You enable the XML source tab in the user options by enabling the Allow edit as XML option; see Setting User Parameters. Special care needs to be taken when you edit in XML, as you will have to use entities for special signs, such as the less-than (<) sign, which needs to be replaced with &lt;. Please see XML resources on-line for a list of common XML entities. Also, ending spaces are stripped, when you edit in XML, make sure you do not leave trailing spaces or you will not be able to the object. See Editing Objects in XML for more information. Procedure The Values section below contains information about the various settings that are used in the following procedures: • Creating Job Chains with Sequential Jobs • Creating Job Chains with Parameter Handling • Creating Job Chains with Parallel Jobs • Creating Job Chains with Job Dependencies • Creating Job Chains for multiple SAP Systems • Managing Process Chains Values Tab Relevant topic Job Definition Setting Job Definition Properties 500 Automating Processes Across the System Landscape Parameters Defining Job Parameters Parameter Validation Parameter Validation Wait Events Jobs Waiting on Events Raise Events Jobs Raising Events Job Locks Jobs with Locks Runtime Limits Job Runtime Limits Restart Behavior Restart Behavior Actions Customizing Jobs with Specific Actions Security Object Privileges Job Chain Steps Job Chain Steps Job Chain Jobs Job Chain Jobs See Also • Using Job Chain Job Chain Editor Quick Reference Use The following actions are available in the job chain editor applet: Action Description Quick Reference Show this topic Help Open the help topic chooser for job chains Tutorial Opens a browser and navigates to the Redwood tutorials Save Saves the current changes Save & Close Saves the current changes and closes the window Revert Retrieves the latest version of the job chain. reverting all your changes Cancel Close the editor window without saving unsaved changes The following additional actions are available when you choose the context-menu of the job chain (top-left most box): Action Description Paste Paste a previously copied step to the beginning of the chain Add Step Add a step to the end of the chain The following additional actions are available when you choose the context-menu of the job chain step (child of top-left most box): Action Description Cut Cut the current step Copy Copy the current step 501 . See Also • Job Chain Editor Applet Quick Reference Job Chain Diagram Quick Reference Use Context-Menu Actions The following context-menu actions are available in the job chain diagram: Action Description Help Open the Monitoring and Managing Jobs help topic Quick Reference Show this topic See Also • Job Chain Diagram Applet Quick Reference 502 . depending on where you called the context-menu. Add Step before Create a step before the currently chosen step Add Step after Create a step after the currently chosen step Move Left Move the currently chosen step left Move Right Move the currently chosen step right Add Job Add a job to the currently chosen step Delete Delete the currently chosen step The following additional actions are available when you choose the context-menu of the job chain job (grand-child of top-left most box): Action Description Cut Cut the current step Copy Copy the current step Paste Paste a previously copied job. The job from the clipboard will be positioned before or after the job in the step. if there is is one. Create parameters with default For each parameter that does not already have a mapping to a job chain parameter. mappings create a job chain parameter with identical properties and map it to the job chain job parameter.Automating Processes Across the System Landscape Paste Paste a previously copied step or job. The step from the clipboard will be placed after the chosen step. depending on where you called the context-menu. If you want to move a step from a child job chain. you will have to open that job chain in another editor. The job from the clipboard will be positioned before or after the job in the step. Delete Delete the currently chosen step Note You cannot edit job chains referenced in the current job chain. if there is is one. You can choose Show in pop-up to have a new window appear which contains only the applet. the first job will be submitted at the current time. this can be performed on any job of the job group regardless of its status. Scheduling > Resubmit submit a new job based on this job (same definition. Context-Menu Actions The following context-menu actions are available in the runtime viewer applet context-menu: Action Description Help Open the Monitoring and Managing Jobs help topic Refresh Refresh the diagram Close tab Close the current tab (not effective in pop-up windows) Close all other tabs Close all other tabs. leaving the currently highlighted tab open (not effective in pop-up windows) Show all parameters Show the job definition Overview Format. preventing it from being executed until it is manually released. Recurrence > Release Recurrence* Resumes a paused recurrence. usually used to display parameter values Hide all parameters the job definition Overview Format. To edit a job. using the same base submit time as the original recurrence. This will pop up the new window to edit the values before the job is submitted. and so on). step or job. Scheduling > Edit Edit scheduling data of the job. not Running. usually used to display parameter values Show in pop-up Show the diagram in a separate pop-up window Quick Reference Show this topic The following additional actions are available when choose the context-menu of a job chain. this allows you to make the most out of your screen real-estate. Recurrence > Restart Recurrence* Create a new job group with the recurrence. not all actions are relevant (irrelevant actions are disabled): Action Description Remove Old Jobs Remove old jobs that have reached a final status Add Note Add a note to the job Explain Job Status Explain the current job status. Recurrence > Edit Recurrence** Edit scheduling data of the job group. Recurrence > Cancel Recurrence* End a recurrence.Automating Processes Across the System Landscape Job Chain Runtime Viewer Quick Reference Use The job chain runtime viewer is used to graphically display a job chain in a 2D diagram. parameters. depending on the context. the job must be in an initial state. Recurrence > Hold Recurrence* Pause the recurrence. Scheduling > Hold this will hold the job and recurrence (if any). only works if the current job status is Queued Recurrence > Delete Recurrence* Delete the jobs of the job group that have reached a final status. 503 . you must cancel it first. allowing it to be executed automatically when all its scheduling constraints are met. this will cancel all jobs in the job chain that have not yet started. For job chains. reverting all your changes Cancel Close the editor window without saving unsaved changes 504 . This will submit the job immediately. New Alert Rule Allows you to create a new alert rule for the job with a default Name and Name Pattern. Edit Edit the properties of the current job chain. this will kill all currently running jobs in the job chain. parameters.Automating Processes Across the System Landscape Scheduling > Release this will release the job. Scheduling > Enable this enables a previously disabled job chain step or call. See Also • Job Chain Runtime Viewer Applet Quick Reference Job Chain Editor Applet Quick Reference Use The job chain editor applet was specifically designed to edit job chains with many steps and/or jobs in an efficient manner. Add to navigation bar Add the current object to the navigation bar. Only available for jobs that have reached status Unknown or Error. useful for job chains and SAP process chains. Scheduling > Cancel recurrence Cancel all recurrences of the job (if the job is submitted with a recurrence). Get Support Files Allows you to retrieve the log files and operator messages that can help you troubleshoot a problem. it has to be in a final state. Show diagram Show the job in a diagram. Scheduling > Kill kill a running job by sending it a signal to stop running. a mini-map and a main viewport that allows you to make the most out of your screen real-estate. If its state is pre-running. Delete Delete the job. Scheduling > Disable this disables a previously enabled job chain step or call. The job chain editor applet consists of two windows. This will prevent the job from ever starting. you must kill it before you can delete it. running jobs are allowed to reach a final status. Scheduling > Restart submit a new job based on this job (same definition. If the job is running. without prompting. Killing a job may not always be instantaneous. For job chains. and so on). The following actions are available in the job chain editor applet: Action Description Quick Reference Show this topic Help Open the help topic chooser for job chains Tutorial Opens a browser and navigates to the Redwood tutorials Save Saves the current changes Save & Close Saves the current changes and closes the window Revert Retrieves the latest version of the job chain. Scheduling > Cancel cancel a job that has not yet started running. The step from the clipboard will be placed after the chosen step. The clipboard is specific to the editor session. Create parameters with default For each parameter that does not already have a mapping to a job chain parameter. the standard keyboard shortcuts will not work. depending on where you called the context-menu. The job from the clipboard will be positioned before or after the job in the step. you will have to open that job chain in another editor. The job from the clipboard will be positioned before or after the job in the step. If you want to move a step from a child job chain. 505 . Add Step before Create a step before the currently chosen step Add Step after Create a step after the currently chosen step Move Left Move the currently chosen step left Move Right Move the currently chosen step right Add Job Add a job to the currently chosen step Delete Delete the currently chosen step The following additional actions are available when you choose the context-menu of the job chain job (grand-child of top-left most box): Action Description Cut Cut the current step Copy Copy the current step Paste Paste a previously copied job. if there is is one. cut and paste actions are available in the context-menu only. Note The copy. mappings create a job chain parameter with identical properties and map it to the job chain job parameter. if there is is one.Automating Processes Across the System Landscape The following additional actions are available when you choose the context-menu of the job chain (top-left most box): Action Description Paste Paste a previously copied step to the beginning of the chain Add Step Add a step to the end of the chain The following additional actions are available when you choose the context-menu of the job chain step (child of top-left most box): Action Description Cut Cut the current step Copy Copy the current step Paste Paste a previously copied step or job. Delete Delete the currently chosen step Note You cannot edit job chains referenced in the current job chain. depending on where you called the context-menu. the context-menu Toolbar A toolbar is available when you hover over the yellow triangle and allows you to perform the following: • slider . • Ctrl-drag a rectangle . choose (click) a location on the slidebar to set the zoom-level. • choose with the alternate button .zoom the minimap. Note The size of the job call boxes is applied system-wide for the Job Chain Diagram and Job Chain Editor Applets. • Cut/copy & paste step to chain .move the main viewport.move/copy the source step after the target step. you can use your pointing device to perform the following gestures: • scroll-wheel .move/copy the source step to the first step in the chain.zoom the main viewport. • Cut/copy & paste call to step .duplicate the job/step and place at desired location The Cut and Copy actions work as follows: • Cut/copy & paste call to call . note that all boxes will have the same size and that your setting will persisted.zoom in 10% 506 . • scroll-wheel .move/copy the source call after the target call.zoom to fit. • + .zoom to rectangle. Main Applet In the editor applet main viewport.zoom to a specific percentage (10% to 190%. • click plus [+] . General Navigation Mini Map You can use the Mini-map to quickly jump to a desired location in the job chain: • choose and/or drag . the rectangle in the middle of the slider allows you to immediately jump to 100%).Automating Processes Across the System Landscape Working with jobs and Steps The following gestures and actions are available on jobs and steps: • Drag and drop steps and jobs to a desired location • Copy/cut/paste jobs and steps (note that this is a job chain editor-specific clipboard) • Ctrl-drag and drop a steps and jobs . You can resize job call boxes by dragging the right-hand side of one of them.move/copy the source call to the first call in the step.expand/collapse. • Cut/copy & paste step to step . • choose (double-click) a box . Pages • The number of pages required (and the number of pages wide/high) 507 .collapse all. it is not possible to retrieve all properties set in the first printing dialog. Allows for easier "cut and paste" them together.expand all. etc) • Units: centimeters or inches (for margins.open the current page Note The expand all action remains active as data will be fetched asynchronously! Manually expanding/collapsing a box or clicking the expand all button again will stop the action. the applet will require your authorization to access the printing subsystem of your operating system. recursively • [-] . On Microsoft Windows. overlap and "smallest feature") • Orientation (portrait. which allows you to select the correct printer. This allows you to visualize the whole job chain when it is too big to be visualized in the SAP CPS ui at an acceptable size. etc) • Margins (minimum of 1 cm or more if the printer cannot print this close to the edge) • Scale and Overlap: • • • scale can be specified in three different ways: • Fixed: fixed scale (as a percentage) • Fit width: fit the diagram to a number of pages wide • Fit height: fit the diagram to a number of pages high Overlap: the amount the diagrams on each page should overlap when printing to multiple pages. When you choose the print icon. letter. like orientation. landscape.zoom out 10% • [+] . Note Due to a bug in the Java printing API. On the second dialog. Printing the Job Chain Diagram You can print the job chain diagram to a printer if you prefer having a copy on paper. and fit width.Automating Processes Across the System Landscape • .print the job chain • [?] . page size. the native print dialog will be displayed. you can specify general as well as SAP CPS-specific formatting criteria. • Media: paper size (A4.. This affects orientation and page size. recursively • [Printer] . among other properties. the context-menu • choose a job id to open the job in a new tab • choose the name of a job or step to open the job definition or step. For a job chain diagram the "smallest feature" is the width of a minimal job box. See Also • Job Chain Editor Quick Reference Job Chain Diagram Applet Quick Reference Use The job chain diagram applet is used to graphically display a job chain in a 2D diagram.expand/collapse. you can use your pointing device to perform the following gestures: • scroll-wheel . • choose (double-click) a box . Note The size of the job call boxes is applied system-wide for the Job Chain Diagram and Job Chain Editor Applets.zoom the main viewport. The following actions are available in the job chain diagram applet: Action Description Help Open the Monitoring and Managing Jobs help topic Quick Reference Show this topic General Navigation Mini Map You can use the Mini-map to quickly jump to a desired location in the job chain: • choose and/or drag .move the main viewport. respectively.zoom to rectangle. • choose with the alternate button . • resize job call boxes by dragging the right-hand side of one of them.Automating Processes Across the System Landscape • The printed size (in units) of the "smallest feature". 508 . a mini-map and a main viewport that allows you to make the most out of your screen real-estate. • scroll-wheel . • click plus [+] .zoom to fit. in a new tab. The viewport is embedded in a tab by default and can be shown in a pop-up. The diagram applet consists of two windows.zoom the minimap. • ctrl-drag a rectangle . Main Diagram In the diagram applet main viewport. note that all boxes will have the same size and that your setting will persisted. Automating Processes Across the System Landscape Toolbar A toolbar is available when you hover over the yellow triangle and allows you to perform the following: • slider . usually used to display parameter values Show in pop-up Show the diagram in a separate pop-up window 509 . this allows you to make the most out of your screen real-estate.zoom out 10% • [+] .expand all. 5. 10. usually used to display parameter values Hide all parameters the job definition Overview Format. which is located in a tab in the main ui.zoom to a specific percentage (10% to 190%.. choose (click) a location on the slide-bar to set the zoom-level • + . recursively • [-] . recursively • [?] . You can choose Show in pop-up to have a new window appear which contains only the applet. the rectangle in the middle of the slider allows you to immediately jump to 100%).zoom in 10% • . leaving the currently highlighted tab open (not effective in pop-up windows) Show all parameters Show the job definition Overview Format.collapse all. Context-Menu Actions The following context-menu actions are available in the runtime viewer applet context-menu: Action Description Help Open the Monitoring and Managing Jobs help topic Refresh Refresh the diagram Refresh Interval Automatically refresh the diagram every 5. or 10 minutes. Tab > Close tab Close the current tab (not effective in pop-up windows) Tab > Close all other tabs Close all other tabs. a mini-map and a main viewport.open the current page Note The expand all action remains active as data will be fetched asynchronously! Manually expanding/collapsing a box or clicking the expand all button again will stop the action. The job chain runtime viewer applet consists of two windows. or 30 seconds or 1. See Also • Job Chain Diagram Quick Reference Job Chain Runtime Viewer Applet Quick Reference Use The job chain runtime viewer applet is used to graphically display a job chain in a 2D diagram. For job chains. Scheduling > Edit Edit scheduling data of the job. it has to be in a final state. this can be performed on any job of the job group regardless of its status. parameters. Scheduling > Release this will release the job. Recurrence > Cancel Recurrence* End a recurrence. this will cancel all jobs in the job chain that have not yet started. If the job is running. allowing it to be executed automatically when all its scheduling constraints are met. the job must be in an initial state. For job chains. and so on). New Alert Rule Allows you to create a new alert rule for the job with a default Name and Name Pattern. the first job will be submitted at the current time. Delete Delete the job. depending on the context. If its state is pre-running. not Running. Recurrence > Restart Recurrence* Create a new job group with the recurrence. only works if the current job status is Queued Recurrence > Delete Recurrence* Delete the jobs of the job group that have reached a final status. 510 . using the same base submit time as the original recurrence. Recurrence > Hold Recurrence* Pause the recurrence. Scheduling > Cancel cancel a job that has not yet started running. This will prevent the job from ever starting. preventing it from being executed until it is manually released. Killing a job may not always be instantaneous. Add to navigation bar Add the current object to the navigation bar. useful for job chains and SAP process chains. Recurrence > Release Recurrence* Resumes a paused recurrence. Scheduling > Enable this enables a previously disabled job chain step or call. this will kill all currently running jobs in the job chain.Automating Processes Across the System Landscape Quick Reference Show this topic The following additional actions are available when choose the context-menu of a job chain. This will submit the job immediately. Show diagram Show the job in a diagram. This will pop up the new window to edit the values before the job is submitted. running jobs are allowed to reach a final status Scheduling > Restart submit a new job based on this job (same definition. Scheduling > Cancel recurrence Cancel all recurrences of the job (if the job is submitted with a recurrence). and so on). Scheduling > Resubmit submit a new job based on this job (same definition. parameters. Scheduling > Disable this disables a previously enabled job chain step or call. not all actions are relevant (irrelevant actions are disabled): Action Description Remove Old Jobs Remove old jobs that have reached a final status Add Note Add a note to the job Explain Job Status Explain the current job status. Scheduling > Kill kill a running job by sending it a signal to stop running. you must kill it before you can delete it. you must cancel it first. Edit Edit the properties of the current job chain. step or job. without prompting. Scheduling > Hold this will hold the job and recurrence (if any). Recurrence > Edit Recurrence** Edit scheduling data of the job group. To edit a job. move the main viewport. you can use your pointing device to perform the following gestures: • scroll-wheel . recursively • [?] . See Also • Job Chain Runtime Viewer Quick Reference 511 . the rectangle in the middle of the slider allows you to immediately jump to 100%).zoom out 10% • [+] ..zoom to a specific percentage (10% to 190%.Automating Processes Across the System Landscape Get Support Files Allows you to retrieve the log files and operator messages that can help you troubleshoot a problem. choose (click) a location on the slide-bar to set the zoom-level • + . • choose (double-click) a box .open the current page Note The expand all action remains active as data will be fetched asynchronously! Manually expanding/collapsing a box or clicking the expand all button again will stop the action. General Navigation Mini Map You can use the Mini-map to quickly jump to a desired location in the job chain: • choose and/or drag . • click plus [+] .expand all. recursively • [-] . • scroll-wheel .zoom to rectangle.expand/collapse.zoom the minimap.the context-menu • resize the job call boxes. • choose with the alternate button . note that the setting will be persisted system-wide Toolbar A toolbar is available when you hover over the yellow triangle and allows you to perform the following: • slider . Only available for jobs that have reached status Unknown or Error. • ctrl-drag a rectangle .collapse all.zoom to fit. Main Applet In the runtime viewer applet main viewport.zoom in 10% • .zoom the main viewport. which should be a boolean Redwood Expression Language expression. when a job chain job with Ignore Status enabled reaches status Error and all other jobs in this step reach status Completed. used in conjunction with Final Status Handlers • Restart Delay Units .Automating Processes Across the System Landscape Job Chain Steps Use Job chain steps are executed in sequence.name of the step • Description . used in conjunction with Final Status Handlers • Precondition .the queue that should be used by default • Priority .the actions to take when all jobs have reached a final status Job Chain Job Scheduling Parameters • Default Queue .the status of the time window • Time Zone . the job chain step will both ignore the status and not wait for this job to reach a final status.the final status of this job chain job is ignored when evaluating the status of the step.the time window that specifies the start time of the job. Can be true.time zone to use for the check • Expression . Steps also define their own status handling that controls what happens when a job goes into a final status that is not Completed.maximum number of runs.amount of Restart Delay Units to wait before restarting the step.REL expression to evaluate.the default value for the scheduling parameter Hold on Submit which defines the status of the job after the submit. Steps may also have precondition functions that control whether they are executed or not.comment of the step • Maximum Restarts . Final Status Handlers . • Time Window .time window to check • Time Window Status .start condition (as an expression that should evaluate to true if the step should run) • • Time Window . • Ignore Status . used in conjunction with Final Status Handlers • Restart Delay Amount . When a job is submitted on hold.unit of Restart Delay Amount.the default priority of the job • Hold On Submit . They contain jobs that may be executed in parallel. • Wait For Completion . the step will be set to Completed. • Start Time .the start time of the job chain job.description of the step • Comment .wait for this job chain job to reach a final status. including initial run. false (the default). For example. when no time window was provided. human intervention is required to start the job. 512 . If this is set to false. The attributes of a step are: • Name . or =<expression> in job chain jobs. a Canceled handler triggers when there is at least one job chain job with the status Canceled. an Error handler triggers when there is at least one job chain job with the status Error. You can specify a restart behavior on the job chain as well. Status handlers do not fire for manual actions on upper-most job of the job chain. or. The default setting is as follows: • If all jobs of the step reached status Completed continue with next step or if this is the last step set the job chain to Completed. it has the effect that it is not possible to access itself or any other job in the same job chain. if no other handler is triggered. then the chain handlers are consulted. Precondition Steps have a single. When this is the case. optional precondition function. • Otherwise. If the precondition returns false. If the step does not define a matching handler. • Otherwise. • Finally. • Otherwise. If you want to use a precondition and Final Status Handlers (to match Otherwise). At most one status handler fires for each iteration of a step. the default setting is followed. then the step is skipped. Status handlers are evaluated as follows: • A Completed handler triggers only if all jobs in the step have the status Completed or Ignored. set the precondition on all job chain jobs of the step instead of on the step. this will be used in the job chain. To customize the behavior. • Otherwise. • If any of the jobs of that step reached any other final state than Complete. This can occur in job chains when the step reaches status Console and is restarted. the step status handlers are evaluated. Final Status Handlers Final status handlers of job chain steps control the behavior of the step when all jobs in that step reach a final status. set the step and parent job chain to Error. If no status handler overrules the default. saved to the database.Automating Processes Across the System Landscape Restart If the job definition of the job chain job has a restart behavior configured on the job definition. A step with a precondition only executes if the precondition returns true. Note Step-level Final Status Handlers are not evaluated for disabled or skipped steps. A step with no precondition always executes. a Killed handler triggers when there is at least one job chain job with the status Killed. an 'Otherwise' handler will trigger. when an operator cancels or kills the job chain for example. an Unknown handler triggers when there is at least one job chain job with the status Unknown. the following actions are available: 513 . The precondition is an expression in Redwood Expression Language. Note Preconditions may be executed before the job is persisted. Unknown => On Unknown status handler 5. Killed => On Killed status handler 2.go to another step within the job chain • Raise Error . Otherwise is always last The order of the status handlers can be changed via scripting.restart the latest version of current step after a delay • Restart Failed Jobs .Automating Processes Across the System Landscape • Status . Note Status handlers do not fire for manual actions performed of the upper-most job of a job chain such as operators that cancel or kill a whole job chain.restart the chain • Continue .continue with the processing of the chain • Message . an operator message is generated with the following restart options: 514 .change the status of the job chain to Completed • Request Restart .The status the job chain.raise an error by returning the Return Code • Mark Chain Completed .restart the latest version of current step • Restart Step Delayed . Request Restart When you use status handlers to request restart.restart the current step after a delay • Restart Step Delayed Master .send operator message to choose a restart option and put the job to status Console • Restart Step .restart the jobs that reached status Error • Restart Failed Jobs Master . Error => On Error status handler 4.the error message to show when the action is set to Raise Error • Error Return Code .the step the Goto Step refers to.the error code to raise when the action is set to Raise Error • Goto Step . you use the Otherwise status handler to dictate further processing.restart the current step • Restart Step Master .The action to take when the step reaches a given status can be: • Goto Step . • Action . The default processing order of final status handlers is as follows: 1. When the job already has reached status Skipped and previous iterations in the same chain never reached Completed. Canceled => On Cancel status handler 3. please note that any status handler coming after Otherwise will be ignored. step or job must reach.restart the latest version of the jobs that reached status Error • Restart Chain . The full path of the registry key is /configuration/jcs/jobchain/RestartVersion.Automating Processes Across the System Landscape • Abort chain and set chain status to "Error". • Abort chain and set chain status to "Completed".this will be repeated until an operator kills the job chain. Ignoring Job Chain Jobs A job chain step waits for all its children as all job chain jobs have StepWaitingOnJob set to true. To avoid infinite loops in these situations. by default. restarting the step . • Restart this step. Note that the default options will restart the job chain as it was when it was submitted. the step will be restarted but not run (because it will be Skipped by then). • Abort chain and set chain status to "Error". • Rerun chain status handlers as if the step completed with status "Error". Other combinations of Otherwise status handlers and preconditions can have similar behaviors. you can specify the RestartVersion ( see the Administration Guide ) registry key to latestVersion. • Rerun chain status handlers as if the step completed with status "Error". • Restart this step with the latest Job Definitions. If you want to be able to use the latest job definitions when you restart the job chain. • Rerun chain status handlers as if the step completed with status "Completed". Infinite Loops You can cause infinite loops when you use step-level Status Handlers and preconditions. note that when ignoreStatus is set to true. • Restart this step with the latest Job Definitions but only jobs that were not completed. for example. • Restart this step but only jobs that were not completed. • Restart and Hold this step with the latest Job Definitions. however. the job chain step will still wait for the job. • Rerun chain status handlers as if the step completed with status "Completed". 515 . If you have a precondition on the step that returns false in combination with the Otherwise status handler for Restart Step. • Restart and Hold this step. changes to job definitions will not be reflected in the restart. • Restart chain from the beginning. you should have the status handler on the job definition(s) instead of on the job chain step. • Restart chain from the beginning with the latest Job Definitions. • Abort chain and set chain status to "Completed". The job chain step also sets its status according to the status of its children as all job chain jobs have ignoreStatus set to false. by default. You set the flags individually for a job. the Otherwise status handler will fire again. If a job definition requires that parameters be specified.the value of the parameter. • • Reference . if it had time to set the Out parameter before the job reached a final status. 516 . The attributes of the job itself are: • Job Definition .Automating Processes Across the System Landscape See Also • Registry Keys Job Chain Jobs Use A job in a job chain is a call to a job definition. then the job is skipped. • ORA_DATALOAD:SID . character. this depends on job. This can occur in job chains when the step reaches status Console and is restarted. Parameter values can refer to other parameters in the job chain. can be a string. Note Preconditions may be executed before the job is persisted.the value of the job chain level parameter SID of the current job chain called ORA_DATALOAD.allows you to choose which job chain or job chain job parameter value to use for this parameter. Expression . Unknown. or an expression in Redwood Expression Language. or has parameter values that must come from other jobs. then the parameter should be set. The naming works in the following way: {job chain name| step name:job number}:Parameter. Preconditions Jobs have a single. The default input format for expressions is a string. or via an expression.the value of the parameter SID of the 3rd job in the DATALOAD step. number. or Killed then Out values of parameters might not get set properly. be set manually. The precondition is an expression in Redwood Expression Language. it has the effect that it is not possible to access itself or any other job in the same job chain. A job with no precondition always executes. It may also have an optional precondition function. optional precondition function. date time zone. for example.The name of the job definition or job chain to be called. Note When a job reaches status Error. If the precondition returns false. then parameter mappings must also be supplied under Input Parameters. in preconditions are usually made of functions. A job with a precondition only executes if the precondition returns true. or. • DATALOAD:Job 3:SID . saved to the database. function expressions must start with an equals sign (=). name of the default queue.SSS i .the final status of this job chain job is ignored when evaluating the status of the step.fixed start time (24 hour). For example. • =<expression> . • +<time expression> .start time of the job chain job. Can be true.expression for hold on submit.innermost chain run start plus the specified amount of time. otherwise it will wait until the start time has been reached. The syntax is as follows: • hh:mm[:ss] . when a job chain job with Ignore Status enabled reaches status Error and all other jobs in this step reach status Completed. false (the default). the job will run immediately.REL expression with all of the usual variables available in call scheduling parameters. • Ignore Status .<millis> <Olsen name for time zone> (Europe/Paris) The step is the parent job of the call on which the schedule parameter is specified. Start Time Syntax Job chain call scheduling parameter Start time applied when the parent step starts (like all other scheduling parameters).<year>/<month>/<date> <hour>:<minute>:<second>. seconds optional. if the time is in the past when the parent step is started. • Time Window . the step will be set to Completed. the higher the priority.Automating Processes Across the System Landscape Scheduling Parameters If a job in a job chain requires scheduling parameters to be specified then these parameters must also be set. 517 .number from 1 to 100. or =<expression> which should be a boolean expression. This window allows for setting job chain job scheduling parameters.time window for the start time of the job chain job. SAP jobs require the Queue scheduling parameter or the SAP System parameter be set as there is no default queue for SAP jobs. The following scheduling parameters can be set: • HoldOnSubmit . the queue defines which SAP instance the job will run against. • <time_expression> . • Queue .applied to the start time of the step. seconds optional. Note For SAP jobs. • Start time . • Priority . when the SAP System parameter is not set. the higher the number. • yyyy/MM/dd HH:mm:ss. • +hh:mm[:ss] . date relative to the start time of the step.applied to innermost chain run start. Another advantage is that you can have two or more jobs run simultaneously. 6. when this is the final step the chain status is set to Completed. The default behavior for job chains is the following: • When a step has reached status Completed the following step is started or. the status handler on the job chain level is used. see the Job Chain Steps topic and the Restart Behavior topic. Tip It is better to keep the amount of steps in a job chain to a minimum for performance reasons. choose the name of the job chain. 8. Job chains have two levels of status handlers. Job chains with sequential jobs are known as jobs with multiple steps in SAP terminology. then the default behavior is used. 3. reducing the time between two jobs that are to run sequentially to mere seconds. respectively. • When there is none on the job chain level either.each job of a step can be restarted automatically a number of times until it reaches a satisfying status. Additionally. • When a job of a job chain has been killed the job chain is set to Error For more information on Status Handlers and Restart Behavior. 4. thus reducing the overall runtime.Automating Processes Across the System Landscape Creating Job Chains with Sequential Jobs Use Job chains allow you to easily create dependencies between different jobs. On the Job Chain tab. notice that a new step with the caption Step 1 has been added. Choose the desired job definition out of the list of available job definitions. 7. Status Handlers The main advantage over CCMS functionality is that steps can be skipped or restarted based on the final status of a step using Status Handlers. 5. Choose Add Job from the context-menu of Step 1. 2. • When no status handler is found on the job or step level. Choose Definitions > Job Chains in the Navigation bar. Enter the part of the job definition name into the Job Definition field. • When a step has reached status Error the job chain status is set to Error. Choose the Job Definition tab and fill in a name for the job chain. on the step level and on the job chain level. Choose Add Step from the context-menu. • When a step has been canceled the job chain status is set to Error. Procedure 1. 518 . Choose New Job Chain from the context-menu. Choose Save & Close to save the job chain. Choose Save and Close. 2. Choose Step 2. Since we did not define a default queue for the job chain. Choose Step 1 8. and choose Submit. Perform actions 5 to 10 of this procedure for each required step. Choose Add Job from the context-menu and choose the newly created box. the submit wizard will require you to fill the queue field. 3. 7. 5. 14. You define a default queue for the job chain on the Job Definition tab. 1. 16. Enter the value System into the Queue. 13. Choose MSLN_AP_INV_IN on the Job Chain tab. 12. each step containing one job. Navigate to Definitions > Job Chains in the Navigation bar. 4. 17. 6. Enter info into the Job Definition field. Enter Sleep into the Job Definition field. 4. 11. Example Create a job chain with two steps. 9. Fill System into the Queue field. this task is optional. Choose Next. from an event for example. Fill 10 into the Priority field. Choose System_Info from the list of available job definitions. Choose Submit from the context menu of the job chain 'MSLN_AP_INV_IN''.Automating Processes Across the System Landscape 9. Choose Add Step. 519 . 10. 11. Choose Definitions > Job Chains in the Navigation bar. this also means that you cannot submit this job chain automatically. note that in this case. Under Scheduling. Choose Add Step from the context-menu. Choose New Job Chain from the context-menu. Choose the Job Definition tab enter MSLN_AP_INV_IN in the Name field. Choose System_Sleep from the list of available job definitions. 15. name it MSLN_AP. 10. add a parameter value for Queue. see the Creating Job Chains with Parameter Handling topic for an example. Choose MSLN_AP_INV_IN. 18. Choose New next to the Application field. 3. Submit the job job chain 1. 2. choose Add Job from the context menu and then choose the newly created box. the value you specified at submit time. as they are saved individually. like platform agent or SAP jobs. The IN parameters are constants defined at submit time. choose the name of the job chain. Procedure 1. since the default values are not always the correct values you want to use. the queue defines the system where the job runs. the parameter in the expression must have a lower Display Order than the parameter it defines or the latter will not get resolved. Choose the Job Definition tab and fill in a name for the job chain. type job definitions have string parameters. 3. There are two parameter classes. Note The data type must always match when you map parameters. you can specify job chain parameters and map those to job parameters of jobs in the chain. which are individual.Automating Processes Across the System Landscape Creating Job Chains with Parameter Handling Use The jobs of a job chain can require parameters. the queue and the priority of the job. most &jobdfeftype. OUT and IN/OUT. it can be used by other jobs. you can map a parameter's IN or OUT value. • job level parameters. The IN/OUT parameters have a default value and can be modified by individual jobs in the chain. once an OUT parameter has been filled. The OUT value of an unmodified IN/OUT parameter is its IN value. which are filled at submit time and can be common to one or more jobs. Note The Display Order of parameters is also the order in which parameters are resolved. Choose Add Step from the context-menu. Choose Job 1 and enter the part of the job definition name into the Job Definition field. For example. At any time. 2. The Out parameters have no default value and can be filled/modified by individual jobs in the job chain. For some jobs. Choose Definitions > Job Chains in the Navigation bar. You can map job chain parameters to individual jobs as well have a job modify a parameter and pass the modified parameter on to another job in the chain. Job chain parameters have the following levels: • job chain level parameters. Parameter Direction Job parameters have three directions: IN. Scheduling parameters define the status of the job chain at submit time. they are read-only. 7. If you use Redwood Expression Language to define a parameter based on the value of another parameter. scheduling parameters and job parameters. Choose Add Job from the context-menu of Step 1. choose Save. 520 . 6. 4. 5. Choose New job Chain from the context-menu. notice that a new step with the caption Step 1 has been added. On the Job Chain tab. 2. Choose Step 1 8. choose Add Job from the context menu and then choose the newly created box. each step containing one job. and will be used. 4. Choose Definitions > Job Chains in the Navigation bar. 6. 9. Choose Step 2. 10. Choose MSLN_GL_INV_IN on the Job Chain tab. Enter info into the Job Definition field. 11. Choose System_Sleep from the list of available job definitions. 11. Choose MSLN_GL_INV_IN. 3. Under Scheduling. 9. Choose Add Step. 17. Choose the appropriate job. by default for this job as well. Choose New Job Chain from the context-menu. Choose Add Step from the context-menu. Enter the value System into the Queue. Fill 10 into the Priority field. If job level parameters are required: a. If job chain level parameters are required: a. Example Create a job chain with two steps. as this queue has been defined as default queue of the job chain. 16. 14. Use a job chain parameter and map it to the parameter of the first job of step Step 2. 10. Choose Add Job from the context-menu and choose the newly created box. Fill in the desired value in Expression. 7. Choose the Job Definition tab enter MSLN_GL_INV_IN in the Name field. 1. 18. Enter Sleep into the Job Definition field. 521 . Choose the desired job definition out of the list of available job definitions. Choose the Parameters tab. Choose System_Info from the list of available job definitions. Choose Save to save the changes made to the job chain. 19. note that this task is optional here. 15. 13. Choose Add. b. Fill System into the Queue field. Choose the appropriate job chain parameter under Reference 12.Automating Processes Across the System Landscape 8. enter a parameter for Queue. 12. 5. 3. Fill SleepTime into the Name field. note that the default value of the job chain is 2000 and the default of the job definition is 1000. 2. Select Number in the Type field. 22. Particularly useful for light weight jobs or for jobs that require simultaneous execution. 4. Choose Add Job from the context-menu of Step 1. choose Save. Fill 3000 into the SleepTime field. Choose Job 1 and enter the part of the job definition name into the Job Definition field. Choose Definitions > Job Chains in the Navigation bar. It is better to keep the amount of steps in a job chain to a minimum. 8. Fill 1 into the Display Order field. 23.Automating Processes Across the System Landscape 20. 522 . 2. 4. Fill 2000 into the Default Expression field. and Next again. 24. Choose Save. expand Step 2. 25. choose Sleep. 5. Choose the Job Definition tab and fill in a name for the job chain. Under Scheduling. 26. On the Job Chain tab. Submit the job job chain 1. 3. Creating Job Chains with Parallel Jobs Use Parallel execution is used for independent jobs and to optimize resource usage on a system. 5. Choose Submit from the context menu of the job chain 'MSLN_GL_INV_IN''. Expand Time to Sleep and select MSLN_GL_INV_IN:SleepTime in the Reference field. Choose the desired job definition out of the list of available job definitions. Fill System into the Queue field. and choose Submit. Navigate to Definitions > Job Chains in the Navigation bar. On the Job Chain tab. Choose Add Step from the context-menu. enter a parameter for Queue. 7. Choose Next. Procedure 1. notice that a new step with the caption Step 1 has been added. 27. Choose New Job Chain from the context-menu. Choose Save & Close to save the job chain. 21. 9. choose the name of the job chain. the default value was String. 6. 11. 10. choose Add Job from the context menu and then choose the newly created box. You define a default queue for the job chain on the Job Definition tab. Choose New Job Chain from the context-menu. note that in this case. 16. Choose Save & Close to save the job chain. 13. 14. and choose Submit. 1. Enter Sleep into the Job Definition field. Perform actions 6 to 9 of this procedure for each required job. Choose the Job Definition tab enter MSLN_FC_INV_IN in the Name field. 9. the submit wizard will require you to fill the queue field. 3. for example. Navigate to Definitions > Job Chains in the Navigation bar. Choose MSLN_FC_INV_IN on the Job Chain tab. Choose System_Info from the list of available job definitions. see the Creating Job Chains with Parameter Handling topic for an example. Choose Add Job from the context-menu and choose the newly created box. Since we did not define a default queue for the job chain. 5. 6. 3. 8. Choose Step 1. Submit the job job chain 1. Fill 10 into the Priority field. 15. Choose Add Step from the context-menu. Choose Next. 523 . 2. Choose Step 1 7. Enter info into the Job Definition field. Choose MSLN_FC_INV_IN. 12. Choose Submit from the context menu of the job chain 'MSLN_FC_INV_IN''. this task is optional.Automating Processes Across the System Landscape 10. 4. Fill System into the Queue field. 2. this also means that you cannot submit this job chain automatically from an event. Choose Definitions > Job Chains in the Navigation bar. Choose Save to save the job chain. 11. 4. Choose System_Sleep from the list of available job definitions. Enter the value System into the Queue. Example Create a job chain with one step containing two jobs. Choose Save to save the job chain. The following different repository objects can be used to create dependencies: • Locks . Choose Add Step from the context-menu. Choose the desired job definition out of the list of available job definitions. Specify a precondition expression in the Precondition.Allow or disallow job execution based on the output of a function. Expand Status Handlers and specify an action to be performed for each desired status. The following job chain features create dependencies: • Status Handlers . Under Scheduling. an empty Precondition field is evaluated as true.Job chain execution can be adapted at runtime by the use of status handlers.Jobs can raise and clear events as well as get submitted by events. choose Add and fill the name of an event. 2. Select Step 1. 524 . Choose New Job Chain from the context-menu.Prevent two different jobs to run simultaneously. 4. 12. 11. fill in a name of a desired lock that the job chain should hold. Select a value for Auto submit. c. On the Raise Events tab. 6. 8. Choose Definitions > Job Chains in the Navigation bar. Choose Add Job from the context-menu of Step 1. • Events . 16. 9. enter a parameter for Queue. choose Add and fill the name of an event. Perform actions 6 to 9 of this procedure for each required job. On the Locks tab. Choose the Job Definition tab and fill in a name for the job chain. Set dependencies: a. Choose Job 1 and enter the part of the job definition name into the Job Definition field. 15. 7. • Precondition function . On the Wait Events tab. Procedure 1. Specify a precondition expression in the Precondition field.Automating Processes Across the System Landscape Creating Job Chains with Job Dependencies Use Complex job dependencies can be implemented with job chains and other repository objects in an intuitive way. 5. choose the name of the job chain. 10. 14. notice that a new step with the caption Step 1 has been added. specify a Raiser Comment and select a Status To Raise On. choose Save. 13. 3. b. On the Job Chain tab. Choose Save to save the job chain. choose Edit. From the context-menu. choose the previously created event. 525 . 5. Choose the job chain. 2. 2. e. Using Events 1. Choose Definitions > Locks in the Navigation bar. Attach an event to submit the job chain. 1. Choose Definitions > Job Chains. a. Create an event a. c. 3. Choose Save and Close. Choose Definitions > Event Definitions in the Navigation bar. Choose Save and Close. 3. d. d. 4. Choose New Event Definition and fill in a name. Choose Definitions > Job Chains b. c. Choose the job chain. Choose Save to save the job chain. Choose the Locks tab. Choose the Wait Events tab and choose Add. 2. From the context-menu. Creating a lock 1. Attach an event to be raised by the job chain. b. 3. e. Choose Definitions > Job Chains b. choose Edit. Attaching the lock to the job chains 1. choose Edit. fill in the name of a previously created lock. choose the previously created event. Choose Save and Close.Automating Processes Across the System Landscape Examples Using Locks Two independent job chains are not to run simultaneously. Choose the Raise Events tab and choose Add. Choose New Lock and fill in a name. c. a. From the context-menu. 2. Choose the job chain. Fill Monday into the Time Window field and select System_Week_Monday. 1. choose RestartChain. Under Error. The 1st step should run on Mondays (with an expression) 1. Under Error. 11. 5. 3. Choose Definitions > Job Chains 2. When step 4 fails an operator should be informed of the problem. choose GotoStep and step 4. 4. choose GotoStep and step 4. Choose Save & Close to save the job chain. UnderCompleted. Choose Definitions > Job Chains 2. 3. Edit the second step in the same way. Choose the third Step. Choose the first Step. 4. 'System_Week_Monday') 5. 5. 6.isTimeWindowOpen(Time. 9. From the context-menu of the job chain. From the context-menu of the job chain. Fill =Time. 10. choose RequestRestart. Choose Save & Close to save the job chain. choose MarkCompleted. 8. choose the Status Handler tab. Select is open in the Time Window Status field. 4. 7.Automating Processes Across the System Landscape Using Status Handlers A job chain with four steps should run step 4 only when one of the three previous steps failed and upon successful completion restart the job chain.now('GMT'). Choose Save to save the job chain. Choose the first Step. Under Error. 6. Choose Definitions > Job Chains 2. choose Edit. 3. choose Edit. choose Edit. Using Precondition Functions The 1st step should only run on Mondays (with time window) 1. 526 . Choose the last Step. From the context-menu. Under Completed. For SAP jobs. 1. 2. Perform steps 6 to 9 for every job. Choose Definitions > Job Chains in the Navigation bar. 5. On the Job Chain tab. Choose the Job Definition tab and fill in a name for the job chain. the queue and the priority of the job. 5. choose Save & Close. Choose the Job Chain tab. Choose Add Job from the context-menu of Step 1. you will not be able to follow this procedure. 9. Scheduling parameters define the status of the job chain at submit time. the queue defines the SAP System where the job runs. 3. Example A job chain with two steps each containing one job will be created. Choose New next to the Application field. 11. 8. Choose Definitions > Job Chains in the Navigation bar.limit license key and your privileges. there are two parameter classes. when the SAP System parameter is not set.Automating Processes Across the System Landscape Creating Job Chains for Multiple SAP Systems Use The SAP jobs of a job chain require parameters.SAP. 10. 4. Choose Add Step from the context-menu. 527 . 3. Choose Job 1 and enter the part of the job definition name into the Job Definition field. Choose Save to save the job chain. enter MSLN_CTRL into the Name field of the new window. 4. Choose the Job Definition tab. this depends on the value of ProcessServerService. scheduling parameters and job parameters. Choose the desired job definition out of the list of available job definitions. If this is the case. the two jobs (SAP CPS job definition SAP_Info and SAP ABAP RSUSR000) will be run on separate SAP Systems (PR0 and PR1). choose the name of the job chain. enter MSLN_CTRL_INV in the Name field. Choose New job Chain from the context-menu. Under Scheduling. Note You may be restricted to connecting to a single SAP System from within SAP CPS at any given time. 7. Choose New job Chain from the context-menu. Procedure 1. choose Save. 2. 6. notice that a new step with the caption Step 1 has been added. enter a parameter for Queue. Choose Add Step from the context-menu of green box. 13. Choose SAP_AbapRun. Choose the Scheduling Parameters tab 11. 20. 10. Choose SAP_AbapRun from the list of available job definitions.Automating Processes Across the System Landscape 6. 8. the step or job is started. 24. leave all other fields with their defaults. 7. Choose the Parameters tab. Choose Add Job from the context-menu of Step 1. Choose Save & Close to save the job chain. 15. When the precondition function returns: • "true" or no precondition is defined. Choose Add Job from the context-menu of Step 2. Choose the Job Chain. 23. The precondition is a boolean function (it returns "true" or "false") which is written in Redwood Expression Language. 18. 17. Choose Job 1 and enter info into the Job Definition field. Choose Reference MSLN_CTRL_INV:JOBNAME for SAP job name. Choose Reference MSLN_CTRL_INV:SYSTEM for SAP System. 21. 22. This step is optional. and enter the parameters in the table below. Fill 50 into the Expression field. Choose Job 1 and enter ABAP into the Job Definition field. the default client will be used if no client is provided. 19. 12. Fill 200 into the SAP client field. Choose SAP_Info from the list of available job definitions. only enter the values in the table. 16. Fill PR1_Queue into the Queue field. Choose Add Step from the context-menu of MSLN_CTRL_INV. Parameter Name Display Order Value SYSTEM PR0 1 ABAP RSUSR000 2 JOBNAME MSLN_TEST 3 Precondition Functions Use Preconditions are used to determine if a step or job in a job chain is to be started or skipped. 528 . Choose Reference MSLN_CTRL_INV:ABAP for ABAP program name. 14. 9. thus does not finish. The registry key that governs the default behavior: /configuration/jcs/jobchain/useLastExecutedStepStatus The registry key can be set to true or false (default). stepUniqueId .call preconditions The following special function is true as long as the call has not reached status Completed. This can be an issue if you use stepIterations < n preconditions. You can use keywords and a registry key to toggle this behavior. Since upon restart. the preconditions are evaluated before the job is persisted. where n is a number. This can occur in job chains when the step reaches status Console and is restarted. it has the effect that it is not possible to access itself or any other job in the same job chain.Automating Processes Across the System Landscape • "false". the final status of the chain will be that of the preceding step. saved to the database. the restart behavior is not evaluated. if this step is not in one of the previously mentioned states. true or false) into the Documentation field on the Documentation tab of a job chain. callUniqueId . Skipped. for example.step and call preconditions • callJobId. Job Chains and Restart Behavior The Restart Behavior is only evaluated at the end of the step. • stepJobId. the following final states are mapped to Completed: Disabled. true means that if you have a job chain of which the last step is Disabled. When a step is skipped. Note Preconditions may be executed before the job is persisted. use the following: @useLastExecutedStepStatus=false Just place the keyword (including @ and the desired value. Job Chains Final Status The final status of a job chain is determined by the status of the last step that reached a final state. The following comments can be used to enable the new behavior: @useLastExecutedStepStatus=true To disable. Ignored. so the job goes to Skipped and not the step. you cannot access job properties directly . The following substitution parameters are specifically tailored for use in preconditions in job chains that have calls that are supposed to restart. or. 529 . the step or job is skipped. Therefore you have to put the precondition on the job. since the step does not run. for example. Note Expressions always start with an equals sign (=). due to a precondition. 'System_Week_WorkDays') See Also • Redwood Expression Language • Using Job Chains • Creating Job Chains Integrating SAP CPS with Web Services Use SAP CPS integrates into your SOAP architecture by providing both inbound and outbound web services for job definitions and job chains. Choose Definitions > Job Chains 2. Choose Precondition and fill in an expression 5. Each server you connect to needs at least one soap 530 . for example.Automating Processes Across the System Landscape =Repository. especially if you use it in combination with automatic restarts.isTimeWindowOpen(Time. From the context-menu. 3. The function Time. time_window ) tests if the time window time_window is open at a given time time.now() returns the current system date time in the specified time zone.shouldRunAgain() .OutboundServer.limit define how many servers you are allowed to connect to for the launching of web services.limit and/or ProcessServer.External. The function Time. Choose Save and Close Example In this example.valid only on a call. a test is done to see if the time window System_WorkDays is open at this time.now('GMT'). Procedure 1. You can submit a job using a published web service or submit a SOAP RPC or message every time a job is submitted. A job note can be attached to the job submitted by the web service. choose Edit.isTimeWindowOpen(time.910 GMT If the following expression is false the job is skipped: =Time. Licensing The license key WebServices. Select a step or job and choose Edit Step or Edit Job 4. returns true if the call has not reached Completed before. Note that this can create loops. In the below example the following is true: • Time window System_Week_WorkDays is open on workdays only • The time now Time.now('GMT') is 2010/08/23 10:50:44. Note that slots in ProcessServer. the combined number of platform agents.limit and/or ProcessServer. constraints and a lot more) • Easy schedule of the requests • Add basic authentication to the request These job definitions can then be customized and published as new web services. Prerequisites • a free slot in WebServices. The licensing mechanism allows you to create as many credentials as you require as long as the number of different endpoints does not exceed the value defined in the WebServices.External. Each server you connect to needs at least one soap credential.OutboundServer. Note that slots in ProcessServer.limit are also used up by other process servers.limit license key. user interaction. which is a powerful Java-based scripting language. 531 . Licensing The license key WebServices.limit license key.Automating Processes Across the System Landscape credential.External.OutboundServer. the combined number of platform agents.External.External.External. For web services. You should always specify the FQDN for each server. Web services can be imported into SAP CPS as job definitions of type RedwoodScript.limit and/or ProcessServer.limit for a credential to the third-party web service • a credential for the third-party web service • Inbound Web Services • Outbound Web Services • Asynchronous Web Services Calling Web Services from within SAP CPS Use You can call web services in SAP CPS via job definitions. Job notes can be added to jobs submitted via the published web service so you can differentiate them easily.OutboundServer. The licensing mechanism allows you to create as many credentials as you require as long as the number of different endpoints does not exceed the value defined in the WebServices.limit and/or ProcessServer.limit.limit and/or ProcessServer.limit define how many servers you are allowed to connect to for the launching of web services.External. both must be honored. distinct web service endpoints. To create a job definition based on a web service. You should always specify the FQDN for each server. the most restrictive applies.limit. in your requests • Use parameters in your requests. which adds all the benefits of job parameters (scripting. distinct web service endpoints. and SAP systems must not exceed the number in ProcessServer. These job definitions allow you to: • Use RedwoodScript.OutboundServer. which can then be called by third party applications.limit are also used up by other process servers. If both are present.External. at least one of the license keys need to be present. you will need the URL to the WSDL. and SAP systems must not exceed the number in ProcessServer. The default job definition that gets created will have parameters for each parameter of the request.External. println(answer).xmlsoap. the most restrictive applies.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas. For example.OutboundServer.0</xsd:return> </xsd:getPrice> </soap:Body> </soap:Envelope> Using the following code. to write the entire response to an output file.limit license key. The number of SOAP credentials for a given endpoint you can create is limited by the WebServices.External.println(message).OutboundServer.org/2001/XMLSc <soap:Body> <xsd:getPrice xmlns:xsd="http://prices. Processing the Returned Response The job will retrieve the response with the following code: answer = SOAP.formatXML(req.getResponseXML()).com/xsd"> <xsd:return>42.0 and store it in the variable myPrice: // [. You might want to set the format of the job definition to XML. jcsOut. if (answer != null ) { 532 . The response will thus be a standard XML document.masalan.limit for a credential to the third-party web service. The job will print both the request and the answer into the output file of the job. jcsOut.org/soap/envelope/" xmlns:xsi="http://www. . both must be honored..println(answer).External. You would usually only have the following jcsOut.limit license key is also used by other process server types such as platform agents and SAP connectors. you can retrieve the price value of 42. you want to retrieve the price from the following response: <?xml version="1.External. Prerequisites • a free slot in WebServices.Automating Processes Across the System Landscape For web services.getResponseXML(). To change this. you have to change the following: jcsOut. by default. jcsOut. at least one of the license keys need to be present.limit or ProcessServerService.println("Request:"). • a credential for the third-party web service Editing the Job Definition The default job definition is designed to help you tailor it to your own needs.limit and/or ProcessServerService. You can use the getStringByXPath method to retrieve given values inside the response. the most restrictive applies. when you have both license keys. Note that the ProcessServerService.println("Response:").. If both are present.w3.] answer = req. use an alternate URL to the one in the WSDL • SOAP_Action . password.External. // Set the namespace req. myPrice). Note that the ProcessServerService.setNamespace("http://prices.Automating Processes Across the System Landscape answer = SOAP.OutboundServer. a valid credential must exist for the remote server. The number of soap credentials for a given endpoint you can create is limited by the WebServices. Credentials The soap credential protocol is not only used to store username. <server>:<port> 2. // retrieve the value of the specific XPath and store it in the variable myPrice String myPrice = req.the password required for the request. you might want to store the price in an Out parameter.limit license key is also used by other process server types such as platform agents and ERP connectors. and username (matching the value of SOAP_Username) Note You always need to have a credential for each outbound web service.formatXML(req.the username required for the request • SOAP_Password .. //Optional. jcsErrLog. When a web service is called.limit license key.masalan.getResponseXML()).use an alternate action to the one in the WSDL • SOAP_Username . } //[.com/xsd"). even if you specify the SOAP_Password parameter.limit or ProcessServerService. when you have both license keys. the lookup is performed on the endpoint in the following order: 1. and endpoint combinations. Special Job Parameters You can use the following special job parameters for job definitions that call web services: • SOAP_HEADER_<header> . if SOAP_Username is set and not SOAP_Password. Each and every web service you call from SAP CPS needs a valid credential.getStringByXPath("soap:Envelope/soap:Body/xsd:getPrice/xsd:return"). the most restrictive applies. endpoint.. even if the call itself does not require authentication.debug(myPrice).External. print the result to the ErrLog file when the job is run in debug mode jcsErrLog. such as: retailPrice jcsSetJobOutputParameter("retailPrice".] If you followed the example above. but good. then SAP CPS will look for the password in the credential associated with the soap protocol.set the SOAP header named <header> • SOAP_URL .debug(answer). it is also used to enforce license restrictions. <server> 533 . if job requires authentication. queue . If authentication is required.. You may specify a name. job will fail See Also • Using the RedwoodScript Job Definition Type • Using RedwoodScript in Jobs • RedwoodScript • Integrating SAP CPS with Web Services • Connecting Web Services with SAP CPS • Asynchronous Web Services • Credentials Connecting Web Services with SAP CPS Use Web services can be created inside product on the Web Services tab of job definitions or job chains. It is best to set the server name to the Fully Qualified Domain Name (FQDN) of the server to make sure that other processes can resolve the server.used to query a field of a job (status. Note that the full URL can be found on the job definition under Published Web Services. The WSURL is the external URL from which the web service is called. available under http://<server>:<port>/scheduler/api-soap/query/Job/QueryJob1?WSDL 534 .masalan.Automating Processes Across the System Landscape If no authentication is required and a credential matching the server has been found. return code.com:53100/scheduler/api-soap/submit/WS_MSLN_DB_BACKUP?wsdl SAP CPS has the following default web services: • QueryJob1 .. Example The WSDL URL for job definition WS_MSLN_DB_BACKUP on the server pr3. the SOAP_Username and SOAP_Password job definition parameters will be evaluated: SOAP_Username SOAP_Password Authentication Details Used <user> not set <user>-<server>[:<port>]-soap {virtual}:<v_user> <user>-<server>[:<port>]soap that has Virtual User set to <v_user> <user> <password> <user>/<password> not set not set none. by default it is the name of the job definition or job chain with a WS_ prefix.com is as follows: http://pr3. the job will be submitted.). the default is the current URL used to connect to the central server followed by the name of the web service (usually /api-soap/submit/WS_<job_definition_name>?WSDL.masalan. though. by default it is the name of the job definition or job chain with a WS_ prefix.the username used to authenticate with SAP CPS • SOAP_Inbound_WSName . The WSURL is the external URL from which the web service is called.used to wait for a job to reach a final status. note that setting a mandatory job definition parameter which has a default value to a null value will prevent you from submitting the job.the web service name 535 . Values Tab Field Description Default Value Web Services Name The name of the web service.WebServices.used to set the status of a job (externally submitted asynchronous web service jobs). It is best to set the server name to the Fully Qualified Domain Name (FQDN) of the server to make sure that other processes can resolve the server. available under http://<server>:<port>/scheduler/api-soap/update/Job/UpdateJob1?WSDL Additional web services can be created inside product on the Web Services tab of job definitions or job chains. must be unique. allowing you to easily distinguish jobs submitted by web services from others Web Services Enabled When checked. Prerequisites • The license item Module. jobs created by this web service false will have a job note attached. the default is the current URL used to connect to the central server. available under http://<server>:<port>/scheduler/api-soap/query/Job/QueryJob2?WSDL • UpdateJob1 .Automating Processes Across the System Landscape • QueryJob2 . will submit the job Web Services WSURL The SAP CPS URL from the point of view of the Current URL to SAP web service client CPS true Special Parameters The following built-in SOAP-specific job parameters are available. The name of the job definition with a WS_ prefix. these will be filled by the caller: • SOAP_Inbound_Username . optionally retrieve job files. You may specify a name.Inbound must be set to true Aliases You can set aliases to make the built-in web services available via a proxy. the web service is active and when called. The aliases are stored in the SAP CPS registry key ( see the Administration Guide ) at /configuration/webservices/aliases. Web Services Description An optional description of the web service Web Services Comment An optional comment of the web service Web Services Add Job Note When checked. as there is no need to fill the parameter. The key name should be the alias name of the web service and the value must be the actual hostname. Parameters Mandatory job definition parameters that have a default value are marked as optional from the web services side. • basic authentication is required • Completion strategy must be set to External Tip You can remove the parameters from the Parameters tab.the remote IP address • SOAP_Inbound_Hostname . • SOAP_Inbound_Description .a job note for the job. as they cannot be set/changed by end users.the remote hostname • SOAP_Inbound_Protocol . The job will trigger a web service in a remote system and reach status Running. Submitted from Remote IP Address SOAP_Inbound_IPAddress. The web service updates the job status in SAP CPS once the web service process has finished.limit for a credential to the third-party web service • a credential for the third-party web service • web service must implement ServerAddress and JobId parameters • callback to UpdateJob1 web service at ServerAddress with JobId and FinalStatus as Out parameters. the default value is Submitted via web service SOAP_Inbound_WSName. Submitted by User SOAP_Inbound_Username.Automating Processes Across the System Landscape • SOAP_Inbound_IPAddress . See Also • Integrating SAP CPS with Web Services • Calling Web Services from within SAP CPS • Asynchronous Web Services • The Registry Asynchronous Web Services Use Asynchronous web services are used to represent third-party web services as jobs.the protocol (http or https) The following built-in SOAP-specific job parameters are available to override the job description and job note.OutboundServer. Example Setting the Completion Strategy to External 536 .the description of the job. the default value is Submitted via web service SOAP_Inbound_WSName • SOAP_Inbound_JobNote . Prerequisites The following requirements must be met • a free slot in WebServices. //[. //Set completion strategy to external jcsJobContext. Navigate to Definitions > Job Definitions 2. Fill http://<host>:<port>/<context>/api-soap/update/Job/UpdateJob1?WSDL into the WSDL URL field 4.] See Also • Calling Web Services from within SAP CPS • Using the RedwoodScript Job Definition Type • Using RedwoodScript in Jobs • RedwoodScript • Integrating SAP CPS with Web Services • Connecting Web Services with SAP CPS Using Web Services Use The following topic covers both inbound and outbound web services.] SOAPRequest req = SOAP. Choose Save & Close Create an UpdateJob1 Web Service 1.createSOAPRequestFromJob().setCompletionStrategy(CompletionStrategyType. Choose Edit from the job definition you want to map to a web service 3.Automating Processes Across the System Landscape //[..External). Choose Next 537 .. On the Published Web Services tab. Procedure Map a Web Service to a Job Definition 1.. Select UpdateJobPortType -> UpdateJob1 6. Navigate to Definitions > Job Definitions 2. Optionally change any field 5. Choose New Job Definition and Select Web Service 3.. choose Add 4. Choose Next 5. CompletionStrategyType. select StatusIn 9. 10. It does not make much sense to create an asynchronous job in SAP CPS and update it via a SAP CPS web service with a third SAP CPS web service job definition. Choose New Job Definition and Select RedwoodScript 3. On the Published Web Services tab.Automating Processes Across the System Landscape 7. Navigate to Definitions > Job Definitions 2. Choose New Job Definition and Select RedwoodScript 538 .model. Optionally. default is {{http://<server>:<port>/<context>/submit/WS_<job_definition_name> Example The following examples use the inbound and outbound SAP CPS web services for illustration purposes.setCompletionStrategy(CompletionStrategyType. Optionally. Choose Save & Close Asynchronous Job Definition Source import com. Fill the code under section Asynchronous Job Definition Source below into the Source field 4. Navigate toDefinitions > Job Definitions 2. fill a valid job id into the JobIdentifierIn field and choose Test 8. Create the Asynchronous Job Definition 1. choose Add 6. In the Job Definition Editor.External). choose Save & Close Create a Job Definition for Asynchronous Jobs 1.redwood.scheduler. if you want to test your settings. Fill a name into the Name field 5. } Values Published Web Services Tab Field Description Name The name of the web service.enumeration. { jcsJobContext. Choose Save.api. usually WS_ followed by the job definition name Description An optional description Comment An optional comment Add Job Note Should a job note be added to the job when this job definition is submitted by a web service WSURL Web service URL. if this job definition is used to update the status of an asynchronous job. Fill the code under section Asynchronous Job Definition Source into the Source field 4. Select SubmitMSLN_ANSYC_JOBPortType -> SubmitJob 5. Navigate to Monitoring > Jobs 5. Choose Submit from the context-menu of SOAP_SubmitWS_MSLN_ANSYC_JOBPortType_SubmitJob 3. Choose Save & Close Create the UpdateJob1 Web Service 1. choose Add 6.masalan. Fill http://pr1. Choose New Job Definition and Select Web Service 3. Choose Save. Navigate to Definitions > Job Definitions 2. Choose Next 5. Navigate to Definitions > Job Definitions 2. Navigate to Definitions > Job Definitions 2. Locate the job for MSLN_ANSYC_JOB.com:50000/scheduler/api-soap/submit/WS_MSLN_ANSYC_JOB?wsdl into the WSDL URL field 4. Choose Submit 4. Choose Next 7. Fill a MSLN_ANSYC_JOB into the Name field 5. Navigate to Definitions > Job Definitions 539 . On the Published Web Services tab. choose Save & Close Create a Web Service Job Definition to Submit MSLN_ANSYC_JOB 1. Fill http://pr1. 9. check its status is Running and write down the job id 6. In the Job Definition Editor. Choose Next 6. Select UpdateJobPortType -> UpdateJob1 6.Automating Processes Across the System Landscape 3. Choose Save & Close Submit MSLN_ANSYC_JOB from a Web Service and update its Status 1. Select StatusIn 8. Choose New Job Definition and Select Web Service 3. Choose Save 7.masalan.com:50000/scheduler/api-soap/update/Job/UpdateJob1?WSDL into the WSDL URL field 4. 540 . Choose Submit 10. the job can be created by the Central Server. • Enter the job parameter values. Fill the Job Id of the MSLN_ANSYC_JOB job into the JobIdentifierIn field 9. Before the execution request is passed on to the process server.Automating Processes Across the System Landscape 7. By default. and provided a scheduler is up and running. you will get a warning. you may: • Change scheduling behavior parameter values. A request for execution is also called "submitting". Choose Submit from the context-menu of SOAP_UpdateJobPortType_UpdateJob1 8. a scheduled job will be executed according to the start date and time. Note When you pre-submit more than 100 jobs. Navigate to Monitoring > Jobs 11. Once a request has been submitted. this job requires human intervention before it starts. Jobs can also be scheduled directly on hold. By default. a scheduled job is executed according to the start date and time. check its status is Completed Submitting Jobs and Job Chains Use When a user requests a job definition to be executed. Once a request has been submitted. Note You cannot pre-submit more than 5000 jobs. a process server schedules the job for execution. See Also • Submitting a Job Definition or Job Chain Submitting a Job or Job Chain Use When you request a job definition to be executed. Jobs can also be scheduled directly on hold. this job will require human intervention before it will start. • Enter the job parameter values. and provided a scheduler is up and running. the job can be created by the process server. Locate the job for MSLN_ANSYC_JOB. A request for execution is also called "submitting". the user may: • Change Date/time and recurrence data • Change scheduling behavior parameter values. the Central Server will schedule the job for execution on a process server. as this can have serious consequences in terms of performance. Before the execution request is passed on to the process server. 5. if parameters or the scheduling behavior are to be changed. On the Times and Dates page. daily. Locate a submit frame that opens every 5 minutes. on the tool-bar to submit any job definition. c. 4. Choose the navigation links. job definition or job chain. if required. in the lower detail pane of Definitions > Job Chains or Definitions > Job Definitions to submit the selected job definition or job chain. weekly. 3. Choose New submit frame from the context menu. b. to repeat periodically. if there is none. you must first create a submit frame. as they do not have a default queue. Navigate to Definitions > Job Definitions and choose Submit from the context menu of the job definition you want to schedule. 2. c. 541 . Choose the Submit button to submit the job immediately. choose Interval. On the Elements tab. monthly or yearly. d. you will have to create one. for example every two hours. Choose the Submit button. Note Built-in SAPR3 job definitions cannot be submitted directly. If you want the job to repeat multiple times a day. you can use the built-in frequencies. from the context-menu of a job. Note You cannot pre-submit more than 5000 jobs. therefore the queue is only set by default when there is only one SAP System defined. A selection screen appears where the job definition that is to be submitted must be selected. a. The queue of built-in SAPR3 job definitions defines the SAP System where the job must run. SAP recommends that in this case you use the name Every5Minutes. Navigate to Environment > Submit Frames. you will get a warning.Automating Processes Across the System Landscape Note When you pre-submit more than 100 jobs. fill 5 into the Submit every field and select Minutes. Procedure There are several ways you can submit a job: 1. Fill in any parameters. Submit a job every 5 minutes 1. 2. Fill a name into the Name field. b. To submit a job with a schedule. Choose Save & Close. and choose Next. in this case Every5Minutes. select Submit frame and fill in the name of the submit frame. as this can have serious consequences in terms of performance. a. 3. Sets the job parameter value to the values of the last job of this job definition that you submitted. The time zone you choose at submit-time will become the job time zone.Automating Processes Across the System Landscape 6. select the date.the maximum number of jobs in a job group 542 . • Default values . In order to schedule multiple executions of a job definition. the group names are shown on the tabs. Choose Submit. by default this is the time the job is created in the database and displayed as Now. time and time zone. Time and dates Jobs are submitted with a start time calculated relative to the session time zone. Note The date you enter is treated in a lenient fashion. If there is no default expression filled out. Monthly. the parameter will be cleared. you may have to select a queue and choose Submit again. Weekly. • If the parameters have default values. Yearly • Select the interval. • Alternatively. there are several options: • Once (default) • Daily • Weekly • Monthly • Yearly • Dates • submit frame Daily. Parameters When the job definition has no parameters.Sets the job parameter value to the default expression value of the corresponding job definition parameter. they are set initially.The number of jobs to create in advance • Job Group Max Jobs . that is 32/12/2011 is treated as 01/01/2012. Select the range. • Enter the values for the parameters or choose them from the drop-down lists. depending on the job definition you selected. you may use the Default or Last used values as follows: • Last used values . A Calendar is available to choose a date. the Parameters navigation link is disabled and appears grayed out. located at the top of the window. • If the parameters are assigned to groups. • Job Group Presubmit Count . To schedule the job. the window remains open. an operator message is created if this key does not exist or is invalid. second. The default value is 10 when no submit frames are used and can be overridden by the registry key ( see the Administration Guide ) /configuration/jcs/recurrence/DefaultPreSubmit.The job is submitted. • Job Group End Date . At every system startup. none means the job is rescheduled endlessly.The maximum amount of jobs that are allowed to be in the job group. you can configure the job group: • Job Group Presubmit Count .The job is submitted and the window is closed. Select the scope • Scope . The default value for the pre-submit count in the submit wizard is set to 1 when you use a submit frame. where 0 is the minimum priority and 100 the maximum priority. Month • Interval (of every) • Skip a number of months Dates Choose Dates if specific dates are to be used for when the job is submitted. third.The end date of the job group. When system load becomes too high. 543 . Submit Frame Choose Advanced if predefined time window and submit frame are to be used for the job. • Submit another job . and another job definition can be selected again. Week. fourth or last • Day. the window is closed and the Job monitor is shown.first. With a submit frame. no new jobs will be submitted.th end date of a recurrence. older jobs are deleted. • Show all jobs .The job is submitted. • Hold On Submit .Automating Processes Across the System Landscape • Job Group End Date . the process server can postpone low-priority jobs and continue executing high-priority jobs.A job can be assigned a particular priority between 0 and 100.To submit the job on status Hold. • Priority . Choose Last to see the job in the overview.The queue in which the job is executed. when this date is reached. Submit The following steps are available after submitting the job: • I am done . note that manual intervention is necessary to start the job. Scheduling The following Scheduling Parameters are available: • Queue .The number of jobs to be submitted in advance • Job Group Max Jobs . Jobs are resubmitted as soon as the job has finished. recurrences and submit frames.Period functions are very advanced time functions. Period functions are also available for Easter-based holidays. The maintenance of period functions in cumbersome. Complex scheduling can easily be achieved by the use of a combination of submit frames and time windows. the time zone further defines the time window. time windows can have time windows and a time zone.Automating Processes Across the System Landscape See Also • Using Job Chains • Creating Job Chains • Using Recurrences • Using Submit Frames in Jobs • Defining Execution Times • Timezones • Monitoring Automated Processes Scheduling with Times and Dates Job execution time can be controlled in SAP CPS by the use of the following: • Submit frames . Job definitions.Time windows define in which period of time a job is allowed to start. which can quickly become very complex. • Period functions . fiscal quarters and third party calendars. Submit frames can also have a time zone and a time window. for example.Submit frames define when and how often a job should be automatically resubmitted. a time window and a time zone. See Also • Rescheduling Jobs Automatically • Defining Execution Times • Time zones • Defining Advanced Execution Times with Period Functions Rescheduling Jobs Automatically Use There are two ways to have jobs resubmit automatically. 544 . so more features have been added to time windows. • Time zones .Time zones help define the date and time accurately in large environments with clients and/or process servers split across multiple geographical time zones. • Time windows . Recurrences have the advantage to be very easy to configure but the disadvantage to be usable with the job group they were created with only. like SAP Factory calendars. job chains and jobs can have a submit frame. Submit frames are separate objects that need to be created but that can be reused by many job groups. 545 . Held H The job group was put on hold. recurrences are in effect temporary submit frames. Without submit frame. Using Submit Frames in Jobs Using Recurrences Use Recurrences are used to automatically reschedule jobs in a trivial way. These runtime submit frames and time windows are deleted by the System job definition System_ProcessKeepClauses that runs in the background. FinishedJobCount C The job group is finished because the maximum number of jobs has been reached. Using Recurrences 2. SAP CPS simply makes sure that <n> jobs in a nonfinal state are in the job group. For example. FinishedSubmitFrame S The job group is finished because the submit frame does not have a next submit time.Automating Processes Across the System Landscape Repeating jobs are in job groups. The default value for the pre-submit count in the submit wizard is set to 1 and can be overridden by the registry key ( see the Administration Guide ) /configuration/jcs/recurrence/DefaultPreSubmit. See Also 1. an operator message is created if the /configuration/jcs/recurrence/DefaultPreSubmit key does not exist or is invalid. by selecting one of the repetitions: • daily • weekly • monthly • yearly • dates See the Using Submit Frames in Jobs and Creating Submit Frames sections for more information. FinishedManually M The job group is finished on a user request. Similar to submit frames. Note that jobs with a restart count do not wait for each other. jobs in a job groups share the common repetition pattern. FinishedEndDate D The job group is finished because the end date has been reached. You specify the recurrence in the submit wizard. Creating Submit Frames 3. a user cancelled the repetition. SAP CPS generates a submit frame for jobs submitted with a repetition. the default restart count is 10. At every system startup. A job group can have a JobGroupStatus: Status Status Code Description Active A The job group has jobs in a non-final state. 3. If more than one submit frame element is specified. SAP would like to strongly discourage you from using automatically generated submit frames with other objects. 546 . 5. Fill in the fields. They will be modified as soon as the job group recurrence pattern is modified. Choose Daily to end after 10 occurrences. Choose Submit See Also • Creating Submit Frames • Using Submit Frames in Jobs • The Registry • Registry Keys Creating Submit Frames Use A submit frame is a set of rules that control the repetitive execution of a job. 4. choose Submit. Procedure 1. 4. Choose Daily. 5. A submit frame is an object that can be reused for multiple jobs. When a job definition is submitted and a submit frame is used.Automating Processes Across the System Landscape Generated Submit Frames Note that the automatically generated submit frames are named SF_System_<number>. Choose Time and Dates. From the context-menu of the System_info ( see the Administration Guide ) job definition. 2. You edit generated submit frames by changing the recurrence pattern of the job group. A submit frame is made of one or more submit frame elements defining the cycle. Choose Time and Dates. 6. From the context-menu of a job definition. Simple multiple executions of a job definition can also be achieved by specifying a recurrence. choose Submit. 2. the total cycle is a union of all submit frame elements. the corresponding jobs are restarted automatically by a process server according to the frequency defined in the submit frame. Choose Definitions > Job Definitions. A job recurrence is specified for one job when you submit it. 3. Choose Submit Example 1. Choose Definitions > Job Definitions. <time zone> Elements Skip when time window is closed The cycle should skip closed times of the specified time window.Automating Processes Across the System Landscape Submit frames are part of the 'Environment' section in the navigation bar. The following standard submit frames are provided with SAP CPS: • System_DeleteJobFilesSubmitFrame ( see the Administration Guide ) . Documentation Documentation A comment about the object. 547 . Elements Defined by > Interval > During Time Window Time window during which the submit frame is used. Elements Description Short description of the submit frame element. Elements Defined by > Interval > Submit every <n> <t> Cycle of <n> * t. Security * This is where you can specify who can access/change/remove the submit frame.Submit frame for the System_UpdateJobStatistics system job Tabs & Fields The following table illustrates the fields of each tab of Submit Frames editor dialogs. Submit Frame Description The description of the submit frame. Elements Defined by > Interval > Start Time Start time (in time zone) of the job. Submits At Overview of every future submittal of a job. Elements Defined by > All openings of time Specify a time window.Submit frame for the System_GetTutorialsList system job • System_Ignored_Alert_ReporterSubmitFrame ( see the Administration Guide ) .Submit frame for the System_DeleteJobFiles system job • System_Get_Tutorials_ListSubmitFrame ( see the Administration Guide ) .Submit frame for System_Ignored_Alert_Reporter system job • System_ProcessKeepClausesSubmitFrame ( see the Administration Guide ) . Submit Frame Name The name of the submit frame. Submit Frame End Date-<time zone> An optional date/time at which this submit frame should end or stop submitting new jobs. Submit Frame Application The application of the submit frame. example every 5 days will submit a job every five days. at every opening of the time window window a new job will be submitted. Default is empty which means always open submitting jobs.Submit frame for the System_ProcessKeepClauses system job • System_UpdateJobStatisticsSubmitFrame ( see the Administration Guide ) . Tab Field Description Submit Frame Partition The partition where you wish to store the submit frame. can be used for documentation purposes. 548 . every time a job in the job group has reached a final status (which does not break the submit frame according to Restart Behavior). If submit frame elements overlap.. Note also. in this case. every hour during time window System_Week_WorkDay and every 3 days.the time unit you chose in the Unit field (seconds. Preserve Times will only be relevant for submit frame elements that satisfy all of the following conditions: 1. An hours. 2. If you want the submit frame to recognise DST changes. where <unit> is smaller than a day. hours .the you entered in the every field in the submit frame element • <unit> . in this case 1 hour. for example. Alternatively. the job will be rescheduled for each opening of the time window. SAP CPS evaluates the submit frame based on the first job of the job group. you specify a time window in the All openings of time window field. Compensating DST Changes Note that specifying a submit frame using <amount> <unit>.the number of cycles required to get a date/time after the time now • <amount> . or for any other reason goes past the start time of the following job. the job will run every hour of every day. only one job is created. jobs will run every hour during System_Week_WorkDay and every time the following equation results in a week-end day. the job will run on that day: <day_of_original_request> + (<n> x 3 days) In fact. The equation is as follows: <submit_base_time> + (<n> x <amount> <units>) • <submit_base_time> . 3.Automating Processes Across the System Landscape Submit Frame Elements A submit frame is made of one or more submit frame elements defining the cycle. that if the job takes longer than <amount> <unit>. checking the union of all its elements and determining the next date/time it can submit a new job for. If more than one submit frame element is specified. The number of seconds evenly divides the number of minutes in a day or the number of hours evenly divides the number of hours in a day.the original date/time the first job of the job group was started • <n> . it will not always recognise DST changes. With this submit frame. otherwise it will be the next.. Note Changes to the submit frame will affect the current job if it has not yet started. Tip Use the Submits At tab in the submit frame editor and Submit Summary in the submit wizard to make sure your job is scheduled for the appropriate date/time. no additional jobs will be created based on this element because it overlaps every time with the other. minutes or seconds type of interval. in this example it means every third Sunday and Saturday.) The every 3 days element is irrelevant. the job will be skipped. This means that if a submit frame has two elements. check the Preserve times checkbox on the submit frame.. No start time is specified on the submit frame element. minutes. every hour and every 3 days. the total cycle is a union of all submit frame elements. In this example. Another example: a submit frame has two elements. The jobs of the job group have a recurrence pattern in common. you will get a warning. You can see a summary of submits for the current month on the right-hand side of the calendar. Note You cannot pre-submit more than 5000 jobs. you can override this with the DefaultPreSubmit ( see the Administration Guide ) registry key. The default value is 10 when no submit frames are used. Context-Menu Actions Submit frames support the following context-menu actions: Action Description Edit Security Edit the security of the submit frame Duplicate Make a copy of the submit frame to create a similar one Delete Delete the submit frame Export Export the submit frame into a CAR file Edit Edit the submit frame Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New submit frame Create a new submit frame 549 . the actual Scheduled Start time of the job may differ. depending on how long it took you to actually submit the job. Note When you pre-submit more than 100 jobs. the job and all subsequent jobs based on this job form a job group. you can see the times. every 2. The maximum number of jobs you ca pre-submit is set to 5000. SAP CPS simply makes sure that <n> jobs in a non-final state are in the job group. Preview You can now get a preview of when a job would be submitted if you were to submit it as this very moment by navigating to Environment > Submit Frames and choosing the submit frame. The default value for the pre-submit count in the submit wizard is set to 1 when a submit frame is used. an operator message is created if this key does not exist or is invalid. Submit Frame Recurrences When you submit a job with a submit frame. The preview is displayed in the form of a calendar. At every system startup. 6. or 12 hours are satisfactory. 3. Note that this is the time at which the submit wizard was opened. 8. if you choose a day at which a job will be submitted. which uses as the base time the original scheduled time of the first job.Automating Processes Across the System Landscape For hourly intervals. 4. as this can have serious consequences in terms of performance. See the Managing Job Groups topic for more information on job groups. Note Note that jobs with a restart count do not wait for each other. blue marks appear on the days the job will get submitted. The following table illustrates the available prefixes for submit frames: Prefixes Description n. as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:). Filters allow you to specify a list of objects with static criteria. you would use the search criteria as follows: c:import You can search more than one property. IntelliSearch allows you to specify complex queries in a simple way using prefixes. For example. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes.Automating Processes Across the System Landscape Filter > New Filter Create a new submit frame filter Filter > Edit Filter Edit current submit frame filter Filter > Delete Delete current submit frame filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Submit Frames You can search for submit frames using filters and the Search Submit Frames box on the Submit Frames tab. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface.the type of object with a link to it • Related Object .the name of the object with a link to it • Used As . For example. The table in related objects contains three columns: • Type . the submit frame cannot be deleted until all jobs that ran with it have been deleted. comment searches the documentation property d.objects can sometimes be used in different roles 550 . See the Advanced Object Search for more information. if you want to display all submit frames with the term import in the comment. name searches the name property c. You can see all jobs that relate to the submit frame in Related Objects in the lower detail pane and on the show page. description searches the description property Deleting Submit Frames You can only delete submit frames when no other objects relate to them. if there are jobs that have run with the submit frame. • Description . for example. Choose Save and Close to save the submit frame. no new jobs will be automatically submitted after this date. Procedure 1. as shown in the submit wizard. Note that the automatically generated submit frames are named SF_System_<number>. Fill in the details.A comment about a submit frame. 551 . and delete the submit frame. Choose Environment > Submit Frames. 3.Create Create submit frames SubmitFrame. refer to the section below. Choose New Submit Frame to create a submit frame. 4. • End Date . Submit Frame • Name . Documentation • Documentation . Choose Refresh to see all existing submit frames. 2. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Generated Submit Frames Submit frames are automatically generated when you schedule a job with a recurrence pattern. 5.A date at which the submit frame ends. you have an additional Security tab on the submit frame. SAP would like to strongly discourage you from using automatically generated submit frames with other objects.View Access submit frames You can grant privileges on two levels. You edit generated submit frames by changing the recurrence pattern of the job group. • Application .The name of the submit frame.Automating Processes Across the System Landscape Security Privilege Description SubmitFrame.Edit Edit submit frames SubmitFrame. per partition or isolation group. It allows you to specify which users can access. which requires the Chargeable version. edit. a privilege granted on Admin level allows the grantee to grant the privilege to other users. They will be modified as soon as the job group recurrence pattern is modified.The description of the submit frame.The name of the application used to group this object.Delete Delete submit frames SubmitFrame. These privileges can be granted system-wide. Access and Admin. If you have the object security. • All openings of time window . If it is not selected. Example 1. Choose Environment > Submit Frames in the Navigation bar.the submit frame element is defined by a time window.The start time of the job.The cycle interval in seconds. Choose Save & Close to save the new submit frame and close the edit window.The description of the submit frame element. days or months. minutes. Skip when time window is closed . the first submit frame element occurs as soon as the time window is opened. 2.If this option is selected.Automating Processes Across the System Landscape Elements • Description . Choose the Add button and fill in the values for the Elements tab. A job is submitted every time the time window opens. The unit of measure is specified in the Unit field.An optional time window during which the submit frame interval can generate submits. days or months. Submit Frame tab Name: EveryHour Description: Every hour Elements tab Every number of: 1 Unit: Hours Must Fit Time Window: Unchecked See Also • Defining Execution Times with Time Windows • Using Recurrences 552 . 4. defined in the submit frame element or on the job definition. • Start Time . Note Skip when time window is closed has an influence on the job when the latter has a time window. • During Time Window . Choose the New Submit Frame button and fill in the values below for the Submit Frame tab. • Unit .The unit of measure: seconds. the submit frame element must fall inside the defined time window. minutes. • Interval • • Submit every . 3. Months or Years. this is only available when the Unit is set to Days. This option is only applicable if During Time Window is defined in the submit frame element or a time window is defined on the job definition. Automating Processes Across the System Landscape • Restart Behavior Managing Job Groups topic Use When you submit a job with a repetition. as this can have serious consequences in terms of performance. SAP CPS simply makes sure that <n> jobs in a non-final state are in the job group. Job groups have a subset of job properties that can be set and that define the properties of all jobs in the job group that have not yet started running.by default. Note When you pre-submit more than 100 jobs. for example. you will get a warning. This allows you to delay or edit one job in the job group without affecting other jobs. the actual Scheduled Start time of the job may differ. Note that by default this is the time at which the submit wizard was opened. edit it or edit the corresponding job group. depending on when you actually submitted the job and the time you specified in the wizard. When you edit a single job of a job group. The maximum number of jobs you ca pre-submit is set to 5000. a pop-up window will ask you if you want to delay the job. be it by specifying a recurrence or submit frame. 553 . The following properties are copied from the first job that defines the job group to the job group: • BaseSubmitTime . the time the first job was submitted • HoldOnSubmit • Job parameters • Priority • Queue • Submit Frame • Time Window • Time Zone The BaseSubmitTime is the original scheduled time of the first job. When you restart a recurrence. Note You cannot pre-submit more than 5000 jobs. When you edit a job that is member of a job group. it exits the job group. this is useful when you have an unexpected down-time issue of a process server. Note Note that jobs with a restart count do not wait for each other. the restarted jobs will keep the base time of the job that originally defined the recurrence. a job group is created. • Finished (F) .The job group is finished on a user request.The job group reached the maximum number of jobs. • FinishedEndDate (D) . jobs in it are rescheduled. or Restarted).the job is the consequence of a restart of a job that is part of the job group Job Group Status Each and every job group has a status. • FinishedManually (M) . The following job status for job groups are used: • Default (D) . For reference. if it has ended. using a submit frame or a repetition as defined in the submit wizard for example.the job has been edited and this has not yet been processed completely.the job has been edited independently of other jobs in the job group • EditedPersist (P) .the job is part of the job group • Delayed (L) . Troubleshooting JobGroups You can use the below SQL statement to list all the latest jobs of active or held JobGroups that are not active jobs.The job group reached the end of the submit frame. have an additional status. It is used to indicate if the job is part of the job group (status Default) or has left the job group (Delayed.Automating Processes Across the System Landscape JobGroups and JobStatusForGroup Jobs that have been submitted as part of a Job Group ({JobGroup}). Edited.the job has been delayed independently of other jobs in the job group • Edited (E) . • FinishedSubmitFrame (S) . The following job group statuses are available: • FinishedJobCount (C) . the job group status is used to indicate if a job group is still active. the Job Status For Job Group (JobStatusForJobGroup) status. The job will have the job status for job group of Edited in short moment • Restarted (R) . the SQL statement excludes the following job statuses: • 4 (OnChange) • 6 (PreRunning) • 8 (PostRunnning) • a (Assigned) • H (Held) • N (Never) • q (Dispatched) • Q (Queued) 554 . and the reason why it ended.The job group and all its jobs are finished.The job group reached the end date. 5. Choose Save & Close To define the submit frame at submit time: 1. choose Submit. 4. Procedure To define a submit frame for a job chain: 1. Choose Edit Job Chain.Automating Processes Across the System Landscape • R (Running) • S (Scheduled) • V (EventWait) • W (Waiting) select Job. 2.LatestJob from JobGroup jg where jg. Fill in the Submit Frame field.Status in ('H'. 7. 3. Fill in appropriate values for parameters if applicable and choose Time and Dates. Choose advanced and enter a submit frame. Choose Scheduling. 4. choose Edit. the job must not have reached he Queued status. 6. 3.* from Job where UniqueId in (select jg. To edit the job in the job monitor 555 . 2. Choose Definitions > Job Chains. 5. There are several ways to attach submit frames to jobs: • Edit the job definition or job chain • Define the submit frame at submit time • Edit the job in the job monitor Note To edit a job. Scheduled for example. Choose Definitions > Job Chains. Choose Submit. From the context-menu of a job chain. From the context-menu of a job chain. Choose an appropriate queue.'A')) an Using Submit Frames in Jobs Use Submit frames are used to automatically resubmit jobs. Frequently Asked Questions About Submit Frames Use 1) Consider the following submit frame: Element: every minute (no time window) Element: every hour (no time window) Q) What happens? Is a job using this running every minute or every hour? Does the order matter? A) the job would run every minute the job would be submitted for the first occurrence from the set of [1 minute or 1 hour]. Choose Submit. Both these elements can be ignored 4) Consider the following submit frame: Element: every minute during time window System_Week_Friday Element: every hour during time window System_Week_WorkDays Element: every 30 minutes (no time window) Q) What happens on Friday? Is a job using this running every minute. 4. choose Edit. 2. 3) Consider the following submit frame: Element: every minute (no time window) Element: every hour during time window System_Week_Friday Element: every 30 minutes (no time window) Q) What happens on Tuesday? Is a job using this running every minute or every 30 minutes? A) The job would run every minute the [1 minute] set contains ever occurrence of [1 hour on Fridays] and [30 minutes]. 2) Consider the following submit frame: Element: every minute (no time window) Element: every hour during time window System_Week_Friday Q) What happens on Friday? Is a job using this running every minute or every hour on Friday? A) the job would run every minute again the [1 minute] set also contains every occurrence of [1 hour on Fridays]. As the set returned by [1 minute] is a true superset of the set returned by [1 hour]. the 1 hour element can be ignored. every hour or every 30 minutes? 556 . 5. Choose advanced and enter a submit frame. Choose Monitoring > Jobs. From the context-menu of a job chain. The 1 hour on Fridays element can be ignored.Automating Processes Across the System Landscape 1. Choose Time and Dates. 3. • System_ .Belgium specific holidays and fiscal periods. Each of these elements defines a period of time. 557 . Defining Execution Times with Time Windows Use A time window defines a time interval in which something can occur: for example the time a specific job definition is allowed to run. Note When you define a time window that is valid in a single time zone. The prefixes used for these are: • System_BE . The "disabled during" time window restricts the open period of time window to the period where the "disabled during" time window is closed. A number of standard time windows are provided with SAP CPS representing common holiday calendars and time periods. This holds for both time window and time window element. rules such as "the first working day of the month". • System_US . But on Fridays.Germany (and German state) specific holidays and fiscal periods.Canada specific holidays and fiscal periods. Time windows are part of the 'Environment' section in the navigation bar. • System_DE . the processing time for the job can increase significantly.Great Britain specific holidays and fiscal periods.other system time windows.United States of America specific holidays and fiscal periods.Automating Processes Across the System Landscape Q) What happens on Tuesday? Is a job using this running every hour or every 30 minutes? A) On Fridays the job would run every minute. The "enabled during" time window restricts the open period of time window to the open period of the "enabled during" time window. • System_GB . Note Nesting of time windows should be kept to a minimum.Christian holidays used in some countries. A set of time window elements does not need be continuous.World holidays used in some countries. or a combination of both (dates and times and rules).Netherlands specific holidays and fiscal periods. Note If the specified "day from" is after the last day of the month. the opening time of a queue. The every hour element is made obsolete by the 30 minute element. it is recommended to set that time zone in the time window. • System_NL . the job would run every minute. These elements can used fixed dates and times. This can have consequences for months with only 30 days and especially for February. it defaults to the last day of the month. When deep nesting is used. • System_CA . A time window is made up of time window elements. • System_World . • System_Christian . Time Window Is Calendar Time Window If an open day is closed dur. Elements with parameters Parameters for the period function. The current time window element is closed when the Disabled During Time Window is open. Elements and from/and until The times (without time zone) at which this element is open.it is an unconditional shift that is always performed. Time Window Disabled During Time Win. Time Window Description The description of the time window. only dates. Time Window Name The name of the time window. if different from the Time Zone field of the Time Window tab. Time Window open day in definition of open periods. Documentation Documentation A comment about the object. Elements and from the/and until the Days/weeks of the month. Time Window Enabled During Time Window Another time window that defines open times for this time window.Another time window that defines closed times for this dow time window element. The current time window is closed when the Disabled During Time Window is open. can be used for documentation purposes. Elements Description An optional description of the time window element. Elements from/until-<time zone> The times in specified time zone at which this element is open. Elements and from Period of months this time window element is open.Automating Processes Across the System Landscape Tabs & Fields The following table illustrates the fields of each tab of Ad Hoc Alert Sources editor dialogs. Specifies how many days forward or backward should be shifted . Tab Field Description Time Window Partition The partition where you wish to store the time window. The specified time window must be a calendar time window. Elements Enabled During Time Window Another time window that defines open times for this time window element.Specify a time window that is closed at the dates you want ing to shift the open dates forward or backward. 558 . a calendar time window cannot have times set. Time Window Application The application of the time window. all parameters of the period function must be specified. Time Window then shift this day Direction in which you want to shift the open dates. Elements Time Zone Time zone of the time window element. Not to be used with calendar time windows.Another time window that defines closed times for this dow time window. Elements Disabled During Time Win. Time Window to the Amount of open periods you would like to shift. Elements and shift open periods The current time window is a calendar open entire days. Time Window Time Zone An optional time zone for the time window. Not to be used with calendar time windows. Elements and period function This time window element is [partly] defined by the following period function. skip if the intersection is closed. or the SAP systems might get overloaded as soon as they become available. 559 . If systems in your datacenter run SAP CPS jobs and need to be shut-down over the switch period (usually SAP systems). The returned start times must match the result of the intersection. Security ( see the Administration Guide ) * This is where you can specify who can access/change/remove the time window. SAP CPS has no issues with time switches. as you do not want new jobs to start. DST has been introduced to attempt to save energy. Avoid releasing all queues simultaneously. Opens At Overview of when the time window is open (dates. make sure you hold all the affected queues before shutting down the SAP systems. • Skip when time window is closed is true: return only the calculated start times for which the intersection is open. Daylight Saving Time (DST) In the developed world.Automating Processes Across the System Landscape Elements and offset by A time offset. For computer systems this means an hour of the day occurs twice or is skipped. times) and when the next opening and closure is. Please wait until all jobs have reached a final state before shutting SAP systems down. Context-Menu Actions Time windows support the following context-menu actions: Action Description Edit Security Edit the security of the time window Duplicate Make a copy of the time window to create a similar one Delete Delete the time window Export Export the time window into a CAR file Edit Edit the time window Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New time window Create a new time window Filter > New Filter Create a new time window filter Filter > Edit Filter Edit current time window filter Filter > Delete Delete current time window filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Pre-submitted Jobs The submit frame time window and the job time window are intersected. You can also use time windows to achieve the above without human intervention at the time of the date-change. Note The Skip when time window is closed setting has an effect on both the time window of the submit frame and the time window of the job (definition). and the from value comes after the to value. It shows the time of the current day by default but different days. months. An overview table is displayed on the right-hand side and gives you an overview over all the times and dates of the current month the time window opens and closes. Time Window Preview In the preview pane of a time window. If the queue has a time window. This can help fine tune a time window and can help you make sure you have made no mistakes when you created the time window. If the submit frame element has an anchor time. For example. for example from Monday to Tuesday. the process server will automatically wrap. it is applied after the start time calculations. a light blue bar when a time window opens and a white bar when the time window is closed. This implies that if the queue time window is closed on the calculated start time. for example ''from 26 (this month) to 5 (next month)'' • A range of weekdays (with an offset) wraps until the following week. • A range of times of day (with an offset allowing to cross midnight) from 23:00 (today) to 2:00 (tomorrow) Note Offsets are specified in hours and wrap at 24. otherwise the calculated opening of the intersection is used. It shows a blue bar when a time window is open. if you want to display all time windows with the term import in the comment. for example. and years can be selected. from November to February will be interpreted as from November (this year) to February (next year) • A range of days of the month (with an offset) wraps around a month. In this case. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. the anchor time is tried first as well. try this time on the day of the result. Is the time window open. Filters allow you to specify a list of objects with static criteria. the start time slides to the next opening of the queue time window. This box is known as the IntelliSearch box located under your username on the top right-hand side of the user interface. IntelliSearch allows you to specify complex queries in a simple way using prefixes. a calendar displays the current month and the days and time the currently selected time window is open. the anchor time is returned. you would use the search criteria as follows: c:import 560 . The time scale below the calendar shows the time of the currently selected day the time window is open. The following list illustrates the behavior: • A range of months wraps around a year. When you use restrictions.Automating Processes Across the System Landscape • Skip when time window is closed is false: slide the result to the next opening to the intersection. Finding Time Windows You can search for time windows using filters and the Search Time Windows box on the Time Windows tab. Automating Processes Across the System Landscape You can search more than one property. Access and Admin. If you have the object security. The following table illustrates the available prefixes for time windows: Prefixes Description n. It allows you to specify which users can access. For example. application searches the application property Deleting Time Windows You can only delete time windows when no other objects relate to them.the type of object with a link to it • Related Object .objects can sometimes be used in different roles Security Privilege Description TimeWindow.the name of the object with a link to it • Used As . and delete the time window. The table in related objects contains three columns: • Type . as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:). you have an additional Security tab on the time window.Create Create time windows TimeWindow.Edit Edit time windows TimeWindow. comment searches the documentation property d. These privileges can be granted system-wide. per partition or isolation group. description searches the description property a. if there are jobs that have run with the time window. the time window cannot be deleted until all jobs that ran with it have been deleted.View Access time windows You can grant privileges on two levels. You can see all jobs that relate to the time window in Related Objects in the lower detail pane and on the show page.Delete Delete time windows TimeWindow. See the Advanced Object Search for more information. edit. which requires the Chargeable version. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges 561 . a privilege granted on Admin level allows the grantee to grant the privilege to other users. name searches the name property c. You want to have a job run on every third workday of the month according to an SAP Factory Calendar 562 . Choose Environment > Time Windows in the Navigation bar. Choose the Elements tab and choose Add and fill in the values for the Elements tab. Choose Save and Close. 5. Values The configuration details for time windows can be found in the Configuration Data for Time Windows section of the documentation. 4. However. 2. Choose Refresh to see all existing time windows. Choose Environment > Time Windows. never remove built-in time windows. refer to the section below. Fill in the details. 4. 3. Choose the New Time Window button and fill in the values for the Time Window tab. Note You can choose Calendar to choose a from and until day. Example The BRLN_AIXS4 is going to be upgraded and a time window needs to be created. Choose Save and Close to save the time window. 1. Time Window Tab Name: DataWareHouseUpgrade Description: Data Warehouse Upgrade Documentation Tab Documentation: BRLN_AIXS4 will be upgraded and unavailable the 15th of march Elements Tab from: 15-03-2010 17:30 until: 15-03-2010 20:30 Tip SAP CPS contains many predefined time windows that can be used to create new time windows.Automating Processes Across the System Landscape Procedure 1. 3. 2. Choose New Time Window to create a time window. Time Window • Name . 7. On the Elements tab. fill PR1_Never into the Name field and check the field Is Calendar. • Description . 12. fill calendar=PR5 FR into the with parameters field. • Disabled During Time Window . Choose Save & Close. Choose Save & Close and choose New Time Window from the context-menu. • Time Zone . Choose Environment > Time Windows. 5. Choose New Time Window from the context-menu to create a time window. Choose Save.Automating Processes Across the System Landscape 1. 11. 3. Fill PR1_Never into the If an open time window is closed during field. 6. • Enabled During Time Window . Choose Refresh to see all existing time windows. check the Is Calendar field. Fill PR1_3RD_Workday into the Name field.The name of the application used to group this object. inspect the open times on the Opens at tab to make sure they are ok. fill 3 and PR1_FR into the to the and open day in fields. • Application . Fill PR1_FR into the name field and check the field Is Calendar. 8.Shifting is used in the time widow. 563 . 4. 10. See Also • Configuration Data for Time Windows • Shifting Times and Days with Time Windows • Using Time Windows in Jobs • Defining Advanced Execution Times with Period Functions Configuration Data for Time Windows Use The following sections describe the available settings for time windows.The time zone for the time window. 2. • isCalendar .The name of the time window. Choose Save & Close and choose New Time Window from the context-menu.The time window during which this time window is disabled. fill SAP_FactoryCalendar into the and period function field. 9.The description of the time window. Choose Forward in the then shift this day field.The time window during which this time window is enabled. 564 . then the window is open only for the first Monday in July. It is also possible to specify a period function. • to the . for example) to be calculated. and allow you to shift the start of the day from midnight to some other time during the day. Period functions can also take parameters. for example 6:00AM or 8:00AM. a time window that is open from 1 July to 1 August in the first section. For example. Elements Each section of the time window dialog box restricts the time the time window is open. Time windows have an optional time zone.(Needs to be a Calendar time window) Documentation • Documentation A comment about a time window. and from the 1st Monday to the 1st Monday. In the previous example the weekdays were set as 'from the 1st Monday to the 1st Monday'. (Needs to be a Calendar time window) • then shift this day . A period function is a function defined by Redwood that allows more complicated date cycles (Easter.The time window during which this time window element is disabled. Negative offsets or offsets with a value higher than 24 are not allowed.The time window that defines the units to shift. If a time zone is not specified then a contextual time zone is used (for example the time zone of the job or queue that the time window is attached to).The time window used to compare with the calendar time window. If these are set to the same value then the range is open for that time. Offsets replace the time wrapping available in Version 7. The time window is only open when all the restrictions allow it to be open.The number of units to shift (has to be a positive integer) • open day in .The direction of the shift.Automating Processes Across the System Landscape • If an open day is closed during .The time window during which this time window element is enabled. The restrictions can be: • A range of dates • A range of months • A range of days of the month (with an offset) • A range of weekdays (with an offset) • A range of times of day (with an offset allowing to cross midnight) Offsets are specified in hours. Each restriction requires a 'from' and an 'until'. Time windows can also be combined using inclusion and exclusion: • Enabled During Time Window . If this is specified then all references to the time window will use this time zone. the interpretation of which is specific to the period function. • Disabled During Time Window . wrap at 24. 8:00 = 10:00 ToTime = null OffsetTimeOfDay = 8:00. actually runs on Saturday 4 AM.Automating Processes Across the System Landscape Shifting Times and Days with Time Windows Use You can use time windows to shift times or days. indicating end of day OffsetTimeOfDay= b To convert Thursday 18:00 . To convert a . Day Shifting Day shifting is a feature that allows you to move a certain amount of days forwa rd or backward when criteria are met. Saturday starts at 6 AM. Note that the start time of jobs will only be modified when OffsetTimeOfDay > Scheduled Start Time. This behavior has not changed from version 7 and earlier. proceed as follows: FromTime = a .b wrap (note that a > b). they are always open for the whole day and allow you to shift days forward or backward. 565 . for example. Therefore. to take custom calendars or public holidays into account when scheduling repetitive processes. Simple Day Shifting You can shift a specified amount of days forward or backward by specifying the and shift open periods field on a time window element. if the Dutch railway schedule a job for execution at midnight with a time window.08:00 wrap. you need to use Paced Day Shifting described below. For example. Note that this shift counts actual days. Day shifting requires that time windows be calendar time windows. the night from Friday to Saturday is still Friday. In previous releases (version 6 and 7). Calendar time windows are normal time windows with the restriction that they do not specify times. disabled during Fridays: FromTime = 18:00 . decided that for their schedule.08:00 wrap. When the From-time was greater than the To-time. for example. the wrap-functionality was available. This without regard of other attributes of the time window. they want to specify that a job that is submitted for Friday 4 AM.b ToTime = null. an element could be 18:00 . Note The wrapped part of the time interval is always open if the time window was open at the beginning of the time interval. This can be achieved by using the OffsetTimeOfDay attribute of time window elements. For example. The Dutch railway company. Time Shifting Time windows allow you to shift the time that a day starts. if you want to only count workdays. the job will actually run the following day at 6AM. which has an OffsetTimeOfDay set to 6 AM. this behavior could be specified using the "wrap-functionality". the number of steps to move (n) is defined in the main time window. you want to shift that process to the preceding workday. For example. SAP CPS will use that time window to move forward according to the factory calendar.Automating Processes Across the System Landscape The shift is relative to the range of days the time window element is open. your process runs on the last day of the month. The time zone of the job is the time zone specified in the submit wizard. The second (Shift) time window specifies when to shift (when the Shift time window is closed). You create three calendar time windows. if your time window element is open from the 1st to the 3rd day of a month and the shift is 1. when this is a weekday (Mon-Fri). • Date From and Date To cannot be set. Calendar time windows have the following restrictions: On the calendar time window: • All referenced time windows must be calendars. when an open day in TW_Cal is closed in TW_Closed then we shift the process to the preceding open day in TW_WeekDay. the first is closed on Public Holidays and is named TW_Closed. • Time of Day From and Time of Day To cannot be set. the second is open Monday to Friday and is named TW_WeekDay. 566 . When the job was submitted from RedwoodScript. defines the stride of the shift (n number of open days). the third is your main time window named TW_Cal. On elements of a calendar time window: • All referenced time windows must be calendars. A time window PR5_3RD_WORKDAY with a time window element "on the last day of the month" and the shift condition "If an open day is closed during PR5_NEVER then shift this day forward to the 3rd following open day in PR5_FR". This works by comparing two time windows. Another example. named PR5_NEVER. the third (Stride) time window. the element will be open from 3rd until the 6th day of the month. if an open day of that time window is closed in the Shift time window. A PR5_FR time window. Paced Day Shifting This allows you to compensate public holidays or when the last day of the month falls a Sunday. it is open on the last day of the month. • Time zone cannot be set. without specific time zone. Calendar time windows are evaluated in the time zone of the job. For example. You create 3 calendar time windows. which is defined by the period function SAP_FactoryCalendar. it will need the following parameters: calendar=PR5 FR. A time window that is always closed. You can compensate for that by shifting a process a few working days forward or backward. your process runs on the 3rd workday of every month according to the FR factory calendar in your SAP system. the central server time zone is used for the job time zone. the reference is the main time window. then the process is shifted forward or backward according to a third time window. for example. When the last day of the month is a Saturday. • Time zone cannot be set. Sunday or public holiday. 6. a. Using Time Windows in Jobs Use Jobs and job chains can have time windows to restrict the start time to specific time periods. 11. On the Elements tab. Submit SAP_ImportCalendars for SAP System PR5 and SAP Calendar Type factory. Fill PR5_FR into the Name field. it is always closed. 5. 14. Fill 3 into the to the field. 8. 4. choose Add. Note that since we did not specify any details about when the time window opens. Navigate to Environment > Time Windows. 567 . Fill PR5_Never into the Name field. and select last in the and from the field (6th line from the top). Choose New Time Window from the context menu. fill calendar=PR5 FR into the with parameters field. choose Add. Select PR5_Never in the If an open day is closed during field. leave day of the month. 3. Choose New Time Window from the context menu. Select is Calendar. Choose Save & Close. Select Forward in the then shift this day field. On the Elements tab. 7. 9.Automating Processes Across the System Landscape Example 3rd workday according to FR factory calendar of SAP system PR5 1. 19. Choose Save & Close. 12. 16. Fill PR5_3RD_WorkDay into the Name field. 21. Time windows restrict the start time of a job. Navigate to Definitions > Job Definitions. Select is Calendar. 2. a time window open from 10:00 until 10:05 forces the scheduled job to start at 10:00 if resources are available but the job must have started by 10:05 or the job gets the Overdue status. Choose New Time Window from the context menu. 10. 13. Select is Calendar and choose Save & Close. 20. Select PR5_FR in the open day in field. 17. and select SAP_FactoryCalendar in the period function. 18. 15. Choose Submit. Choose Apply. For this matter it is possible to create period functions. From the context-menu of a job chain. The time window is displayed in the lower detail pane. choose the job id. 4. 5. choose Edit. choose Submit. notice that the Time Window field is filled with a time window. Choose Submit. Choose Edit Job Chain. Easter for example. Defining Advanced Execution Times with Period Functions Use SAP CPS features rich calendaring possibilities. Note When using a time window that does not have a time zone. Choose Definitions > Job Chains. Procedure To restrict a job chain to a specific time window: 1. However. To verify which time window a specific job is restricted to: 1. Choose advanced. If the job chain has parameters. 2. Enter a new time window. sometimes complex calculations are required to determine if certain conditions are met for a time window to be open. Period functions are boolean functions used in time windows that calculate when a time window is supposed to be open or closed. 2. Enter a time window into the field Restrict to Time Window of the Job Chain tab. 4. Choose Monitoring > Jobs. time windows offer great flexibility while remaining easy to define. fill these in and choose Time and Dates. Choose Save & Close. Choose Definitions > Job Chains. 568 . From the context-menu of a job chain. 3. 3. 6.Automating Processes Across the System Landscape Job definitions and job chains can be configured to run according to a specific time window. 7. 6. 3. To overrule the time window at submit time: 1. 2. that can be overruled at submit time. Select the job. Choose Scheduling and enter a queue name. 5. it is recommended to define a time zone as well. in the lower detail pane. 4. If the job is part of a job chain. stored in the Repository. for a time window in this example. SAP Calendar period functions accept the following arguments: • calendar=<SAP Instance> <Calendar ID> Parameter Description 569 . however. Period functions of SAP calendars take arguments.Automating Processes Across the System Landscape Period functions are complex functions written in RedwoodScript. that are used in time windows to calculate the dates and times that a time interval is open. since all time windows using a period function share the same instance of a period function. can include several different calendars. to be able to create period functions. for example. Easter Period Function The easter period function accepts one dayNumber parameter. these become available as period functions. SAP Calendars AP calendars are imported and converted to period functions to be used in time windows. You can also define your own period functions. in period functions as these might have a long life-time or the dispatcher may refresh the session. the calendaring data needs to be imported from the instance System_InDayRecurrence Recurrence within a day System_Easter Calculates Easter or Easter-based holidays System_FiscalPeriods Calculates open days based on periods in a fiscal year. causing JCS-122017: Trying to use non-attached object TimeWindow errors. No parameter or dayNumber=0 means easter Sunday. When you import SAP Calendars (like the Factory and Holiday calendars). which all must have a unique calendar id. which is the offset to easter Sunday. parameter values can be cached for performance reasons. You must be very careful and check your parameters. as the factory calendar. Note You need the scripting module. Caching Objects in Pre-Conditions You should not cache SchedulerEntities. which requires the Module. such as Time Windows.Scripting license key. Note In the Free of Charge version you cannot create period functions so only built-in period functions are available. the calendaring data needs to be imported from the instance SAP_HolidayCalendar Use the SAP calendar from an SAP instance to schedule jobs. The following period functions are built-in: Period Function Description SAP_FactoryCalendar Use the SAP calendar from an SAP instance to schedule jobs. 7 (Sat. true (Monday) false (January 1st) Note The period function parameters are case-sensitive. both US and ISO-8601 fiscal years are supported. second and third (period is 5 weeks long) period of the quarter weekday{From|To} Specifies the day(s) of the week.. Fiscal years divide quarters in 1 five.dayTo=8 (Workday) urday).. 4 (Wednesday). 4 (Wednesday). 2. 6 (Friday). it specifies the last weekday. 7 (Saturday) isISOPeriod Specifies the start of the year. 9 (Weekends). 0 (Anyday) weekOrDay{From|To} Specifies the number of the integers >=1 (1.Automating Processes Across the System Landscape <SAP Instance> The SAP Instance Name <Calendar ID> The Calendar Id. 3 . Fiscal Period Function The fiscal period function is used to calculate open days based on the fiscal year. 10 (Workweek). weekOrDayFrom=1 (first day of the period) weekOrDayTo=1 (first day of the period) weekStartsAtWeekday Specifies the first day of a 1 (Sunday). 3 weekdayFrom=8 (Tuesday). can be found in the output file of the SAP_ImportCalendar job. 5 day=2 (Thursday). 3 weekDayDefiningculate first week of the year (Tuesday). 5 FirstWeek=5 (Thursday). 2 (Monday). Note All parameters must be filled or you will not get the desired result. ISO-8601 fiscal years always start on Monday. 3 weekStartsAtWeekweek (requires isoPeriod (Tuesday). The 4-5-4 fiscal period starts on the 2nd workday to the 6th workday of each period. You should only specify instances for which you have imported the calendar with the SAP_ImportCalendar job definition and the specific calendar ID must exist in that SAP instance. . Use the Opens at tab of the time window edit screen to make sure you are using the correct values. Default week1=4 week2=4 week3=5 1 (Sunday). 4 (Wednesday). if the number is larger than the number of days in the period. usually two characters. 2 (Monday). Parameter Description Values week{1|2|3} Specifies the number of weeks 4 (period is 4 weeks long) 5 for the first. 8 (Workday).1 (Sunday). 6 (Friday). 2 (Monday). 6 (Friday). 5 (Workday) week(Thursday).and 2 four-week periods. US style fiscal years start on January 1st.) day in the period. 570 false (Year starts on January 1st). 7 (Satto be set to true) urday) weekDayDefiningFirstWeek Specifies the day to use to cal. for example weekdayFrom=2 and weekdayTo=6 is equivalent to weekdayFrom=8 and weekdayTo=8. for example weekOrDayFrom=5 and weekOrDayTo=5. meaning the last workweek of each period (5 is greater than 4). Parameter Description Values Default startHour The hour the recurrence starts 0-23 0 startMinute The minute the recurrence starts 0-59 0 startSecond The second the recurrence starts 0-59 0 endHour The hour the recurrence ends 0-23 23 endMinute The minute the recurrence ends 0-59 59 endSecond The second the recurrence ends 0-59 59 intervalHour The interval hour of the recurrence 0-23 0 intervalMinute The interval minute of the recurrence 0-59 15 intervalSecond The interval second of the recurrence 0-59 0 571 . the following table lists equivalent combinations: Time frame in Workdays Time frame in Workweeks weekdayFrom=8weekdayTo=8weekOrDayFrom=1weekOrDayTo=5 weekdayFrom=10weekdayTo=10weekOrDayFrom=1weekOrDayTo=1 weekdayFrom=8weekdayTo=8weekOrDayFrom=1weekOrDayTo=10 weekdayFrom=10weekdayTo=10weekOrDayFrom=1weekOrDayTo=2 When isISOPeriod is true. you first specify the number weeks of your three periods. then the Monday of the first week of the year is calculated as follows: • the week with the year's first Thursday in it. If you only want to have the process run on the 5th week of a period. The difference between weekdayFrom=8 and weekdayFrom=10 is that the latter is a week. You can customize this behavior with the following parameter: • weekDayDefiningFirstWeek Recurrence within a day This period function is used to create recurrences in a day. this time window must then be specified in the Disabled During Time Window field of the time window element where you specified the period function. that is skip it on two of the three periods (those that are 4 weeks in length). you specify an open time frame which can be a day or a number of days using the weekdayFrom and weekdayTo parameters. To illustrate the difference between weekdayFrom=8 and weekdayFrom=10. for example week1=4 week2=4 week3=5. your workweek is from Monday to Friday. not individual days . you need to create a second time window which is open on the 4th week of a period. Next.this is important when we start counting below. • the week with 4 January in it.Automating Processes Across the System Landscape Using Fiscal Period Functions When you create a fiscal period function. Finally. you specify when the time frame occurs in your 3 periods using the weekOrDayFrom and weekOrDayTo parameters. endMinute. • durationHour.Automating Processes Across the System Landscape durationHour The duration of the opening (hours) 0-23 0 durationMinute The duration of the opening (minutes) 0-59 1 durationSecond The duration of the opening (seconds) 0-59 0 • startHour. the EndTime will be the start of the next day. default is 0:15:00. and intervalSecond specify interval at which the function should open. durationMinute. default is 0:01:00. intervalMinute. and startSecond specify the start of the recurrence in the day. the period function is always open. the period function is always open. Note the following: • if duration >= interval. startMinute. and endSecond specify the end of the recurrence in the day. • intervalHour. Context-Menu Actions Period functions support the following context-menu actions: Action Description Edit Security Edit the security of the period function Duplicate Make a copy of the period function to create a similar one Delete Delete the period function Export Export the period function into a CAR file Edit Edit the period function Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New period function Create a new period function Filter > New Filter Create a new period function filter Filter > Edit Filter Edit current period function filter Filter > Delete Delete current period function filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query 572 . When EndTime=0. • endHour. and durationSecond specify how long the recurrence period should open. default 23:59:59. Note When the duration >= interval. default 0:00:00. • endTime = 0 is evaluated as the start of the following day. description searches the description property a.the name of the object with a link to it • Used As .the type of object with a link to it • Related Object . if there are time windows that use the period function. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. The following table illustrates the available prefixes for period functions: Prefixes Description n.Delete Delete period functions PeriodFunction. For example. if you want to display all period functions with the term import in the comment. See the Advanced Object Search for more information. IntelliSearch allows you to specify complex queries in a simple way using prefixes. Filters allow you to specify a list of objects with static criteria. the period function cannot be deleted until all time windows that use it have been edited to not use it anymore. you would use the search criteria as follows: c:import You can search more than one property. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. The table in related objects contains three columns: • Type . For example. as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:).objects can sometimes be used in different roles Security Privilege Description PeriodFunction.Create Create period functions PeriodFunction.Edit Edit period functions 573 . You can see all objects that relate to the period function in Related Objects in the lower detail pane and on the show page. name searches the name property c. comment searches the documentation property d.Automating Processes Across the System Landscape Finding Period Functions You can search for period functions using filters and the Search Period Functions box on the Period Functions tab. application searches the application property Deleting Period Functions You can only delete period functions when no other objects relate to them. In this case. You need 3 time windows in this case. Tab Field Value Time Window Name SAP_4th_Workday Time Window Is Calendar true (checked) Time Window If an open day is closed during TW_AlwaysClosed 574 . Only the following fields need to be specified: Field Value Name TW_AlwaysClosed Is Calendar true (checked) You also need a time window to use the SAP Factory Calendar: Field Value Name TW_GermanFactoryCalendar Is Calendar true (checked) The German factory calendar of the PR1 instance is used in a time window element as follows: Field Value Period Function SAP_FactoryCalendar with parameters calendar=PR1 FR The time window with the day shift is the one you will use in SAP CPS. You need to create a time window that is always closed. you want to have the time open on the fourth workday of the SAP Factory Calendar of every month. a privilege granted on Admin level allows the grantee to grant the privilege to other users.View Access period functions You can grant privileges on two levels. Note We need the TW_AlwaysClosed and TW_GermanFactoryCalendar time windows below because we want to force SAP CPS to use the SAP Calendar for determining and counting workdays.Automating Processes Across the System Landscape PeriodFunction. one that uses the SAP Factory Calendar and one for the day shift. One that is always closed. Access and Admin. this way it takes public holidays into account. per partition or isolation group. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Example In the following examples. all other fields are left with their default values. tables illustrate the fields of the time window element that need to be filled. These privileges can be granted system-wide. SAP Calendar Period Function Parameter In this example. it should be open on the first workday of the month and shift 3 days forward when the open day falls on a day where TW_AlwaysClosed is closed. assume there is an office in London. 575 . For example. Field Value Period Function System_Easter with parameters dayNumber=-2 Fiscal Period Function You want a time window to open on the third Monday of each period Field Value Period Function System_FiscalPeriods with parameters week1=4 week2=5 week3=4 weekdayFrom=2 weekdayTo=2 weekOrDayFrom=3 weekOrDayTo=3 isISOPeriod=true weekStartsAtWeekday=2 weekDayDefiningFirstWeek=5 You want a time window open on the last weekend of each period Field Value Period Function System_FiscalPeriods with parameters week1=4 week2=4 week3=5 weekdayFrom=9 weekdayTo=9 weekOrDayFrom=5 weekOrDayTo=5 isISOPeriod=true weekStartsAtWeekday=2 weekDayDefiningFirstWeek=5 You want your time window to open on the second and third Thursday of each period Field Value Period Function System_FiscalPeriods with parameters week1=4 week2=4 week3=5 weekdayFrom=5 weekdayTo=5 weekOrDayFrom=2 weekOrDayTo=3 isISOPeriod=true weekStartsAtWeekday=2 weekDayDefiningFirstWeek=5 Time Zones Use The time zones feature of SAP CPS makes it easy to manage scheduler environments that span multiple time zones. The job can be submitted to start at 01:00 (for example 1 AM) in the New York time zone and the time offset of London to New York does not need to be calculated. These jobs run in the night in New York so that the extra server load does not affect the people in the New York office.Automating Processes Across the System Landscape Time Window the shift this day Forward Time Window to the 3 Time Window open day in TW_GermanFactoryCalendar Elements and from the 1st workday of the month Easter Period Function The following time window element defines Good Friday (Friday preceding easter). High-load jobs need to be scheduled to run on the server in New York. SAP CPS now displays Daylight saving time alongside the offset to help you understand the current offset. Daylight saving times can be hard to remember. especially when you have to manage multiple time zones on different parts of the globe. Note The SAP CPS central server uses the time zone information from the JVM. Olson Time Zones SAP CPS uses the Olson time zone format.htm].gov/pub and regularly updated. The Olson time zone definitions are a standard reference on what times were historically for the last hundred years. Avoid releasing all queues simultaneously. The official term for them is the "tz" database [http://www. SAP CPS has no issues with time switches. For computer systems this means an hour of the day occurs twice or is skipped. In most cases this time zone is either simply the session time zone or an explicitly provided time zone. You can also use time windows to achieve the above without human intervention at the time of the date-change. When the job was submitted from RedwoodScript.nci. Arthur Olson started the "America/New York" style time zone definitions that were first put into BSD 4. The time zones are publicly stored at ftp://elsie. Time zones are part of the Environment section in the navigation bar. If systems in your datacenter run SAP CPS jobs and need to be shut-down over the switch period (usually SAP systems). without specific time zone. The time zones available are loaded directly from the Java Time Zone database when SAP CPS is installed.nih. Daylight Saving Time (DST) In the developed world.Automating Processes Across the System Landscape The time zone of a job is the time zone specified in the submit wizard.com/tz/tz-link. or the SAP systems might get overloaded as soon as they become available. as you do not want new jobs to start. make sure you hold all the affected queues before shutting down the SAP systems. Please wait until all jobs have reached a final state before shutting SAP systems down. DST has been introduced to attempt to save energy. This data needs to be kept upto-date for all time zones you use. which have been changed in various countries in the last years. All time and date calculations are done in the context of a time zone. This is especially true for Daylight Saving Times. Context-Menu Actions Time zones support the following context-menu actions: Action Description Edit Edit the time zone Hide in timezone lists Hide the current time zone in timezone lists Show in timezone lists Show the current time zone in timezone lists Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar Filter > New Filter Create a new time zone filter Filter > Edit Filter Edit current time zone filter Filter > Delete Delete current time zone filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query 576 .twinsun. Most if not all Unices now support this style. the central server time zone is used for the job time zone.3. Filters allow you to specify a list of objects with static criteria. comment searches the documentation property d. Choose Save and Close to save the time zone. IntelliSearch allows you to specify complex queries in a simple way using prefixes. description searches the description property Procedure 1. 577 . Choose Environment > Time Zones and choose a time zone.The name of the time zone. Finding Time Zones You can search for time zones using filters and the Search Time Zones box on the Time Zones tab. as follows: c:import n:Bi Note No spaces should be entered before or after the colon (:). 3. Time Zone Tab • Name .Automating Processes Across the System Landscape It is only possible to edit the description of a time zone (which is used in preference to the name for display purposes). It is not possible to edit any of the other attributes. Documentation Tab • Documentation . if you want to display all time zones with the term import in the comment. From the context-menu. you would use the search criteria as follows: c:import You can search more than one property. choose Edit. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes.A comment about the time zone. See the Advanced Object Search for more information. The following table illustrates the available prefixes for time zones: Prefixes Description n. • Description . Enter a description and comment. 2. 4.The description of the time zone. name searches the name property c. For example. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. respectively Mass Activities Activities 578 . imported objects will be used in autocomplete fields.Used to import job definitions itions from the Java Scheduler Mass Activities Importing Java Job Definitions SAP_MA_ImportMassActiv. Importing External Commands SAP_BW_ImportInfoPack. like calendars and batch events.Used in job parameters.Automating Processes Across the System Landscape Example 1.SAP_ImportAbapParamemeter definition terDefinition Use Topic Imports the parameter definition Importing ABAP Program of an ABAP program Parameter Definitions Archive objects SAP_ImportArchiveObjects Used in job parameters Importing Archive Objects Batch events SAP_ImportBatchEvents Used in job parameters Importing Batch Events Calendars SAP_ImportCalendars Used for scheduling Importing Calendars CCMS jobs SAP_ImportCcmsJobs Used for re-scheduling already completed jobs Importing CCMS Jobs CCMS monitors SAP_ImportCcmsMonitors Monitor multiple SAP Systems Integrating CCMS Monitfrom one central location by im. removing and editing grams parameter values of variants ABAP program para. Some objects. ageGroups Java Job Definitions SAP_JXBP_ImportJobDefin. From the context-menu. Enter Europe/Walldorf as description. 2. can be used in SAP CPS for scheduling. This avoids typos in the values. Importing Objects from SAP Systems Use You can import various objects from SAP Systems for use in SAP CPS.Used in job parameters. Importing Communication Channels Used in job parameters. You can create as well as delete or edit imported variants in SAP CPS. choose Edit. 3. 4.ors porting their monitors Communication channels SAP_PI_ImportChannels External commands SAP_ImportExternalCommands Info Packages Used is job parameters. The following objects can be imported from SAP Systems: Object Job Definition ABAP programs SAP_ImportAbapPrograms Used in job parameters as well as Importing ABAP Profor adding. Choose Save and Close to save the time zone.Imports one or all Mass Activities. for example job parameters. ages Info Package Groups SAP_BW_ImportInfoPack. Importing and Running itySAP_MA_ImportMass. Choose Environment > Time Zones and select the Europe/Berlin time zone. The following job definition allows you to import ABAP programs: • SAP_ImportAbapPrograms Parameters • SAP System .Allows you to delete previously imported ABAP programs Procedure Importing SAP ABAP programs 1. Navigate to Definitions > Job Definitions. 4. removing and Importing Variant Definiediting parameter values of vari. Choose Submit. 3. Fill the fields and choose Submit. 579 .The SAP system you want to import the ABAP's from • ABAP program . removing and editing parameter values of variants Variant Definitions SAP_ImportVariantDefinition Used for adding. 2. Example 1.tions ants See Also • Default SAP Job Definitions Importing ABAP Programs Use You import ABAP programs to be able to select the correct ABAP when you submit SAP CPS job definitions.You can restrict the amount of ABAP programs to import • Drop old selection? . Navigate to Definitions > Job Definitions.The name or pattern of ABAP program names to import • Max.Automating Processes Across the System Landscape Output devices SAP_ImportOutputDevices Used in job parameters Importing Output Devices Process Chains SAP_BW_ImportProcessChains Used in job parameters Running Process Chains Restarting Process Chains Process Chain Defin. Choose Submit from the context-menu of the job definition SAP_ImportAbapPrograms. count .SAP_BW_ImportProcessition ChainDefinition Used for adding. removing and editing parameter values see topics above Recipients SAP_ImportRecipients Used in job parameters Importing Recipients Variants SAP_ImportVariants Used in job parameters as well as Importing Variants for adding. Select the SAP System PR1. Choose Submit. 3.Automating Processes Across the System Landscape 2. ABAP program RSUSR*. Choose Submit from the context-menu of the job definition SAP_ImportAbapPrograms. Choose Submit from the context-menu of the job definition SAP_ImportAbapPrograms. Navigate to Definitions > Job Definitions. Navigate to Definitions > Job Definitions. Select the SAP System PR1. See Also Handling ABAP programs Importing ABAP Program Parameter Definitions Use You import ABAP program parameter definitions to be able to select the correct ABAP when you submit SAP CPS job definitions. 2. Choose Submit from the context-menu of the job definition SAP_ImportAbapProgramParameterDefinition. Choose Submit. 4. 4. 2. Example 1.Allows you to overwrite imported ABAP program parameters Procedure Importing SAP ABAP program parameter definitions 1. 580 . 3. 4. leave the other parameter at the default value. Fill the fields and choose Submit. leave the other parameters at the default value. Choose Submit. ABAP program RSUSR*.The SAP system you want to import the parameter definitions from • ABAP program . 3. The following job definition allows you to import ABAP program parameter definitions: • SAP_ImportAbapProgramParameterDefinition ( see the Administration Guide ) Parameters • SAP System .The name or pattern of ABAP program names of which you want to import parameter definitions • Overwrite ABAP parameters? . Example 1. 3.Allows you to delete previously imported archive objects Prerequisites • XBP 3.The SAP system you want to import the archive objects from • Drop old selection? .Automating Processes Across the System Landscape Importing Archive Objects Use You import archive objects to be able to select the correct archive object when you submit SAP CPS job definitions. Select a target SAP system. Navigate to Definitions > Job Definitions. 3.0 must be available in the SAP system Procedure Importing archive objects 1. Choose Submit. Select the SAP System PR1. Importing Batch Events Use You import batch events to be able to select the correct event object when you event history. 4. 2. 4.The SAP system you want to import the events from 581 . Choose Submit from the context-menu of the job definition SAP_ImportArchiveObjects. Navigate to Definitions > Job Definitions. leave the other parameter at the default value. Choose Submit from the context-menu of the job definition SAP_ImportArchiveObjects. The following job definition allows you to import batch events: • SAP_ImportArchiveObjects Parameters • SAP System . 2. Choose Submit. The following job definition allows you to import archive objects: • SAP_ImportArchiveObjects Parameters • SAP System . Navigate to Definitions > Job Definitions.Allows you to delete previously imported events Prerequisites • XBP 3. Example 1. 3. Navigate to Definitions > Job Definitions.The type of SAP Calendar to import. usually on of Factory or Holiday. Navigate to Definitions > Job Definitions. Select an SAP System and an SAP Calendar type. choose Submit. Importing Calendars Use SAP CPS features rich calendaring possibilities.The SAP system to import the calendars from • Calendar Type . leave the other parameter at the default value.0 must be available in the SAP system Procedure Importing SAP ABAP programs 1. 4. Choose Submit from the context-menu of the job definition SAP_ImportCalendars. time windows offer great flexibility while remaining easy to define. 2. 4. 2. Choose Submit from the context-menu of the job definition SAP_ImportArchiveObjects. Procedure Importing SAP Calendars 1. Select a target SAP system. Select the SAP System PR1. 4. Choose Submit. Choose Submit. 3. 582 . 2.Automating Processes Across the System Landscape • Drop old selection? . Choose Submit. 3. The following job definition is used to import SAP Calendars: • SAP_ImportCalendars The job definition has the following parameters: • SAP System . SAP calendars are imported and converted to period functions to be used in time windows. Choose Submit from the context-menu of the job definition SAP_ImportArchiveObjects. If this is the case.The job finished successfully. you specify the following: 583 . Note You may be restricted to connecting to a single SAP client/instance combination from within SAP CPS at any given time. please make sure you are in the correct isolation group. You have previously submitted background jobs in SAP via transaction SM36 and want these jobs to be controlled by SAP CPS. import multi-step SAP jobs as job chains. one set per ABAP called. in one job definition.The job has been picked up by a batch work process but not started yet. or have a job chain use the SAP_AbapRun job definition. corresponding to the SAP client/instance combination where you submitted the jobs initially. When multiple conflicting jobs match your search criteria. • ReleaseSuspended .The job has been intercepted.limit key in your license and your privileges. the latest job matching the search criteria will be imported. • Ready . • Finished . This means that it can become tedious to attempt to run a subset of ABAP jobs from the job definition.SAP. this depends on the value of the ProcessServerService.The job is created with no start condition. When you import a multi-step SAP job into one job definition. or has been killed.The job finished with error. • Intercepted . You can import CCMS job steps as separate job definitions.The job is currently running. monitoring and background jobs. • Running .The job has been scheduled and is now waiting for execution according to its start conditions.The job has been suspended because an upgrade of the SAP batch system is currently running. the following statuses are valid: • Canceled . the resulting job definition has many parameters. For example. • Released . • Scheduled . Note that the JOB_STATUSES parameter takes a string of CCMS job statuses. to match all jobs that have a final state. If you want to run ABAP programs separately and do not want a job definition per SAP job.Automating Processes Across the System Landscape See Also SAP_ImportCalendars Importing CCMS Jobs Use The SAP Computer Center Management System (CCMS) is part of an SAP solution that provides common functionality such as user management. the last-named keeps the number of job definitions in SAP CPS low and allows you have a better overview. The downside is that you cannot easily schedule a step on its own without filling in the parameters yourself or submitting the job chain with steps disabled. Note The SAP_ImportCcmsJobs job will fail when it attempts to overwrite anything other than SAPR3 job definition types. N ADD_STEP_NUMBERS Add Step Numbers to SAP Job In Names? String N Y.of Values sion . 5.Automating Processes Across the System Landscape Finished.ers? ERS String N Y.N SHOWLOG Retrieve Job Log? String Y Y. choose Submit. 2.N TEST_RUN Test run? In String N Y. Choose submit. Canceled Procedure To import your CCMS jobs from an SAP System: 1.N OVERWRITE_LANGUAGE Force Step Language In String OVERWRITE_USER Force Step User In String APPLICATION Application In String CREATE_JOBDEFS_FOR_STEPS Create a Job Definition for Each Step? In String N N (Never) A (ABAP) S (Step) EXTENGenerate Extra Print Paramet. 3.In DED_PRINT_PARAMET. 4.In tions? String Y Y.N JOBDEF_NAME Name of the Generated Job Definition In String In String P P (Prefix job name) F (Fail) OVERWRITE Overwrite Existing Job Defini. Choose Definitions > Job Definitions and locate the job definition SAP_ImportCccmsJobs. Fill in the corresponding information in both tabs for each parameter (for reference see table below). Choose scheduling on the left-hand side and choose the queue belonging to the SAP System.N JOBNAME_GENERATION When multiple jobs match In 584 Default Default List Expres. From the context-menu. Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP Client In Out String JOBNAME SAP Job Name In String JOBCOUNT SAP Job Count In String SAP_USER_NAME SAP User Name In String JOB_STATUSES Job statuses to consider In String FROM_TIMESTAMP Starting from In Date Time Zone CLIENT_SPECIFIC Generate Job Definitions for This Client Only? In String N Y. Automating Processes Across the System Landscape SHOWSPOOL Retrieve Spool Lists? In String Y Y.N See Also • Configuring an SAP System for Central Process Scheduling • Connecting to SAP Systems • Submitting a Job or Job Chain 585 . Fill in the information below for the Parameters tab. it was submitted by jdoe and executed the ABAP RSUSR100 in the SAP System sapprd01 1. choose Submit. 6. From the context-menu. Choose Refresh to see the newly submitted job.JDOE_RSUSR100 • OVERWRITE . 5.100 • CLIENT_SPECIFIC .Y • DELETE_JOB .N IGNORE_APPL_RC Ignore Application Return Code? In String N Y.jdoe • CLIENT .*RSUSR100* • JOBCOUNT . Choose Submit and navigate to Monitoring > Jobs.N DELETE_JOB Delete Job When Finished? In String N Y. 4.Y • SHOWLOG .1112 • SAP_USER_NAME .Y Generation Settings tab • JOBDEF_NAME .Y • SHOWSPOOL .N SHOWAPPLLOG Retrieve Application Logs? In String N Y. Fill in the information below for the Generation Settings tab. 3. 2. Choose Definitions > Job Definitions and locate the job definition SAP_ImportCCMSjobs. Parameters tab • JOBNAME .N Example You want to import SAP job number 1112. 2. this is outlined in the Controlling Communication Channels with SAP CPS via PI/XI Procedure Importing archive objects 1. 3.Allows you to delete previously imported archive objects Prerequisites • You switched to external control in the Communication Channel Monitor [http://help.htm]. leave the other parameter at the default value. 4.The channel party • Drop old selection? .sap. 586 .The name of the channel • Channel Service . Choose Submit from the context-menu of the job definition SAP_PI_ImportChannels.The SAP system you want to import the archive objects from • Channel Name . Choose Submit. Note The SAP PI/XI interface requires a Chargeable license. Navigate to Definitions > Job Definitions. Select a target SAP system and fill in a Channel Name. The following job definition allows you to import communication channels: • SAP_PI_ImportChannels Parameters • SAP System . • You configured SAP CPS to connect to the PI interface of your SAP instance. 2. Select the SAP System PR1 and fill MyChannel into the Channel Name field.Automating Processes Across the System Landscape Importing Communication Channels via PI/XI Use You import communication channels to be able to select the correct communication channel when you submit SAP CPS job definitions.The service of the channel • Channel Party .com/saphelp_nw04/helpdata/EN/44/2a1a8620323f0ee10000000a114a6b/content. Navigate to Definitions > Job Definitions. 3. Example 1. Choose Submit from the context-menu of the job definition SAP_PI_ImportChannels. Choose Submit from the context-menu of the job definition SAP_ImportExternalCommands.The maximum amount of commands to import • Drop old selection? .Automating Processes Across the System Landscape 4. leave the other parameters at the default value. 4. Example 1. See Also • Controlling Communication Channels with SAP CPS via PI/XI • SAP Communication Channels Importing External Commands Use You import external commands to be able to select the correct archive object when you submit SAP CPS job definitions. Choose Submit. Choose Submit. count . Select a target SAP system. 587 . 3. Select the SAP System PR1.Allows you to delete previously imported external commands Procedure Importing external commands 1. 2. Navigate to Definitions > Job Definitions.The SAP system you want to import the external commands from • External command name .The name or a pattern of names of external commands • Operating system . 3. 2. Navigate to Definitions > Job Definitions. The following job definition allows you to import external commands: • SAP_ImportExternalCommands Parameters • SAP System . fill * and UNIX into the External command name and Operating system fields. 4. fill in the other parameters. Choose Submit. respectively. Choose Submit from the context-menu of the job definition SAP_ImportExternalCommands.The operating system the commands should belong to • Max. You can copy a parameter record. import the job definitions and schedule them from within SAP CPS. Note Scheduling and Monitoring of Mass Activities requires the ProcessServerService. 588 . and override certain parameters.10. Choose Submit from the context-menu of SAP_JXBP_ImportJobDefinitions. which is a subset of the parameter set in SAP. like a cron on Unix or Scheduled Tasks on Microsoft Windows. 2. Importing and Running Mass Activities Use Mass activities can be started and monitored from within SAP CPS like any other job chain. there is a Java Scheduler that allows you to schedule Message-Driven Beans. 4. SAP_MA_DeleteDunningProposal Delete dunning proposal of a new mass activity. 6. 5. You can specify parameters to override the current parameter set inside your SAP System. Choose Submit. SAP CPS allows you to connect to the scheduler. 3. which are available in the Configuration > Software section of the user interface. Parameter sets cannot be imported into SAP CPS. but does not include features such as time windows or complex submit frames. On Generation Settings tab select an application for the job definitions. Fill * into the JEE job definition field. Navigate to Definitions > Job Definitions. To be able to import Mass Activities.SAP. To import job definitions from the Java Scheduler. a parameter set must be activated for it. The imported job definitions can then be scheduled in SAP CPS like any other job. you need to load the ISU transport files.MassActivities license key. To be able to run jobs against the Java Scheduler you have to connect SAP CPS to the Java Scheduler. The following default job definitions are available for interacting with Mass Activities: Job Definition Description SAP_MA_CopyParameters Copy mass activity parameters. SAP_MA_CreateParameters Create a new mass activity parameter record.Automating Processes Across the System Landscape Importing Java Job Definitions Use As of SAP NetWeaver 7. Procedure To import all job definitions 1. run the SAP_JXBP_ImportJobDefinitions SAP job definition to import multiple job definitions or SAP_JXBP_GenerateJobDefinition to import a single one. Select the JXBP SAP System in the drop-down menu. The Java Scheduler has basic scheduling capabilities. Before you run a Mass Activity. These job parameter names must be all upper case.OPTION='EQ'. • T_FIELDS . SAP_MA_MassActivityTemplateRun Start a mass activity run using an existing parameter record. Free Selections You specify free selections by duplicating SAP_MA_CopyParameters and adding the following three parameters: • SEL_TABLE .EXPR_TAB='[[LOGOP='NOT'. only the date part of the value is used. Example In the following example: • SEL_TABLE defines that the selection is based on table FKKOP.Automating Processes Across the System Landscape SAP_MA_ImportMassActivities Import SAP mass activity definitions. You need to install the transport files for this functionality. SAP_MA_ImportMassActivity Import an SAP mass activity definition. SAP_MA_StopMassActivity Stop an SAP mass activity run.[T_FIELDS[]-TABLE_LINE='BUKRS']] T_EXPR = [[TABLENAME='FKKOP'. Setting a User You can run the Mass Activity as a different user than the RFC user by filling the SAP_USER_NAME parameter.defines the SAP table the free selections are based upon.LOW='12']]'] Prerequisites • Redwood transport files need to be loaded. Note Although the LAUFD parameter has a date with time zone data type. 589 .defines the preselected field in the SAPGUI free selection dialog. • T_EXPR . see the Enhanced SAP Interfaces with Redwood Transports section of the documentation for more information on loading the transport files.[FIELDNAME='OPBEL'. When this parameter is filled. • T_FIELDS defines two fields OPBEL and BURKS to be the preselected fields. The syntax follows the standard syntax for complex selection criteria with nested tables in mass activity job parameters. SAP_MA_MassActivityRun Create a parameter record and start a mass activity run. The actual value is specific to the mass activity. • T_EXPR defines OPBEL value 12 to be excluded from selection SEL_TABLE = FKKOP T_FIELDS = [[T_FIELDS[]-TABLE_LINE='OPBEL'].defines the actual values of the free selections. SAP_MA_ResumeMassActivity Resume processing of an interrupted SAP mass activity run. the Mass Activity is started from a batch job which will have the SAP_USER_NAME as a step user.ARITY='1']. SAP_MA_ShowMassActivity Show SAP mass activity definition. 3. Navigate to Environment > SAP Systems. 5. 3. Create a parameter set 1. Fill in the fields. 4. Fill in the fields and choose Submit. 6. Importing All Mass Activities 1. 4. Choose Submit from the context-menu of the job definition SAP_MA_CopyParameters. Fill in the fields and choose Submit. Navigate to Definitions > Job Definitions. Choose Submit from the context-menu of the job definition SAP_MA_ImportMassActivities. a. 3. Specify the parameter set Copy a Parameter record from a previous run of a mass activity and run another with that parameter record 1. Navigate to Definitions > Job Definitions. the source information is used to retrieve the parameter record. the target id will be used when submitting SAP_MA_MassActivityTemplateRun. Choose Submit from the context-menu of the job definition SAP_MA_MassActivityTemplateRun. Navigate to Definitions > Job Definitions 2. 2. 2. 5. Choose Maintain Objects from the context-menu of the SAP System. 2. Navigate to Definitions > Job Definitions. 3. Expand Mass Activities and choose New Parameter Set from the context-menu of a Mass Activity. Choose Submit from the context-menu of the job definition SAP_MA_CopyParameters. Repeat previous task for all choose Save & Close. Fill in the fields and choose Submit. 590 . Choose New Table or New Field and select a value. Copy a Parameter record 1.Automating Processes Across the System Landscape Procedure Importing a Mass Activity 1. 2. Choose Submit. Fill in the fields and choose Submit. Choose Submit from the context-menu of the job definition SAP_MA_ImportMassActivity 3. 4.Automating Processes Across the System Landscape Importing Output Devices Use You import output devices to be able to select the correct output device when you submit SAP CPS job definitions.Allows you to delete previously imported output devices Prerequisites • XBP 2. Example 1. XBP 3. Navigate to Definitions > Job Definitions. Choose Submit from the context-menu of the job definition SAP_ImportOutputDevices. Choose Submit. Select the SAP System PR1. Choose Submit from the context-menu of the job definition SAP_ImportOutputDevices.0 or higher must be available in the SAP system. The following job definition allows you to import output devices: • SAP_ImportOutputDevices Parameters • SAP System . 2. leave the other parameter at the default value. 591 . 3. this not only avoids typos. Importing Process Chains Use You import process chains to be able to select them in a LOV menu. 3.0 only) • Drop old selection? . 4.0 is required if you want to use the Change time stamp or The long name of output device to import parameters Procedure Importing output devices 1.0 only) • Change time stamp (XBP 3.The SAP system you want to import the output devices from • The output device to import • The long name of output device to import(XBP 3. Choose Submit. Navigate to Definitions > Job Definitions. Select a target SAP system. it also allows you to select the process chain from a list without typing the full name. 2. Definition? allow you to customize the restart behaviITION or in SAP CPS N CREATE_JOBDEFS Create a Job Defini.Deues fault Expression SAP_SYSTEMS SAP System The SAP system housing the process chain List of existing SAP systems PCHAIN_NAME Technical Name of SAP BW Process Chain The technical name of the process chain Free text in the SAP system PCHAIN_TEXT Description of SAP BW Process Chain The description of the process chain in the SAP system MAX_COUNT Maximum Count The maximum number of process chains Free text to import Free text IMImport Process Chain Imported the process chain definitions Y. set this to Y and Y. N PORT_CHAIN_DEFIN. allows you to specify a name or prefix for the job definition representing the process chain JOBNAME_GENERA.Use name as TION Used in combination with NAME. allows you to choose if you want to use the value of NAME as a name or prefix for the process chain APPLICATION Application Used in combination with CREATE_JOB.List of available DEFS. N Y TEST_RUN Test run? Also known as dry run.Create job definitions from process chains Y.Free text DEFS. N the process chain names that would have been imported are printed into the output file of the job N NAME Name of Generated Job Definition Used in combination with CREATE_JOB. See Handling Process Chains ( see the Administration Guide ) for more information N DROP_OLD_SELECTION Drop Old Matching Existing process chains with the same Values? technical name will be removed Y. the job definition will have the applications application property set to this value PARTITION Partition Used in combination with CREATE_JOB. N tion? to allow you add parameters to the chain.Automating Processes Across the System Landscape The following job definition allows you to import process chains: • SAP_BW_ImportProcessChains Parameters Name Displayed Name Description Available Val. the job definition will have the partitions partition property set to this value 592 Name of job definition.{Prefix in front of source name{}} .List of available DEFS. Automating Processes Across the System Landscape OVERWRITE Overwrite Existing Job Definitions? Allows you to overwrite the job definition Y. N turn code of the process chain Y Procedure Importing SAP Process Chains 1. Not Failed startable If Errors restart the process chain in case an error Restartable Occur? occurs.Allows you to specify how you want to All. All allows repair and repeat. Choose Submit from the context-menu of the job definition SAP_BW_ImportProcessChains. Choose Submit. Example 1. Select the SAP System PR1. N run synchronously N SIMULATE Simulate Run? Allows you to force the process chain to Y. leave the other parameters at the default value. 4. Fill the fields and choose Submit. N process chain Y SHOWSPOOL Retrieve Spool Lists? Allows you to retrieve the job spool list Y. N of the process chain Y SHOWAPPLLOG Retrieve Application Allows you to retrieve the application Logs? logs of the process chain Y. Navigate to Definitions > Job Definitions. Navigate to Definitions > Job Definitions. N run without plan N SHOWLOG Retrieve Job Log? Allows you to retrieve the job log of the Y. Failed. Choose Submit. 2. N if it already exists Y CHAIN_RESTARTABLE Make Processes Re. N simulate a run (dry run) N NOPLAN No Plan? Allows you to force the process chain to Y. Technical Name of SAP BW Process Chain OTCT_*. 3. N N IGNORE_APPL_RC Ignore Application Return Code? Allows you to ignore the application re. See Also • Handling Process Chains ( see the Administration Guide ) • Import Process Chain Definitions 593 . Choose Submit from the context-menu of the job definition SAP_BW_ImportProcessChains. Failed allows repair. 4.Y. 3. SYNCHRONOUS Synchronous Run? Allows you to force the process chain to Y. 2. Fill the fields and choose Submit. These properties are available on the Maintain Object dialog of the SAP system inside SAP CPS. Technical Name of SAP BW Process Chain OTCT_C2_INIT_P01. 4. See Also • Handling Process Chains ( see the Administration Guide ) • Import Process Chains 594 .List of previously imported cess chain in the SAP system process chains from the previously selected SAP system DROP_OLD_SE. Example 1. 2.Automating Processes Across the System Landscape Importing Process Chain Definitions Use You import the definition of an imported process chain to be able to maintain restart-related properties of the process chain within SAP CPS. Choose Submit. Navigate to Definitions > Job Definitions. 3.List of available SAP syscess chain tems PCHAIN_NAME Technical Name of SAP BW Process Chain The technical name of the pro. 4. Choose Submit from the context-menu of the job definition SAP_BW_ImportProcessChains. Select the SAP System PR1. 3. N the same technical name will be removed Default Expression Y Procedure Importing a SAP Process Chain Definition 1. Choose Submit from the context-menu of the job definition SAP_BW_ImportProcessChains. The following job definition allows you to import process chains: • SAP_BW_ImportProcessChains Parameters Name Displayed Name Description Available Values SAP_SYSTEMS SAP System SAP system housing the pro. Choose Submit. 2. Navigate to Definitions > Job Definitions.Drop Old Matching LECTION Values? Existing process chains with Y. leave the other parameters at the default value. Importing Variants Use You import variants to be able to select the correct variant when you submit SAP CPS job definitions. leave the other parameter at the default value. Navigate to Definitions > Job Definitions. The following job definition allows you to import recipients: • SAP_ImportRecipients Parameters • SAP System . 3. Example 1. Select a target SAP system. Choose Submit from the context-menu of the job definition SAP_ImportRecipients.The SAP username to use when retrieving the list of recipients • Distribution list .0 must be available in the SAP system Procedure Importing recipients 1. The following job definition allows you to import variants: 595 . Choose Save & Close. Choose Save & Close.Automating Processes Across the System Landscape Importing Recipients Use You import recipients to be able to select the correct recipient when you submit SAP CPS job definitions. Navigate to Definitions > Job Definitions. Choose Submit from the context-menu of the job definition SAP_ImportRecipients.The SAP client to use when retrieving the list of recipients • SAP User Name .The SAP client to use when retrieving the list of recipients • Drop old selection? .The SAP system you want to import the recipients from • SAP Client . Select the SAP System PR1. 2.Allows you to delete previously imported recipients Prerequisites • XBP 3. 3. 4. 2. 4. Choose Submit from the context-menu of the job definition SAP_ImportVariants.The ABAP program the variant belongs to • ABAP Variant . this can also be done separately later • Drop old selection? . Select a target SAP system. 4. 4. Count . Example 1. 2.The SAP system you want to import the variants from • SAP Client . Navigate to Definitions > Job Definitions.Automating Processes Across the System Landscape • SAP_ImportVariants Parameters • SAP System . See Also • Importing ABAP Programs • Importing Variant Definitions Importing Variant Definitions Use You import variant definitions to be able to edit variants from within SAP CPS. Choose Submit from the context-menu of the job definition SAP_ImportVariants.the maximum amount of variants to retrieve • Import Variant Definition? . Choose Submit.Allows you to import the variant definition as well. 596 .The SAP client to use to retrieve the variant • ABAP Program .The variant name or pattern • Max. leave the other parameters at the default value. 3. an SAP Client and select an ABAP program in the ABAP Program field. Navigate to Definitions > Job Definitions.Allows you to delete previously imported variants Prerequisites • The ABAP program the variant belongs must have already been imported. 2. 3. Select the SAP System PR1 and ABAP Program RSUSR007. Procedure Importing variants 1. Choose Submit. Choose Submit. an SAP Client. 4. 3. 4.The SAP system you want to import the variant definition from • SAP Client .The SAP client to use to retrieve the variant definition • ABAP Program . • The Variant must have been imported.The ABAP program the variant belongs to • ABAP Variant .the maximum amount of variant definitions to retrieve • Drop old selection? .Allows you to delete previously imported variant definitions Prerequisites • The ABAP program the variant belongs to must have already been imported. Choose Submit from the context-menu of the job definition SAP_ImportVariantDefinition. Navigate to Definitions > Job Definitions. 2. ABAP Program RSUSR007 and ABAP Variant Sys. Choose Submit.Automating Processes Across the System Landscape The following job definition allows you to import variant definitions: • SAP_ImportVariantDefinition Parameters • SAP System .The variant name or pattern • Max. 3. Example 1. leave the other parameters at the default value. 2. See Also • Importing ABAP Programs • Importing Variants 597 . select an ABAP program in the ABAP Program field and a variant in the ABAP Variant field. Select a target SAP system. Count . Navigate to Definitions > Job Definitions. Choose Submit from the context-menu of the job definition SAP_ImportVariantDefinition. Procedure Importing variant definitions 1. Select the SAP System PR1. [ccc .triggers an imported report to run Report Parameters Parameters that allow multiple values have an asterisk in their description.separator between lower and upper value Lower or upper value can be omitted.AAC.the report is generated and a link is created to the report For SMTP. You specify multiple values with comma-separated lists. only) and their destination.Automating Processes Across the System Landscape Importing SAP BusinessObjects Processes Use SAP BusinessObjects systems typically offer two types of reports.. Destination Tow destination types are supported: • SMTP .include lower value ] . its report and print parameters (Crystal Reports. you choose the following header fields (to. for example AAA..[eaa . cc.include upper value . Crystal Reports and Web Intelligence Crystal and Web Intelligence reports can be controlled from within SAP CPS. You can only import Crystal Reports and Web Intelligence reports. just like regular email clients. ezz] Note Print parameters are only available for Crystal Reports.imports a definition of a report • SAP_BObj_ReportRun . Multiple values are separated by a comma..) in to and cc fields. You use the following job definitions: • SAP_BObj_ImportReportDefinitions . You specify multiple email addresses using semi-colons (.exclude upper value [ . The syntax for range report parameters is the same as in BusinessObjects: ( . .exclude lower value ) . Crystal Reports and Web Intelligence. you can then schedule the creation of the report. Example (aaa . subject.email the report to a number of addressees • File . bbb).AAB. the reports as well as the interaction with third-party solutions. 598 . SAP CPS allows you to control both.. ddd]. and body). • PAR_<parameter name> . Handling ABAP Programs Use Imported ABAP programs can easily be selected in the submit wizard.Data Integrator parameter name • VAR_<variable name> . Pdf. you schedule the job multiple times. If you want multiple destinations. Txt. See Also • Configuring the BusinessObjects Interface • Scheduling SAP BusinessObjects Reports • Triggering SAP BusinessObjects Events Handling BusinessObjects Data Integrator Jobs Use Once you have imported BusinessObjects Data Integrator job definitions. Imported ABAP programs can be scheduled with the following job definitions: • SAP_AbapRun • SAP_AbapRunPrint • SAP_AbapRunPrintExt • SAP_SolutionManager_AbapRun 599 . Allowed formats are [None]. Powerpoint. If not set. You can also use temporary variants. a special syntax allows you to add parameters and variables. the default format of the info object is used. which will be deleted in the SAP System once the job has finished in the SAP System. which can be removed and/or edited once they are imported.Automating Processes Across the System Landscape Formats An optional parameter is available to set the file type of the BOBJ info object. Excel. Word. Rtf.this parameter defines which pages of a document should be sent to the destination in the format [from-to] or all (default). Additionally the following job definition parameter can be added: OUTPUT_FORMAT_PAGES . this avoids typos. only a character sequence of the name needs to be entered. Note that this can also be achieved by duplicating the SAP_BObj_DataServicesJobRun job definition.Data Integrator variable name This allows you to further customize imported job definitions or create your own. ABAP programs can have Variants. When you specify a default queue.Automating Processes Across the System Landscape • SAP_ClosingCockpit_AbapRun These job definitions can be duplicated and tailored to your needs. Valid values: L (Landscape) and P (Portrait) Note Due to the limited size of the field in SAP. if there are any.The email address for the mail printer • PAGE_FROM / PAGE_TO .com/sap/support/notes/513352]. The following parameters are recognized: • EMAIL_ADDRESS .retrieve the first <n> lines of the job log • JOBLOG_LAST_LINES . you can see colors. the max length of the email address is limited to 50 characters. This should work if you can retrieve the spool as PDF from within SAPGui. Additional Print Parameters The additional print parameters can be generated when importing CCMS jobs by setting the parameter Generate Extra Print Parameters? (EXTENDED_PRINT_PARAMETERS) to Yes. A temporary variant is created for the job and deleted once the job has finished. Retrieving Part of the Job Log You can retrieve part of the job log by duplicating one of the AbapRun job definitions and specifying one of the following parameters: • JOBLOG_FIRST_LINES .page range.page orientation.retrieve the last <n> lines of the job log When filled with a value > 0. It is also possible to duplicate any of the AbapRun job definitions and add the parameters there.draft mode. Valid values: Y (Yes) and N (No) • PAGE_ORIENTATION . This way. Temporary Variants By duplicating the AbapRun job definitions and adding job parameters. Retrieving Spool Output as PDF By duplicating the AbapRun job definitions and changing the default output format for the job definition to PDF. numeric values • DRAFT_MODE . all SAP systems that are linked to the queue will be displayed first in the SAP Systems parameter. 600 . you will have to specify the correct queue. If you choose an SAP system that is not linked to the default queue. you can make use of temporary variants. Note According to SAP Note 513352 [http://service. only the given number of lines either from the beginning or from the end of the joblog is retrieved.sap. printing with access method "M" (email printer) will not be developed further. you can force the SAP system to convert the Spool to PDF. Their names should contain the name of the parameter/select option in SAP. !AF] Alternate example of job definition with parameters: • PAR_NOEX .02.31. set to X • SEL_CAR .Without Extract.Without Extract. !f. These job parameter names must be all upper case. set to X 601 . set to BT and 21. respectively.2010 is valid and this one is not valid:21.2010-31.12.2010.Airline.2010 Another example of a job definition with parameters: • PAR_NOEX . see Creating and Modifying Variants in SAP CPS for more information.Flight Date.Without Extract.31. when you want to specify more than one. set to X • SEL_FLDATE . The following operators are available for select options. Tip If you want to specify two or more exact values.2010 . for parameter and select options. You can use the SAP Object Editor to inspect previously imported variants for the specific names. make sure you put spaces between the dates and the hyphen (-). When you want to specify a range.!d. !BC.2010 . Select options can optionally have a _<n> suffix.12. the range 21. !g]. set to BT and [AA-ZZ. you can create a parameter for each select option.12. you should enclose it in square brackets [].02.02. as in [a-m.Automating Processes Across the System Landscape You specify the values and select options by creating job parameters with names matching the technical name of the parameter or select option and setting Create Temporary Variant? or TEMPORARY_VARIANT to Y. Variant Parameter Syntax Variant job parameters should be string parameters. with PAR_ or SEL_ prefixes. the mathematical syntax can only be used in RedwoodScript and is displayed here for clarity: Syntax Meaning Mathematical Syntax NOT Not ! EQ Equals = NE Not Equals != NE Not Equals <> GE Greater than or equals >= GT Greater than > LE Less than or equals <= LT Less than < Note When you specify date-ranges. Example You have a job definition with the following parameters: • PAR_NOEX . <SAPSystem>/xbp/IgnoreApplicationReturnCode. only valid for all jobs that run on the process server 3. Ignore Application Return Code The return code can be ignored on four levels: • process server-level .2010 • SEL_FLDATE_02 .02. I Ignore (jobs not shown in SAP CPS). you can make the job wait for an event in SAP: Parameter Description Direction Data Type STARTCOND_EVENTID batch event id In String STARTCOND_EVENTPARM parameter of the event id In String Note that you have to duplicate the job definition and modify the duplicate. only valid for the specified SAP system • registry key /configuration/sap//xbp/IgnoreApplicationReturnCode. process server parameter SAP_IgnoreApplicationReturnCode. registry key /configuration/sap//xbp/IgnoreApplicationReturnCode.02. you can make the job not wait for child jobs: Parameter Description Direction WAIT_FOR_CHILD_JOBS Wait for child jobs? In Data Type Values String N No.Flight Date. registry key /configuration/sap/<Partition>.Flight Date.Automating Processes Across the System Landscape • SEL_FLDATE_01 . the first setting found has precedence: 1. Waiting for Child Jobs By duplicating the AbapRun job definitions and adding the following parameter. set to LE and 18. Y Yes (default) Waiting on an SAP Event By duplicating the AbapRun job definitions and adding the following two parameters. valid for all SAPR3 jobs across all SAP systems 602 .<SAPSystem>/xbp/IgnoreApplicationReturnCode. job definition parameter IGNORE_APPL_RC.2010 Note the use of two FLDATE select options with two exact values.create a job definition parameter named IGNORE_APPL_RC • registry key /configuration/sap/<Partition>. set to GE and 01. valid for all SAPR3 jobs across all SAP systems The settings are processed in this order. only valid for the specified SAP system 4.set the process server parameter SAP_IgnoreApplicationReturnCode to true • job definition-level . only valid for all jobs of this job definition 2. Referred to as Information in SAPGUI • Archive text information field .0 interface to set the spool list recipient and retrieve application log and batch statistics of the SAP job. yet on versions below 2. you will have to use the job definition SAP_AbapRunPrint or SAP_AbapRunPrintExt. known as Text in SAPGUI. This job definition works on every version of the XBP interface. SAP_AbapRunPrint This job definition is used to run ABAP's via the XBP interface in SAP Systems.Referred to as Text in SAPGUI SAP_ClosingCockpit_AbapRun This job definition is based on the SAP_AbapRunPrintExt job definition and contains additional parameters for Closing Cockpit. SAP_SolutionManager_AbapRun This job definition is based on the SAP_AbapRunPrintExt job definition and contains additional parameters for Solution Manager.type in SAPGUI • Archive object . yet it offers a limited set of print and archive parameters (only those that are available in XBP 1. Note If you need to use the optional Archive text information field parameter. This job definition requires Solution Manager Integration to be configured. This job definition makes use of the extended capabilities of the XBP 2.Referred to as Obj. This job definition makes use of the extended capabilities of the XBP 3.0 most of the print and archive parameters will be skipped.0 interface. SAP_AbapRunPrintExt This job definition is used to run ABAP's via the XBP interface in SAP Systems. If you set Print/Archive mode to Archive only or Print and Archive.Automating Processes Across the System Landscape SAP_AbapRun This job definition is used to run ABAP's via the XBP interface in SAP Systems. yet on versions below 3. This job definition works with every version of the XBP interface.Referred to as Doc. the following additional Archive parameters must be set: • Archive SAP object .0) if you do not load the Redwood Transport files. See Also • Importing ABAP Programs 603 . This job definition works on every version of the XBP interface.type in SAPGUI • Archive info . which provides an extended the set of print and archive parameters. This job definition requires closing cockpit integration to be configured.0 the new functionality is disabled. you can easily use SAP CPS to distribute modified variants to all SAP instances that use the variant. You should import at least one variant and its variant definition. if you use identical variants across SAP instances. When you import your variants. the job will import the variant and its variant definition by default. furthermore. The following topics covers Variant creation and modification: 1. not that it will by default import the variant definition as well. You can create and modify variants from within SAP CPS in the SAP System Maintain Objects editor screen. which allows you to edit variants inside SAP CPS. This is done with the SAP_ImportVariants job definition. Variant definitions are the set of parameters and their respective values as defined in the variant. Creating Temporary Variants The following topics cover three main methods for storing variant modifications in an SAP System: 1. Even if you decide to maintain your variants inside SAPGui. Editing Variants To be able to edit variants that were created in SAPGui. You create variants on the ABAP program and set a number of parameters. without even needing to import the variant into SAP CPS. Variant definitions are the set of parameters and their respective values as defined in the variant. Creating and Modifying Variants 2. Maintaining Variants Automatically 3. you can decide to import variant definitions as well. 604 . Maintaining Variants Manually 2. so that the available parameters are displayed in drop-down menus. you will have to import the variants and variant definitions first. When you use SAP_ImportVariants to import variants. Maintaining Variants Automatically (Advanced) See Also • Importing Variants • Importing Variant Definitions Creating and Modifying Variants Use Variants are sets of parameter values used for quickly setting ABAP program parameters. Creating Variants First you import the ABAP program.Automating Processes Across the System Landscape Handling Variants Use There are multiple ways in which you can maintain your variants in both SAP and SAP CPS. This allows you to automate variant maintenance and distribution. you can use SAP CPS to copy variants from one SAP instance into another seamlessly. You can use temporary variants by specifying them on the job definition and setting the Create Temporary Variant? also known as TEMPORARY_VARIANT parameter to Y. then you can create variants. 2010 .2010-31. When you want to specify a range.02. see Handling Variants for more information.12. you should enclose it in square brackets [].12. Example You have a job definition with the following parameters: • PAR_NOEX . respectively. SEL_. and free selections (freie Abgrenzungen in German). The following operators are available for select options. when you want to specify more than one. respectively.02. make sure you put spaces between the dates and the hyphen (-). set to BT and 21. select options.Automating Processes Across the System Landscape Saving a Variant in the SAP System for use with SAPGui You can use the SAP_StoreVariant job definition to store variants in you SAP system. Their names should contain the name of the parameter/select option in SAP for parameters and selection options. for parameter.12. free selections must be specified as FSL_<table>/<field>.Airline. with PAR_.2010 Another example of a job definition with parameters: • PAR_NOEX . Select options and free selections can optionally have a _<n> suffix. set to X • SEL_CAR .2010 is valid and this one is not valid:21. you can create a parameter for each select option. !f.Flight Date. as in [a-m. where <table> and <field> are the technical names of the table and field. !g].02.2010. set to BT and [AA-ZZ. or FSL_ prefixes.31. Tip If you want to specify two or more exact values. set to X • SEL_FLDATE . the range 21. These job parameter names must be all upper case.31.Without Extract. !AF] Alternate example of job definition with parameters: 605 .2010 . the mathematical syntax can only be used in RedwoodScript and is displayed here for clarity: Syntax Meaning Mathematical Syntax NOT Not ! EQ Equals = BT Between - NE Not Equals != NE Not Equals <> GE Greater than or equals >= GT Greater than > LE Less than or equals <= LT Less than < Note When you specify date-ranges.!d. Variant Parameter Syntax Variant job parameters should be string parameters.Without Extract. !BC. Choose Maintain Objects from the context-menu of the SAP System that represents the SAP Instance where the ABAP program is used. 2. 7. choose New Select Option a. 5.Automating Processes Across the System Landscape • PAR_NOEX . For each select option. For each simple parameter/value combination. b.Flight Date.2010 Free selections example: • FSL_BSID/MANSP . select to include or exclude the rows in the Sign field. a. Select the parameter you want to change. !AF] Prerequisites • You have imported the ABAP program. 3.Without Extract. Procedure Create a variant 1. only a lower value is required). Select the name of the parameter and enter a value into the Value field.02. enter an optional description.02. Fill in a name and optional description.Flight Date. client and variant. For each simple parameter/value combination" a. and enter a lower and higher value (depending on the operator in Option.2010 • SEL_FLDATE_02 . select and operator in the Option field. set to LE and 18. a variant and its variant definition. Navigate to Environment > SAP Systems. Select the name of the parameter from the drop-down. choose New Parameter. !BC. 4. as outlined in Importing ABAP Programs and Importing Variants. On the Values tab. set to GE and 01. choose Save. Navigate to Environment > SAP Systems. the ABAP program. For each select option: 606 . 5. 2. Select the name of the parameter from the drop-down. Choose Save & Close. Expand ABAP Programs and choose New Variant from the context-menu of the ABAP program. 6. Modify a variant 1. Choose Maintain Objects from the context-menu of the SAP System that represents the SAP Instance where the ABAP program is used. 3. enter an optional description and value. set to X • SEL_FLDATE_01 . Expand ABAP Programs.set to BT and [AA-CA. 6. 4. Automating Processes Across the System Landscape 7. b.import parameter values and select options of variants • SAP_CopyVariant . a.copy a variant into another SAP System (you do not have to import the variant) • SAP_StoreVariant . The following job definitions allow you to interact with variants: • SAP_ImportVariants . select and operator in the Option field. see Setting Up Logical Systems [http://help. you can edit their variants. See Also • Handling Variants • Creating and Modifying Variants • Maintaining Variants Manually • Maintaining Variants Automatically • Maintaining Variants Automatically (Advanced) Maintaining Variants Manually Use Once you have imported ABAP programs from an SAP instance. This can be done per SAP System/ABAP/Client/variant combination.sap. remove parameters and change parameter values inside SAP CPS.create/update/replace a variant in an SAP System • SAP_DeleteVariant .import variants of already imported ABAP programs • SAP_ImportVariantDefinition .htm] for more information on creating logical systems for clients.0 requires a logical system for the client. Select the name of the parameter. Note XBP 3.delete a variant from an SAP System Note You can only import variants of ABAP programs that have already been imported. available columns will be presented in a drop-down menu. On the Values tab. See Creating and Modifying Variants for step-by-step instructions on how to modify variants using the SAP CPS user interface and the syntax to specify parameters and select options. 607 . If for each ABAP program you import at least one variant as well as its definition.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset. Choose Save & Close. select to include or exclude the rows in the Sign field. add. only a lower value is required). and enter a lower and higher value (depending on the operator in Option. 5. Choose Save and Close.the job gets the status error. Submit job definition SAP_StoreVariant with the parameter values below. 2. See Also • Importing Variants • Importing Variant Definitions • Creating and Modifying Variants • Maintaining Variants Automatically 608 . 7. 6. Choose an ABAP/client/variant/parameter/select option combination. 3. Change the value of the selected parameter. Choose Maintain Objects from the context-menu of the SAP System. Additionally. Optionally. nothing is changed in the SAP System Skip the variant is skipped Replace .Automating Processes Across the System Landscape Prerequisites • An RFC connection has been established between the Central Scheduler and a BI or BW system.0 support • The Redwood transport files must have been installed Procedure Change the value of a variant definition 1. 4. Parameter Description SAP_SYSTEMS The SAP System CLIENT The client of the SAP System ABAP_PROGRAM_NAME The variants ABAP program ABAP_VARIANT_NAME Variant WRITE_MODE The write mode allows you to specify how the job will handle duplicate entries.only different parameters are changed. the SAP System must have one of the following: • XBP 3. Navigate to Environment > SAP Systems. The following reactions are available when you encounter a duplicate: Error . as outlined in Connecting to SAP Systems. deleted variant parameters will not be removed (recommended) Result The variant in the SAP System has been replaced with the variant that was edited in SAP CPS. remove a parameter by choosing Delete from the context-menu of a variant parameter.the variant is overwritten with the variant definition from SAP CPS Change . 4. Additionally. a parameter that would contain the current date. as outlined in Connecting to SAP Systems. edit the one with the highest number.sap. Change the name of the job definition to reflect its purpose. this is easily implemented.htm] for more information on creating logical systems for clients. Choose Refresh from the context-menu and choose Edit from the context menu of SAP_StoreVariant_1 If there are more than one SAP_StoreVariant_#. Procedure Duplicate and modify the SAP_StoreVariant job definition 1. 7. without the need to manually edit the variant.0 support • The Redwood transport files must have been installed See Creating and Modifying Variants for step-by-step instructions on how to modify variants using the SAP CPS user interface and the syntax to specify parameters and select options. 6. See the Job Chain Job Parameter Mappings section for more information on parameter mappings in job chains. Navigate to Definitions > Job Definitions 2. Note XBP 3. which calls the job definition and sets the values of the variant with parameter mappings.Automating Processes Across the System Landscape • Maintaining Variants Automatically (Advanced) Maintaining Variants Automatically Use You can use the job definition SAP_StoreVariant to change one or more values of a variant directly. for instance. You can also create a job chain. see Setting Up Logical Systems [http://help. the SAP System must have one of the following: • XBP 3. 5. the parameter names must match and the values you set must be legal values for the variant. You duplicate this job definition and edit the parameter set. Remember that you can use Redwood Expression Language to specify expressions.0 requires a logical system for the client. Choose Duplicate from the context-menu of SAP_StoreVariant 3. Add additional parameters for the variant parameters that you wish to change.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset. Prerequisites • An RFC connection has been established between the Central Scheduler and a BI or BW system. With SAP CPS. as you could schedule a job daily which changes the parameter value of the variant and fills it with the current date. 609 . This is especially useful when you want to have dynamic variants. Choose Save & Close. Give ABAP_PROGRAM_NAME and ABAP_VARIANT_NAME default values. this is easily implemented. as you could schedule a job daily which changes the parameter value of the variant and fills it with the current date. See Creating and Modifying Variants for step-by-step instructions on how to modify variants using the SAP CPS user interface and the syntax to specify parameters and select options. remember that you can change the parameters at submit time again. 610 . With SAP CPS. See Also • Importing Variants • Importing Variant Definitions • Maintaining Variants Manually • Maintaining Variants Automatically (Advanced) Maintaining Variants Automatically (Advanced) Use You can create a RedwoodScript job definition to change one or more values of a variant directly.com/saphelp_nw70ehp1/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset.0 support • The Redwood transport files must have been installed Example The below example shows how to change the FLDATE select option of the KL variant of ABAP program BALVEX01 in SAP System D00. the SAP System must have one of the following: • XBP 3.0 requires a logical system for the client. Prerequisites • An RFC connection has been established between the Central Scheduler and a BI or BW system. This is especially useful when you want to have dynamic variants.sap.Automating Processes Across the System Landscape Result You have create a custom job definition that will change a variant on demand. without the need to manually edit the variant. for instance. Note XBP 3. Additionally. as outlined in Connecting to SAP Systems. a parameter that would contain the current date.htm] for more information on creating logical systems for clients. if necessary. see Setting Up Logical Systems [http://help. In the script you modify the values for the variants with legal values and then submit job definition SAP_StoreVariant to save the variant in the SAP System. There are two ways to use temporary variants: • You make a copy of one of the SAP_AbapRun job definitions and specify the parameters and select options in job parameters on the job definition .setLow(Time. modify it in SAP CPS and submit a job with the ABAP/Variant combination.getSAPAbapVariantByNameClientNumber("KL". • You import a variant definition for a given ABAP program.getSAPAbapVariantSeloptValues(). // persist our change jcsSession.getSAPAbapVariantSeloptByName("FLDATE"). // ABAP program BALVEX01 SAPAbapProgram abap = sapSystem. if(it.toYYYYMMDDString()).now().hasNext()) { // set the value of the first one to the current date String fldate = (String) it.getSAPAbapProgramByName("BALVEX01"). { // get the SAP System D00 SAPSystem sapSystem = jcsSession. // variant KL in client 200 SAPAbapProgramVariant variant = abap.next(). // values of the select option FLDATE Iterator it = variant.Automating Processes Across the System Landscape Note The below example does not include the submit of job definition SAP_StoreVariant. The variant is created at runtime and deleted once the ABAP program has completed. A temporary variant is created for the job and deleted once the job has finished. fldate. setting the Create Temporary Variant? or TEMPORARY_VARIANT parameter to Y Temporary Variants in a Job Definition By duplicating the job definitions and adding job parameters. which can be done in RedwoodScript or in a following step of the job chain.getSAPSystemByName("D00").these can optionally be modified at submit time.persist(). } } See Also • Importing Variants • Importing Variant Definitions • Maintaining Variants Manually • Maintaining Variants Automatically Using Temporary Variants Use Temporary variants are used to schedule an ABAP program without saving a variant. you can make use of temporary variants. "200"). 611 . Choose Submit from the context menu of the newly edited job definition. ABAP Variant. SEL_<select_option_name for select options 5. set a Queue and choose Submit. 4. note that you must know the technical name of the table and fields concerned. respectively. respectively. and setting Create Temporary Variant? or TEMPORARY_VARIANT to Y. 3. PAR_<parameter_name> for parameters b. The parameter name must match FSL_<table>/<field>. the variant definition in the SAP system will be used. Navigate to Definitions > Job Definitions 2. Choose Submit. 3.Automating Processes Across the System Landscape You specify the values and select options by creating job parameters with names matching the technical name of the parameter or select option. Note The edited variant will only be used if Create Temporary Variant? is set to Y. These job parameter names must be all upper case. Navigate to Definitions > Job Definitions 2. On the Parameters tab. see Creating and Modifying Variants in SAP CPS for more information. Set the Create Temporary Variant? to Y and fill other required parameters. Choose Edit from the context menu of the newly created job definition. 4. SAP Client. Choose Next two times.0 or has the latest Redwood transport files installed Procedure Use an edited Variant in SAP_AbapRun as temporary variant 1. Fill in SAP System. ABAP Program. where <table> and <field> are the technical names of the table and field. Use job definition parameters to specify parameters and select options 1. and Create Temporary Variant? to Y. 7. with PAR_ and SEL_ prefixes. 612 . 6. Prerequisites • An SAP System that features XBP 3. specify the following: a. Choose Save & Close. The job parameter values syntax is the same as for other select options. if you do not set that parameter. 8. Duplicate the SAP_AbapRun job definition. You can use the SAP Object Editor to inspect previously imported variants for the specific names. You can also specify free selections (freie Abgrenzungen in German) by the FSL_ job parameter prefix. See Creating and Modifying Variants for step-by-step instructions on how to modify variants using the SAP CPS user interface and the syntax to specify parameters and select options. SAP Job Name. Choose Submit from the context-menu of the job definition SAP_AbapRun. You schedule Crystal Reports using the following job definition: • SAP_BObj_ReportRun Web Intelligence Web Intelligence reports are imported and run like Crystal Reports. which in turn can trigger other reports inside SAP BusinessObjects. however.1 or newer Crystal Reports Crystal Reports can be scheduled directly or imported and then scheduled directly in SAP CPS much like SAP ABAP jobs.Automating Processes Across the System Landscape See Also • Handling Variants • Creating and Modifying Variants • Handling ABAP Programs • Maintaining Variants Manually • Maintaining Variants Automatically • Maintaining Variants Automatically (Advanced) • Importing Variants • Importing Variant Definitions Scheduling SAP BusinessObjects Reports Use SAP CPS allows you to schedule the following SAP BusinessObjects report types: • Crystal Reports • Web Intelligence • DataServices (Also known as Data Integrator) You can also trigger SAP BusinessObjects events from within SAP CPS. although the output of these jobs is not available from within SAP CPS. You schedule Web Intelligence reports using the following job definition: • SAP_BObj_ReportRun 613 . Supported Versions • DataServices 2. print parameters are not imported.1 or newer • BOBJ XI 3. 3. This will be referred to as <bobj hostname> • The HTTP port number used to connect (for example 8080. 8000. On the SAP System tab. aka the server running BusinessObjects • A user in the server to be used for Bobj.masalan. WebIntelligence. 614 . Procedure To set up the interface to interact with the Java Scheduler: 1. J2EE URL and the Time zone fields. Gather the appropriate configuration details You will need a system running an BusinessObjects or DataServices server.1 or newer • the URL of the Bobj server. and DataServices). the required services are added automatically to the process server. Choose New SAP System from the context-menu. Choose Environment > SAP Systems in the Navigation bar. fill the Name.). . This will be referred to as <bobj http> • The username and password for a user of this system. a process server and queue is created for you automatically with all required services. Prerequisites • Appropriate version of BusinessObjects Application Server. When you edit an SAP System. 2.Automating Processes Across the System Landscape DataServices You schedule SAP BusinessObjects DataServices using the following job definition: • SAP_BObj_DataServicesJobRun See Also • Configuring the BusinessObjects Interface • Triggering SAP BusinessObjects Events • Importing SAP BusinessObjects Processes Configuring the BusinessObjects Interface Use This section covers the installation of the SAP BusinessObjects interface.com). Once the BusinessObjects (Bobj) interface is configured.. You need the following configuration information: • The hostname of the server (for example java1. so there is no need to change services on a process server. which allows you to schedule BusinessObjects Reports (CrystalReports. BOBJ XI 3..1 or DataServices 2. you can only influence the parent job. the process chain is displayed like a job chain. When you monitor a process chain in SAP CPS. see the Restarting Process Chains section for more information. You can. choose Add. 6. 7. in turn. Triggering SAP BusinessObjects Events Use SAP BusinessObjects events can be triggered remotely from within SAP CPS. Note It is not possible to use SAP CPS to balance the load of process chains across SAP application servers. start other processes. The J2EE URL is http[s]://<bobj hostname>:<bobj port> 5. This parameter accepts two values: • A . will force all job output to be available in FCC.triggers an event in a SAP BusinessObjects environment All you require is the event name and the name of the SAP BusinessObjects system. Sending Spool Files to Financial Closing Cockpit You can make all output of the process chain available in Financial Closing Cockpit (FCC) by specifying the parameter SAP_APPSAPI_CHAIN_GET_OUTPUT. thus launching another process within your SAP BusinessObjects environment. Choose Start from the context-menu of the process server belonging to the relevant SAP System. Choose Environment > Process Servers in the Navigation bar.to be set on the parent job definition of the process chain. choose Check connection to make sure the account details are valid. See Also • Scheduling SAP BusinessObjects Reports • Importing SAP BusinessObjects Processes Running Process Chains Use A process chain defines a sequence of processes that are scheduled to wait in the background for an event. restart certain child jobs. When a process of a process chain reaches the status Error. select Type BOBJ. you have the possibility to start just the erroneous process. As far as scheduling is concerned. 615 . and fill in the Username and password in the fields. Triggering SAP BusinessObjects events is a simple as scheduling a job: • SAP_BObj_TriggerEvent . On the J2EE tab. however. a. Choose Save & Close to save the changes and close the edit window.Automating Processes Across the System Landscape 4. These processes can trigger a separate event that can. its parent or the parents' parent. ProcessChainRestart license key. Prerequisites • An RFC connection has been established between the Central Scheduler and a BI or BW system. The following job definitions allows you to start. represent and restart process chains in your BI or BW system. Choose Submit from the context-menu of job definition SAP_BW_ProcessChainRun. as outlined in Connecting to SAP Systems. 616 . make sure the option Immediate start is selected. Job Definition Use SAP_BW_ImportProcessChains Used to import process chains SAP_BW_Process Represents a process chain SAP_BW_ProcessChainRun Used to start a process chain SAP_CcmsJob Represents a process chain process See Restarting Process Chains for more information. 4.Automating Processes Across the System Landscape • M . Starting Process Chains with Direct Scheduling in SAP When you want to schedule process chains in SAP CPS which have Direct Scheduling in SAP enabled. Monitoring Process Chains Note Monitoring Process Chains requires the ProcessServerService. Restarting Process Chains Note Restarting Process Chains requires the ProcessServerService. 3. the start of the chain will fail.XBPVariant license key. You need to change the process chains to use either the Start Immediate option or change them to Start Using Meta Chain or API.SAP. See Monitoring Process Chains for more information. Select the SAP System name of the BW system in the SAP System parameter. You can configure SAP CPS to monitor process chains started from within SAP. Procedure To start a BW process chain 1. Select the process chain to start.SAP. Note that it will also fail if you try to start it from SAPGui. they are displayed like job chains and allow you to restart them if you meet the prerequisites for restarting process chains. Navigate to Definitions > Job Definitions 2. If the Date/Time is selected and if the time is in the past.to be set on the parent job definition and the child job definition of which you want the output. By default.sun. even in your own code. Choose Submit to schedule the job. RedwoodScript is a Java-like language which allows you to access the repository using an extensive Java API. It is unrelated to Redwood Expression Language (REL) and can be used in different scripting contexts.com/docs/codeconv/html/CodeConvTOC.html] when writing code! This makes it easier for you and others to understand your code and will save you a lot of time when you will have to change something. Note The Redwood_Script system privilege is available to restrict access to RedwoodScript. please contact SAP.Automating Processes Across the System Landscape 5. which requires a Chargeable license. however. Tip It is important to follow guidelines and conventions [http://java. Note that the highest version that you can use is the version of the underlying JVM.. it is disabled by default. please check the License section for more information. You can create your own procedures and functions in RedwoodScript and use them from within REL using libraries and REL entry points. If you have the Chargeable version but no API documentation.doc. You can use RedwoodScript (expressions) in: • • Actions • Job definition on-change • Job definition pre-running • Job definition post-running Triggers • Before Definition Change • Before Job On Change • Before Job On Change Maintenance • Before Job Pre Running 617 .4 syntax can be used. which is available when you have the Chargeable version. See Also • Monitoring Process Chains • Restarting Process Chains RedwoodScript Use RedwoodScript is available with the Scripting module. only Java 1. 6 months from now. this can be overridden by the registry keys ( see the Administration Guide ) /configuration/javatoolkit/SourceVersion and /configuration/javatoolkit/TargetVersion. see the API documentation. Long • java.util) • java.Boolean • java. You can import the following classes using importPackage(): • java.Number • java.StrictMath • java.Math • java.lang.lang.lang.Short • java. For security reasons. The following functions and methods are available in RedwoodScript: • A subset of Java classes. • • RedwoodScript in Jobs The Shell found in the user interface under Scripting. • RedwoodScript in Queues • RedwoodScript in Process Servers Most contexts have predefined objects.lang. not all Java classes are available to RedwoodScript code.String • java.Byte • java.* (including subpackages) • java.lang.util.Integer • java.* (including subpackages) Syntax RedwoodScript provides three syntax options: 618 .Automating Processes Across the System Landscape • • Before Job Post Running • On Job File Content Access Job definitions using the RedwoodScript job definition type.math.Double • java.Float • java.text.lang. see the Scripting Contexts section for more information.lang.lang.lang.Char • java.lang.lang. • Redwood API.* (but not subpackages of java.lang. math. com. com. and you will have to specify all the imports you need..DateTimeZone.BigDecimal.redwood. } // . Lots of code .redwood. This mode is activated if the first symbol is package.println("Hello.custom. This mode is activated if the first symbol is import.. and in short with imports mode you must specify all required imports yourself. } The following illustrates the "Hello.scheduler. This will be done automatically in all other modes. all the imports are specified for you.scheduler. The following illustrates the use of the short syntax for a Hello World! program: { jcsOut. The Full mode lets you write the entire Java class. This mode is activated if the first symbol is {.Automating Processes Across the System Landscape • Short • Short with imports • Full The first two are abbreviated syntax that allow you to dispense with all or most of the boiler plate code that is normally required to write RedwoodScript code that interacts with SAP CPS. java. import import import import import java. 619 .date. The boiler plate includes all the declarations you would usually have to make yourself.*.*.redwood. World").model.Iterator.model. In this case there are no automatic imports.scheduler. In full mode you will have to explicitly extend the stub that is provided for you.api. including import statements for classes that you are most likely to use in your task.util.println("Hello. The Short with imports mode allows you to specify the imports. The only difference between the short and short with imports is that in short mode. } As you can see there is quite a considerable amount of code generated for you... World" example when it is fully expanded into RedwoodScript: package com. public class name extends nameStub { public void execute() throws Exception { jcsOut. com.redwood. World!"). Note RedwoodScript code in the library source field must always be in Full mode.enumeration.scheduler.api. The Short mode automatically generates everything.api. ] JobDefinition jobDefinition = jcsSession...getJobDefinitionByName("System_Info"). which is available when you have the Chargeable version. You can find information about objects and their types in apidocs. see the Querying the database section below for examples of how to query the database with RedwoodScript. the imported classes and objects are visible in the Stub code.Automating Processes Across the System Landscape Redwood API In most contexts.. please contact SAP. which is available when you have the Chargeable version.getName()).. If you have the Chargeable version but no API documentation. or to manipulate it.. The Data model shows you the available tables in the database for use with RedwoodScript. [. If you extract this... The main index consists of two sections: • Packages . If you have the Chargeable version but no API documentation.the top table. and open apidocs/index. • The Scheduler API and Language Reference . Please look at each of the links in the Scheduler API and Language Reference at the bottom of the page carefully. frequently used Redwood API classes are imported by default.] Once you have an object. The available methods are documented in the API documentation. You can get repository objects from a predefined object called the jcsSession which is an instance of SchedulerSession in the API documentation.documentation about context variables and programming using RedwoodScript. you use methods to get information from it. please contact SAP. Object Model Repository objects have types. [. which is provided when you have purchased the Chargeable version.zip..println(jobDefinition. [.html you will be taken to the main index of the API documentation. You call methods on an instance of an object.. for example: • Job • JobDefinition • Queue • TimeWindow The type of the object determines the methods you can call. they contain the answers to many frequently asked questions. in the form of JavaDoc.] jcsOut.] Submitting a job 620 .: [. println(infoJob. column names. The output can be generated in HTML (for output on screen). please contact SAP. there are a lot of Java resources online. [[bind variables]) Standard SQL can be used in queries.executeQuery("select Job.Description from Job j". The database can be queried with the following function. //Submit the job jcsSession. The table names. which is defined in the SchedulerSession object: executeQuery(query string. If you have the Chargeable version but no API documentation.setQueue(SystemQ). Warning Querying the tables directly using other means is not supported. for spreadsheet applications) and XML. RedwoodScript being a Java-like language. //Print out the jobid of the job jcsOut. The data model can be found under the Scheduler API and Language Reference section on the index page. dest). only an upper-layer table-implementation.). the available tables in SAP CPS are listed in the API documentation.getJobDefinitionByName("System_Info"). null. //Create the Job Job infoJob = jobdef.Description from Job".. Querying the Database You cannot query the tables in the database directly. and on the Internet. The code below illustrates how to create a Reporter.getQueueByName("System").JobId.j. null. If you have the Chargeable version but no API documentation.6 implement a lot of shorthands which are not available in SAP CPS. //Get the Queue Queue SystemQ = jcsSession. however.Automating Processes Across the System Landscape { //Get the job definition JobDefinition jobdef = jcsSession. For this you need to define a Reporter and ReportDestination.executeQuery("select j. when referring to a column.getJobId()).prepare(). you need to prepend the table name. which name is the type of the object you want to query for. and how to use a query for the report.persist(). both require their own classes. which is available when you have the Chargeable version. Or jcsSession. 621 . which is available when you have the Chargeable version. followed by a period (. please contact SAP.4. a ReportDestination. jcsSession. dest). CSV (comma separated values. as shown below. as 1. //Attach queue to job infoJob.5 and 1. remember that you must look at Java 1.Job. } More documentation is available in the API documentation. and data types can and will change without prior notice.JobId. jcsSession.scheduler.report.Description from Job where Job.report.model. the database will have to parse each and every query for each Job.Job.HashMap.JobId.SQLException. { String query = "select Job. } Bind variables can increase the performance and scalability of queries. import com.api.model.api.model.api.model.redwood. Canceled.scheduler.util.ScheduledCode) }.Reporter.model.JobId.model.scheduler.JobId.api.model.JobStatus. { //Get the job id and process server id for each job that has status Killed.redwood.JobId <= ?". import com.JobId above changes frequently.Description from Job where Job. new Object[] { String.ProcessServer from Job j where j. Some supported databases. jcsSession.api.redwood.scheduler.JobId <= 244".api. } Using executeQuery to store results in a Map (example with APIResultSetCallback implementation) import import import import java. ReportDestination dest = reporter.Reporter. especially simple queries. like Oracle.report.getCSVReportDestination(). dest). ReportDestination dest = reporter. Reporter reporter = jcsSession. dest).: import com. } The same example as above using bind variables: import com.ReportDestination.Automating Processes Across the System Landscape import com. import com.executeQuery(query. this step can be skipped. new Object[] { new Long(244L) }. Reporter reporter = jcsSession. 'A'. If you have the Chargeable version but no API documentation.valueOf(JobStatus. if we use a bind variable. java. { String query = "select Job.api.getCSVReportDestination().Reporter.report.redwood.ReportDestination. { String query = "select Job. jcsSession.redwood.Job.redwood. new APIResultSetCallback() { public void start() { //This might be called multiple times in a row when database timeouts occur myMap.Map.model.report.api. parse every query once and skip some queries they have already parsed.APIResultSetCallback.Description from Job where Job. The following example is for illustration purposes.scheduler. You have to import the JobStatus class. ReportDestination dest = reporter. jcsSession. Reporter reporter = jcsSession. null.redwood. 'U')". which is available when you have the Chargeable version. import com. null.scheduler.getCSVReportDestination(). like the one above.enumeration. j.createReporter(jcsOut).executeQuery(query.ResultSet.Job.ReportDestination. import com.executeQuery(query. java.report. the fully qualified class name can be found in the API documentation.model.executeQuery(query. please contact SAP.JobId.sql. java. So if the Job. Error. when you do not know the job status code and want to use it in a query (note that looking up the code is easier).scheduler.redwood. import com.Status in ('K'.ObjectGetter. 'E'.util. dest). final Map myMap = new HashMap().sql.createReporter(jcsOut). or Unknown String query = "select j.createReporter(jcsOut).redwood.api.Status = ?".scheduler.clear(). 622 .scheduler.JobId. size()). } In the following example. } public void finish() { // Do nothing } }). jcsOut. You can set dates to be treated strictly by setting the lenient flag to false. timezone) . dtz. The start of time (also known as the epoch) is the number of milliseconds since midnight. } Dates Dates are lenient. the resulting date is: 2011/12/01 12:10:10.10. timezone. a SQL function named TODATE can be used: • TODATE(input. jcsOut. we set the lenient flag to false. { DateTimeZone dtz = new DateTimeZone(2011.Automating Processes Across the System Landscape } public boolean callback(ResultSet rs.010 Europe/Paris (the time zone in this example is Europe/Paris) { DateTimeZone dtz = new DateTimeZone(2011. return true return true. In this first example.put(jobId. we made it. the lenient flag is set to true.10. Jan 1st 1970 UTC. myMap.10). format) . To compare dates in queries.values().10.getLong(1)).10.Use Redwood SimpleDateFormat 623 .12.Use default format (yyyy-MM-dd HH:mm:ss) • TODATE(input.10.toString()).setLenient(false).31.10).println(myMap. Example: November only ever has 30 days. jcsOut.println(dtz.getLong(2)).toString()). that means that 32/12/2011 is treated as 01/01/2012. which is the default. the code will report an invalid month in this case.12. ObjectGetter objectGetter) throws SQLException { //ResultSet here stores only one row Long jobId = new Long(rs. psId). //Cool.println(dtz.31.10. } Comparing Timestamps Dates or timestamps in the repository are stored as a combination of an offset since 'the start of time' and a time zone. Long psId = new Long(rs. Close the tab when you are finished. jcsSession. for example. Procedure 1.util).Reporter. Enter your code in the lower pane.getCSVReportDestination(). ReportDestination dest = reporter.setLocale(Locale.executeQuery("select JobId from Job where CreationTime > TODATE('2010-09-01'.model.redwood. 'yyyy-MM-dd' } See Also • Job Actions • Triggers • RedwoodScript in Jobs • RedwoodScript in Queues • RedwoodScript in Process Servers Scripting in the Shell Use The Shell allows you to access the Repository directly with a scripting language.scheduler.ReportDestination.model. the scripting locale is set to English. a. 624 . 'CET'. By default.Automating Processes Across the System Landscape The following code illustrates comparing two dates: import com.report. 2. import com.GERMAN).redwood. jcsSession. submit 10 jobs.api. You can use it to automate repetitive tasks. Choose Submit Command.scheduler. It can also be used to write or debug your RedwoodScript or Redwood Expression Language code as well. 3. Navigate to Scripting > Shell.createReporter(jcsOut). you can change it to German using the following code: importPackage(java. Note The shell requires the Scripting module. 4.api. { Reporter reporter = jcsSession. The result of your code will be printed in the upper pane.report. i < 10.Automating Processes Across the System Landscape Example To submit one job without parameters. to prepare the environment. for example.getJobDefinitionByName("System_Info"). and triggers are global and apply to all job definitions (Before Job triggers) or all objects (Before Definition Change trigger). you could use the following code: { // Get the job definition object JobDefinition jobDefinition = jcsSession. Actions require you to specify them on every affected job definition. i++) { // Create a job object jobDefinition. 1.getJobDefinitionByName("System_Info"). } To submit 10 jobs without setting any parameters. Trigger Examples 625 . because they fire for every job. Using Triggers a. you need to commit changes to the database jcsSession. You can trigger code to run inbetween jobs. Actions are limited to the object.prepare(). for (int i = 0. you need to commit changes to the database jcsSession.persist(). // Create a job object Job job = jobDefinition. } // To submit the jobs. you could use the following code: { // Get the job definition object JobDefinition jobDefinition = jcsSession.prepare(). or react on a job change or status with triggers and job definition actions. you should decide which solution to implement based on the amount of affected job definitions and the total amount of job definitions that you use regularly. } See Also • RedwoodScript in Jobs • RedwoodScript in Queues • RedwoodScript in Process Servers Triggering Custom Code Use Triggers and actions allow you to interact with changes that occur in the system. The main difference between the two is the scope. Triggers are a little more expensive in terms of performance. // To submit the job.persist(). When you want to trigger code for jobs. before the definition of an object is changed • Before Job On Change . You need to understand the concepts of job states to get a clear understanding of when job-related triggers and actions fire. 626 . SAP recommends to store as much of the code as possible in a library.Automating Processes Across the System Landscape 2. for example or to changes made by the system. You import your own class from your library for use in a trigger. the log entries will also be logged to the default trace file of SAP CPS. same as Before Job On Change • Before Job Pre Running . its location depends on your application server. see the Job States section for more information on the subject. note that only a subset of Java classes are available for use in triggers. the sequence in which the triggers are executed inside a triggerpoint are defined in the Execution Order field. On Definition Change triggers have their own log files. event or alert. operator message. These are used only when enabled and accessible via the context-menu. On Redwood Platform. Job-related triggers create log files on the job for which they fire.before the PreRunningAction code is executed • Before Job Post Running . If you set the log level above the log level of the SAP CPS installation.before the PostRunningAction code is executed • On Job File Content Access . 3. Note You must never persist a session in your trigger code. triggers log to <install_dir>/j2ee/cluster/server1/log/scheduler/triggers/ and the default trace file is <install_dir>/j2ee/cluster/server1/logs/scheduler. Trigger Log Files Triggers log to files using the Java logging mechanism. that is done for you at a later point. The code you write must be valid RedwoodScript.when a maintenance job changes its status.when a user accesses job output Note The Before Definition Change trigger-point does not apply to any change to a job. Customizing Jobs with Actions Executing Your Own Classes Using Triggers Use The following trigger-points are available: • Before Definition Change . It does not apply to changes in queue status or process server status. You can have multiple triggers for one trigger point.when a non-maintenance job changes its status until it reaches status Queued (except for the transition LockWait > Queued) • Before Job On Change Maintenance . especially if you plan on reusing it in other triggers or actions.log. Using Actions a. System queue is thus GLOBAL. the trigger will fire again for the change to the new queue. Note that you can create endless loops in triggers. This can be dangerous. for example. the partition of a job that ran on the GLOBAL. When you set a new queue on a job in a Before Job Pre Running trigger. Other job-related triggers might fire several times depending on your code. Note that the partition of a job is derived from the queue. Warning When you create or modify objects in your trigger code. You can end up in an endless loop. Trigger Scope Triggers fire for all objects that share the same partition as the trigger.Automating Processes Across the System Landscape You access the log file in the user interface from the context-menu of the trigger. This means that the following triggers only fire for jobs that ran on a queue that is in the same partition as the trigger: • Before Job On Change • Before Job On Change Maintenance • Before Job Pre Running • Before Job Post Running Trigger Executions The Before Job On Change and Before Job On Change Maintenance triggers fire at least twice. especially if you do not make sure the trigger will not change the queue the second time the code executes for that job. which fires for all objects in all partitions. these changes might fire the trigger and you potentially end up in an endless loop. Context-Menu Actions Triggers support the following context-menu actions: Action Description Disable/Enable Disable/Enable the trigger Download Log Download the log file of the trigger Duplicate Make a copy of the trigger to create a similar one Edit Edit the trigger Edit Security Edit the security of the trigger Export Export the trigger into a CAR file Delete Delete the trigger Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New trigger Create a new filter Filter > New Filter Create a new trigger filter 627 . Test your triggers well and always start by excluding as many jobs as possible as early as possible. once when switching from New to Scheduled and again from Scheduled to Queued. and that these can have severe consequences as many jobs can be affected. There is the special System_SystemWide_OnBeforeDefinitionChange trigger. you need to make sure that you ignore any changes made by the trigger in your trigger code. Your own class must: • inherit from the stub • must implement a public void execute() Before Definition Change This trigger fires before changes made by users are persisted to the database. You use it to make sure that a user has filled in all fields.Automating Processes Across the System Landscape Filter > Edit Filter Edit current trigger filter Filter > Delete Delete current trigger filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Writing Trigger Code When you write trigger code. Before Job Pre Running This trigger fires when a job is about to leave status Queued. for example or to changes made by the system. Before Job On Change and Before Job On Change Maintenance These triggers fire before a job gets status Queued for each status change and allow you to interact with the job. operator message. See the example below to force users to specify applications for objects that have applications. You create a system-wide Before Definition Change Trigger by using the System_SystemWide_OnBeforeDefinitionChange name. you have the choice between creating your own class and writing directly between curly brackets {}. On Job File Content Access This trigger fires as a user attempts to open job output. It does not fire when a job reaches or leaves status LockWait. note that the System_ prefix is reserved for system-specific and system-wide objects. If you choose to surround your method with curly brackets. and allows you to interact with the job. Note The Before Definition Change trigger-point does not apply to any change to a job. Before Job Post Running This trigger fires just before a job reaches a final status. event or alert. it will be added to the execute() method of the stub class. for example. this is the last point at which you can prevent the job from running. It does not apply to changes in queue status or process server status. 628 . you would use the search criteria as follows: c:trigger You can search more than one property. you can send a message to the user. Finding Triggers You can search for triggers using filters and the Search Triggers box on the Triggers tab. as follows: c:trigger n:JV Note No spaces should be entered before or after the colon (:). Filters allow you to specify a list of objects with static criteria. a set of objects are predefined in the context for you to use. per partition or isolation group. If you have the object security. Contexts For each trigger point.Create Create triggers Trigger. then the message will be sent in HTML. The following table illustrates the available prefixes for triggers: Prefixes Description n. name searches the name property c. These privileges can be granted system-wide. See the Advanced Object Search for more information. It allows you to specify which users can access. which requires the Chargeable version. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. Access and Admin. you have an additional Security tab on the trigger. comment searches the documentation property d. For example. and delete the trigger. if you want to display all triggers with the term trigger in the comment.Automating Processes Across the System Landscape When you throw an exception (to prevent the user from accessing the job file).Edit Edit triggers Trigger. IntelliSearch allows you to specify complex queries in a simple way using prefixes. description searches the description property a. a privilege granted on Admin level allows the grantee to grant the privilege to other users. application searches the application property Security Privilege Description Trigger.Delete Delete triggers Trigger. you can refresh the Stub Source from the context-menu to display the list of predefined objects with 629 . Once you have chosen your trigger-point. If the message starts with <HTML>.View Access triggers You can grant privileges on two levels. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. edit. model.logging.infrastructure.redwood.getSchedulerEntity().api.redwood.api. jcsOut java.redwood.PreExecutingActionScriptObject text.scheduler.api.io. Before Definition Change Object Class Example Code jcsOutLog com.api.scheduler. The following tables illustrate the predefined objects.Job jcsJob.Logger message!") jcsSession com.println("This text will be printed to a specific output file on the job.scripting.io.model.log. Before Job Pre Running Object Class Example Code jcsOutLog com.Logger jcsOutLog.scheduler.scheduler.println("This text will be printed to a specific output file on the job.getNewStatus().").redwood.logging.api. to lookup the available methods).Logger printed to the stdonchangelog file on the job. debug) and includes a time-stamp.PrintWriter jcsOut.redwood. error. jcsPreRunningContext com.redwood.model.api.Automating Processes Across the System Landscape their classes (so that you can use the API documentation.redwood.jcsOutLog.infrastructure. jcsTriggerContext com.TriggerScriptObject jcsTriggerContext. jcsOut java. which is available when you have the Chargeable version.debug("This is a debug message!") jcsPostRunningContext com. warning.jcsOnChangeContext.redwood.scripting.scheduler. their classes as well as a simple example.hold(). If you have the Chargeable version but no API documentation.redwood.").fatal("This is a fatal error message!"). Before Job On Change Object Class Example Code jcsOutLog com.scheduler.Logger jcsOutLog.redwood.api.getUserName() jcsJob com.hold(). the latter uses the Redwood Logging Syntax.scripting.scheduler.PostRunningActionScriptObject 630 .scheduler.PrintWriter jcsOut.scripting.warn("This is a warning and gets ging. jcsSession com.infrastructure. which allows you to specify a severity (info.SchedulerSession jcsSession.api.PreExecutingActionScriptObject or(false).").infrastructure.vari.variables.scheduler. Before Job Post Running Object Class Example Code jcsOutLog com.getQueueByName("UNIX_Generic").SchedulerSession jcsSession.scheduler. The objects jcsOut and jcsOutLog write to the same file.String strNewStatus = jcsPreRunningConables.api.vari.redwood. jcsOnChangeContext com.Job jcsJob. jcsJob com. fatal.scheduler.jcsOutLog.redwood. please contact SAP.setFailJobOnErrables.api.log.model.api.scheduler.info("This is an informational ging.api.variables. this also defines the scope of the trigger as it will only effect trigger-points of objects that are in the partition of the trigger. helpful for other users to understand your trigger Enabled Only enabled triggers will have effect Execution Order The order at which the triggers are executed for one same trigger-point Library Your library of classes to use within the trigger Log File Enabled Should the trigger actions be logged? This is helpful for troubleshooting your trigger Source The source code of the trigger Stub Source The source stub.getParentApplication() == null) { String msg = jobDef. jcsOut java. } } } 631 . { Object o = jcsTriggerContext. See the Trigger Examples topic for more examples of triggers. throw new RuntimeException(msg).SchedulerSes.getName() +" has no application!".model.scheduler.redwood. This trigger allows you to force users to put job definitions and job chains in applications.api.JobDefinition. Values Field Description Partition The partition of the trigger.redwood. which contains the stub code with predefined objects Note A job has the same partition as the queue it ran in. if ( jobDef.MessageFormat.Automating Processes Across the System Landscape jcsSession com.getSchedulerEntity().model.io. if (o instanceof JobDefinition) { JobDefinition jobDef = ((JobDefinition) o).restart().redwood. Example This example trigger checks if job definitions or job chains have an application.text.scheduler.scheduler. Name The name of the trigger Application The application the trigger resides in Description A description of the trigger Documentation The comment for the trigger.model. import com.").println("This text will be printed to a specific output file on the job. and throws an exception when this is not the case. import java.Job jcsJob.PrintWriter jcsOut. jcsOutLog.api.api.info(msg).getSchedulerEntity() sion jcsJob com.jcsSession. //Set Queue on the job jcsJob.getInValueString()). Solution 1 { //get Job Parameter and Queue JobParameter jp = jcsJob.println("Setting job to run in Queue from JobParameter "+jp.getQueueByName(jp. Solution 1a { //get Job Parameter and Queue JobParameter jp = jcsJob. Queue q = jcsSession.getJobParameterByName("Queue"). if (jp != null && q.isOpen()) { jcsOut.setQueue(q). if (jp != null && q.println("Setting job to run in Queue from JobParameter "+jp.getInValueString()).getQueueByName(jp. Queue q = jcsSession.setQueue(q).getJobParameterByName("Queue"). Tune Scheduling Parameters at Runtime You can use a Before Job Pre Running trigger to change scheduling parameters. } } 632 . } } Alternate Request 1a Jobs from a few job definitions should run in a queue specified in a job parameter if the queue is open.Automating Processes Across the System Landscape See Also • Trigger Examples • Granting and Revoking System Privileges • Granting or Revoking Object Privileges • Documenting Objects using the Documentation Tab Trigger Examples Use This topic provides examples of triggers to show you what can be done.getInValueString()).getInValueString()).isOpen()) { jcsOut. Request 1 Jobs from many job definitions should run in a queue specified in a job parameter if the queue is open. //Set Queue on the job jcsJob. jcsPostRunningContext. This should be done for most job definitions.longValue() == 0) { // Will contain ReturnCodeMapToWarning parameter if it exists JobParameter jp.getReturnCode() + " is in " + mapToWarning). } } 633 . } else { mapToWarning = jp. // Will contain the range of codes to map to warning. on the job definitions for which you wish to override the final status.length() >= 0) { returnCode = jcsJob. } // Use jcsSession. You specify a Before Job Post Running trigger like the one below: { JobDefinition jd = jcsJob.getReturnCode(). String mapToWarning. You want to override this.Completed).getBehavior(). 15-24 in this case.createJobNote(). which contains a range. do nothing mapToWarning = null.inRange(returnCode.inRange to determine if the code is in range.setFinalStatus(JobStatus. Long returnCode. } // Only do mapping if there is a sensible value if (mapToWarning != null && mapToWarning. mapToWarning)) { JobNote jn = jcsJob. if (jcsSession. jn. // Is it in the range.setText("Setting status to Completed as " + jcsJob. Request 2 A job reaches status Error because the exit code is higher than 0. Solution 2 You specify a job parameter ReturnCodeMapToWarning.getJobParameterByName("ReturnCodeMapToWarning"). as exit codes 15 to 24 are in fact just warnings.getJobDefinition(). boolean inRange.intValue(). // Only run for user defined job definitions if (jd.getInValueString().Automating Processes Across the System Landscape Overrule Errors You use Before Job Post Running triggers to influence the final state of a job. if (returnCode == null) { // Handle null as 0 returnCode = new Long(0). if (jp == null) { //Job parameter does not exist. // Look for the ReturnCodeMapToWarning parameter jp = jcsJob. getJobParameterByName("ErrorSearch").*. A lot of job definitions are concerned by this issue.Automating Processes Across the System Landscape } } Alternate Request 2a Only a few job definitions are concerned. you can save processor cycles.model.Error).getInValueString(). import com. SearchResultSet rs = jf. { JobParameter jp = jcsJob. Note that you will have to add the action to each job definition.scheduler. however.getLineText()). the error appears in the job file stdout.search(errorSearch). You use the Before Job Post Running trigger code below: import com. import com.wasFound()) { SearchResult sr = rs.getSearchResult(). jcsOut.getSearchResult(). the ErrorSearch job definition parameter could be set to No such file or directory.redwood. The pattern should match the error as found in the output file. for example. The code for the action is the same as for the trigger. you want the job to reach status Error when an error was reported in the output of the job. while (rs. jcsPostRunningContext.println("Found " + errorSearch + " at " + sr.scheduler.api.redwood. jcsOut.next() && rs.api. In this example.println(sr. JobFile jf = jcsJob.redwood.enumeration. } } } Alternate Request 3a Only a few job definitions are concerned.scheduler. 634 .*.getJobFileByName("stdout. Solution 3 You specify a job definition parameter containing the pattern to search for.api.*. Change Status According to output Request 3 Jobs reach status Completed because the return code is 0. if (jp != null) { String errorSearch = jp. an error in the job will be printed as follows: myprog: cannot access /u01/backup/masalan: No such file or directory In this case.model.getLineNumber()). Triggers fire for all jobs.log").setFinalStatus(JobStatus. though.search.log For example. if you specify the action on each job definition that is concerned by this. Alternate Solution 2a You specify a post-running action on the jobs concerned by this. getGrantedSubject(). access granted. you can save processor cycles. get the job and its parameter String uteam = null. no further restrictions apply. you want to make sure that only authorized personnel have access. users have no access if (uteam == null) { throw new Exception("Access denied").getJob(). for example. } Using Actions Use Actions and triggers allow you to interact with user actions. } } //Parameter does not exist. You use the value of a parameter to define which team the job belongs to. it.getAssignedSubjectRoleGrants().getJobParameterByName("TEAM").next(). The code for the action is the same as for the trigger. Check User Access to Job Files Request 4 Users have access to job output they should not be able to access. //Compare each role with the required one if (role. you can change the status to Com- 635 . Solution 4 The following On Job File Content Access trigger code illustrates how you can control access to job files. if you specify the action on each job definition that is concerned by this. String role= o. Note that you will have to add the action to each job definition.equals(jteam)) { uteam = role. the most common one being the final status of jobs. if (jp != null) { //Get the value of the parameter String jteam = jp. actions only apply to the definitions for which they are defined.Automating Processes Across the System Landscape Alternate Solution 3a You specify a post-running action on the jobs concerned by this. { //initialize the team. though. it only restricts the access a little more. When this parameter does not exist.hasNext(). } } //if the team is null. The main difference between triggers and actions is the scope. JobParameter jp= j. This trigger does not alleviate roles and object privileges. triggers apply globally. //iterate through the users roles for (final Iterator it = jcsSubject.getName().getInValueString().) { SubjectRoleGrant o = (SubjectRoleGrant) it. With job definition actions. Job j = jcsJobFile. Triggers fire for all jobs. Your users have roles representing their respective teams. both require specific license keys that enable the respective module. Job Definition Actions Actions are available in job definitions to customize job behavior before.scheduler. Actions can make use of a library in which you can store frequently used classes.api.getQueueBysion Name("PRD_QUEUE"). while and after they have finished running. See the example below. this is done for you at a later stage. Actions are also available in the Active Monitoring Module as well as in the import/export module.SchedulerSes. Object Class Example Code jcsSession com. for example.redwood.ImportActionScriptObject jcsImportRuleSet. Note Actions require RedwoodScript which in turn requires an Scripting license name Module.ImportExport license key.Alerting and the import/export module requires the Module.jcsSession. for example.Scripting. and the jcsImportRuleSet which is an iterator over the collection of objects that are to be imported. The Active Monitoring Module requires the Module.api.model. that is done for you at a later point.redwood. The following action-types are available for job definitions: • Pre-Running ( see the Administration Guide ) • OnChange ( see the Administration Guide ) • [Post-Running|Cronacle8DocScriptingContexts#PostRunningAction Active Monitoring Module Actions are available in the Active Monitoring Module in the following alerting objects: • Alert Escalation .after the alert is escalated • Alert Source .after the alert is created 636 . You can rename objects or assign them to an application.Automating Processes Across the System Landscape pleted even if the job reached status Error based on advanced criteria.scheduler.getObjects().variables. Note You should not persist the session in import rule set actions. jcsImportRuleSet com. Note You must never persist a session in an action. Import/Export Module Actions are available in import rule sets to customize objects before they are written to the database.scripting. Import Rule Sets The context of actions in import rule sets have a SchedulerSession object which allows you to rename the objects. api.setParentApplication(app). Object Class Example Code jcsOutLog com.scripting.redwood.com.scripting. "Finance").Logger jcsOutLog.varijcsAlertSourcePostAlertContext.gettext ables. Application app = jcsSession. for (final Iterator it = jcsImportRuleSet.scheduler.com.api.iterator(). for example.EmailAlertGatewayPreSendActionScriptObject jcsEmailAlertGatewayPreSendActionContext.before the email is sent Actions in RedwoodScript The contexts of actions available in alerting objects have the Logger (jcsOutLog) as well as a object-specific context which is used to retrieve the alert.AlertSourcePostAlertActionScriptObject AlertSource().infrastructure.redwood. except applications.logging. it.getApplicationByName(parentApp.isContext ables.varijcsAlertEscalationPostAlertContext.scheduler.) { Object o = it. jcsEmailAlertGatewayPreSendActionContext com. } } } See Also • Redwood Script • Trigger Examples • Triggers Executing Your Own Classes from a Library Use The library allows you to store your RedwoodScript code for use in SAP CPS. 637 .variables.Automating Processes Across the System Landscape • Email Alert Gateway . making sure it can have an application (ApplicationObject) and that the imported object is not an application (to avoid errors.api. jcsAlertSourcePostAlertCon. if (o instanceof ApplicationObject && !( o instanceof Application)) { ((ApplicationObject) o).hasNext().Resend() bject Example Sample code that is to be used in Import Rule Sets and changes the application of all imported objects.getApplicationByName("Masalan"). which has Masalan as parent application. to Finance.api. in one or multiple triggers.AlertEscalationPostAlertActionScriptO.info("This is an informational message").getObjects(). for example.scripting. the alertSource or the message.next().scheduler.scheduler.redwood. jcsAlertEscalationPostAlert. or in Redwood Expression Language. { Application parentApp = jcsSession.redwood.getMessage(). Checks are made for the imported object. if the application or its parent are part of the import). The category is the source of the message.potential errors or misconfiguration.informational messages.errors that only effect part of the system (for example a job failing or a file not being present) • WARN . Note When you modify a library. Custom Library and Customer Libraries Actions.Automating Processes Across the System Landscape You can write your own code directly in your library or add jar files to your library. Note Customer library names must always start with Custom_ or you will not be able to save the library. All loggers related to SAP CPS are in the category com.. to reduce the impact. and is arranged hierarchically.. you can set the library of job definitions. if you want to create your own. The levels (in order of most to least important) are: • FATAL .class). package .detailed information about system progress.scripting... all objects that use the library will have to be recompiled. If you do not want to depend on a library.. under which there are many more sub-categories (and sub-sub-categories and so on). triggers.custom. job definitions.. and Redwood Expression Language. import com. Loggers also have a level. that require human intervention to resolve. You use the default loggers that are available in the context of the library.messages that will cause an immediate issue for the system or important customer functionality.scheduler.. You may specify your own library in which case the object will depend on your library and the Custom library. import com. period functions.redwood.variables. this controls the amount of information that is logged from a particular source.redwood. generally about progress in a long running task. • ERROR . public class MyClass { private static final Logger log = LibraryLoggerFactory. log.Logger. • INFO . you can use the None library .scheduler. This code can then be accessed from triggers.info("Reached important point").this will also prevent superfluous recompiles when the Custom library changes.scheduler. period functions and job definitions depend on the Custom library.redwood.LibraryLoggerFactory. 638 .api.. • DEBUG .logging.redwood. RedwoodScript code in a library must always be in Full mode. actions. actions and triggers that do not use the Custom library to use None library. Loggers have a category and a level..api. you should create one for each class that requires a separate logger.infrastructure. that is start with package com. This can be timeconsuming. . Using Loggers in Libraries A logger is an object that allows you to write log messages.getLogger(MyClass. log.<class_name>. and use <class_name>.the method syntax Note You should not mix code in a same class that is to be used in Redwood Expression Language and RedwoodScript.the fully qualified class name • Method Signature . Accessing Libraries in Redwood Expression Language You can use your methods in Redwood Expression Language throughout the product by specifying REL Entry Points with the following information: • Name . Logger log = ...<class_name>. Note You should not use the jcs prefix in the names of your methods.error("Error accessing file". } catch (IOException ioe) { log.Automating Processes Across the System Landscape . one that takes a message. as this prefix is reserved for the system. See Mixing REL and RS Code in a Library for more information. you can then use your code using one of the following: • specifying <package_name>..the name of the method to be used in Redwood Expression Language • FQ Class Name .. log.debug("Some information useful to developers is " + someVariableName).. as this prefix is reserved for the system. you first need to set the library containing your code on the object.<method_name> Note You should not use the jcs prefix in the names of your methods. ioe). try { . 639 . } Accessing Libraries in RedwoodScript To use your methods from within RedwoodScript.. throw ioe.<method_name> • import your class using the following import statement import <package_name>.. and another that takes a message and a Throwable object (an exception).info("Finished Pass 2/3"). } The logger object has two methods for each level. you would use the search criteria as follows: c:trigger You can search more than one property. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface. Context-Menu Actions Libraries support the following context-menu actions: Action Description Edit Security Edit the security of the library Import JAR Import the code of a JAR file into the library Duplicate Make a copy of the library to create a similar one Delete Delete the library Export Export the library into a CAR file Edit Edit the library Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar New Create a new library Filter > New Filter Create a new library filter Filter > Edit Filter Edit current library filter Filter > Delete Delete current library filter Finding Libraries You can search for libraries using filters and the Search Libraries box on the Libraries tab. job actions. or import rule set actions. This has been fixed. IntelliSearch allows you to specify complex queries in a simple way using prefixes. The behavior or side-effects might even change from one release to the next without prior notice. if you want to display all libraries with the term trigger in the comment.Automating Processes Across the System Landscape Persisting Sessions in Libraries It is not recommended to persist a session in your library code that you intend to use in Redwood Expression Language. as it can have side-effects. especially when the code is used in triggers. as follows: 640 . You may persist a session in your library code when it is used by alert escalations. the session is read-only. Filters allow you to specify a list of objects with static criteria. the call would return <code>null</code> for restarted jobs.getSession()</code> within a library from REL. It is strongly recommended not to persist a session in your library code if it is used in triggers. alert sources. job actions. or email alert gateways and none of the previously mentioned objects. Persisting a session in your library code used for RedwoodScript may have side effects as well. however. for default expressions and in-expressions of parameter mappings. Sessions in Libraries and Restarted Jobs When you called <code>ScriptSessionFactory. or import rule set actions. For example. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. edit. and delete the library. If you have the object security.Edit Edit librarys Library. For example.the type of object with a link to it • Related Object . The table in related objects contains three columns: • Type . per partition or isolation group. • Granting and Revoking System Privileges • Granting or Revoking Object Privileges Procedure Create you own package in the custom library 641 . you have an additional Security tab on the library. application searches the application property Deleting Libraries You can only delete libraries when no other objects relate to them. The following table illustrates the available prefixes for libraries: Prefixes Description n.View Access librarys You can grant privileges on two levels.Delete Delete librarys Library. See the Advanced Object Search for more information.Create Create librarys Library. description searches the description property a.objects can sometimes be used in different roles Security Privilege Description Library. You can see all job definitions that relate to the library in Related Objects in the lower detail pane and on the show page. if there are job definitions that use the library. which requires the Chargeable version.Automating Processes Across the System Landscape c:trigger n:JV Note No spaces should be entered before or after the colon (:). It allows you to specify which users can access. comment searches the documentation property d. These privileges can be granted system-wide.the name of the object with a link to it • Used As . the library cannot be deleted until all job definitions that use it have been modified. Access and Admin. a privilege granted on Admin level allows the grantee to grant the privilege to other users. name searches the name property c. Example In this example. 5. Choose the Source tab. c.the desired name of the method. Always keep methods for RedwoodScript and Redwood Expression Language in different classes. return str1. Choose the REL Entry Points tab and fill in the following information: a. b. 2. choose New Library and enter your code.the fully qualified name of the class. e. one class is used for both RedwoodScript and Redwood Expression Language. 3. its name in your code and the types of arguments that should be provided. Name . the name should remind others of what the method does.<class_name>. 4. 3. Choose Send and wait until the jar file has been loaded. Method Signature . Choose Save and choose the REL Entry Points tab and fill in the information under the REL Entry Points section: Example Code // Example code to illustrate package masalan. Choose Edit from the context-menu of the Custom library. Navigate to Scripting > Libraries. Choose Edit from the context-menu of the library. 2. Choose Add Jar from the context-menu of the library. the jar file has not been added.log and stdout. String str2) { if (str1 == null && str2==null ) return "null".the signature of the method. Please monitor the job and inspect the stderr. 4. 3. Navigate to Scripting > Libraries.concat(str2). Choose the Source tab. <package_name>. FQ Class Name .log files for more information. choose New Library and enter the code under the Example Code section. This is for illustration purposes only to show you how to access your methods from both and should not be done in a production environment. } } 642 . Choose Save to save your newly added package. public class concat { public static String concatString(String str1. Add a jar file to the library 1.g. Navigate to Scripting > Libraries. if this job fails. 1. The System_Import_JarFile job definition gets submitted automatically to upload the jar file. 2. 4. In the Import Jar File Into Library make sure the Library Name is correct and navigate to the jar file.Automating Processes Across the System Landscape 1. The jar file needs to be accessible to the system where SAP CPS is running. it will only concatenate the default values of the parameters and not the values entered at submit time.concat.concatenate • FQ Class Name . Param2)).param2) Use in RedwoodScript In a job definition 1. 3. as this can have side-effects. respectively the third had a Display order of 99.concatString(Param1.param1.concat • Method Signature . You encounter the issue when constructors that take arguments are used.concatenate(parameters. } An alternative. however. parameters. The following example was used in a job definition with three parameters.concat.Automating Processes Across the System Landscape REL Entry Points • Name . choose RedwoodScript as job definition type and the library you added the above code to as library.concatString(String.println(masalan. The display order attribute defines the order at which parameters are displayed in the submit wizard as well as the evaluation sequence. 2.masalan.concatenate('Masalan '.') You can also concatenate strings from parameters. } Mixing REL and RS Code in a Library Use You should not mix code for REL and code with constructors in any one class. Create a RedwoodScript job definition.println(concat.String) Use in Redwood Expression Language In a job parameter: =Custom. If you do not make it a runtime parameter. 'Inc. is to import the class. On the source tab enter the following code: { jcsOut. Param2)).concatString(Param1. =Custom. Give the job definition a name on the Definition tab. { jcsOut. so you do not have to specify the package name every time: import masalan. the first two had a Display Order of 0 and 1. 643 . // Default value } public MyClass(int newValue) { someVariable = newValue. public class MyClass { public String myFunction(String argument) { // Code } } The following class can be used with REL.Automating Processes Across the System Landscape Example The following examples illustrate what should and should not be done: The following class can be used with REL. } public String myFunction(String argument) { // Code } } The following example will have side-effects public class MyClass { private int someVariable. } public String myFunction(String argument) { // Code } } 644 . public MyClass(int newValue) { someVariable = newValue. public class MyClass { private int someVariable. public MyClass() { someVariable = 0. redwood.<extension> • <name> . the client computer needs to have to have the software to view and/or edit the file. scheduler-administrators will be notified upon login. You can also upload existing documents in various formats. 645 .the name of the document object • <extension> . the mime-type of the format will define the editor that will be used. from the server. You must make sure that you set the correct mime-type. which needs to be installed once after installation and possibly after upgrades. Documentation Documentation A comment about the document or any other information Content Upload Allows you to upload or edit a file. Installation requires a connection to the Internet and access to https://support.Automating Processes Across the System Landscape Documenting Code and Procedures with Documents Use You use documents to document procedures or other objects. a link is shown to install the editor if it is not already installed. for example. You specify the documents in the Documentation fields of objects as follows: doc:/<name>. depending on the chosen format.com. the following text is shown: A third party Rich Text Editor can be installed on your system subject to your agreement to the license terms After agreeing to the license the editor will be installed on your system from https://support. You can use the rich text editor. When you choose this link. Documents can also be used for informational messages about downtimes.com. if any. When new versions of the text editor are available.depending on the mime-type Tabs and Fields Tab Field Description Document Partition The partition of the document Document Name The name of the document Document Application The application of the document Document Description The description of the document Document Format The format of the document. so that the browser on the client system can open the correct program for the file. Rich Text Editor When editing a HTML Document.redwood. The contents of the Comment tag will be used as the message text. System Administration Team Context-Menu Actions Action Description Edit Edit the document Edit Security Edit the security of the document Delete Delete the document Show permalinks Show links that can be used from third party applications to link to the Add to navigation bar Add the current object to the navigation bar. edit. per partition or isolation group. The length of the Comment field is limited to 1000 characters. a privilege granted on Admin level allows the grantee to grant the privilege to other users. If you have the object security.Edit Edit documents Document.Create Create documents Document. Access and Admin.View Access documents You can grant privileges on two levels. a More link will automatically link to the contents of the document. These privileges can be granted system-wide. It allows you to specify which users can access. New Create a new document Security Privilege Description Document. the message will be rendered on one line with a scroll bar if the length of the message exceeds the available space.Automating Processes Across the System Landscape Informational Messages You create a document named MessageOfTheDay in the Redwood application in the format HTMLText to display a message at logon time. you have an additional Security tab on the document. which requires the Chargeable version. and delete the document. Tab Field Value Document Partition GLOBAL Document Name MessageOfTheDay Document Application Redwood Document Format HTMLText Comment Greetings. the PR1 system will be unavailable from 15:00 August 21st until 9:00 August 22nd.Delete Delete documents Document. • Granting and Revoking System Privileges 646 . Example A log on message about the downtime of the PR1 system. Automating Processes Across the System Landscape • Granting or Revoking Object Privileges See Also • Formats • Privileges Required to use Documents • Documenting Objects using the Documentation Tab 647 . Receiving Operator Messages on your Desktop b.Chapter 9. Process Server Alerts iii. Monitoring Jobs in a Calendar view d. Custom Alerts 7. Configuring Alerting a. Showing Monitors as Graphs in the Dashboard 5. Creating Advanced Reply Expressions Integrating SAP CPS in your SNMP Landscape 648 . Monitoring SAP Systems 6. Configuring Email Alert Gateways Interacting with Operator Messages a. Job States b. messages and the status of events. Monitoring Automated Processes Monitors give you an overview of all running jobs. The Calendar monitor allows you to visualize the jobs in a calendar view and helps you organize your processes. b. Filtering Jobs and Events c. Defining Escalation Routes c. Triggering Alerts i. Interacting with Operator Messages 4. Job Forecasting 2. 1. Monitoring System Performance a. Monitoring Events 3. The Jobs monitor is the main dialog for displaying and interacting with jobs. Job Alerts ii. all alerts. Monitoring and Managing Jobs a. 8. Each node in the cluster will have a range of job id's. using the actions under Scheduling. Changes to recurrences effect all jobs that have not reached the status Running. This is done. • The job preview pane displays extensive run-time data of the currently selected job. Refresh. Once you have finished adapting the recurrence. Context-Menu Actions Jobs support the basic actions of Help. This behavior can be customized with Restart Behavior. From the job monitor jobs can be monitored as they execute and you can perform a number of actions on the jobs.will cancel the recurrence if you canceled all pre-submit jobs at the same time • Kill . job id's are not necessarily sequential in time.will interrupt the recurrence if you hold all pre-submit jobs at the same time • Cancel . for JobGroup jobs.will duplicate the recurrence You edit a recurrence using the actions on the job. See the Advanced Job Search topic for more information. Note On clusters with multiple nodes. Recurrences that are defined by a submit frame can be influenced by changes made to a job. Editing Jobs with Submit Frames or Recurrences When you edit a job.Monitoring Automated Processes Monitoring and Managing Jobs Use The job monitor is part of the Monitoring section in the navigation bar and gives a central overview of all jobs and their statuses on all managed servers in any queue. Close tab. to give you an up-to-date overview of the jobs and their states. To view the details of a job chain or call. and Close all other tabs. You can also edit the properties for the entire job group of the recurrence. The job monitor displays a number of properties of jobs in columns. which can be customized. you can change the scheduled start time. choose the job id. Searching Jobs You can use the IntelliSearch box to search for jobs. If you want control over which jobs are affected. The job monitor consists of two panes: • The job monitor pane displays a hierarchy of all jobs that match a chosen filter. put the job(s) on Hold to make sure you have enough time to perform the change. you decide if you want to edit the job or JobGroup via a dialog. queue or other properties of the job. A diagram similar to the job chain edit diagram is available from the context-menu for job chains. The default actions and respective consequences are outlined below: • Hold . as long as it has not reached the Running status. 649 . The preview pane will show job details. do not forget to release all jobs you held.has no effect on the recurrence • Resubmit/Restart . Edited jobs leave the JobGroup. This will prevent the job from ever starting. Add to navigation bar Add the current object to the navigation bar. Expand All Expand the job chain. and so on). or Unknown. If its state is pre-running. Show diagram Show the job in a diagram. Delete Delete the job. show the whole job chain expanded to the job. Scheduling > Cancel cancel a job that has not yet started running. Forecast Jobs Create a forecast overview of selected jobs. Killing a job may not always be instantaneous. only works if the current job status is Queued. identical to Restart for jobs not in a job chain. not Running. Scheduling > Release this will release the job. 650 . this will kill all currently running jobs in the job chain. Reply to Operator Messages Reply to the operator messages related to the job. New Alert Rule Allows you to create a new alert rule for the job with a default Name and Name Pattern. This will submit the job immediately. Scheduling > Enable this enables a previously disabled job chain step or call. Add Note Add a note to the job. parameters. Killed. Scheduling > Kill kill a running job by sending it a signal to stop running. useful for job chains and SAP process chains. Remove Old Jobs Remove old jobs that have reached a final status. it has to be in a final state. Scheduling > Hold this will hold the job and recurrence (if any). which can be used from third-party applications. you must kill it before you can delete it. Show context Show the job in its context. jobs according to a job filter or system-wide. Scheduling > Resubmit submit a new job based on this job (same definition. Get Support Files Allows you to retrieve the log files and operator messages that can help you troubleshoot a problem. running jobs are allowed to reach a final status Scheduling > Restart submit a new job based on this job (same definition. This will pop up the new window to edit the values before the job is submitted. Explain Job Status Explain the current job status. the job must be in an initial state. Show permalinks Display the permalinks to this job. preventing it from being executed until it is manually released. parameters. Edit Job Definition Edit the job definition of the job. If the job is running.Monitoring Automated Processes Jobs have additional actions: Action Description Scheduling > Edit Edit scheduling data of the job. you must cancel it first. Scheduling > Disable this disables a previously enabled job chain step or call. Scheduling > Restart from Error Restart a job chain from the step that reached status Error. if it is part of a job chain. this will cancel all jobs in the job chain that have not yet started. For job chains. For job chains. To edit a job. without prompting. Only available for jobs that have reached status Unknown or Error. allowing it to be executed automatically when all its scheduling constraints are met. and so on). Expand a job chain. Filter > New Filter Create a job filter. Held H The job group was put on hold. Choose the Refresh to update existing jobs and show new jobs. Choose an auto-refresh interval. FinishedSubmitFrame S The job group is finished because the submit frame does not have a next submit time. notice the child steps. You change a job group and its state by using the actions under the Recurrence action group. 5. Among these are Job files. Filter > Add to navigation bar Add the current job filter to the navigation bar. 7. Job Group States Repeating jobs are in job groups. jobs in a job groups share the common repetition pattern. The detail pane shows the different values listed in the Values section below. Filter > Export Filter Export the current job filter.Monitoring Automated Processes Filter > Create Filter Create a job filter. Filter > Edit Filter Edit the current job filter. a user cancelled the repetition. downloaded. For example. 6. Filter > Duplicate Filter Copy the current job filter. Procedure To view parameters of a job: 1. Filter > Edit Filter Edit the current job filter. Expand a step. FinishedJobCount C The job group is finished because the maximum number of jobs has been reached. Filter > Delete Filter Delete the current job filter. 3. and deleted once the job has completed. FinishedManually M The job group is finished on a user request. notice that the detail pane appears. 2. Select a job. which can be viewed. A job group can have a JobGroupStatus: Status Status Code Description Active A The job group has jobs in a non-final state. 651 . 4. FinishedEndDate D The job group is finished because the end date has been reached. Choose Monitoring > Jobs. Scroll down and expand the Parameters group. Filter > Create filter from search Create a filter from the IntelliSearch. Created The time the job was created. This is unique for every Job. Documentation A comment on the job. Hold on Submit If the job was submit on Hold. Standard for built-in maintenance. Custom for custom maintenance. Expand the Files node. Definition The job definition that was submitted to create this job. 10.Monitoring Automated Processes 8. Maintenance Displays the maintenance type of the job. and blank for non-maintenance jobs. an external completion strategy means that the job completes when the web service reports back and sets the job to completed. Gantt Chart Progress chart to display the progress of the job definition/job chain. 9. The overview displays the value when the job started (In Value) and the value once it finished (Out Value) of every parameter (if applicable). this field will be true . Job Id The job id for this Job. This chart uses job statistics. These are the output files of the job. Choose a file to view its contents. 652 . Values More information about the available columns in the job monitor ca be found in the Available Columns in the Job Monitor section of the documentation. This is used for jobs started from web services. Equals the description of the submitted job definition that created this job. the chart will consist of two horizontal lines. Description The name of the job. See Also • Advanced Job Search topic • Viewing Jobs in a Calendar View • Job Forecasting • SAP CPS Job Processing • Job States • Available Columns in the Job Monitor Available Columns in the Job Monitor Use The following columns are available in the job monitor: Field Description Completion Strategy How the job completes. Modified The last modification date of the job. if these are not available. Requested Start Time This is the time that the user has requested that the job start. Requested Start Time Type Has the requested start time been explicitly set by the user. Each node in the cluster will have a range of job id's. Remote Event The remote event. time windows. and the requested start time set by the user. Run Time The time the job was in status Running. Remote Run Start The date and time the job status started executing in the remote system. Process Server The process server assigned to handle the job. this will be the scheduled start time.Monitoring Automated Processes Next Submit Base Time The time that will be used as a start time for the calculation of the next requested start time for a job with a submit frame. Status for Job Group The current status of the job group. Higher values have precedence. Remote System The remote system. or has it been inherited from the Job's parent. Parent Job If the job has a parent job. Return Code The return code of the job. Priority The priority of a job in the range 1 to 100. Remote Run End The date and time when the job finished in the remote system. the job id of the parent will be listed. Submit Frame The submit frame the job was submitted into. See Also • Monitoring and Managing Jobs • Advanced Job Search topic • Job Forecasting • Viewing Jobs in a Calendar View 653 . Queue The queue the job was submitted into. Remote ID The remote unique identifier. In the absence of other restrictions. job id's are not necessarily sequential in time. This is calculated by the dispatcher. Note On clusters with multiple nodes. Remote Status The remote status. or for the requested start time of a new job where the job has an infinite recurrence pattern. Time Window The time window of the job. or the jobs queue. Owner Job owner. for example. This value is also set on a best effort basis when this job was submitted. and is dependent on any time windows associated with the Job. Run Start The date and time the job status started executing. Run End The date and time when the job finished. Scheduled Start The scheduled start date and time of the job. Status The current status of the job. There are four basic stages in which one can classify the various job states. final Every job goes completed job went through all four stages. running 4. but the process cannot (yet) be executed. Chained A job chain is requested and all jobs in the chain have been created and are awaiting execution Disabled The process server will not execute the job chain job due to a manual request of the user. initial 2. Initial Job States Status Description New The process has been submitted. LockWait The process cannot obtain a process lock and is waiting for one to be released. when the job chain is restarted. however. a Running job cannot return to a pre-running stage status. Assigned The process has been accepted by the Service. job chain jobs that have the status Disabled will not be executed. For example. but it has not been started yet. Pre-Running States Status Description Scheduled The process has a valid start time and is waiting for execution QueueHeld The processes queue has been manually paused Held The execution of the process has been manually paused. 1. Running States Status Description 654 . Queued The start time is known.Monitoring Automated Processes • SAP CPS Job Processing • Job States • Documenting Objects using the Documentation Tab Job States Use Job states are there to show which stage a job has reached. but not yet validated. pre-running 3. a job cannot "revert" back to a previous stage. EventWait The process is waiting for an event to be raised. but the Service has not yet started the process. Dispatched The process has been dispatched to a Service. Skipped The process server has not executed the job chain job due to a precondition or the usage of the "Start at specified step" scheduling parameter. the job will not start without intervention. WAITING or CONSOLE). Killed The process was terminated while it was running (process status was Running. Waiting The process is waiting for the result of the execution of another process. Console The process has issued an OperatorMessage to the Messages monitor and is waiting for a reply. the process shall not execute for at least two years. When the job chain is restarted. Canceled The process was terminated before execution commenced. Canceling A request was made to cancel the process and the JobService has honored that request. Killing A request was made to kill the process and the JobService has honored that request. Final States Status Description Completed Process execution finished successfully. the JobService that is running this job no longer needs any access to the JobParameters of this Job. Ignored This process was ignored as a result of being Disabled when the job chain was submitted. Never Due to conflicting time windows. Error The execution of the process failed. 655 . Unknown The Service was terminated while the process was running (process status was RUNNING. the process server will re-evaluate job chain jobs with the status SKIPPED. Waiting or Console). Note Jobs are set to Modified when the resubmit or restart fails.Monitoring Automated Processes Running The process is being executed by the Service. Special States Status Description Modified A resubmit or restart has failed and th job has been put into status Modified. time window elements or a shutdown process server. The start time is set to December 31st 2999 Overdue The process did not run in the first time window opened after the process start time Note It can occur that the job gets deleted in the SAP System before the final status has been retrieved by SAP CPS. the job will get status Unknown in the job monitor. Once it has entered this state. not when the job definition is changed as in Version 7. In this case. or Assigned as these states are transitional and are immediately reacted upon: Wait events and locks force the job to wait until all wait events are raised or until the lock is released: The following three figures display all possible job states in chronological order: Jobs that have not yet reached the Running status can be canceled. the job will remain in one of the two transition states Canceling or Killing for a short time. in fact. jobs that have reached the Running status and not yet reached a final status must be killed if you want to interrupt them. not all states are displayed here. before it reaches its final status. depending on the system load. Dispatched.Monitoring Automated Processes Diagrams Understanding Status changes A simple job would pass the stages below. When you cancel or kill a job. 656 . most of the time you will not see jobs in status New. By default. When a job in a step fails. Ignored. Disabled and Ignored steps have been disabled by an operator. the main job chain job will be set to status Error. a job chain that runs every day could have one or more jobs with a precondition restricting these jobs to run only on Mondays. for example. By default. the jobs that were to run on Mondays will be Skipped on other weekdays. The final status of a job chain is determined by the status of the last step that reached a final state. You can skip jobs by submitting a job chain at a specific step. The job chain would run every day. A registry key ( see the Administration Guide ) and comment keywords have been introduced to allow you to toggle the behavior. a job chain job will wait until all its child-steps have completed successfully or a child-step completed unsuccessfully. The keyword in the Documentation field of the job chain definition has precedence over the registry key. the step waits for the other jobs in the step to reach a final state and is set to Error. This means that if you have a job chain of which the last step is Disabled. the following final states are special: Disabled. job chain steps and job chain jobs will remain in status Chained or Disabled until they are started. Precondition functions can be used to have specific jobs run at specific times only. Steps will wait in the same way for their job chain jobs. when you kill or cancel a job chain step or a job chain job. The status of the job chain to also be set to reflect the status of the last executed step. Disabled Jobs immediately reach status Ignored when the process server processes them. At this moment the job chain will be set to Error and steps that came after the failed step are not executed and remain Chained. When a job chain is submitted. The following comments can be used to enable the new behavior: 657 . the final status of the chain will be Completed. for example. Skipped.Monitoring Automated Processes Job chains A submitted job chain consists of the following jobs: • a job for the chain itself • a job per step • a job per job chain job A basic job chain with one step and one job chain job that got submitted has three jobs. You can use Status Handlers to customize this behavior. all jobs that would have been executed before the step in question will be skipped. You can use Status Handlers to customize this behavior. Canceled. use the following: @useLastExecutedStepStatus=false Just place the keyword (including @ and the desired value. Error.Monitoring Automated Processes @useLastExecutedStepStatus=true To disable. Killed) • status changes to the following statuses • Killing • Canceling • PostRunning • Disabled • Modified Note that all constraints also fire when job fields or job parameter values are changed. true or false) into the Documentation field on the Documentation tab of a job chain. Constraints. Built-in job definition parameters may have built-in constraints which are used to validate the parameter value and/or display a list of valid values (LOV). Unknown. The constraints fire for each job status change except the following: • status change to a final state (Completed. built-in and simple. changes to the following list of fields are ignored: • BlocksOnJob • ChildOrder • CompletionStrategy • CreationTime • CreationTimeZone • Description • JobChainCall • JobChainStep • LLPVersion • NextRecalculation 658 . and Job States There are two types of constraints. During the life cycle of a job the constraints fire a number of times to confirm the validity of the job parameter value. The registry key that governs the default behavior: /configuration/jcs/jobchain/useLastExecutedStepStatus The registry key should be set to either true or false. Parameter Validation. have an additional status.the job has been edited independently of other jobs in the job group • EditedPersist (P) . The job will have the job status for job group of Edited in short moment • Restarted (R) .Monitoring Automated Processes • NextSubmitBaseTime • NumChildJobs • NumJobFiles • NumJobLocks • NumJobMetaData • NumJobNotes • NumJobRaiseEvents • NumJobWaitEvents • RequestedStartTimeType • StatusForJobGroup • UniqueId JobGroups and JobStatusForGroup Jobs that have been submitted as part of a Job Group (JobGroup).the job has been delayed independently of other jobs in the job group • Edited (E) . It is used to indicate if the job is part of the job group (status Default) or has left the job group (Delayed. Edited. The following job statuses for job groups are used: • Default (D) . or Restarted).the job is the consequence of a restart of a job that is part of the job group See Also • Monitoring and Managing Jobs • Advanced Job Search topic • Job Forecasting • Viewing Jobs in a Calendar View • SAP CPS Job Processing • Available Columns in the Job Monitor • Registry Keys 659 .the job has been edited and this has not yet been processed completely.the job is part of the job group • Delayed (L) . the Job Status For Job Group (JobStatusForJobGroup) status. using a submit frame or a repetition as defined in the submit wizard for example. Default filters are already available: For the job monitor: • All (non-maintenance) jobs • For next 24 hours You can also define own filters using a subset of the conditions listed below. To allow the user to just see the objects he is interested in. SAP CPS features filters and IntelliSearch. The following conditions can be used to create customized job filters: • Where the job has no parent • Where the job is for maintenance • Where the job Description contains specific keywords • Where the job is on a Process Server • Where the job is in Queue • Where the job's Remote System name contains specific keywords • Where the job's Remote Status contains text • Where the job was scheduled to Start less than some time ago • Where the job Run Date was less than some time ago • Where the job End Date was less than some time ago • Where the job has Status • Where the job is from Job Definition • Where the job is from a Job Definition whose name starts with prefix • Where the job is from a Job Definition whose name contains specific keywords • Where the job is of Job Definition Type • Where the job belongs to Application • Where the job belongs to Application containing specific keywords • Where the job Priority is value 660 . conditions can be used to show or hide specific jobs. Each condition can have one or more values.Monitoring Automated Processes • The Registry Filtering Jobs Use In large organizations. For each value entered. with many jobs. it is common to have operators monitor a subset of these jobs. for user defined SQL. Job Filter Columns Use The following columns are available for the use in job filters for user defined SQL: Columns Description 661 . background jobs have a behavior set to 2. In the new window you must choose Add for each value of a condition. b. specify one or more values by choosing the blue text 5. Using User Defined SQL to display all jobs with a job id above 12345 except background jobs JobId > 12345 and Behavior <> 2 The Behavior column can be used to differentiate background jobs from others.Monitoring Automated Processes • Where the job is scheduled to Start within the last time period or within the next time period • Where the job is scheduled to start after date • Where the job is Owned by user or role • Where the job is part of the system • Where the job complies with IntelliSearch search string • Extend filter with user-defined SQL You can use the ANSI SQL92 standard where-clause syntax. Choose Save and Close. Choose OK to close the window. The above example using the Where the job is a background job on the Include tab would only require the following: [x] Where the job is a background job JobId > 12345 Procedure Defining a job filter 1. For each condition. you have to omit the where keyword. Navigate to Monitoring > Job Monitor 2. a description (display name). so Where the job is a background job on the Include tab is equivalent to Behavior = 2. 4. 3. Choose Filter > New Filter from the context-menu. See the Job Filter Columns section for a list of columns. Specify a name. You can combine the different preset and user defined clauses. a. and a number of conditions that are to be met. if it exists PreviousProcessServer The previous process server that this job was due to run on. used in recurrences JobId The unique id of the job JobTimeZone The time zone of the job KeepExpiration Job expiration KillSignal The kill signal used to kill the job. before this job will be submitted NextRecalculation The next date on which the scheduled start time needs to be recalculated NextSubmitBaseTime The time that will be used as a start time for the calculation of the next Requested Start Time for a Job with a submit frame. LastModificationTime The last modification time of the job LastModifierSubject The last modifier MinimumOpenDuration The minimum number of seconds that should be available in the time window of the Job.Monitoring Automated Processes Behavior Determines the type of job. display name ForcedProcessServer Value of the ForcedProcessServer scheduling parameter HoldOnSubmit Value of the HoldOnSubmit scheduling parameter JobChainCall Is this job a job chain job? JobChainStep Is this job a job chain step? JobDefinition The job definition of the job JobGroup The job group.{2} stands for background jobs ChildOrder Order of the job in the parent/child relationship CreationTime Time of creation CreationTimeZone Time zone at creation time Description Job description. 0 and 1 are foreground jobs. but should be excluded (if possible) from running on next dispatch Priority The priority of the job ProcessServer The process server of the job Queue The queue of the job QueueOrder The order in the queue of the job 662 . or for the Requested Start Time of a new Job where the Job has an infinite Recurrence Pattern NumChildJobs The number of child jobs NumJobFiles Number of job files NumJobLocks Number of job locks NumJobMetaData How many JobMetaData does this Job have? NumJobNotes Number of job notes NumJobParameters Number of job parameters NumJobRaiseEvents Number of job raise events NumJobWaitEvents Number of job wait events OwnerSubject Owner of the job ParentJob The parent job. the Job's Queue or the intersection of both. names of queues. This search is able to use the following phrases as criteria: • numbers . run start. Status The current status of the job StepIteration The iteration starts at 1 (one). used for searching. or has it been inherited from the Job's parent RequestedStatus The requested status of the job. named IntelliSearch.of requested start.job ids • times . process servers. a job search box. stored so that it can be accessed (and set back to) during actions RestartCount The number of times the job was restarted RestartJobId The job id of the job that restarted this job ReturnCode The return code of the job RunEnd The end time of the job RunStart The start time of the job RuntimeExpiration The date on which action will be taken if the job has not completed SAPNWCallbackVariant SAP NetWeaver callback variant.search jobs based on parameter names and optionally their values 663 . It is incremented when the steps are resubmitted when the current step moves backwards due to a status handler SubmitFrame The submit frame of the job TimeWindow The time window of the job TimeWindowTimeZone The time zone of the time window attached to the job UniqueId The unique id of the job Advanced Job Search Use To allow you to search overviews quickly.remote information • names . job descriptions (job names) or job definition names • parameters/parameter values . applications. ScheduledStartTime The scheduled start time of the job SearchDescription The description converted to upper-case.Monitoring Automated Processes RemoteCreationTime The creation time of the job in the remote system RemoteEvent The remote event RemoteId The remote unique identifier RemoteRunEnd The remote end time of the job RemoteRunStart The remote start time of the job RemoteStatus The remote status RemoteSystem The remote system RequestedStartTimeInternal The internal start time RequestedStartTimeType Has the Requested Start Time been explicitly set by the user. has been implemented. and run end time • remote . Queue Id 4.Monitoring Automated Processes • status . SAP Process Server 12. Job Parameter 10. Process Server 5. specifying more than one object type is evaluated as <object1> AND <object2>. then the following search order is used: 1. Note You cannot search for a job of a job chain step. Job Definition 6. Remote Id 13. SAP Queue 11. Example 1. Application 7. Finding all jobs that ran on queue PR1 and that reside in the MASALAN application: queue:PR1 application:MASALAN Wildcards Search Order When you do not specify a prefix. Queue 3. Job Description 9.the status of the job Prefixes are available to restrict the amount of results. Finding all jobs that belong to SAP system PR1 or PR2: queue:PR1_Queue queue:PR2_Queue or sapq:PR1 sapq:PR2 2. all searches are case-insensitive. Operands Specifying more than one name of an object type will be evaluated as <object1> OR <object2>. Remote System 664 . Job Name 8. Job Id 2. only the main job chain job as well as job chain calls. M. Run start 17. The search is done on any of three times: • requested start time • run start • run end There are different syntaxes for searching by time: The time is specified using the following codes: seconds (s).the number indicated by nn defines a range. For example. Prefixes • req. The search-criteria has to be specified in 24h times. For example. the job(s) will also always be selected. • hh:mm:ss . the job will be shown expanded in the containing job chain. 22:00-23:00 would show all jobs that have one of the three times in the range of 22:00-23:00 and 22:00~90m would result in all jobs that have one of the three times in the range of 20:30-23:30 to get listed. and years (y). 111 would display the job with job id 111. months (M).Requested start time • rs. • hh:mm~now or hh:mm~ . hours (h). When searching on job id.Run End time 665 . • hh:mm-hh:mm or hh:mm:ss-hh:mm:ss .if you use now in the range.without a range.y} . Requested Start Time 16. the current time is used.h. runend . Times Searches for all jobs between a specified time.Monitoring Automated Processes 14. minutes (m). • hh:mm~nn{s. Job Status Using Numbers Any number is assumed to be a job id.1 minute.range is from start time to end time.m.w. the default range is +/. When you want to specify a specific time.without a range. If this job is part of a job chain. • hh:mm . the default range is +/. runstart .Run Start time • re. use a prefix. Remote Status 15.d. requested . A combination Requested start/Run start/Run end (it will search in any of these) 19. weeks (w).15 minutes. or leave one blank. Run end 18. The following prefixes are available: • rid.K. Note If you have upgraded from M28. Example Three ways to display jobs which have reached a final state and have not reached status Completed.U or Error. this was required because of the introduction of the new status prefix. and Unknown. runend:22:00-23:00 would restrict the above example to show only jobs which have a Run End Time in the specified range and q:22:00~90m would restrict the above example to display jobs which have a Requested Start Time in the specified range. Remote Allows you to query for jobs that run on remote systems with information of the remote system.K.the remote system • rstat. status:Error.the remote status of the job For example. status . • rsys.the remote id. remotesystem . Killed. remotestatus .Killed.Monitoring Automated Processes For example.U status:problem Two ways to display jobs that have reached status Completed. status:Completed status:C 666 . rid:A12S34H3 would display the job which has the remote id A12S34H3 and remotestatus:error would display all jobs that have the remote status error.the status of the job The status allows you to use the following comma separated list of values: • case sensitive status names • status codes • problem which maps to E. remoteid . Status Allows you to display jobs with a specific status. The following prefix is available: • s.Unknown status:E. note that the three above prefixes have changed. Names When a string is entered without a prefix. for example. you can use one of the following prefixes. q:PR1_Queue PR2_Queue PR3_Queue ps:PR1_ProcSerVer would for example display all jobs that are on the specified process server as well as in the specified queues. PR3_Queue.find jobs from a queue • sapq .find jobs from an application • j. Prefix The following prefixes are available If you want to search for a specific name. PR1_Queue PR2_Queue PR3_Queue q:QA4_Queue would display all jobs from the four queues PR1_Queue. q:System would display all jobs are in the queue named System and jobdefinition:System_Info would display all jobs of the job definition System_info ( see the Administration Guide ). For example.only display top-level jobs.find jobs with a job name • d. PR2_Queue. You can also specify multiple combinations of the above.find jobs that run on a process server • jd. then matching background jobs are included in the search results alongside other matching jobs. jobname . jobs of all specified queues will be displayed.include background jobs.search for jobs from job definitions with a parameter named <named> 667 . not child jobs • bg. processserver . when you specify more than one queue. application .display background jobs as well Note that when you specify background: or bg:. jobdefinition . the search is done in the search order above ( see the Administration Guide ).find jobs from a job definition • a.searches for jobs with the job definition parameter and optionally its default value For example.Monitoring Automated Processes Background and Top-Level Jobs • tl. background . description . • q. and QA4_Queue. parameter . Job Definition Parameters Job definition parameter IntelliSearch allows you to search for job definition parameters and parameter/'default value' combinations as follows: • p:<name> . default is false • p. toplevel .find jobs that run in an SAP System queue • sapps . queue .find jobs with a job name • bg . param.find jobs that run on an SAP System process server • ps. • == . use double quotes (").14 AND 3.Monitoring Automated Processes • p:<name>=<value> .means like or between in SQL • string value is LIKE '%value%' • For date "2015-09-23" => BETWEEN 2015-09-23 0:00:00 AND 2015-09-23 23:59:59" • For time "13:36" => BETWEEN 13:36:00 AND 13:36:59 • For number "3. jobdefinition or jobname does not need a bg:true.1415) and integer values. Both the invalues and outvalues of JobParameters are searched. 668 . time or number. Note A search on jobid. but you cannot filter on value alone.14" => BETWEEN 3. because these automatically include all jobs that match the search criteria.means = in SQL. The format for dates is restricted to yyyy-MM-dd (for example 2015-09-23). • = . then the string and number values are searched.14099 (so adding 099 at the end of the string representation of the number). There are four types of values which can be searched: • Strings • Dates • Times • Numbers If a value can be converted to a number.search for a job from a job definition with a parameter named name and which has a default value containing <value> ("=" means contains) • p:<name>==<value> . exact match • For string "value" => IN (value) • For date "2015-09-23" => BETWEEN 2015-09-23 0:00:00 AND 2015-09-23 0:00:00 • For time "13:36" => BETWEEN 13:36:00 AND 13:36:00 • For number "3.14 Note Job descriptions can contain spaces.search for a job definition with a parameter named name and which has a default value set to <value> ("==" means equals) You can filter on name alone. the format for time is restricted to HH:mm (for example 13:31).14" => = 3. The format for numbers is restricted to dot notation for decimals (e. If a value cannot be converted into a date.g. only the string values are searched. to specify a name with spaces. The same goes for dates and times. 3. the job has reached a final status among Error.a red box is displayed at times of peak activity. use the arrows next to the refresh icon. to see jobs in previous or future weeks. Your processes are listed as lines or boxes. Expand them to view information about the process.the job has not reached a final status. switch to the Calendar monitor. Queued. You use the Calendar monitor to organize your processes in a timescale.Monitoring Automated Processes Note If a specific search returns no results. • red . like the time it is scheduled for and the description of the job.the job has reached the status Running or Completed. the overview will be empty. • purple . the job might be Scheduled. waiting for locks or events. when the jobs run for a long time. The calendar is shown in a weekly view. See Also • Monitoring and Managing Jobs • Job Forecasting • Viewing Jobs in a Calendar View • SAP CPS Job Processing • Job States • Available Columns in the Job Monitor Viewing Jobs in a Calendar View Use To allow you to view all your currently planned processes in a Calendar. The following color-codes are used to indicate the status of the job: • green . Killed or Canceled. you can also choose Previous or Next from the context-menu. See Also • Monitoring and Managing Jobs • Advanced Job Search topic • Job Forecasting • SAP CPS Job Processing • Job States • Available Columns in the Job Monitor 669 . • red box . when you close the tab. Context-Menu Actions Action Description Delete Delete the forecast of the job Show permalinks Display permalinks for the job Add to navigation bar add the job to the navigation bar Forecast Jobs Start a job forecasting session Delete all Job Forecasts Delete all job forecasts. submitted with submit frame. You open the forecast tab by select a job in the job monitor and choosing Forecast Jobs. or system-wide. You use it to plan processes. You can forecast selected jobs. the data is not persisted. When you start the forecast. Note The maximum number of jobs that can be displayed in a forecast is set to 5000. the forecast will display existing as well as deleted jobs. jobs in a job filter on the Job Monitor tab. Depending on the date-range. Note Forecasting can get expensive in terms of server resources when you run a forecast on many jobs with different submit frames. they will be calculated again if necessary Filter > New Filter Create a new forecast filter Filter > Edit Filter Edit a forecast filter Filter > Delete Filter Delete a forecast filter Filter > Duplicate Filter Duplicate a forecast filter Filter > Export Filter Export a forecast filter Filter > Add to navigation bar add the filter to the navigation bar See Also • Monitoring and Managing Jobs • Advanced Job Search topic • Viewing Jobs in a Calendar View • SAP CPS Job Processing 670 . The forecast is generated each time you open the forecast tab.Monitoring Automated Processes Job Forecasting Use Job Forecasting allows you to get an overview over jobs submitted in the future and job groups. you select a start and end date/time. the job start time in SAP CPS is the time at which the process server sends the request to the external system. for example an ERP system. these are available in the Job Monitor. Based on priority of the job. each illustrated by a job status. (smallest first) Gantt Chart A Gantt chart is available to display the progress of the job or job chain and its current status. The job goes through various stages. See Also • Monitoring and Managing Jobs • Advanced Job Search topic • Job Forecasting 671 . Color code Description light grey job [chain] not yet started or has reached status Canceled dark grey job [chain] has reached status Unknown green job [chain] has Completed red job [chain] has reached status Error or Killed purple job chain is in status Waiting The Gantt chart uses job statistics for display. which can be seen in the discrepancy between start time in SAP CPS and start time in the remote system. Based on the requested start time of the job. In this case. depending on the architecture of your data-center. The process that controls jobs is named the dispatcher. The discrepancy depends on the on the resource utilization on both the SAP CPS server and the remote system as well as network connectivity. (highest first) 2. Third-Party Systems Some jobs represent workload performed in external third-party systems. Based on the job id. So third-party systems can have a very slight delay in actual processing. Other factors might also have an impact. The dispatcher assigns jobs to process servers and queues for execution and is responsible for the life-cycle of the job. (oldest first) 4. when these are not available the chart has stripes.Monitoring Automated Processes • Job States • Available Columns in the Job Monitor SAP CPS Job Processing Use The life-cycle of a job starts when the job is created and ends when the job has reached a final status. The process server communicates the status changes in the remote system back to SAP CPS. The order in which the dispatcher stars jobs is defined as follows: 1. (oldest first) 3. Based on the requested start time of the top level parent of the job. The jobhistory registry key ( see the Administration Guide ) allows you to specify the amount of days worth of jobs and operator messages you want to take into account. setting it to an invalid value will prevent the background job from removing old jobs and operator messages.Monitoring Automated Processes • Viewing Jobs in a Calendar View • Job States • Available Columns in the Job Monitor Using the Scorecard Use The scorecard is used to represent jobs. which will cause the table to grow. Layout The scorecard is laid-out as follows: • Utilization & Applications • • Top 5 • • Chart with number of errors. as well as monitors to give you highlights of the global status. Only jobs that do not have a parent are counted towards the pie chart. that is a job chain with 100 child jobs will only count as 1. The keep clauses of jobs and operator messages are not taken into account. restarts of. The graph allows you to have an overview of the different job statuses that have been reached over a period of time whereas the piechart gives you a global overview over the period. The registry key should be filled with a number. and the longest running jobs as well as the process server with the best response times Critical processes • • Pie chart of the job statuses Select monitors Service Levels • Response times to operator messages • Job Restarts Utilization and Applications The Utilization and Applications section contains a graph and a pie-chart representing job statuses. Top 5 The Top 5 field lists the top 5 of four categories: 672 . operator messages. The data is maintained by the System_Aggregate_History job definition. all jobs and messages of the last 365 days are taken into account. an integer. The Count indicates the number of erroneous top-level jobs. Number of Restarts The number of restarts is expressed in a percentage of jobs of a job definition or job chain that required a restart.. Longest Running This section lists the longest running jobs.. the resulting percentage would be 60%. Service Levels Message Response Time This graph represents the number of operator messages that were replied to in the period per response time.. 15 to 30 minutes . JC_C [. For example. in the same period 5 job chains JC_B. 15 calls of one instance of job chain JC_A reached status Error causing the job chain to reach Error. Critical Processes If the Documentation field of the job definition contains the text ScoreBoard:Critical. it will be displayed in the Critical Processes.. For example. Response times are under 15 minutes. Restarts Required This graph represents the jobs that needed 1 to 4 or 5 or more restarts during the period before they reached an acceptable final state. See Also • registry key ( see the Administration Guide ) 673 . job chain JC_A ran 5 times in the period and was restarted 3 times. the top-level job which has reached status Error the most often in the period is listed first.] JC_F each had two instances where one job chain call failed causing the job chain to reach Error. Fastest Responder This section lists the top 5 fastest responders to operator messages. This results in job chains JC_B to JC_F to be listed in the top 5.Monitoring Automated Processes Number of Errors The 5 top-level jobs which have experienced erroneous jobs the most frequently are listed. No other jobs reached status Error during the period. Monitoring Automated Processes Monitoring Process Chains Use You can monitor process chains started from within SAP with SAP CPS. As far as scheduling is concerned. see Job Interception Configuration for information on the fields.com/sap/support/notes/1080558] describes the SP levels for the BW/BI releases • XBP 2. however. 3. 2. 4. restart certain child jobs.SAP. See Also • Running Process Chains • Restarting Process Chains 674 . You need to create a new job control rule for jobs with the name BI_PROCESS_TRIGGER. this functionality offers the following advantages: • Allows you to migrate to full use of SAP CPS in phases • The process chains are displayed in a hierarchy. Note It is not possible to use SAP CPS to balance the load of process chains across SAP application servers. fill in details of the jobs you want to monitor. Choose Save & Close.XBPVariant license key Procedure Create the job control rule 1. you can only influence the parent job. On theJob Control Rules tab.0 or higher • Redwood transport files must be loaded • ProcessServerService. You can. Prerequisites • SAP Note 1080558 [http://service. Choose Edit from the context-menu of the SAP System where the process chains run. the job name must be set to BI_PROCESS_TRIGGER. Navigate to Environment > SAP Systems.sap. just like SAP CPS job chains • You have a central point of control • Email/SMS Alerting of failures if you have the Active Monitoring Module The jobs are monitored via the XBP interface job control rules. Once you have selected a restart option in the operator message. the first applicable value will be used: • /configuration/sap/<Partition. SAP_BW_RestartProcess or SAP_BW_RestartProcessChain are submitted for you. this can be overridden using the following registry keys. This allows you to only restart the processes that require a restart without starting the whole chain again. Although it is always best to have human intervention when something goes wrong. You can.com/sap/support/notes/1059049] for further information on required Support Packages. Note It is not possible to use SAP CPS to balance the load of process chains across SAP application servers. for example. If this is the case. your process chain might only fail in a predictable manner. Restarting Monitored Chains By default. without human intervention. Note Restarting process chains requires the ProcessServerService.SAP. see the section below. When a job of a process chain reaches an error state. You can choose to make a process chain restartable when you submit the process chain.Monitoring Automated Processes Restarting Process Chains Use Process chains can be restarted from within SAP CPS at chain-level as well as on process level. As far as scheduling is concerned. Failed processes of monitored process chains can also be restarted. To restart process chains. this setting can be customized with SAP CPS registry keys. depending on your reply to the operator message.sap.ProcessChainRestart license key. waiting for the data to be processed.sap. There are three options: • the entire chain is restartable • only failed processes are restartable • the chain is not restartable This is governed by the CHAIN_RESTARTABLE parameter on the SAP_BW_ProcessChainRun job definition. Note Please refer to SAP Note 1007419 [http://service. the parent job of the process chain is put to console and an operator message is generated allowing you to restart the chain at a desired point. by default. you can have one or more processes of your process chain restart a number of times after a certain delay. for example.SAPSystem>/bw/restart/RestartMode • /configuration/sap/bw/restart/RestartMode Allowed values: 675 . when dependent data has not yet been processed. Each process can have different settings. delays and maximal restart counts.com/sap/support/notes/1007419] and SAP Note 1059049 [http://service. you should first import and run a process chain. Process chains can also be restarted automatically. you can only influence the parent job. monitored BW chains have the restart option set to (F)ailed. however. restart certain child jobs. this is outlined in the Running Process Chains section. only failed processes are shown (default) • A . Result In the first procedure.Monitoring Automated Processes • N . 5. BW chains started in CPS have a job definition parameter that defines the restart behavior. Fill in Max Number Of Restarts as well as Restart Delay. which has the status console.monitored BW chains are restartable. see the Enhanced SAP Interfaces with Redwood Transports section for more information on loading the transport files. Expand Process Chains and choose the process you would like to restart automatically. 3. a copy of the process chain is created in the job monitor. In the second procedure. Navigate to Environment > SAP Systems.monitored BW chains are restartable. all processes are shown Note This applies only to monitored BW chains. 2. the process(es) you configured to restart automatically will be the next time you submit a process chain against that SAP System. Choose a level at which you want to restart the process chain and choose Save & Close. change the Restart Delay Units if appropriate. only the selected processes have been restarted. Expand the top-most parent job of the process chain. 3. so those that were started in BW.monitored BW chains are not restartable • F . Locate the operator message Restart process chain? and choose reply from the context-menu. Prerequisites • SAP System with all required Support Packages installed • Process chains have already been imported into SAP CPS • The SAP transport files must be loaded. Choose Maintain Objects from the context-menu of your SAP System. 4. Procedure Restarting a process chain from the console 1. you can locate them under the failed processes. Choose Save & Close. Automatically restarting a process chain 1. See Also • Monitoring Process Chains • Running Process Chains 676 . 2. • Cleared . • PendingRaised .The event was raised in the past.The event has been raised. The event monitor pane displays a list of all events and their status that match a chosen filter. The event detail pane displays run-time data of the currently selected event and the ability to delete and clear events. The following filters are built-in: • All events • Pending • Raised • Cleared • Pending and Raised • Raised and Cleared Context-Menu Actions Events support the following context-menu actions: Action Description Clear Clear the event Delete Delete the event 677 . • Raised .The event has been created.Monitoring Automated Processes • The Registry • Registry Keys Monitoring Events Use The event monitor is part of the Monitoring section in the navigation bar and gives an overview of all events and their statuses. There can be at most one raised event per event definition at any point in time. but has now been cleared. see which and how many events are pending to be raised and clear raised events. and is being kept for a historical context. The event monitor consists of two panes: 1. but has not yet been raised by the event processing engine. by raising the event definition. 2. or has been passed to a job that was waiting on the event. or because there is already another event for the event definition that has been raised. From the event monitor the status of events can be monitored. The possible event states are: • Pending .The event definition is in the process of being raised by the event engine. either because it has not been processed. and has marked the corresponding event definition as having been raised. Choose the event in the monitor to show the event's definition in the detail pane. Default filters are already available: • All events 678 . 4. 2. Raise Time Timestamp that notes when the event definition was raised. choose Clear. with many events. SAP CPS features filters and IntelliSearch. if the same event definition is raised twice. if two event definitions are raised. choose Delete. 3. Job Raise Events Events that will be raised when the job reaches a certain state. they may have the same raised sequence. Raiser Comment A comment made by the raiser when it raised this event. To allow the user to just see the objects he is interested in. Last Modification Time Timestamp that notes when the event definition was last modified. Status The current status of the event. Related Objects Lists related objects such as jobs that waited on or raised the event. however. Job Wait Events Events that need to be raised before the job runs. Filtering Events Use In large organizations. that is.Monitoring Automated Processes Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar Filter > New Filter Create a new event filter Filter > Edit Filter Edit current event filter Filter > Delete Delete current event filter Procedure To monitor events: 1. Choose Monitoring > Events. 5. Raised Sequence Unique id for this event generated when it was raised. Values Field Description Event Definition The event definition that was raised to create this event. From the context-menu. it is common to have operators monitor a subset of these events. From the context-menu. Creation Time Timestamp that notes when the event definition was created. Choose the Refresh button to update existing events and show new events. This is only guaranteed to be unique within each event definition. then each raise is guaranteed to generate an unique raised sequence. Monitoring Automated Processes • Raised and Cleared You can also define his own filters using a subset of the conditions listed below. 4. Choose OK to close the window. Choose Filter > New Filter from the context-menu. Choose Save and Close. 3. a. a description (display name).The available columns are listed in the Event Filter Columns section. Navigate to Monitoring > Event Monitor 2. Each condition can have one or more values. b. for user defined SQL. For each value entered conditions can be used to show or hide specific events. In the new window you must choose Add for each value of a condition. 679 . The following conditions can be used to create customized event filters: • Where the event has Status • Where the event Name starts with prefix • Where the event Raise Date is after some time Ago • Where the event Raise Date is after date • Where the event was Raised by Job Definition • Where the event was Waited for by job definition • Where the event definition belongs to the Application • Where the event belongs to Application containing specific keywords • Where the event was modified manually • Where the event is part of the system • Extend filter with user-defined SQL You can use the ANSI SQL92 standard where-clause syntax. RaiserUniqueId = 82171 Procedure Defining an even filter 1. and a number of conditions that are to be met. Specify a name. For each condition. Example Using user defined SQL to display events which were raised by a subject with id 82171. specify one or more values by choosing the blue text 5. The Monitor Tree displays an hierarchical overview of all monitors. 2. The Monitor Tree consists of two panes: 1. Three types of monitors are shown: 1. Nodes . The severity is propagated upwards through the hierarchy so a parent monitor shows the highest severity of its children. expressed by a severity value. 2. The monitor pane displays a hierarchy of all monitors. 680 .Monitoring Automated Processes Event Filter Columns Use The following columns are available for the use in event filters for user defined SQL: Columns Description ClearerComment Comment of the clearer ClearerObjectDefinition Object definition of the clearer ClearerUniqueId Unique Id of the clearer ClearTime Time the event was cleared CreationTime Creation time of the event CreationTimeZone Time zone at creation EventDefinition Event definition the event is based on LastModificationTime Last modification time LastModifierSubject Last modifier RaisedSequence Raised sequence number of the event RaiserComment The comment of the raiser RaiserObjectDefinition The object definition that raised the event RaiserUniqueId Unique Id of the raiser RaiseTime Time the event was raised Status Current status of the event UniqueId Unique Id of the event Monitoring System Performance Use The Monitor Tree is part of the Monitoring section in the navigation bar. Checks . The Monitor Tree allows you to get a quick overview over all systems connected to SAP CPS and their current status. The detail pane displays run-time data of the currently selected monitor. You can get a graphical representation of the status of a subset of monitors by creating a dashboard and creating dashboard dials which you can connect to any monitor leaf node.A monitor that defines conditions upon which events are to be raised.A monitor that can contain sub-monitors. and their current status. contains all process servers created in SAP CPS. These events can then schedule jobs to alert operators or even restart applications. On production systems with many jobs and long job keep strategies.cluster .Monitoring Automated Processes 3. SAP System Monitors If you have connected SAP CPS to SAP Systems. this job runs on a daily basis. the default being =NumberOfRows > 5000000. Links .contains all queues created in SAP CPS • System. you need to submit the SAP_ImportCcmsMonitors job definition. you change the default by specifying the following registry key and submitting the job System_Aggregate_History: /configuration/history/jobhistory This affects HistoryJob and HistoryJobParameter tables.contains all the SAP CPS-specific database tables with default Monitor Checks that check the size of the individual tables • System.Database . The following • System.Queue . merely displayed. you may increase the CheckRows monitor condition expression. the name will be cluster Severity The severity gives you information about the extent of the issue and is indicated by a number ranging from 0 to 100. then the default monitor-tree contains monitors for the SAP Application Servers. that you access via transaction RZ20 in SAPGui.A monitor that links to another monitor (node or check). The Rising flag is used to only trigger an event when a monitor is getting worse. Update the Database monitoring tree by submitting System_MonitorTables. regardless of whether there are more than one nodes. SAP jobs (SAP_AbapRun) usually have many parameters and this causes the JobParameter table to grow quickly. the event will be raised again when the severity falls below 50. To import individual CCMS monitors.contains nodes describing the current application server setup. Some tables will grow quickly depending on your use of SAP CPS. To import the bare monitor tree from transaction RZ20. this includes platform agent and module-related process server like SAP or JDBC process servers • System. the severity is rising. that is. you need to fill in the XAL tab on the SAP System object and import the monitors. Events You can configure monitor nodes to trigger events. Database Monitors You monitor the database tables used by SAP CPS using the Database node in the Monitor Tree. when certain severities are reached. This means that severities comprised of -1 to 24 are not taken into account. If you leave the check-box unchecked. a severity above 50 will be yellow and above 75 it will be red.ProcessServer . configure an event to be raised as soon as the monitor reaches a severity of 50 and the monitor reaches 75. one row for each job/parameter combination. The primary function of the Monitor Tree is to check no monitors have a severity above 24. A severity of less than 25 will not result in a green severity. You can create Dashboard dials from within the monitor to get a graphical representation of the monitor values. Job history is usually kept for 365 days. 681 . HP OpenVMS) as well as sockets (all platform agent platforms).Alerting license key Context-Menu Actions Monitor Nodes support the following context-menu actions: Action Description Show permalinks Show links that can be used from third party applications to link to the object Add to navigation bar Add the current object to the navigation bar Edit Security Edit the security of the monitor node New Monitor Alert Source Create a new monitor alert source for this monitor node Delete Delete this monitor node Edit Edit this monitor node Export Export this monitor node Expand All Expand all monitor nodes below the current node Monitor leaf nodes support the following context-menu actions: Action Description Create dashboard dial Create a dashboard dial from this monitor leaf node (requires a selected dashboard) Edit Edit this monitor node Export Export this monitor node Show permalinks Show links that can be used from third party applications to link to the object Procedure To monitor components perform the following tasks: 1. Choose the [-] icon to collapse and hide the child monitors. Note The Active Monitoring Module requires the Module. Choose the [+] icon to expand the monitor nodes and links and show the child monitors. 2. These can the be monitored with Events or Monitor Alert Sources to send operator messages/emails when a monitor has reached a severity. 4. Choose a monitor to show the monitor details in the lower detail pane. Navigate to Monitoring > Monitors to get an overview of all monitors. 3. the latter functionality requires the Active Monitoring Module. Choose the Refresh button to update the monitor.Monitoring Automated Processes Process Server Monitor Checks You specify checks on platform agent process servers to monitor services. To create a dashboard dial: 682 . event logs (Windows) or processes and log files (UNIX. 4. Documentation A comment about the monitor. fill in a name and choose Save & Close. 6. Choose Create Dial from the context-menu. Navigate to Monitoring > Monitors. Monitor Events (Node and Check monitors only) Event to be raised when a monitor reaches a particular severity. Remote Id (Node and Check monitors only) Unique identification of the monitor in the remote system. 2. Last Modification Time The last modification time of this monitor. you need to create one: a.Monitoring Automated Processes 1. Values Field Description Parent Monitor Node The parent monitor node this monitor belongs to. Monitor Values (Check monitors only) A monitor value is a numeric. Actual Severity (Node and Check monitors only) The current severity of the monitor. Linked Monitor (Link monitors only) The linked monitor (Node or Check monitors). or -1 if it has not been set before. Creation Time The creation time of this monitor. string or timestamp value used to define monitor conditions. 5. Description The description of the monitor. Choose New dashboard from the context-menu. Expand the monitor-tree until you have located the leaf-node you would like to use for the dial. Select your dashboard in the drop-down menu. Navigate to Monitoring > Dashboard. Monitor Conditions (Check monitors only) A monitor condition defines when a problem is raised. 3. If you do not have a dashboard. Name The unique name of this monitor. See Also • Monitoring Servers with Platform Process Servers • Monitoring External Systems with Platform Agents • Creating a Monitoring Platform Agent • Creating a Monitor Check • Creating Custom Monitor Checks • Documenting Objects using the Documentation Tab 683 . 3. Navigate to Monitoring > Dashboard.a diagram showing current load and load-history • Tacho . Navigate to Monitoring > Monitors and drill down the monitor tree until you have reached the desired leaf node. Choose Save & Close. You can create dashboard dials for leaf nodes with integer values only. a scale will be generated based on the maximum and minimum value measured. If you do not provide a maximum and a minimum.a speedometer-like dial that displays the current load with graph dial built-in to show loadhistory • Job Status Pie Chart . Add a dial for a monitor leaf node 1. Dashboard dials can be moved up. The way you set the dials has an influence on their size. you can add them to the dashboard. You should always enter a minimum and a maximum value. this scale can be reset. for example.Monitoring Automated Processes Showing Monitors as Graphs in the Dashboard Use To get a quick and intuitive overview of important or frequently used monitors. these have one or more values in the value column. Choose Create dashboard dial from the context-menu of the monitor leaf node. which for CPU usage monitor. down and sideways. allowing you to position them where you like using dragand-drop. 2. You must first have created a monitor tree as described in the Monitoring System Performance section. would be 0 and 100 respectively.a circular diagram in 3d showing proportional representations Context-Menu Actions Action Description Reset Scale Reset the computed scale Edit Edit the dial Delete Delete the dial Dashboard > Edit Edit the current dashboard Dashboard > Delete Delete the current dashboard with all dials on it Create dashboard dial Create a new dial from a monitor leaf-node Procedure To create a dashboard 1. 2.a speedometer-like dial that displays the current load • History Tacho . which was designed to display monitors in form of graphs or tachometers. 684 . 3. The following dial-types are available: • Graph . Navigate to Monitoring > Dashboard and select the desired dashboard from the drop-down list. Choose New dashboard from the context-menu and fill in at least the Name field. Choose Stop from the context-menu of the process server belonging to the platform agent. on a process server that is intentionally shutdown for a longer period of time. if you choose Graph. you can create checks for each value. 4. you can create monitor checks that evaluate REL expressions which are mapped to a severity. 5. see Monitoring External Systems with Platform Agents for available values for process servers. you can set the following monitor check to monitor CPU usage: 685 . You can also use these to suppress severities. 5. You can move the dial via its context-menu. for example. Navigate to Environment > Process Servers. In the new Window. add or modify the value of the process server parameter MonitorInterval. Choose Edit from the context-menu of the same process server. Process server and Queue Performance monitors can also be configured this way.Monitoring Automated Processes 4. 2. for example 3 seconds. you might have to refresh the tab. The highest severity that applies according to the various expressions is displayed. Example For example. you can add monitor checks to set the severity. To decrease the update interval of platform agent monitoring data 1. On the Parameters tab. 3. on a platform process server. Choose Save & Close 6. Choose Save & Close and navigate to Monitoring > Dashboard to verify the new dial gets displayed. for example. you should set the minimum and maximum values. Values Field Description Default Value Label The display name of the dial <The name of the monitor leaf node> Type The type of dial Graph or tacho Minimum The minimum value of the scale Maximum The maximum value of the scale History time The time data is kept in the graph Monitor Value The value that gets displayed <The name of the monitor leaf node> Creating Custom Monitor Checks Use Monitor checks allow you to control the severity of monitors. Note that these are also displayed in the Monitor Tree. Choose Start from the context-menu of the process server. For each monitor that contains monitor-leaf nodes. Note that Performance monitors are disabled by default. Remember. it is recommended to change the name with a descriptive Label as well as a desired dial Type. The RFC user requires a specific set of privileges to use the XAL interface as outlined in the Reference SAP RFC User Privileges. Critical CPU usage Severity The actual severity you want to map your REL expression 75 to Expression The expression to evaluate the severity =CPUBusy > 90 =CPUBusy > 95 The names of the variables to be used in the REL expressions are the names of the leaf-nodes. Normal CPU usage and allows you to use free text.Monitoring Automated Processes Field Description Value Name A name for the monitor check CPUsageGood Description The description is displayed instead of the name. when set. when set. which contain values. which allows access to remote monitoring data. when set. Monitoring of SAP Systems is done via the XAL interface. High CPU usage and allows you to use free text. SAP CPS has the ability to display monitors of different SAP Systems in one central tree. Severity The actual severity you want to map your REL expression 50 to Expression The expression to evaluate the severity Field Description Value Name A name for the monitor check CPUsageCritical Description The description is displayed instead of the name. Action Subject The user under which the check should be performed. See Also • Monitoring System Performance • Monitoring Servers with Platform Process Servers • Monitoring External Systems with Platform Agents • Creating a Monitoring Platform Agent • Creating a Monitor Check Monitoring SAP Systems Use Various monitors are available on each SAP System. Severity The actual severity you want to map your REL expression 25 to Expression The expression to evaluate the severity =CPUBusy > 50 Field Description Value Name A name for the monitor check CPUsageHigh Description The description is displayed instead of the name. and allows you to use free text. The following job definitions are available for interacting with SAP monitors: 686 . Operator Messages Monitor Use Operator messages are generated when errors occur. Operator messages are used to provide more information about errors that occur and/or ask the operator which steps to take when in a given situation. refer to the Monitors section. Context-Menu Actions Operator Messages support the following context-menu actions: Action Description Reply Reply to the Operator message (only available when the reply status is required) 687 . For more information on monitors.The operator message does require intervention and must be replied to.An operator has replied to the operator message. Tip You can reply to job-related operator messages from the context-menu of the related job. which force the reply to match the regular expression. The operator messages monitor consists of two panes: • The operator message monitor pane displays a list of all operator messages and their status that match a chosen filter. You can delete and reply to operator messages from the context-menu. Reply expressions can be defined as regular expressions. The operator messages monitor is part of the Monitoring section in the navigation bar.Monitoring Automated Processes • SAP_DeleteCcmsMonitors • SAP_ImportCcmsMonitors The RFC connection immediately retrieves the lists of available monitors from the SAP instance as soon as the XAL interface is configured for the SAP System. • Required . for example when jobs reach the status Error. The operator messages monitor gives an overview of all operator messages and their statuses. The possible reply states are: • NotRequired . • The operator message detail pane displays data of the currently selected operator message and the ability to delete and reply to operator messages. • Replied . For jobs. this behavior can be customized in job chains with status handlers and with the System_OperatorMessage job definition.The operator message does not require intervention. Note Empty replies are not accepted. creationtime creation time lma. repliedby replied by user ct. replytime reply time rb. reply reply text rt. as follows: ct:14:05-14:06 rb:jdoe Note No spaces should be entered before or after the colon (:). Filters allow you to specify a list of objects with static criteria. lastmodifiedat last modification time lmb. lastmodifiedby last modified by user 688 . IntelliSearch allows you to specify complex queries in a simple way using prefixes. the operator message overview does not have a default search field. you would use the search criteria as follows: Note Unlike other overviews. Prefixes are used to specify which property you are searching in and have short as well as long syntaxes. prefixes are mandatory. For example. The following table illustrates the available prefixes for operator messages: Prefixes Description r. ct:14:05-14:06 You can search more than one property. See the Advanced Object Search for more information. if you want to display all operator messages created between 2:05 PM and 2:06 PM. This box is known as the IntelliSearch box and located under your username on the top right-hand side of the user interface.Monitoring Automated Processes Delete Delete the Operator message Show permalinks Show links that can be used from third party applications to link to the object Filter > New Filter Create a new operator message filter Filter > Edit Filter Edit current operator message filter Filter > Delete Delete current operator message filter Filter > Duplicate Filter Create a copy of the filter Filter > Export Filter Export the filter into a CAR file Filter > Add to navigation bar Add the filter to a navigation bar Filter > Create filter from search Create a filter from the current IntelliSearch query Finding Operator Messages You can search for operator messages using filters and the Search Operator Messages box on the Operator Messages tab. 3. From the context-menu.The text of the operator message.The reply status of the operator message. an operator message is generated by a job chain named EMEA_SALES_RUN after it reached status Error.Monitoring Automated Processes The time-based prefixes allow you to use the time-specific syntax. yet] The operator selects the message and the operator message detail pane displays the following data: 689 . 8.[none.3:17:34 PM • Title Text . Choose the Refresh button to update the monitor. as defined in its Default job status handler. if it has been replied to or not. The operator navigates to the operator messages monitor and sees an operator message with the following information: • Creation Time . Notice that the Reply Status has changed to Replied. Notice that information regarding this operator message is displayed in the detail pane.The last modification time Example Example 1 In the first example. • Reply . see Advanced Object Search section for more information. 6. • Reply status . 9. Procedure To monitor an operator message: 1. Choose an operator message that has a Reply Status of Required.Required • Reply . Choose the Save and Close button to reply to the message and close the window. 7. choose Reply . 5. 2. either a word or phrase must be entered or a value must be chosen. Values • Full Text . • Creation Time . Choose or enter a reply. • Sender Object .The reply the operator chose.The time the operator message was generated • Last Modification Time . Depending on the operator message.Choose restart option • Reply Status . Choose Monitoring > Operator Messages.The object that raised the operator message. 4. a job chain uses operator messages to ask the operator questions.Required The operator selects the operator message and chooses Reply from the context-menu. An operator message with the following text is found in the operator messages monitor: • Full Text . The operator returns to the operator messages monitor once the SAP System is live again and chooses Reply from the context-menu of the operator message. the operator finds that the SAP System is down for maintenance.'Has the error been corrected?' • Reply Status .3:17:34 PM The operator now knows that a job chain job in step 3 reached status Error at 3:17:34 PM today.3:17:34 PM • Last Modification Time . more advanced example.EMEA_SALES_RUN_STEP_3 • Creation Time .Choose restart option • Reply Status . • Restart and Hold this step. • Rerun chain status handlers as if the step completed with status "Error". • Restart this step but only jobs that were not completed. The operator chooses Restart this step and sees the following in the operator Message detail pane: • Full Text .Choose restart option • Reply Status . • Restart chain from the beginning. a new window with the following information is displayed: 690 . This is done via the job definition System_OperatorMessage.Monitoring Automated Processes • Full Text . After investigating the log file.3:17:34 PM • Last Modification Time . • Restart this step. • Abort chain and set chain status to "Completed".Required • Sender Object .3:27:55 PM Example 2 In this second. the step contains the name of the chain so the operator knows it is the EMEA_SALES_RUN job chain that failed. • Rerun chain status handlers as if the step completed with status "Completed". The operator would like to know what happened and chooses the Sender Object EMEA_SALES_RUN_STEP_3.EMEA_SALES_RUN_STEP_3 • Creation Time . The following replies are available: • Abort chain and set chain status to "Error".Replied • Sender Object . '\'.Monitoring Automated Processes • Full Text . ']'.^The error has been corrected|The error has not been corrected$ • Reply - Note To get a combo box in the reply window this syntax ^a|b|c|d$ must be used. '{'. you want to specify a path on Windows in a replyExpression.' • 'The error has not been corrected. use double backlashes \\ as path-separators. See Also • Creating Operator Messages • Interacting with Operator Messages • Creating Advanced Operator Message Reply Expressions • Receiving Operator Messages on your Desktop 691 . Note that in this particular case you could also use forward slashes / instead. '|'. '*'. '[['. '$'.'. Avoid using special characters in the replyExpression unless their meaning in regular expression syntax is clear. like c:\\Windows\\temp. '+'. '('. in this example the operator has the choice between the following two replies from a combo box: • 'The error has been corrected. '}'. it is a regular expression. '^'. like c:/Windows/temp. ')' Special characters can be escaped.' The operator is certain the error has been corrected and chooses the following reply: 'The error has been corrected. For example. The Reply Expression displays the accepted replies in the form of a regular expression. which removes their special meaning. '?'. with the backslash \ character. The '^' means starting with. Special characters include: '. the '|' means or and the '$' means ending with.'Has the error been corrected?' • Reply Expression .' • Sender Object Raise an operator message • Creation Time 3:14:13 PM • Last Modification Time 3:17:53 PM Regular expressions are very powerful and can get complex.' The operator now sees the following in the operator message detail pane: • Full Text 'Has the error been corrected?' • Reply Status Replied • Reply 'The error has been corrected. Tip You can reply to job-related operator messages from the context-menu of the related job. the | means or and the $ means ending with. they will not affect the job or job chain directly if you want to restart a specific step or jump to a step in a job chain based on the reply of an operator.A plain text or regular expression in the form of ^Option 1|Option 2|. '\'. Note that in this particular case you could also use forward slashes / instead. it is a regular expression. use double backlashes \\ as path-separators. Note To get a combo box in the reply window this syntax ^a|b|c|d$ must be used. you want to specify a path on Windows in a replyExpression. '('.the message that is displayed to the operator • Reply Expression/replyExpression . Avoid using special characters in the replyExpression unless their meaning in regular expression syntax is clear.Monitoring Automated Processes Creating Operator Messages Use You create operator messages with the System_OperatorMessage job definition or with RedwoodScript. Regular expressions are very powerful and can get complex. which removes their special meaning.'. Operator messages are static. ')' Special characters can be escaped. with the backslash \ character. that is. ']'. the parameter description is usually displayed in the submit wizard ( when set ). '|'. like c:/Windows/temp. $ must be the last character.. the default is ^Acknowledge$. '?'. both are displayed in the job definition show page under the Parameters section. For example.|Option <n>$ In the above list. Note Empty replies are not accepted. '^'. Choose Definitions > Job Definitions 692 . Operator messages are used to provide more information about errors that occur and/or ask the operator which steps to take when in a given situation. Reply expressions can be defined as plain text or regular expressions which force the reply to match a regular expression. Using the System_OperatorMessage job definition or Redwood Script. job definition parameters are referred-to as <Parameter Description>/<parameter_name>. '$'. Special characters include: '. The ^ means starting with. consider using user messages instead. Procedure Create a simple operator message: 1.. '}'. '{'. '[['. '+'. like c:\\Windows\\temp. you can create multiple choice operator messages as follows: • Message/message . '*'. Choose Reply from the context-menu and select Well done! in the Reply field. Locate the operator message with the previously specified text. Choose Submit Reply to Above Operator Message: 1. Choose Submit from the context-menu of System_OperatorMessage. 3. Example 2 Create an operator message with a regex reply expression: 693 . Choose Monitoring > Operator Messages 2. 3. Choose Definitions > Job Definitions 2. Choose Definitions > Job Definitions 2. Create an operator message with a regex expression: 1. Fill ^Well done!$ into the Reply Expression parameter. Choose the Refresh button to update the monitor. 3. Fill the Message parameter 4. 4. Fill the Message parameter 4. Fill This operator message is a simple test into the Message parameter. Locate the operator message with the text This operator message is a simple test. Choose Submit Reply to Above Operator Message 1. 5. Choose Reply from the context-menu and select Acknowledge if you have not specified a reply or fill-in the valid reply if you had specified a reply expression. 3. 2. Choose Submit from the context-menu of System_OperatorMessage. 4. Choose Monitoring > Operator Messages. 3. Choose the Refresh button to update the monitor.Monitoring Automated Processes 2. Choose Submit from the context-menu of System_OperatorMessage. Fill the Reply Expression parameter with a regular expression such as ^Yes|No|Maybe$ Example Example 1 Create a simple operator message: 1. 4. Optionally fill the Reply Expression parameter 5. om. om.createOperatorMessage(). 694 .hasNext(). jcsSession.|I don't know how hard that was. Fill ^That was easy.persist().getPartitionByName("GLOBAL")). 3. Example 3 Create a simple operator message from within RedwoodScript { OperatorMessage om = jcsSession. jcsSession. Choose the Refresh button to update the monitor.next().setReply("Acknowledge"). 4. Locate the operator message with the text This operator message is a somewhat more complex test. om.setReplyExpression("^Well done!$").$").) { OperatorMessage msg = (OperatorMessage) it. it.|I don't know how hard that was. Choose Reply from the context-menu and select a reply from the list.setFullText("This operator message is a simple test").$ Reply to Above Operator Message: 1.getPartitionByName("GLOBAL")). jcsSession.|That was hard. Choose Definitions > Job Definitions 2. Choose Submit from the context-menu of System_OperatorMessage.persist().setPartition(jcsSession. null). for (Iterator it = jcsSession. om.executeObjectQuery(query.setFullText("This operator message is a somewhat more complex test"). 3. //Check the operator message requires a reply if (msg.setReplyExpression("^That was easy.createOperatorMessage(). Fill This operator message is a somewhat more complex test into the Message parameter.Monitoring Automated Processes 1.|That was hard. { OperatorMessage om = jcsSession. note that this script only handles default Active Monitoring Module Operator Messages. } Create an operator message with a drop-down menu from within RedwoodScript { OperatorMessage om = jcsSession. } Example 4 Reply to multiple operator messages from within RedwoodScript. om. 2. String query = "select OperatorMessage. om.setPartition(jcsSession.* from OperatorMessage".valueOf("Required")) { msg. Choose Monitoring > Operator Messages. 4.getReplyStatus() == ReplyStatus.persist().createOperatorMessage(). Retrieve the operator messages using executeObjectQuery. indexOf("^") == 0 && msg.) { OperatorMessage msg = (OperatorMessage) it.replace("\\".FirstText = ?". 695 .getReplyExpression(). or your own multiple choice operator messages • ^<string>$ . null). new Object[] { param }).getReplyExpression(). //Check the operator message requires a reply if (msg.executeObjectQuery(query. for example \d.]$ .executeObjectQuery(query..replace("^".getReplyStatus() == ReplyStatus.split("\\|").for example job chain restart requests.indexOf("$") == msg. String param = "This operator message is a somewhat more complex test"."). //Here you remove \ as these are used in some built-in reply expressions msg. It does handle the following: • ^<option1>|<option2>[|<option.Monitoring Automated Processes } } } Example 5 Reply to an operator message from withing RedwoodScript { //Query and bind parameter values String query = "select OperatorMessage.hasNext().hasNext(). the default Active Monitoring Module operator messages • <string> .next().such as ^Acknowledge$. it.valueOf("Required")) { msg.getReplyExpression().* from OperatorMessage where OperatorMessage.) { OperatorMessage msg = (OperatorMessage) it. for (Iterator it = jcsSession.* from OperatorMessage". note that this script does not handle all possible reply expressions. "")). //Check the operator message requires a reply if (msg.setReply("That was hard.valueOf("Required")) { if (msg.persist().getReplyStatus() == ReplyStatus. "").next(). jcsSession. it.any string (\ and | are prohibited) Depending on your environment. job chain operator messages (Request Restart) will String[] ar = msg.getReplyEx { //Here you use the first valid answer as a reply. using switch instead of if/else if may be faster { String query = "select OperatorMessage. } } } Example 6 Reply to multiple operator messages. //Retrieve operator message(s) based on full text for (Iterator it = jcsSession.setReply(ar[0].. • Required . You can delete and reply to operator messages from the context-menu. See Also • Interacting with Operator Messages • Creating Advanced Operator Message Reply Expressions • Receiving Operator Messages on your Desktop • Operator Messages Monitor Interacting with Operator Messages Use Operator messages are generated when errors occur. Tip You can reply to job-related operator messages from the context-menu of the related job.getReplyExpression().getReplyExpression().getReplyExpression().setReply(msg. Operator messages are used to provide more information about errors that occur and/or ask the operator which steps to take when in a given situation.indexOf("|") == -1) { //Here you use the reply expression as string. The operator messages monitor consists of two panes: • The operator message monitor pane displays a list of all operator messages and their status that match a chosen filter.setReply(msg. The possible reply states are: • NotRequired .getReplyExpression()).indexOf("$") == msg.getReplyExpression(). this behavior can be customized in job chains with status handlers and with the System_OperatorMessage job definition.The operator message does require intervention and must be replied to.indexOf("^") == 0 && msg. "")). The operator messages monitor gives an overview of all operator messages and their statuses. "").replace("^". The operator messages monitor is part of the Monitoring section in the navigation bar.The operator message does not require intervention. for example when jobs reach the status Error. } } } Note that the setReply() method can only be called on persisted operator messages.getReplyExpression(). For jobs. 696 . } else if (msg. • The operator message detail pane displays data of the currently selected operator message and the ability to delete and reply to operator messages.Monitoring Automated Processes } else if (msg.replace("$".persist().getRe { //Here you use the only valid answer as a reply msg. we filter out \ and | to avoid special regex expressio msg.indexOf("\\") == -1 && msg. } jcsSession. Values • Full Text . Note Empty replies are not accepted.The last modification time Example Example 1 In the first example. Notice that the Reply Status has changed to Replied. an operator message is generated by a job chain named EMEA_SALES_RUN after it reached status Error.The reply the operator chose. • Reply .Choose restart option • Reply Status . choose Reply . 5.The reply status of the operator message. Depending on the operator message.3:17:34 PM • Title Text .Monitoring Automated Processes • Replied . which force the reply to match the regular expression.Required 697 .The text of the operator message. • Reply status . 3. • Creation Time . • Sender Object . Choose Monitoring > Operator Messages. 8. 9. 7. Choose an operator message that has a Reply Status of Required. 6.The object that raised the operator message. Choose or enter a reply. Reply expressions can be defined as regular expressions. as defined in its default job status handler. 4.The time the operator message was generated • Last Modification Time . Notice that information regarding this operator message is displayed in the detail pane. Choose the Refresh button to update the monitor. either a word or phrase must be entered or a value must be chosen. The operator navigates to the operator messages monitor and sees an operator message with the following information: • Creation Time . Choose the Save and Close button to reply to the message and close the window. Procedure To monitor an operator message: 1.An operator has replied to the operator message. From the context-menu. if it has been replied to or not. 2. ' • Sender Object Raise an operator message 698 .Choose restart option • Reply Status .Choose restart option • Reply Status . the operator finds that the SAP System is down for maintenance. • Restart this step but only jobs that were not completed. After investigating the log file.3:17:34 PM The operator now knows that a job chain job in step 3 reached status Error at 3:17:34 PM today. • Restart this step. • Abort chain and set chain status to "Completed". • Restart and Hold this step.Required • Sender Object . • Rerun chain status handlers as if the step completed with status "Completed". The operator would like to know what happened and chooses the Sender Object EMEA_SALES_RUN_STEP_3. • Restart chain from the beginning. yet] The operator selects the message and the operator message detail pane displays the following data: • Full Text . • Rerun chain status handlers as if the step completed with status "Error". the step contains the name of the chain so the operator knows it is the EMEA_SALES_RUN job chain that failed.3:17:34 PM • Last Modification Time . The following replies are available: • Abort chain and set chain status to "Error".Monitoring Automated Processes • Reply .EMEA_SALES_RUN_STEP_3 • Creation Time .3:27:55 PM The operator now sees the following in the operator message detail pane: • Full Text 'Has the error been corrected?' • Reply Status Replied • Reply 'The error has been corrected. The operator returns to the operator messages monitor once the SAP System is live again and chooses Reply from the context-menu of the operator message.[none.3:17:34 PM • Last Modification Time . The operator chooses Restart this step and sees the following in the operator Message detail pane: • Full Text .EMEA_SALES_RUN_STEP_3 • Creation Time .Replied • Sender Object . persist(). by default. the lower right-hand side of the task bar.Monitoring Automated Processes • Creation Time 3:14:13 PM • Last Modification Time 3:17:53 PM Example 2 You have great number of operator messages and would like to Acknowledge them all from within RedwoodScript.* from OperatorMessage". null). The application will remain in the system tray until you open it by choosing its envelope icon. //Check the operator message requires a reply if (msg. Retrieve the operator messages using executeObjectQuery.valueOf("Required")) { msg.next(). which will poll the Central Scheduler for operator messages. it. the shortcut is named Scheduler Operator Messages.hasNext().setReply("Acknowledge"). Note that by default only operator messages requiring a reply will trigger the envelope icon. where you can fill in the URL as well as other connection details of the central server to subscribe to the feed.) { OperatorMessage msg = (OperatorMessage) it. it will be displayed in a pop-up window coming from the system tray. warning and normal. The installed software can be found in the Scheduler section of the Programs folder in the Windows Start Menu. As soon as an operator message has been received which matches your criteria. { String query = "select OperatorMessage. } } } See Also • Creating Operator Messages • Creating Advanced Operator Message Reply Expressions • Receiving Operator Messages on your Desktop • Operator Messages Monitor Receiving Operator Messages on your Desktop Use To receive and reply to operator messages on your Windows workstation without the use of a browser. The first time you launch the software. 699 . The application can be found in the Configuration > Software section and is named opmsgmon-installer. you can install the operator messages monitor application. the installation only requires the choice of an installation directory. the configuration window is displayed.executeObjectQuery(query. There are three icons for the system tray: disabled. jcsSession. The application will remain in the system tray until you open it by choosing its envelope icon. for (Iterator it = jcsSession.getReplyStatus() == ReplyStatus. The icon will have a red square when the option Show warning in tray icon is set and there is an unread operator message that matches the filter defined under Popup alerts. When an error occurs. there is no password and anyone can access the feed without a password • <disabled> . Prerequisites • The full URL to the Central Scheduler system • Depending on the security settings • the rss feed password • login credentials for the Central Scheduler system Procedure Configuring the operator messages monitor 700 . Note The SAP CPS registry can be found in Configuration > Registry. you will get a new window with the exact error stack that was received from the application server.where filename is the desired log file This argument is used to troubleshoot installation issues you could encounter with the installer. and not place holders.any other value represents the password.Monitoring Automated Processes The feed can have one of the following security settings: • Viewable to all • require a single password • require a valid user name and password for the application server The security settings can be configured in the SAP CPS registry using the registry key ( see the Administration Guide ): /configuration/feed/feeds/operator_message/password • Not present .the feed is only accessible with a valid username and password • any other value .if the key is not present. SAP support will request you to provide this information when you encounter issues. Installer Arguments The installer accepts the following argument: • -g filename . Note The <> are part of the value. When you choose the icon. there is a warning icon displayed on the main window of the application. The following passwords are not allowed: <disabled> and <login-only>.the feed is disabled • <login-only> . for example prd.The Central Scheduler settings require an account word to access the operator messages Authentication Use an RSS feed password the Central Scheduler requires a specific password for operator message access Authentication Isolation group The isolation group of the operator messages that are to be displayed. fill in the Hostname and Port fields for the Central Scheduler.com Server Port The Port of the Central Scheduler 50200 Server Poll Interval the interval at which requests for new operator messages should be made (in seconds) 30 Authentication No password required The Central Scheduler settings do not require a Y password to view operator messages Authentication Use server username and pass.html]. In the operator message monitor. On the Server tab. can HTTP be HTTP or the secure variant HTTPS Server Hostname The FQDN of the Central Scheduler. navigate to Tools > Configuration 2. for example GLOBAL. which have a syntax similar to that 701 . Choose the 'Authentication'' tab and fill in the applicable settings for security Values Tab Field Description Default value Server Protocol The protocol used by the application server. 3. Popup alerts Show new messages for 5 seconds The time the pop-up window is displayed Popup alerts List of rules to filter operator messages. select a protocol.sun.Monitoring Automated Processes 1.masalan. only messages that match any filter are displayed See Also • Operator Messages Monitor • The Registry • Registry Keys • Creating Operator Messages • Interacting with Operator Messages • Creating Advanced Operator Message Reply Expressions Creating Advanced Reply Expressions Use Reply expressions of operator messages of System_OperatorMessage jobs can be written as regular expressions [http://java.com/javase/6/docs/api/java/util/regex/package-summary. ^ Starts with | The "or" character $ Ends with \ The escape character. It is not possible to answer a reply expression like \s or \s+. Multiple spaces and/or tabs in a sequence in the reply are replaced with one space.a combo-box which offers valid answers. the table below lists some of the characters that have a special meaning in regular expressions. Any one character (equivalent to '?' on Microsoft Windows systems) * Used in conjunction with another character. the regular expression disallows null replies). "a".* . the previous character sequence repeated one or more times. • .+ . null replies). the previous character sequence repeated zero or more times. Regular expressions are used to match a character sequence in a string.Any reply accepted (except space(s). Special character meaning .Any reply accepted (except space(s). "b" or "c" • . the previous character sequence repeated once or not at all.Monitoring Automated Processes used by Perl. used as prefix to specify any special character The following table lists some special patters patterns: Patterns Description \n A newline character \d A digit \D Anything but a digit The following constructs are frequently used: • ^a|b|c$ . See Also • Creating Operator Messages • Interacting with Operator Messages 702 . • \d+ .Any number of digits. Note Empty replies are not accepted! Note Spaces before and after the reply are trimmed. + Used in conjunction with another character. ? Used in conjunction with another character. here they are used to force valid answers and can be used to create lists of pre-defined answers. This means that replies consisting of spaces and/or tabs only are not allowed. you can force operators to provide a reply that matches a specific pattern. With the use of regular expression. used to require a job id. for example. SAP CPS allows you to send SNMP traps to your network management stations. you can send such logical events within SAP CPS to the management software (for example. Note that you can use Redwood Expression Language to generate dynamic parameter values.SNMP license key. 2. There are many different network management solutions. if an important job fails). they can contain virtually any number or string that suit your corporate guidelines for your network management solution. Now the Management Information Base is known to HP OpenView NNM. This event is raised when you use the System_SNMP_SendTrap in SAP CPS. containing information about which job failed. TRAPID and TRAPDATA. Download the redwood-mib. When you choose that line. Note SNMP integration requires the SNMP module. In HP OpenView.mib file. choose OK. and traps from the process server can be received. 4. Example Configuring HP OpenView 1. Also. navigate to [Options] > [Load/Unload MIB: SNMP] > [Load] and choose the redwoodmib. It has two parameters. The job definition System_SNMP_SendTrap can be submitted within any RedwoodScript job or job chain to send a trap to the SNMP monitor. Navigate to [Options] > [Event configuration]. by using events or job chains. If your management software supports loading MIB files we suggest that you install these in the SNMP receiving software. There you will see "RedwoodTraps" in the Enterprises view. Usually. SAP strongly recommends you pay great attention when editing this file. navigate to Configuration > Software. Network monitoring solutions retrieve the settings from MIB files to be able to communicate with devices and applications. 3. The standard MIB file complies with the standards and should easily be imported into network management system. see the manual for your management software. as the MIB file must comply with syntax requirements. we use HP OpenView. SAP CPS offers a MIB file which contains the definition of a trap. please check your license to make sure you have the Module. When you are asked to load the definitions in the event system. this has evolved as monitoring applications and processes becomes more and more important. The MIB file is a text file which contains information on the device or application and how to communicate with it. Only one event is specified: userTrap. in the following example. How this is done is dependent on the management software. you will see more specific information in the events view.Monitoring Automated Processes • Receiving Operator Messages on your Desktop • Operator Messages Monitor Integrating SAP CPS into your SNMP Landscape Use Historically. 703 . You can edit this file. SNMP was used to monitor network devices. Choose the line to view the details of the UserTrap event. Using the existing infrastructure and internal knowledge allows many companies to save costs related to the implementation of an application-specific monitoring infrastructure. however. customers use a fixed trap id and a variable message.mib file. In SAP CPS. From the context-menu of the top-level job chain. On every step. the message that you specified. SNMP is frequently used to monitor network devices and is more and more used to monitor applications. In [Event Message] choose what you want to do with the trap. 7. choose Add Step from the context-menu of the job chain and give the step the name Retrieve System Info. give the step a user-friendly name to be able to easily locate it later. 6. and On Killed. On Error. specify default values for the parameters. choose New Job and fill SNMP into the Job Definition field. For example. Additionally. select Goto Step in the Action field and select the notification step for On Canceled. no new solution has to be implemented. On the Job Chain tab. Example Creating a job chain to send a trap 1. On the [Actions] tab you can specify the message ($2) to be displayed in a pop-up window that is shown as soon as the trap is received. 2. Navigate to Definitions > Job Chains. b. as an event log message you can give the following 2 specific messages: a.Monitoring Automated Processes 5. Choose New Job Chain from the context-menu. fill JC_SendTrap into the Name field on the Job Definition tab. 6. Choose Edit from the context-menu of an existing job chain. From the context-menu of the step. Choose Save & Close. $1 gives the TRAPID parameter of System_SNMP_SendTrap (for example the job id). An example is: net send <host> $2 See Also • Sending SNMP Traps Sending SNMP Traps Use You send SNMP traps to network management solutions to be able to report the status of specific jobs. select System_SNMP_SendTrap. Navigate to Definitions > Job Chains. 4. choose Add Step. as the monitoring infrastructure is already present. on the before last step. $2 gives the TRAPDATA parameter. Also. 3. 3. select Mark Chain Completed in the On Completed field. Procedure Sending a trap with a job chain 1. 2. choose the monitor where you want to log all the process server traps (for example Application Alert Events). 704 . 5. Fill snmp. 8. See Also • Integrating SAP CPS into your SNMP Landscape Integrating SAP CPS into Third-Party Applications with Permalinks Use The permalink API allows third-party applications to interact with SAP CPS and create. For example. select Mark Chain Completed in the On Completed field of the Retrieve System Info step. 6. a. give the step the name Send Trap On Error. On the step Retrieve System Info. On Error. Sending a test trap 1. You need to have the PermaLink module. 5. and submit SAP CPS objects. as long as the object allows the action. and On Killed.Scripting license key. =jobId into ID and ='The job '+jobId+' failed.The object type. 162 into Port. 7. select Goto Step in the Action field and select the Send Trap On Error step for On Canceled. From the context-menu of the step. Choose Save & Close.com into Host. PUBLIC into Community. From the context-menu of the job chain. not all object types are supported.Monitoring Automated Processes 4. Additionally. expand it fully and cancel the Generate an overview of the system job of the chain. JobDefinition 705 . set the Requested Start Time 5 minutes in the future and choose Submit. Syntax api-permalink/(list|show|edit|create|submit|help)?link-objecttype=<objecttype>&(link-path=<name>|link-uniqueid or api-permalink/list?link-objecttype=<objecttype>&(link-search=<search>) or api-permalink/diagram?link-objecttype=Job&(link-jobid=<jobid>|link-path=<name>|link-uniqueid=<n>) • <objecttype> . Wait for the job chain to finish and open your network management solution to inspect the trap.masalan. display. Choose Submit from the context-menu of the job chain JC_SendTrap (created in previous example). Navigate to Monitoring > Jobs and locate the job chain you submitted previously. choose Add Step. 9. 4. 2. choose New Job and fill System_SNMP_SendTrap into the Job Definition field. 3. On the Times and Dates tab. which requires the Module. upper-most job chain id is:'+topLevelJobId into the Data field. Choose Add Job from the context-menu of the step and fill System_Info into the Job Definition field. edit. com:50200/scheduler/api-permalink/show?link-objecttype=JobDefinition&link-uniqueid=7903 Showing Job Filters Job filters can be linked-to by using the link-path keyword ans specifying the technical name of the filter.Never With Status "Never" Job.The unique Id of the object.<objectName>.next24h For the Next 24 Hours Job.Completed With Status "Completed" Job.Error With Status "Error" Job.time. Technical Name English Name Job.time.time.Pending In a Pending State Job.next7d For the Next 7 Days Job.time.Running With Status "Running" Job.state.last7d For the Last 7 Days Job. this is due to the fact that filter-names.Monitoring Automated Processes • <name> . provided you know the name of the filter.state.The job id of the job.The IntelliSearch query. or job id for jobs • <n> . Warnings When you follow a permalink and are already logged into the instance the permalink is pointing to.System_Info.time. • <jobid> . cannot contain spaces or special reserved prefixes. a warning is displayed.stategroup.Final In a Final State Job. You suppress the warning using the following suffix in the URL: &suppress_popup=true Example: http://pr1.state.state.last24h For the Last 24 Hours Job. The following table lists the built-in job filters that can be linked-to with permalink.The full name of the object in the form of <partition>. • <search> . Note link-jobid and diagram can only be used with jobs.Initial In an Initial State Job.stategroup.stategroup. You can also link to your custom filters.stategroup.Active In an Active State Job. for example GLOBAL. Note that filters are displayed by their Description and not their Name.Console In a Console State Job.window24h For a Window of 24 Hours 706 .Overdue With Status "Overdue" Job. unlike descriptions.state.stategroup.masalan. such as JobDefinitions.]<object> or the unique id of the object.Manual In a Manual intervention State Prerequisites • Module.maintenance Standard Maintenance (Background) Jobs Job.com:50200/scheduler/api-permalink/list?link-objecttype=JobDefinition List all job definitions matching IntelliSearch query a:MSLN http://pr1.masalan.masalan. you can choose to use either the link-path.com:50200/scheduler/api-permalink/list?link-objecttype=JobDefinition&link-search=a:MSLN show Open a show page for the given object Objects For linking to objects.masalan.window7d For a Window of 7 Days JobChain. which is [<partition>.customMaintenance Custom Maintenance (Background) Jobs Job.Sys Open JobDefinition System_Info show page by uniqueid http://pr1.masalan.all All (Non-Maintenance) Jobs Job.stategroup.Monitoring Automated Processes Job.com:50200/scheduler/api-permalink/show?link-objecttype=JobDefinition&link-path=GLOBAL. also used to link to intelliSerch queries Example Open JobDefinition overview http://pr1.com:50200/scheduler/api-permalink/show?link-objecttype=JobDefinition&link-uniqueid=7903 707 .all All Job Chains Job. Example Open JobDefinition System_Info show page by businesskey http://pr1.time.Scripting license key list Show the overview page for a certain object type. Example Open JobDefinition System_Info edit page by businesskey http://pr1.masalan.masalan.masalan. besides in the main window the show page is also shown for the object.Syste Open JobDefinition System_Info edit page by uniqueid http://pr1.com:50200/scheduler/api-permalink/show?link-objecttype=JobFile&link-uniqueid=340644 Show JobFile page by jobid and filename http://pr1.com:50200/scheduler/api-permalink/show?link-objecttype=JobFile&link-jobid=22727&link-jobfil Show JobFile page by jobid and fileorder http://pr1. link-jobfileorder and link-jobfilename only work for jobfiles! edit Open the edit window for the given object.masalan.com:50200/scheduler/api-permalink/edit?link-objecttype=JobDefinition&link-uniqueid=79036 create Open a create new object window for the given object type.com:50200/scheduler/api-permalink/edit?link-objecttype=JobDefinition&link-path=GLOBAL. which allow to access the JobFile show page by: jobid and (filename or file order).com:50200/scheduler/api-permalink/show?link-objecttype=JobFile&link-jobid=22727&link-jobfil Note The attributes: link-jobid.Monitoring Automated Processes Job Files For linking to the JobFile show pages. 708 . Example Show JobFile page by uniqueid http://pr1. Example Create a new format window. there are extra convenience attributes.masalan. com:50200/scheduler/api-permalink/help?link-objecttype=JobDefinition&link-uniqueid=79036 This will present a show permalink to the JobDefinition using the businesskey. Example Submit a new Job and select the JobDefinition manually http://pr1.com:50200/scheduler/api-permalink/create?link-objecttype=Format submit Open the submit window. but only when the objecttype has a businesskey. Example http://pr1.com:50200/scheduler/api-permalink/show?link-objecttype=JobDefinition&link-path=GLOBAL.masalan. Example http://pr1. when you do not know the valid business key path for an object.masalan. You can also receive push notifications by subscribing to the service. The application is available for free on the Apple App Store and new updates are pushed through the App Store so it is easy to stay up-to-date.System_Info help Since business keys are preferred for usage in permalinks. please contact your account manager for availab- 709 .Syste diagram Show a job chain in a job chain diagram.com:50200/scheduler/api-permalink/diagram?link-objecor ttype=Job&link-path=65 Accessing SAP CPS from your iPhone Use You can use your iPhone to monitor SAP CPS when you are not at your desk.com:50200/scheduler/api-permalink/submit Submit a new Job for the given JobDefinition http://pr1.masalan.com:50200/scheduler/api-permalink/submit?link-path=GLOBAL. You can use the help function to obtain the correct path for an object for which you do know the uniqueid.masalan. http://pr1. optionally with a predefined JobDefinition.masalan.masalan.Monitoring Automated Processes http://pr1. The graphs adapt to the workload. Performance Monitoring The Dashboard is used to monitor the number of jobs. or any other number combination that can easily be guessed by the unauthorized. Messages The messages pane displays operator Jobs By default. so the sensitivity changes according to the load. the average load as well as the number of Queued jobs. like with other iPhone applications. you can restrict it more by choosing a job filter. if available. including output files. You can re-arrange the menu as you like. A PIN is required when you save system passwords. all jobs are displayed. this to help prevent unauthorized access. as is usual for the iPhone.all jobs are displayed. Tip Do not use any part of your birthday in your PIN. You choose a job to access its details. swiping over the top of the dial allows you to switch dials. if you disable this filter. You can switch to landscapemode to get a clearer picture of each dashboard dial.Monitoring Automated Processes ility in your region and information on the additional charges which may apply. Swiping on the dashboard dial allows you to access history data. you can enable one or more of the below filters • Last 24h • Next 24h • 24h • Last Week • Next Week 710 . The following job filters are enabled by default: • All . you are asked for a four digit code the first time the application is launched. jobs • inspect operator messages and job output files • control queues • control process servers Note To connect to your SAP CPS instance you need network-access to the server hosting SAP CPS. this topic will continue with the default layout. You can use the Wi-Fi and VPN functionality in the iPhone to connect to SAP CPS You navigate from one screen to the next using the icons on lower side. The iPhone application allows you to perform the following tasks: • monitor system load. parent jobs are displayed • Console (ignore parent) .jobs that have not finished after a predefined period • Running • Never .jobs in an initial state have not yet been assigned to a process server • Pending . that is hold and release them.jobs that perform customized maintenance tasks. you can also add more here.the list of SAP CPS instances configured.jobs that perform maintenance tasks.same as above without parent jobs • Error • Completed • Overdue . More Like for other iPhone applications.active jobs are in one of the Running States • Final .Monitoring Automated Processes • Week • Initial . 711 .console jobs have generated an operator message and await a reply.same as Console without parent jobs • Manual .additional settings for the iPhone application • Systems .pending jobs have not yet started • Active . which can be started and stopped • Settings . the user interface is not wide enough to display all screens at the bottom. usually because a process server is not available or because they are scheduled to run in more than 2 years • Maintenance .process servers.job requires manual attention • Manual (ignore parent) .final jobs have finished processing • Console . Queues You can control queues. and inspect their current workload. these jobs are usually not included in the All filter • Custom Maintenance . the More button allows you to access the following items: • Servers . these jobs are usually not included in the All filter Tip It is easier to switch to landscape mode when you deal with job filters.jobs that will never run. see the Connecting your iPhone to SAP CPS topic for more information. another for GL accounting and financial control. 3. where you would typically have a process monitor for the entire close process and individual ones for the steps. 4. for example. Fill in the name of a Process Monitor and select a Process Monitor Item Definition. Procedure Creating a Process Monitor 1. which allows you to create a hierarchy. this allows you to hide whatever you consider too technical detail from non-technical staff. Choose Edit from the context-menu of an existing job chain. Fill in a name into the Name field. one for each AP accounting. Navigate to Definitions > Job Chains. 5. Process monitors can have child process monitors. it also allows non-technical staff to monitor processes from Report2Web in a simple interface which reduces training to a minimum. 712 . Choose Save & Close. Drill-down to a job chain job. Choose New Process Monitor from the context-menu. When a job that is linked to a monitor completes. 5. choose Edit for the Process Monitors field. you can specify an expression for an instance name. this is especially useful for financial close processes. On the Process Monitor Item Definitions tab. When you link jobs to a process monitor. 2.Monitoring Automated Processes See Also • Job States • Connecting to SAP CPS with the iPhone Creating Process Monitors Use Process Monitors allow you to give users a general idea of how far a process has run without the confusing detail for non-technical staff. Process Monitors are initiated with an instance name. Connecting individual processes to a Process Monitor 1. Choose Save & Close. add an item for every step you want in the process monitor. 4. You create a process monitor and link job definitions or job chain jobs to it. which allows you to reuse them. Perform the previous step for to map all job chain jobs you want to the process monitor. 3. Leave the Type on Task when you link to jobs. Navigate to Definitions > Process Monitors. 2. 6. the process monitor is updated with the status. meaning that they are only linked when the instance name matches. you can configure Report2Web and SAP CPS for FPA. Choose Submit to initiate the process monitor. overview of the current status of the process. A subset of LDAP-v3 compliant LDAP servers are supported. Choose Instantiate from the context-menu of the process monitor. create a role for Process Automation and assign it to the user that will make the connection between SAP CPS and Report2Web. for example. Initiating a Process Monitor and Starting the entire process 1. Different User Interfaces Different users require different user interfaces. Navigate to Definitions > Process Monitors. Configuring Users and Roles You need to create a user in the LDAP system that will be used to connect SAP CPS to Report2Web. Import at least one administrative user as well as any number of users who should access FPA.Monitoring Automated Processes Note It is recommended to streamline processing of individual jobs and job chains using either parent job chains or events. Different Users.used to display a simplified ui across Report2Web and SAP CPS. 4. LDAP Authentication Parameters Field Description LDAP Authentication Checkbox to enable or disable support of LDAP authentication within Report2Web.used for the default ui in SAP CPS. this can be an OpenLDAP or Active Directory server. • scheduler-it-user or AccessSchedulerOperations on SAP UME . coarse. You have configured the catalog to use the same LDAP server as that used by SAP CPS. this FPA user should have a strong password and should preferably not be used for anything else. 3. Fill an instance name into the Instance field. 2. you probably do not want board members to get confused by the many groups or of the number processes when all they need is global. By default this checkbox is not enabled. Configuring Report2Web to use LDAP Report2Web must use the same LDAP server used by SAP CPS. There are two roles that can be used two divide the two usage types in SAP CPS: • scheduler-business-user . specifying their respective Report2Web roles. usually either Super Administrator or User. 713 . follow the installation instructions in the specific installation guides. Setting up Report2Web for FPA Use Once you have set up SAP CPS and Report2Web. Base DN Distinguished Name to be used by Report2Web as the top level of the LDAP tree. a.com:389 Secondary host URL to a secondary LDAP host.dc=com. Specified password cannot exceed 15 characters. Note: Report2Web does not support a value of dc=local. 5. Select the user you wish to add. Creating the Process Automation Role 714 . You must at the least add a catalog administrator. the FPA user is added later.dc=com. Procedure Configuring Report2Web to use LDAP 1.ou=users. 3. Default value is person. Default value provided is dc=masalan. Log on to the Report2Web catalog with the Super Administrator. Fill in the configuration details for your LDAP server. Group Object Class LDAP ObjectClass used to represent user groups. 5. Choose Save. User Full Name Attribute Attribute to be used to retrieve the full name for a user. Sign-on Attribute Attribute to be used for validation of sign on credentials. Bind Password Password of the Bind DN for establishing the connection to the LDAP server. 4.dc=masalan. The default value provided is: ldap://ldap. make sure the correct role is selected below and choose the Add button (illustrated by guillemets >> pointing downwards). Default value provided is cn=username. Default value is mail. and can be left blank. 2. Note: sAMAccountName is the default attribute used by Active Directory. Default value is group. Adding Users 1. Default value name. Navigate to Catalog Admin > Configurations 3. To be used if the primary is not available. This can be any LDAP v3 compliant directory server. 4. Group Name Attribute Attribute to be used to retrieve the name for a group. Log on to the Report2Web catalog with the Super Administrator. User Object Class LDAP ObjectClass used to represent individual users. Bind DN Distinguished Name to be used by Report2Web to establish connections to the LDAP server. Choose Next and Finish. 2. This field is optional. Fill the first letters of the name of the user you are searching for into the Look up field and choose Look up. Navigate to Security and choose Add from the context menu of Members. Default value is sAMAccountName. Choose Next until you see the LDAP configuration page. User E-mail Attribute Attribute to be used to retrieve the e-mail address for a user.Monitoring Automated Processes Host URL to the LDAP host. Default value is member.masalan. Group Member Attribute Attribute to be used to retrieve group members. Note: Report2Web does not support a value of dc=local. Default value is name. 5. 2.where approved reports are stored 715 . Fill the first letters of the name of the FPA user into the Look up field and choose Look up. Navigate to Security and choose Add from the context menu of Roles. 6. 4. it also allows you to take advantage of the reporting tools that Report2Web has to offer. Make sure the Process Automation authorization appears in the Selected Authorizations field and choose Save. if the connection can be made.Monitoring Automated Processes 1. 4. Fill in a user name and password for the FPA User defined above.com:10182/r2w 5.masalan. Fill in the URL to the Report2Web server. 3. you may freely name the folders. Assign the Process Automation Role to the FPA User 1. any document that is published into that folder is then presented to that user for approval. Log on to the Report2Web catalog with the Super Administrator. 4. otherwise check your settings. Fill in a name for the catalog into the Name field. • Incoming . 3. this is the folder on which you set the approvers • Approved . Choose Save. One of which is the document approval. Navigate to Security and choose Add from the context menu of Members. Choose Test Connection to check if the settings are valid. it should match the actual catalog name in Report2Web. You usually specify at least three folders. Select the user you wish to add. make sure the Process Automation role is selected below and choose the Add button (illustrated by guillemets >> pointing downwards). Not only does this lessen the load on the central server. see the Report2Web documentation to find out which characters are allowed in a folder name. Setting up Report Approval Use You can use Report2Web functionality with your job output by publishing it to the Report2Web server.where new reports are published from SAP CPS. following the approval. the document can then automatically be moved to another folder for a second approval process or published into a folder. Connect SAP CPS to Report2Web 1. for example http://r2w. Document approval allows you to define approval routes where a document has to be approved by one or more users before it is made available to other users. Locate and select the Process Automation authorization in the Available Authorizations field and choose the right hand-side gillemets >>. provided they are legal folder names. Navigate to Environment > R2W Catalogs 3. note that the names here are used for illustration purposes only. 2. Log on to SAP CPS 2. choose Save & Close. Log on to the Report2Web catalog with the Super Administrator. You set the reviewer(s) on a folder. 3. Choose the folder for which you want to edit Approver Rules. moving or copying the file to another folder once it has been approved or rejected. The exception to this case is the Super Approver authorization. Choose Approver from the context-menu of the folder. 4. 6. Choose Finish when you are done. Navigate to Settings > Approver Rules 3. You configure this in the Approver Rules on the folder.. Choose Add and select the user who is to approve reports and choose Next. Choose Finish when you are done. Edit existing Approval Rules 1.Monitoring Automated Processes • Rejected . Select a Participant. 716 . 5. Choose Add Folder from the context menu of the catalog (upper-most node) and fill a name in to the Folder Name field. More details can be found in the Report2Web Administration Guide.where rejected reports are stored You can create a process flow. they must be associated with a Report2Web Security Role that includes the Approval Participant authorization as well as having Read Content Access on the targeted folders(s) in which the individual action items will reside. Connect to the Report2Web server with a user with sufficient privileges 2. which grants Members the ability to oversee all document approvals and take action on them regardless of who the Pending Prerequisites • E-mail must be configured for Report2Web • The Report2Web license must have FPA=true Procedure Create a Folder and Approval Rules 1. Security Requirements The ability to create and edit Approver Rules requires that the logged on user is associated with a Report2Web Security Role that includes the Manage Approver Rules authorization as well as having Read Content Access on the targeted folder(s) on which the rule will be applied. and an Action. For a user to participate in the approval process. Connect to the Report2Web server with a user with sufficient privileges 2. 4. you can also edit existing Approver Rules by navigating to Settings > Approver Rules. Repeat the above steps so that you have rules for Accepted and Rejected reports. a Status. a. Financial Process Automation (FPA) offers a comprehensive set of tools to allow you to streamline the process. delays due to leave. alert users when actions are required. human error. The result for many businesses is long closing times. The business user. or reduces such need to a minimum. but needs to know the status of the overall process.Monitoring Automated Processes Automating Financial Processes Use Financial processes are getting more complex and need to comply with new standards. as numerous manual tasks have to be performed in the process. FPA allows you to have two distinct interfaces inside SAP CPS. The following figure illustrates the architecture behind FPA: Note The databases used by SAP CPS and Report2Web do not have to be of the same type nor reside on the same host. 717 . This alleviates the need for training. escalate when necessary and offers business-user-oriented process monitoring. as opposed to the IT user. one for IT users. might not be interested in each and every step of the process. the default. Automating the processes used to be very complex. and a simplified interface for business users. This allows you to streamline processing of computational tasks across systems and platforms. Job chains allow you to run a process literally seconds after another completed. but also provides a central location for all reports. if the tasks are not completed in a reasonable time-frame.UserMessage set to true Identifying Different Tasks Use Financial processes are composed of multiple types of tasks. Prerequisites • License key System. you can use separate job chains linked with events.limit set to a number.Monitoring Automated Processes The Power of Report2Web The integration with the leading document management tool which is Report2Web allows you not only to integrate approval processes into FPA. This allows you to create processes that span multiple systems and platforms and have IT as well as business users monitor them from one central location. Before you can implement FPA. for each task that has to be completed manually. you need to identify the different tasks that compose your financial process.BusinessUsers. You can use notifications to remind users of their tasks. keeping it available to end-users. approval of reports. Report2Web provides an end-user friendly interface to inspect job output. If you want to separate several processes. You can use the values of parameters in your user messages. you can use REL expressions such as parameters. Manual tasks include: • Report preparation • Report review • Report approval Manual tasks can be scheduled as User Messages. for example. for example. this number defines the maximum amount of users that are allowed to have the scheduler-business-user role • License keys Module. you have to identify the responsibilities. you escalate to the backup and then to management. multiple platforms. Computational Tasks Computational tasks should be automated to the maximum extent possible. Events also allow you stream-line processes 718 .<name>.ProcessMonitor and Module. Publish your job output to the Report2Web system and keep your SAP CPS environment uncluttered and efficient. Manual Tasks You should at the least have one user who is to perform the task as well as a backup. through the use of job chains. Some tasks require manual intervention. for example. Cross-Application and Cross-Platform SAP CPS interfaces with many ERP and CRM software packages. You may specify a message for the person responsible. an employee who will be in charge in case the usual user is not available. User Messages are special job definitions that require human intervention to reach a final state. No longer will you need to wait for a task to complete on a remote system before you can manually trigger another on another system. and many other pieces of software. hostname or IP address of the server • Server Port .Monitoring Automated Processes across platforms that do not have platform-agent support. You can use the Wi-Fi (EDGE or 3G) and VPN functionality in the iPhone to connect to SAP CPS You connect to SAP CPS by providing the following details: • Host Name .the username to connect with • Password .the prefix to use. Prerequisites • a user with administrative privileges to enable mobile access • Cronacle application for iPhone (available for free in the App Store Procedure Enable Mobile Access 719 .a color for the instance Note you cannot save system passwords if you do not set a PIN.jar available in Configuration > Software! Connecting your iPhone to SAP CPS Use You can use your iPhone to connect to SAP CPS and monitor the system. Note To connect to your SAP CPS instance you need network-access to the server hosting SAP CPS (access to /scheduler/api-iphone is required).the port number of SAP CPS. you should be able trigger an event from it using the api-tool. usually it is the same as the prefix you use with your browser (/scheduler • User name . The iPhone application is available for free in the App Store. Note Only a single connection to a Free of Charge instance is allowed. You usually use the same port as the one to connect to SAP CPS in your browser • Connect via SSL . if there is a Java runtime environment on the platform.the password of the user The following optional properties can be set to differentiate this particular instance: • Description • Color . This means that you have to switch isolation group in the settings to access objects in other isolation groups.Do you have SSL enabled on your application server? • Prefix . The iPhone application will attempt to connect to verify the connection parameters.Monitoring Automated Processes 1. Choose Enable Mobile Access from the context menu Adding a SAP CPS instance to the iPhone application 1. See Also • Accessing SAP CPS from your iPhone 720 . 2. Choose More and then Systems. 3. Fill in the appropriate values and choose Save. Choose Edit and then Add System. Open the SAP CPS application. 4. Navigate to Monitor > iPhone 2. When job definition types are assigned to a process server. Using Platform Job Definition Types 2. Note Please check your license to see which platforms and external applications you can manage from within SAP CPS. IBM z/OS Job Definition Types 3. Scheduling Processes Outside of the SAP System Landscape Use The Chargeable version of SAP CPS has many more features than the Free of Charge version. but also all your Unix and Windows processes as well as other processes on other platforms. automate complex tasks with RedwoodScript jobs or trigger processes on your other external systems. Implement SAP CPS and have a Central Point of Control for your entire data center with all your processes in one view.Chapter 10. Migrate your cron jobs or other scheduled tasks on the OS by defining job definitions. opening a platformindependent world of new possibilities. Contact your SAP representative for more information. SAP CPS not only allows you to schedule your SAP processes. You must only submit job definitions of a certain job definition type into queues that are handled by process servers capable of running those job definition types. Command Line System Tools See Also • Creating Job Definitions • Using Job Chains • Creating Job Chains Using Platform Job Definition Types Use Platform job definition types define a type of job definition and the service required to execute the jobs of that type on external systems. or those jobs can never be started. Creating Platform Process Servers a. they define the type of jobs that the process server can run and services that are needed. You want to migrate and have a more complex scheduling environment? Redwood Software has developed sophisticated automation routines evolved over many years of replacing alternative products. 1. 721 . 722 . • Python . Note When you create or edit a process server. The following standard job definition types are provided with SAP CPS: UNIX Job Definition Types • BASH . • SQLPLUS . Simply create the parameter and point it to your preferred interpreter. These UNIX job definition types can also run on Microsoft Windows servers with one of the many 'UNIX emulation' packages available. for job definitions that run on UNIX (compatible) servers. For instance.For writing Korn Shell. for example Local_BASH. To view a job definition type. there you do not need to specify a job definition type.For writing SQL*Plus scripts. Job definition types only support the basic action Refresh. choose a job definition type in the overview table. • FTP . It is not possible to Create. but this does require that the Perl interpreter is installed on that particular system. the required services are added automatically to the process server based on the job definition types you configured. You can also specify a list of allowed interpreters on process server-level using the InterpreterWhitelist_<JOBDEFINITIONTYPE> process server parameter ( see the Administration Guide ) and override the default interpreter on job definition-level with the parameter JCS_INTERPRETER_<JOBDEFINITIONTYPE>.Scheduling Processes Outside of the SAP System Landscape Note Platform job definitions are part of the Platform module and require a specific license. The same holds for the UNIX job definition types such as BASH.For writing Perl scripts. Some combinations are allowed that do require optional software on the actual operating system that it will run on. They will only run successful if the appropriate shell is actually installed. please check the License section for more information. the PlatformAgentService has to be added manually. • CSH . Available on most UNIX systems. • KSH . The only exception is for process servers that are used for file events exclusively.For writing Python scripts. so there is no need to change services on a process server. the platform agent for an operating system is capable of starting Perl. • PERL . The job definition type details are shown in the lower detail pane.For writing Bourne Again SHell scripts. BASH is installed on all Linux systems and optionally on all UNIX (compatible) platforms that SAP CPS runs on. • PERL (Unicode) . Edit or Delete job definition types. The server has knowledge of which agents and process server services are capable of executing which job definition types in theory.For writing FTP job definitions.For writing Perl scripts with UNICODE characters in your script source. it must exist and be white-listed using the InterpreterWhitelist_<JOBDEFINITIONTYPE> process server parameter.For writing C Shell scripts. CSH and KSH. Interpreter You can override the default interpreter by specifying an interpreter on process server-level with the Local_<JOBDEFINITIONTYPE> process server parameter. however. Note All UNIX job definition types will also run on Windows. Microsoft Windows Job Definition Types • CMD . • PS1 . provided a suitable JVM and groovy runtime are available. • SQLPLUS . Users RunAsUser is generally used to control the user account under which the job runs on the host where the platform agent runs. password (and endpoint) parts of a credential set by using the following job definition parameters: • JCS_USER • JCS_ENDPOINT. For Perl we suggest Activestate. as there is no use for the local RunAsUser and these predate the RemoteRunAsUser.For writing Microsoft Windows PowerShell language scripts. CSH and KSH we recommend Cygwin.For writing DEC Command Language scripts.For writing Microsoft Windows Visual Basic Script job definitions.(for SQLPLUS and JCL_FTP only) • JCS_REMOTE_USER • JCS_REMOTE_ENDPOINT 723 . XP and Vista and is delivered with Microsoft Server 2008.Scheduling Processes Outside of the SAP System Landscape • OS Native .for writing Groovy job definitions which can potentially run on any platform agent. There are two historic exceptions: SQLPLUS and JCL_FTP. RemoteRunAsUser is used to control an extra user account that is used in particular job definition types only. The RemoteRunAsUser attribute is currently only useful in FTP jobs where it is used to control the initial account that the FTP command connects to.For writing Microsoft Windows Command scripts. for SQLPLUS you require an Oracle client that includes SQL*Plus. Controlling the RunAsUser and/or RemoteRunAsUser at submit time When there is a need to control the user account at submit time you can override the user. • VBScript . provided you have the command interpreter installed. where the RunAsUser is used to control the account that is used for the remote account. and for BASH. HP OpenVMS Job Definition Types • DCL .For writing SQL*Plus scripts. • Groovy .For writing OS Native job definitions which can potentially run on ony platform agent using iuts default shell. PowerShell is available as a download for Microsoft Server 2003. Job parameters are either accessed via their name with an : prefix or in the native syntax (%USER% for Windows. 'unix'. 'dir'. Strings must be surrounded by single quotes (').Scheduling Processes Outside of the SAP System Landscape Note The endpoint for job definition types other than SQLPLUS and JCL_FTP is fixed to the EndPoint process server parameter.case(osFamily. in job definitions. Example The following CMD job definition illustrates the use of parameters: ='echo "Time now is: "'+ Time. $USER for Unix). concatenation is done with a (+). 'ls') 724 .561 Europe/Paris oldValue jdoe oldValue NewValue The following example shows you how to use RedwoodExpressionLanguage to detect the underlying operating system and list the contents of the current directory: =Logic. Note that since the source is evaluated at runtime. including your own. parameters specified with the :<parameter_name> syntax always return the IN value of the parameter. Syntax The source must start with a =. This allows you to call REL functions. or if that is not set the RemoteHostName process server parameter. The source is evaluated before it is sent to the platform agent for execution. The syntax is similar to the syntax used in Cronacle version 7. 'windows'.now()+' echo :Parameter1 echo %USER% set Parameter1=NewValue echo :Parameter1 echo %Parameter1%' The job produces the following output: Time now is: 2011/09/11 21:14:48. See Also • Different Versions • Checking Your License Using REL in Platform Job Definition Types Use You can use RedwoodExpressionLanguage (REL) in platform job definition types. just like any other field where you want to use REL. Scheduling Processes Outside of the SAP System Landscape Using OS Native Job Definition Type Use The OS Natvie job definition type uses the default shell of the user the job runs as. UNIX. Note You must assign at least one process server to run OS Native job definitions in order to use the job definition type. • Out parameters are supported by setting the parameter using the PARAMETER=VALUE syntax. VMS) using REL and have the right shell execute the right code. Examples The following shows how to use a normal environment variable: ='echo This is running under user $USER with home directory $HOME and temporary directory $TMPDIR.Parameter1 The following shows how to pass numeric (N1). using the standard $PARAMETER syntax. I propose $DTEMP D1=$DTEMP # Set DateTime to new string value' The following example shows you how to return a non-zero exit code resulting in the job going into Error: ='N=1 echo "Exiting with value $N. see Using REL in Platform Job Definition Types for more information. Variables and Parameters • Parameters in the job definition are manipulated in the shell source simply as variables. You can also specify a REL expression to be evaluated at runtime. regardless of which platform the jobs runs on. exit /b on Windows) to abort script execution immediately on running a command that has a non-zero exit status. Returning an Error If your script code exits with a non-zero exit code this is correctly reflected in the server. You use the osFamily parameter to determine the type of os you are running on (Windows.000 GMT" echo You said $D1. Code a shell-specific exit command ( set -e in Bourne-based shells. echo '+osFamily+' echo '+parameters." exit $N echo "Not reached"' 725 . string (S1) and date (D1) parameters to and from BASH scripts: ='# Note BASH allows no spaces around = in variable assignment N1=$((expr $N1 + $N1)) # Add numeric variable to itself S1="$S1 $S1" # Concatenate string DTEMP="1999/12/31 23:59:59. Scheduling Processes Outside of the SAP System Landscape The following example shows you how to use RedwoodExpressionLanguage to detect the underlying operating system and list the contents of the current directory: =Logic. HP-UX and Solaris. Note that the interpreter will evaluate wildcards if these are not escaped or (double-) quoted. 726 . see Using REL in Platform Job Definition Types for more information. the file pattern must be escaped of quoted. Note You must assign at least one process server to run BASH job definitions in order to use the job definition type. You can also specify a REL expression to be evaluated at runtime. You can also specify a list of allowed interpreters on process server-level using the InterpreterWhitelist_BASH process server parameter ( see the Administration Guide ) and override the default interpreter on job definition-level with the parameter JCS_INTERPRETER_BASH. • Out parameters are supported by setting the parameter using the PARAMETER=VALUE syntax. • The BASH shell does not have actual data types. all parameter values are stored as strings. Interpreter By default. Numbers are translated automatically. the interpreter for BASH scripts defaults to /bin/bash.case(osFamily. Code a set -e command to abort script execution immediately on running a command that has a non-zero exit status. 'windows'. Returning an Error If your script code exits with a non-zero exit code this is correctly reflected in the server. You can override this by specifying an interpreter on process server-level with the Local_BASH process server parameter. it must exist and be white-listed using the InterpreterWhitelist_BASH process server parameter. Variables and Parameters • Parameters in the job definition are manipulated in the BASH source simply as variables. using the standard $PARAMETER syntax. The same applies to the mput command of jftp. If you leave the quotes out. 'dir'. 'unix'. 'ls') See Also • Using REL in Platform Job Definition Types Unix Job Definition Types Using the BASH Job Definition Type Use The BASH shell is the default UNIX shell on Linux. Dates are sent and retrieved using the Script Date Format. -name '*txt'. and is usually available on other UNIX systems such as AIX. Various ports also exist for Microsoft Windows. Example: find . Simply create the parameter and point it to your preferred interpreter. then all files matching the pattern will be sent as arguments to the find program. It is also available on Linux and Microsoft Windows. You can also specify a REL expression to be evaluated at runtime.Scheduling Processes Outside of the SAP System Landscape BASH Examples The following shows how to use a normal environment variable: echo This is running under user $USER with home directory $HOME and temporary directory $TMPDIR. Simply create the parameter and point it to your preferred interpreter. see Using REL in Platform Job Definition Types for more information. HP-UX and Solaris. I propose $DTEMP D1=$DTEMP # Set DateTime to new string value The following example shows you how to return a non-zero exit code resulting in the job going into Error: N=1 echo "Exiting with value $N. For compatibility with the KSH job definition type on Windows and Linux. Note You must assign at least one process server to run CSH job definitions in order to use the job definition type. it must exist and be white-listed using the InterpreterWhitelist_CSH process server parameter. Interpreter By default. You can override this by specifying an interpreter on process server-level with the Local_CSH process server parameter. you must install tcsh separately if it is not already installed." exit $N echo "Not reached" See Also • Using REL in Platform Job Definition Types Using the CSH Job Definition Type Use The C shell is an alternative UNIX shell on various UNIX systems such as AIX. string (S1) and date (D1) parameters to and from BASH scripts: # Note BASH allows no spaces around = in variable assignment N1=$((expr $N1 + $N1)) # Add numeric variable to itself S1="$S1 $S1" # Concatenate string DTEMP="1999/12/31 23:59:59. 727 .000 GMT" echo You said $D1. The following shows how to pass numeric (N1). the interpreter for CSH scripts defaults to /bin/csh. You can also specify a list of allowed interpreters on process server-level using the InterpreterWhitelist_CSH process server parameter ( see the Administration Guide ) and override the default interpreter on job definition-level with the parameter JCS_INTERPRETER_CSH. • Out parameters are supported by setting the parameter using the set PARAMETER=VALUE or @ PARAMETER = VALUE syntax. It is not possible to store all possible values in C Shell variables. use the CSH. string (S1) and date (D1) parameters to and from CSH scripts: # Add numeric variable to itself @ N1 = $N1 + $N1 # Concatenate string set S1="$S1 $S1" set DTEMP="1999/12/31 23:59:59." if ( $N > 0 ) then exit $N endif echo "Not reached" 728 . -name '*txt'. For new code. KSH or Perl job definition types. A well known article explaining this in more detail can be found by searching the internet for 'CSH programming considered harmful'. and it does not support functions or other structured programming concepts very well. When a CSH script returns with a non-zero error code. The same applies to the mput command of jftp. The following shows how to pass numeric (N1). Dates are sent and retrieved using the Script Date Format. • The CSH shell variables do not have actual data types. Returning an Error If your script code exits with a non-zero exit code this is correctly reflected in the server. all parameter values are stored as strings. Variables and Parameters • Parameters in the job definition are manipulated in the CSH source simply as variables. the output parameters are not set. Should you use C Shell scripts CSH is not recommended to code new scripts in. then all files matching the pattern will be sent as arguments to the find program. If you leave the quotes out. I propose $DTEMP # Set DateTime to new string value set D1="$DTEMP" The following example shows you how to return a non-zero exit code resulting in the job going into Error: set N=1 echo "Exiting with value $N. using the standard $PARAMETER syntax. We still offer the CSH job definition type for those cases where you have historic code written in the C shell that needs to be executed as a job. the file pattern must be escaped of quoted.Scheduling Processes Outside of the SAP System Landscape Note that the interpreter will evaluate wildcards if these are not escaped or (double-) quoted.000 GMT" echo You said $D1. Numbers are translated automatically. CSH Examples The following shows how to use a normal environment variable: echo This is running under user $USER with home directory $HOME and temporary directory $TMPDIR. Example: find . all parameter values are stored as strings. You should use a pair of grave accents to remain portable to Solaris: `command`. • The pdksh does not implement all the features of AT&T ksh. the syntax $(command) to execute a program and substitute its standard output is not allowed. You can also specify a REL expression to be evaluated at runtime. the file pattern must be escaped of quoted. the interpreter for KSH scripts defaults to /bin/ksh. We highly recommend that you use functions instead.Scheduling Processes Outside of the SAP System Landscape See Also • Using REL in Platform Job Definition Types Using the KSH Job Definition Type Use The Korn shell is the default UNIX shell on various UNIX systems such as AIX. Example: find .mun. Note that the interpreter will evaluate wildcards if these are not escaped or (double-) quoted. The same applies to the mput command of jftp. Note You must assign at least one process server to run KSH job definitions in order to use the job definition type. Dates are sent and retrieved using the Script Date Format. Numbers are translated automatically. Since the job definition script code is sourced. Simply create the parameter and point it to your preferred interpreter. but executed. using the standard $VARIABLE syntax. You can also specify a list of allowed interpreters on process server-level using the InterpreterWhitelist_KSH process server parameter ( see the Administration Guide ) and override the default interpreter on job definition-level with the parameter JCS_INTERPRETER_KSH. • The Korn shell does not have actual data types. Variables and Parameters • Parameters in the job definition are manipulated in the KSH source simply as variables. it cannot call any aliases. If you leave the quotes out. Writing portable KSH scripts KSH is not the same implementation on all platforms. In other implementations. We have found the following compatibility issues between these variations: • Some versions of KSH do not support aliases in non-interactive invocations of the Korn shell. it must exist and be white-listed using the InterpreterWhitelist_KSH process server parameter. You can override this by specifying an interpreter on process server-level with the Local_KSH process server parameter. • On Solaris. then all files matching the pattern will be sent as arguments to the find program. and there are minor differences between the two. see Using REL in Platform Job Definition Types for more information. aliases can only be used in scripts that are not sourced. • Out parameters are supported by setting the parameter using the VARIABLE=VALUE syntax.ca/~michael/pdksh/NOTES) for a list of differences. HP-UX and Solaris. Interpreter By default. Please refer to the notes page of the pdksh website (http://www.cs. It is also available for Linux and Microsoft Windows in the form of pdksh. -name '*txt'. 729 . The following shows how to pass numeric (N1)." exit $N echo "Not reached" See Also • Using REL in Platform Job Definition Types Using the Perl Job Definition Type Use Perl is a widely used. KSH Examples The following shows how to use a normal environment variable: echo This is running under user $USER with home directory $HOME and temporary directory $TMPDIR. Note You must assign at least one process server to run PERL job definitions in order to use the job definition type. 730 . I propose $DTEMP D1=$DTEMP # Set DateTime to new string value The following example shows you how to return a non-zero exit code resulting in the job going into Error: N=1 echo "Exiting with value $N.000 GMT" echo You said $D1. string (S1) and date (D1) parameters to and from KSH scripts: # Note KSH allows no spaces around = in variable assignment N1=`expr $N1 + $N1` # Add numeric variable to itself S1="$S1 $S1" # Concatenate string echo "Concatenated string" $S1 DTEMP="1999/12/31 23:59:59. On Microsoft Windows systems the Perl interpreter will be found via the %PATH% environment variable.8. For UNICODE to work properly the version should be 5. You can also specify a REL expression to be evaluated at runtime. see Using REL in Platform Job Definition Types for more information. SAP CPS includes two Perl job definition types. On UNIX systems it should be installed as /usr/bin/perl. A Perl interpreter needs to be installed on the system that the platform agent runs on.Scheduling Processes Outside of the SAP System Landscape Returning an Error If your script code exits with a non-zero exit code this is correctly reflected in the server. multi-platform scripting language. Code a set -e command to abort script execution immediately on running a command that has a non-zero exit status.2 or higher. one of which uses unicode UTF-8 encoding for the source. \n". see Scripting Date Formats. "\n". Returning an Error If your script code exits with a non-zero exit code this is correctly reflected in the server.\n". print "OS user = " .. it only supports a single scalar data type: scalar. } The following example shows you how to return a non-zero exit code resulting in the job going into Error: { $N = 1. we recommend not relying on more than one byte (0. the following job definition needs two string parameters defined: str and pattern. $^O . $ENV{USER} . using the standard $PARAMETER syntax. return $N. "\n".. print "Exiting with exitcode $N. Set the variable using any Perl method.. # built-in variable # environment variable # job definition parameter Match one variable to a pattern. For example a simple assignment in Perl is $PARAMETER = VALUE. but dates are subject to format conversions. } 731 . • Out parameters are supported. it must exist and be white-listed using the InterpreterWhitelist_PERL process server parameter.. You can override this by specifying an interpreter on process server-level with the Local_PERL process server parameter. Variables and Parameters • Parameters to the script are manipulated in the PERL source simply as if they are variables.255). Simply create the parameter and point it to your preferred interpreter. This maps directly for strings and numbers. } else { die "$str does not match $pattern. $message . print "Not reached. "!\n". print "Your message was " . You can also specify a list of allowed interpreters on process server-level using the InterpreterWhitelist_PERL process server parameter ( see the Administration Guide ) and override the default interpreter on job definition-level with the parameter JCS_INTERPRETER_PERL.\n".Scheduling Processes Outside of the SAP System Landscape Interpreter By default. the interpreter for PERL scripts defaults to /bin/perl -w. Note that the maximum value that can be returned is operating system dependent. • Perl is a weak type-casted language. if ($str =~ m/$pattern/) { print "Match $i& found!\n". Perl Examples The following shows how to use a built-in and an environment variable as well as job definition parameter: print "Hello from " . 255).5. Variables and Parameters • Parameters to the script are manipulated in the Python source simply as if they were variables. scripting language. and 3.get("USER")` print "Your message was: " + message # environment variable # job definition parameter Match one variable to a pattern. it must exist and be white-listed using the InterpreterWhitelist_PYTHON process server parameter. Interpreter By default. A Python interpreter needs to be installed on the system that the platform agent runs on. You can also specify a REL expression to be evaluated at runtime. using the standard parameter syntax. Note that the maximum value that can be returned is operating system dependent.7. For example a simple assignment in Python is Parameter = "This is a string!" Returning an Error If your script code exits with a non-zero exit code this is correctly reflected in the server. if str. • Out parameters are supported. see Using REL in Platform Job Definition Types for more information. " + `os.environ. Note You must assign at least one process server to run PYTHON job definitions in order to use the job definition type.2. 2.Scheduling Processes Outside of the SAP System Landscape See Also • Using REL in Platform Job Definition Types Using the Python Job Definition Type Use Python is a widely used.. Simply create the parameter and point it to your preferred interpreter.find(pattern) > -1: 732 . Python Examples The following shows how to use an environment variable as well as job definition parameter: import os print "Hello. we recommend not relying on more than one byte (0. multi-platform. You can also specify a list of allowed interpreters on process server-level using the InterpreterWhitelist_PYTHON process server parameter ( see the Administration Guide ) and override the default interpreter on job definition-level with the parameter JCS_INTERPRETER_PYTHON. Supported versions are Python 2. On UNIX systems it should be installed as /usr/bin/python. Set the variable using any Python method. the interpreter for PYTHON scripts defaults to /bin/python. On Microsoft Windows systems the Python interpreter will be found via the %PATH% environment variable. You can override this by specifying an interpreter on process server-level with the Local_PYTHON process server parameter. the following job definition needs two string parameters defined: str and pattern. You can also specify a REL expression to be evaluated at runtime. using the standard %PARAMETER% syntax. Variables and Parameters • Parameters to the job definition are manipulated in the CMD source simply as if they are variables. see Using REL in Platform Job Definition Types for more information. IF and FOR commands. Dates are sent and retrieved using the Script Date Format. • Out parameters are supported by setting the parameter using the set PARAMETER=VALUE syntax. For commands that interact with COM or WMI commands it is better to use the VBScript or PowerShell job definition types.exit(N) See Also • Using REL in Platform Job Definition Types Microsoft Windows Job Definition Types Using the CMD Job Definition Type Use The Microsoft Windows Command CMD language is the Windows version of BAT (MS-DOS batch) files. The CMD language is quite powerful nowadays. all parameter values are stored as strings.Scheduling Processes Outside of the SAP System Landscape print "Match " + pattern + " found!" else: print str + "does not match pattern " + pattern + "\n" The following example shows you how to return a non-zero exit code resulting in the job going into Error: import sys N = 1 print "Exiting with exitcode %d \n" % N sys. It supports everything that BAT supported. the output variables will not be set. The correct ways to end the job definition and still set the output variables are: 733 . • The CMD language does not have actual data types. and more. Type HELP followed by a command in a command prompt for more information. of particular interest when writing scripts are the SET. Numbers are translated automatically. Note You must assign at least one process server to run CMD job definitions in order to use the job definition type. Returning an Error If the CMD file ends by means of the EXIT command. • Use GOTO :EOF (see HELP GOTO).000 GMT" echo You said %D1%. This depends on "dir" writing the drive space on its last line of output. and set the DIRSPACE variable accordingly.EXE. then you must specify the argument in quotes. For example FINDSTR "ERR*" c:\masalan\sqlnet. I propose %DTEMP% rem Set DateTime to new string value set D1=%DTEMP% The following example shows you how to return a non-zero exit code resulting in the job going into Error: N=1 echo Exiting with value %N%. string (S1) and date (D1) parameters to and from CMD scripts: set /A N1=%N1% + %N1% rem Concatenate string set S1=%S1% %S1% set DTEMP=1999/12/31 23:59:59. if %N% GEQ 1 exit/b %N% echo Not reached The following shows how to obtain the number of free bytes on drive C on the process server that the job runs on: rem rem rem rem rem rem Find out how many bytes are free on drive C:. If you want the command to evaluate the wildcarded argument and not CMD.Scheduling Processes Outside of the SAP System Landscape • Running to the end of the job definition. Wildcards Wilcards will be evaluated if they are not put in quotes. • Use EXIT /B. the file pattern must be escaped or quoted. We continuously overwrite the same variable until we automatically leave the last value in place. The same applies to the mput command of jftp.log. Examples The following shows how to pass numeric (N1). for /F "usebackq tokens=3" %%x in (`dir /-C c:\`) do call :getline %%x goto :EOF :getline set DIRSPACE=%1 goto :EOF See Also • Using REL in Platform Job Definition Types 734 . the implementation is very different in Powershell when you compare it to other tools. The String and Number data-types are supported. Vista and Server 2003. Execution Policy The default execution policy of the PowerShell is Restricted.0\powershell. New-Variable cmdlets. SAP CPS supports the following two policies: • RemoteSigned • Unrestricted Run get-help about_signing in the PowerShell to learn how to set the desired execution policy. DateTimeZone parameters are stored in DateTime variables. and can be downloaded for Microsoft Windows XP. Note You must assign at least one process server to run PowerShell job definitions in order to use the job definition type.exe. it will be converted to the corresponding date-time in the local time zone of the Microsoft Windows system. To make PS1 scripts available for script writing. using the standard $VARIABLE syntax. see Using REL in Platform Job Definition Types for more information. which does not allow the execution of scripts.Scheduling Processes Outside of the SAP System Landscape Using the PowerShell Job Definition Type Use The Microsoft Windows PowerShell is a new shell meant for interactive use that can also be used for non-interactive scripts. The PowerShell is very strong in interacting with . Note that even on 64-bit platforms SAP CPS uses the 32-bit version of PowerShell and that you must specify the execution policy for the 32-bit version by running %windir%\SysWOW64\WindowsPowerShell\v1. Variables and Parameters • Parameters to the job definition are manipulated in the PS1 source simply as if they are variables. • Out parameters are supported by setting the parameter using the $VARIABLE = VALUE syntax or the SetVariable. • The PowerShell language has knowledge of data-types. as it can pass objects between different 'cmdlets' instead of strings. however. Run get-help about_signing in the PowerShell to learn how to set the desired execution policy. Note PowerShell also supports regular expressions. 735 . as in most shells.Net objects. Please make sure you test your regular expressions extensively! You can also specify a REL expression to be evaluated at runtime. It comes as standard with Microsoft Server 2008. install the PowerShell executable so that it is available on the path. This means that you cannot transfer the time zone of a parameter to a PowerShell variable. Out parameters are converted to UTC (GMT). "BI2")} See Also • Using REL in Platform Job Definition Types Using the Visual Basic Script Job Definition Type Use The Microsoft Windows VBScript (VBS) language is a variation of Visual Basic. I propose $DTEMP" $D1=$DTEMP The following example shows you how to return a non-zero exit code resulting in the job going into Error: $N=1 echo "Exiting with value $N. } echo "Not reached" The following example shows how to rename all the files in a directory: ls | foreach {ren $_. Examples The following shows how to pass numeric (N1). You can also specify a REL expression to be evaluated at runtime.fullname $_. using the standard syntax. The cscript command-line interpreter is available on all recent Microsoft Windows server operating systems. Variables and Parameters • Parameters to the job definition are manipulated in the VBScript source simply as if they are variables. and is very suited for writing scripts." if ($N > 0) { exit $N. Note You must assign at least one process server to run VBS job definitions in order to use the job definition type. and output parameters are set as far as they were already set.replace("BI1". see Using REL in Platform Job Definition Types for more information.Scheduling Processes Outside of the SAP System Landscape Returning an Error If your script code exits with a non-zero exit code this is correctly reflected in the server. string (S1) and date (D1) parameters to and from PS1 scripts: $N1=$N1 + $N1 # Concatenate string $S1="$S1 $S1" [datetime]$DTEMP="1999/12/31 23:59:59Z" echo "You said $D1.name. 736 . Source = "MSLN_ErrorHandler" Wscript.writeline "Exiting with value " & N Quit N Raising an error and clearing it so the job reaches Completed On error resume next Err.Scheduling Processes Outside of the SAP System Landscape • The VBScript language has knowledge of data-types. This sub is only available in the context of SAP CPS jobs. • Out parameters are supported by setting the global variable with the same name as the parameter to the desired value. DateTimeZone parameters are stored in string variables. To set output variables and stop execution.echo("An Error of the type " & Err. as well as setting any output variables: N = 1 Wscript.writeline "You said " & D1 & ". If you 'fall off the bottom' by not calling Wscript. Your code starts out with error handling set to abort execution. but it will not set any output variables. The String and Number data-types are supported. as seen in the example below.Clear See Also • Using REL in Platform Job Definition Types 737 .Description & " has been caused by " & Err. This is correctly reflected in the server. Examples The following example shows how to pass numeric (N1).Source & ". Returning an Error If your script code needs to set a non-zero exit code you usually code Wscript.Quit(n). call the global sub Quit(n) instead.stdout.stdout. When you decide to handle errors using the resume next you must make sure that you clear the error after you have handled an error.Quit or Quit and the Err object has not been reset your script will end in the Error status.") Err. or at least before you end the script. string (S1) and date (D1) parameters to and from VBS jobs: N1 = N1 + N1 S1 = S1 & S1 DTEMP = "1999/12/31 23:59:59Z" Wscript. I propose " & DTEMP D1 = DTEMP The following example shows you how to return a non-zero exit code resulting in the job going into Error. the job will fail with Error and return code 255.Description = "Masalan Custom Error" Err. When a runtime error occurs.Raise 8 Err. SAP CPS supports the following two job definition types on HP OpenVMS: 1.Scheduling Processes Outside of the SAP System Landscape HP OpenVMS Job Definition Type Use The HP OpenVMS platform agent is not available when you purchase SAP CPS from SAP AG directly. Numbers are translated automatically. using the standard SYMBOL or 'SYMBOL syntax. see Using REL in Platform Job Definition Types for more information. Even Perl is not very popular on OpenVMS (although support for this is anticipated for a future release). You can also specify a REL expression to be evaluated at runtime. • All parameters are passed as string values. shell on HP OpenVMS. and usually the only.VMS. This means that if you use job definitions that use the parameters P1 through P8 that you must delete the local symbol before you can access the global symbol value. • Out parameters are supported. Note that your DCL script runs as a nested DCL script. For instance. to print the value of the parameter P1 use: $ delete/symbol/local P1 $ write sys$output "The parameter P1 = ''P1'' 738 . It is used for almost all scripting on VMS systems. Dates are sent and retrieved using the Script Date Format. Variables and Parameters • Parameters in the job definition are manipulated in the DCL source as global symbols. as it is guaranteed to be installed and there is a low likelihood of any other shell being installed.the total number of VMS process servers See Also • Different Versions • Checking Your License Using the DCL Job Definition Type Use The DCL shell is the default. with its own local symbols P1 through P8 that are not set to any value.limit . please contact your account representative if you require support for this operating system. Oracle SQL*Plus HP OpenVMS process servers require the following key: ProcessServerService. DEC Command Language (DCL) 2. The $! line is not 'logged' but it is executed by DCL as it contains the magic incantation 'F$VERIFY. Any files that it creates there will be attached to the job. • STDERR.LOG. If you are not running the process server with logging at debug level this file will usually be empty and be deleted automatically. The same job definition can be used across platforms without the need adapt the syntax to the target platform.<job>. Standard files Your DCL code runs with it's default directory set to [. and the job status is also derived using the normal VMS method. change the SYLOGIN.1 which will contain any output sent to SYS$OUTPUT.COM contains this in the first two lines: $ Set NoOn $ VERIFY = F$VERIFY(F$TRNLNM("SYLOGIN_VERIFY")) As the SAP CPS platform-agent starts logging from a very early stage the STDERR. • STDLOG.COM and LOGIN.LOG file may contain the above output.1 which will contain any debugging and informational output created by the job-processor. Note that VMS exit statuses often contain large number values that can still indicate success. as well as the trailing job information written by the command processor when the job finishes.LOG. In most VMS installations. This directory normally contains three standard files: • STDOUT.COM procedures.JobFiles].Scheduling Processes Outside of the SAP System Landscape Returning an Error The DCL $status is correctly reflected in the Repository.. SYLOGIN.1 which will contain any output sent to SYS$ERROR. See Also • Using REL in Platform Job Definition Types • Different Versions • Checking Your License Other Platform Job Definition Types Using the FTP Job Definition Type Use The FTP job definition type allows you to specify jftp commands in a job definition. To remove this output.LOG. 739 .COM file to start as follows: $! VERIFY = 'F$VERIFY(F$TRNLNM("SYLOGIN_VERIFY")) $ Set NoOn Note the added comment and quote characters. which can then be executed on platform agents. and the reversed order.. including any DCL verify output written by the DCL job definition runner and the SYLOGIN. including any DCL verify output written by your script. 740 . if it is set.the endpoint for JCS_USER • JCS_REMOTE_USER . JCS_REMOTE_USER or JCS_REMOTE_PASSWORD contain a password. The password will be encrypted in the Run As User and Remote Run As User fields the next time(s) you edit the job definition. The default user of the platform agent will be used if it is not set. The following job definition parameters can also be used to specify users: • JCS_USER . make sure to set the Password property on the parameter or the password will be stored and displayed in clear text. The RemoteRunAsUser property of the job definition will be used to connect to the remote FTP server.Scheduling Processes Outside of the SAP System Landscape The following default FTP job definitions allow you to perform basic actions: Name Description System_FTP_delete Delete a file from the remote server System_FTP_get Get a file from the remote server System_FTP_list List a directory on the remote server System_FTP_mget Retrieve files matching a pattern from the remote server System_FTP_mkdir Create a directory on the remote server System_FTP_mput Upload files matching a pattern to the remove server System_FTP_put Upload a file to the remote server System_FTP_rmdir Remove a directory on the remote server Security The RunAsUser property of the job definition is used to launch jftp.the password for JCS_REMOTE_USER • JCS_REMOTE_ENDPOINT . This allows you to use credentials with jftp.FTP user (takes precedence over Remote Run As User) • JCS_REMOTE_PASSWORD .OS user (takes precedence over Run As User) • JCS_ENDPOINT .the endpoint for JCS_REMOTE_USER Note When JCS_USER. The syntax for the Run As User / Remote Run As User fields and JCS_USER / JCS_REMOTE_USER parameters is: [[{virtual}:]user[[/password][[@endpoint] You can specify defaults on the process server with process server parameters. Note The job definition parameters take precedence over the [Remote] Run As User fields. If the credential does not exist or is not valid (invalid password) the job will fail. If both fail. : Using Credentials When you use credentials.masalan.first. the job will reach error. Examples The following examples illustrate how to specify users: • JCS_USER set to jdoe .com.a login credential for virtual user ftp_user must exist for endpoint ftp. the RemoteHostName process server parameter must be set to MSLN_UNIXS3. • Run As User set to jdoe@MSLN_UNIXS3:sjobs@MSLN_UNIXS3 .a login credential for jdoe must exist for endpoint ftp. the username of this credential can be set to testuser in the Test environment. the connection is already established when the job definition source is evaluated. since the password is provided. Note that in this exaple. if this fails the credential for sjobs will be used.masalan. There is thus no need to change the job definition when you promote it from one environment to the other. the credential for jdoe will be used. • Another example using multiple parameters: • JCS_USER is set to jdoe/tiger • JCS_ENDPOINT is set to MSLN_UNIXS3 Syntax You can create your own FTP job definitions using the following syntax: get mget put mput list delete mkdir rmdir quote include <options> <options> <options> <options> <options> <options> <options> <options> <options> <options> <options> <outfile> <infile> <pattern> <localdir> <infile> <outfile> <pattern> <remotedir> <directory> <file> <directory> <directory> <command> <includefile> := [ [ -ascii | -binary ] | -use_cwd | -pasv | 741 .com:2021.masalan. If the credential does not exist or is not valid (invalid password) the job will fail.com .masalan. /. If the credential does not exist or is not valid (invalid password) the job will fail.com . • Run As User is set to jdoe/tiger@MSLN_UNIXS3 . and jdoe in the production environment. This means that you cannot specify a non-standard port in the job definition source while using credentials.masalan.no credential lookup is done.com.Scheduling Processes Outside of the SAP System Landscape Note The following special characters in passwords will cause problems: @. devuser in the development environment.a login credential for jdoe must exist for the endpoint specified by the RemoteHostName process server parameter. • JCS_REMOTE_USER set to jdoe@ftp. in this case you need to specify the port in the Endpoint of the credential as follows: {{[{virtual}:]<user>@<endpoint>:<port>}} or jdoe@ftp. • JCS_REMOTE_USER set to {virtual}:ftp_user@ftp. The platform agent host needs to have Oracle Software installed with an sqlplus binary and the Oracle environment must be set.com The Source is set to the following: list pub/shared_cars/ get pub/shared_cars/Application_Masalan. Defines are limited to 240 characters. 742 .masalan.Scheduling Processes Outside of the SAP System Landscape -port <port_number> -secretfile <file> <options> | | ] Example Specifying username.com The Source is set to the following: list pub/shared_cars Using a credential The Remote Run As User is set to jsmith@ftp. syntax. Variables and Parameters • Parameters to the script are used in the SQLPlus source as defines.masalan.masalan. using the standard &PARAMETER.com The Source is set to the following: list pub/shared_cars Retrieving a file The Remote Run As User is set to jsmith@ftp. The process server needs to have the SQLPLUS job definition type. Using the SQLPLUS Job Definition Type Use SQL*Plus is a command line SQL and PL/SQL language interface and reporting tool that ships with Oracle.car mget pub/shared_cars/JobDefinition_* /tmp/ Additional information and usage examples can be found at: JFTP Documentation. • SQLPlus defines are string-based.car /tmp/Application_Masalan. this is not set by default on platform agent process servers. password and host (password will appear encrypted once saved) The Remote Run As User is set to jsmith/htimsj@ftp. Note The job definition parameters take precedence over the [Remote] Run As User fields.OS user if Remote Run As User is also set. just define a variable with the name of the parameter using the regular method. and it always runs under the default OS account. If you are using date parameters. You can use a Post Running action to set them if required. User and Password Authentication The following job definition fields on the Source tab can be used to specify the OS and database users: • Run As User . Security The SQLPLUS job definition type is integrated with the credential system. make sure to set the Password property on the parameter or the password will be stored and displayed in clear text.OS user if JCS_REMOTE_USER is also set. The credential Run As User field is used to look up the Oracle account and database that the job will start off with. If the Run As User and Remote Run As User fields and JCS_USER as well as JCS_REMOTE_USER parameters are left empty. 743 . SYYYMMDDHH24MISS. The password will be encrypted in the Run As User and Remote Run As User fields the next time(s) you edit the job definition.database user • JCS_REMOTE_ENDPOINT . otherwise the database user • Remote Run As User . Returning an Exception If your PL/SQL code exits with an exception. To set an output parameter use define PARAMETER = 'VALUE'. otherwise the database user • JCS_ENDPOINT . the job starts off not connected to any database.Scheduling Processes Outside of the SAP System Landscape • OUT parameters are supported. which is the default. Jobs run on a platform agent (directed by the jobs queue and optionally job definition resources). Note When a job reaches status Error. they must be in the standard Oracle date format. this is ignored in the server unless you put whenever sqlerror exit failure into your code.database user The following special job definition parameters can be used to specify the OS and database users: • JCS_USER .the endpoint for JCS_REMOTE_USER Syntax for JCS_USER and JCS_REMOTE_USER: <user>[[/<password>][[@<endpoint>] The <endpoint> can be a database or RemoteHostName process server parameter. the Out values of parameters are not always set.the endpoint for JCS_USER • JCS_REMOTE_USER . Note When JCS_USER or JCS_REMOTE_USER contain a password. with the following attributes for each set: a. a credential lookup is performed based on the job's process server name.Scheduling Processes Outside of the SAP System Landscape Note When you do not specify a password nor endpoint. Set up SQL*Net connection aliases on the agent if your database has an inconvenient name. test. Real User: The Oracle database username c. a. Virtual User (optional): An alternative name to find the username. Create a credential set for each required login. Password: password e. 744 . To use a particular database. Create a credential set for each required login. Enter: user@database or {virtual}:virtual-user@database into the field or parameter listed above. Virtual User (optional): An alternative name to find the username. Real User: username d. and production systems. This protocol is built-in and can be removed by the administrator. with the following attributes for each set: 3. Enter: user@database or {virtual}:virtual-user@database into the field or parameter listed above. You must use the connection string used to connect to the database. Note UNIX and Microsoft Windows only To use a particular OS user you need to setup the following: 1. Endpoint: RemoteHostName c. b. The credential system also allows you to have virtual users which ease the migration of job definitions and process servers between development. if it does not exist already. In each system you can have different credentials with the sole common denominator being the virtual user. Password: The Oracle database password d. username and password combination you need to set up the following: 1. Create the oracle credential type. 2. 2. Note You cannot create a virtual name for the endpoint (database). Endpoint: The SQL*Net connection alias that you will access the database with. Protocol: login b. Credentials You use credentials to store username/password details in a central location. println "Getting Music Catalog" catalog = "http://www. rem column bytes new_value P_BYTESFREE select sum(bytes) "BYTES" from dba_free_space.w3schools. rem rem Shows built-in variables and rem computes output parameter. Job definition parameters are available directly in Groovy as Java variables. EnvironmentVariables or EnvironmentFile process server parameters if your environment does not use standard settings. • Defaults TNS_ADMIN as $ORACLE_HOME/network/admin. which requires a JVM. print some information from it and store the number of CD's in the out parameter OutParameter1.Scheduling Processes Outside of the SAP System Landscape Environment Depending on your configuration you may want to add Oracle environment variables to the KeepEnvironmentVariables.toURL(). Note When a job reaches status Error. The job definition type code sets the following if not set by an environment variable: • Derives ORACLE_HOME from the location of sqlplus executable.text 745 . as shown in the examples below. • Sets shared library path to include $ORACLE_HOME/lib (UNIX only). You can use a Post Running action to set them if required. Note that the job definition needs an Out parameter named P_BYTESFREE. using the standard syntax int myVar or myVar = "initial value". It needs the groovy runtime. Get the sample XML music catalog from w3schools. SQLPLUS Examples The following example shows the built-in parameters being used as symbols and how to set an output parameter. See The Environment of Platform Jobs for more information on environment variables with platform agent jobs. parse the XML. Groovy is especially recommended for data processing. the Out values of parameters are not set.xml". prompt Returning free space value: &P_BYTESFREE Using the Groovy Job Definition Type Use Groovy is a programming language that runs on the Java platform.com/xml/cd_catalog. Variable and Parameters Variables that you require to hold intermediary values are defined in the same way as you would normally define variables in Groovy. a job's environment contains the following: • account . defined on the job definition OutParameter1 = cds.CD.text() println "Simon & Garfunkel: 'The 59th Street Bridge Song'" //Store number of CD's found in OutParameter1. especially where the native job environment is re-used (IBM z/OS.the account used to run the code • files .files(type:"current dir list") { dir. Note On HP OpenVMS. for example. 746 .xml.output and log files • environment variables .getName()) } } See Also Groovy's Home [http://groovy.codehaus.parseText(catalog) cds. For UNIX and Windows. The environment of the job is kept as consistent as possible.CD. and EnvironmentVariables are not available either.size() Create an XML directory listing of a directory path specified in the Parameter1 job definition parameter //Parameter1 is a String parameter defined on the job definition def xml = new groovy. for example). HP OpenVMS) Some platforms differ slightly.MarkupBuilder() File dir = new File(Parameter1) xml.eachFile { f -> file(f.Scheduling Processes Outside of the SAP System Landscape cds = new XmlSlurper(). EnvironmentFile.TITLE.text()+": } // One is missing " + it. Process server parameters KeepEnvironmentVariables. Microsoft Windows.org] The Environment of Platform Jobs Use All OS jobs that run on the platform agent obtain a reliable environment. no JCS_ variables are set and jtool as well as all the SAP CPS tools are not guaranteed to be on the path.ARTIST.each { println it. regardless of OS and/or OS family (UNIX.standard environment variables and SAP CPS-specific ones that store the job id. point to a directory that contains job-specific temporary files. The result is then added to the OS Environment updating any existing definitions.inherited from the network-processor. If PATH is not in the KeepEnvironmentVariables parameter. when they are mounted as iSCSI. If the account is null. • TMPDIR. and are viewable in the user interface. • SHELL. All files placed there will be listed as job output files. Open files The current directory for the job is a directory where you can place files. /usr/bin and /bin. • Reading from stdin will result in no data being returned.Scheduling Processes Outside of the SAP System Landscape Note You must install the SAP CPS platform agent on a local file system. a default account will be used. and EnvironmentVariables process server parameter. They will be removed when the job finishes. The job can add extra temporary files there. Additionally the following variables are set: • JCS_JOB_ID . SAP CPS then looks up the user defined environment variables in the existing OS environment. • No other file handles or descriptors are open. SAN file systems might be considered local. 747 .this is standard UNIX functionality. HOME. OS limits imposed upon the user that started the network-processor are imposed on all jobs. • JCS_JOB_FILES_DIR . Account The job will be run under the account that is specified in the job definition. TEMP and TMP . If this is not null but the account is not available the job will fail (status Error). regardles of the user under which they run . jevent. The job also starts out with this directory as its current directory. it will be set to a default path consisting of the location of the SAP CPS tools. EnvironmentFile. • PATH . This way you can call tools such as jsleep. LOGNAME and USER . and eventually looks up the remainder of unresolved variables in the user defined environment. but prefixed with the location of the SAP CPS tools. Environment Variables UNIX For UNIX the set of environment variables is controlled by the KeepEnvironmentVariables. • A job can write text output to stdout and stderr. for example.points to the directory that the job can write files to that will be listed as job output files.set to the JobId of the job. jshell without having to specify a path.set to the correct value of the account that the job runs as. jftp. FFFZZ. For example: '2000-01-01T00:00:00. USERDOMAIN and USERPROFILE . jftp. The job can add extra temporary files there. Passing to the script for In and InOut parameters is done in a Java standard format: YYYY/MM/DD HH:MI:SS. • JCS_CODEPAGE .Scheduling Processes Outside of the SAP System Landscape Microsoft Windows For Microsoft Windows the environment variables are formed by recreating the standard set of environment variables for the user that the job runs for. jevent. or in ISO8601 format: YYYY-MMDDTHH:MI:SS. All job definition type runner scripts select this code-page as the OEM (DOS) code-page. so that all local files are written in this code-page.set to the correct value of the account that the job runs as.point to a directory that contains job-specific temporary files.FFF ZZZ. The time zone that is passed is always an official Java time zone name. For example: '1972/04/20 03:24:00 Europe/London'. date parameters are passed in and out as strings. Script Date Format Use Many job definition types do not have explicit data types to store timestamps (date+time+time zone). This is equivalent to the values that you would find active when you would log on interactively as that user. • PATH .set to the JobId of the job. This way you can call SAP CPS tools such as jsleep. ISO 8601 says that the time zone is either 'Z' (for UTC) or an offset in hours:minutes from UTC.points to the directory that the job can write files to that will be listed as job output files. • USERNAME. IBM z/OS Job Definition Types a. Additionally the following environment variables are set: • JCS_JOB_ID .set to the value of the ANSI code-page in effect for the agent. The job also starts out with this directory as its current directory. They will be removed when the job finishes. TEMP and TMP . but prefixed with the location of the SAP CPS tools. Using External Job Definition Types Use The following external job definition types are available: 1. Dates passed as out (for InOut and Out parameters) can be in the same format.000+02:00'. jshell without having to specify a path. Using the AS/400 Job Definition Type ( see the Administration Guide ) 748 . by looking these up in the user hive in the registry. • JCS_JOB_FILES_DIR . • TMPDIR.will be set from the user hive. 2. Using the JCL_FTP Job Definition Type b. Using the JCL Job Definition Type IBM AS/400 Job Definition Types ( see the Administration Guide ) a. For those languages. where it is used to control the initial account that the FTP program connects to. The RemoteRunAsUser attribute is used in FTP jobs. JCL_FTP uses the FTP interface on the mainframe to start jobs. Controlling the RunAsUser When there is a need to control the user account at submit time you can override the user. Using the JCL_FTP Job Definition Type 2. There are two historic exceptions: SQLPLUS and JCL_FTP.The user on the z/OS system • JCS_ENDPOINT . The JCL job definition requires a SAP CPS process server to be installed on the zSeries server. 1. this has the advantage of not requiring additional software on the mainframe. Using the JCL Job Definition Type Users RunAsUser is generally used to control the user account under which the job runs on the host where the platform agent runs. for example. please contact your account representative. Note The endpoint for job definition types other than SQLPLUS and JCL_FTP is fixed to the EndPoint process server parameter. See Also • Different Versions • Checking Your License 749 . The zSeries connector is not available from SAP AG. it must match the value of RemoteHostName process server parameter ( see the Administration Guide ) of the server where you want to run the job.The hostname of the z/OS system. where the RunAsUser is used to control the account that is used for the remote account. JCL_FTP and JCL. as there is no use for the local RunAsUser and these predate the RemoteRunAsUser. password (and endpoint) parts of a credential set by using the following job definition parameters: • JCS_USER . if you require this functionality. or if that is not set the RemoteHostName process server parameter.Scheduling Processes Outside of the SAP System Landscape See Also • Different Versions • Checking Your License IBM z/OS Job Definition Types Use There are two job definition types for the mainframe. RemoteRunAsUser is used to control an extra user account that is used in particular job definition types only. plus some built-in ones. without any keywords. Once the job is submitted. the job processor runs and contacts the z/OS server over TCP/IP via the FTP protocol.CLASS=X //STEP1 EXEC PROG=IEFBR14 Example of a DSN PDS naming the JCL on the mainframe HLQ.SPACE=(TRK.(~P_DSN1_TRACKS~. It switches to the JES interface instead of the normal file interface and submits the job to JES. In other words.DISP=(NEW. However.JCL_FTP license key in order to be able to use the JCL_FTP job definition type. 'JOB DEMO'. It also translates the JES job outcome into a SAP CPS job status (ERROR or COMPLETED). P_DSN1_TRACKS number(3). or a single line naming a DSN containing the JCL on the mainframe. The source of a JCL_FTP job definition contains either a complete job description consisting of JCL. The agent that performs the submit to JES via a (remote) internal reader runs on a UNIX or Microsoft Windows system. The source that you type as the job definition source can use all parameters that you defined on the job definition. Note You require the ProcessServerService.DEMO. A JCL coding starts with a line beginning with //. it attempts to retrieve the jobs output datasets and puts each of them into a different SAP CPS job output file. since this character was not represented in the earlier EBCDIC character sets. no SAP software needs to be installed on the mainframe. you can use this in the JES source like this: //DSN1 DD DSN=~P_DSN1~. Once the job is finished. On that server. The syntax that SAP CPS uses for parameters is: ~parameter~ For example. A DSN contains just the DSN name. in the native syntax of the computer language that you are writing in. current 750 . if you have parameters P_DSN1 varchar2(30).CNTL(JCLDEMO) Parameter substitution One of the advantages that most job definition types have is that they use native parameter substitution. The actual work of executing the job is done fully by the mainframe itself. JES2 or JES3 processes the job itself.1)) Note We use the tilde (~) character to start and end a parameter name. it polls to see if the job is finished. Example of JCL in the job definition source //EXAMPLEX JOB (ACCT#).Scheduling Processes Outside of the SAP System Landscape Using the JCL_FTP Job Definition Type Use The JCL_FTP job definition type works with a zero footprint or agentless agent. As with all job definition types you must assign at least one process server the JCL_FTP job definition type in order for that process server to perform the task and be assigned. and thus not very likely to occur in normal JCL cards.CATLG). When SAP CPS submits the job it first sends it to (one of) the platform agent(s) that is assigned the JCL_FTP job definition type. Set the Run As User field on the job definition to define all three parameters.name. as JES does not allow the tilde character. JOB card Every job received by JES must start with a job card with the following format: //jobname JOB (accounting). the Out parameters are not always set.MSGCLASS=~JES_MSGCLASS~]] The . If the JESINTERFACELEVEL is 1 you must use a jobname of ~JES_USER~ followed by one character. password and hostname where the job is submitted are normally set via credentials. SAP CPS communicates to z/OS using the IBM FTP server. If the FTP server is running at JESINTERFACELEVEL=2 then the job name is free. The default job card does this correctly. use credentials instead). 751 . This default card is: //~JES_USER~~JES_JOB_IDENTIFIER~ JOB ~JES_ACCOUNT~.keyword-parameters SAP CPS automatically generates a job card if it sees that you have not created one at the start of your code.CLASS and . this account will also be used to submit the job (unless overruled by the job card). JES_PASSWORD The z/OS user account password used to submit the job (not recommended. You can use a Post Running action to set them if required.CLASS=~JES_CLASS~][. Built-in Parameters The JCL_FTP job definition type supports the following parameters: Parameter Name Description JES_HOST The z/OS hostname where the job is submitted (not recommended. which has a direct link to the JES internal reader and the JES spool.Scheduling Processes Outside of the SAP System Landscape EBCDIC tables usually do have tilde. Note When a job reaches status Error. as code point A1. The username. use credentials instead). JES_USER The z/OS user account used to submit the job (not recommended. but it can only occur in '*' SYSIN cards.MSGCLASS arguments are only added if they are filled by a job definition parameter. Example To submit a job to account MYUSER with password SECRET on host ZPROD1 use the following syntax in the Run As User field (or via a {virtual}: reference to a stored credential set): MYUSER/SECRET@ZPROD1 Note that as soon as you store this field the password is stored in an encrypted fashion.'~JES_USER~'[. use credentials instead). and the automatic job card will use a jobcard starting with J followed by a Defining the user account The job is submitted to MVS using an FTP account. If this is changed. • IBM FTP server enabled. In the SAP CPS UI: • Choose an existing platform process server running on UNIX or Microsoft Windows. in this case a COBOL compiler call: 752 . • TCP/IP V3R1 or higher. Example The following job definition takes a job parameter called MESSAGE and displays its content. //* //* A hello world program with a variable message //* //STEP1 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT1 DD * ~MESSAGE~ /* //SYSUT2 DD SYSOUT=* The following is an example of a normal JCL batch.0 or higher. If This is not set. preferably V2R10 or higher to support arbitrary job names. Note Using the latest Perl release is recommended. a random letter between A and Z will be taken (only used if no job card in JCL found). but it can be set to 1 or 2 for debugging purposes. Prerequisites On the z/OS or MVS server: • z/OS (any release) or OS/390 V1R2. Customer Support may ask you to upgrade if you are experiencing problems. VERBOSE How much logging to show on the agent side. • Add the JCL_FTP Job Definition Type to it. Procedure On the z/OS or MVS server: • Recommended: Edit the TCPIP profile so that JESINTERFACELEVEL is set to 2. On the UNIX or Microsoft Windows server that the platform agent runs on: • Perl 5.Scheduling Processes Outside of the SAP System Landscape JES_JOB_IDENTIFIER The job class.8. The default = 0. JES_DELETE Delete (cancel) the JES job after it ran? JES_ACCOUNT The accounting rule (only used if no job card in JCL found).4 or above. restart the FTP server. 2)) //SYSUT4 DD UNIT=SYSDA.SPACE=(CYL.(2.DISP=(OLD) //SYSUT1 DD UNIT=SYSDA. The source of a JCL job definition contains either a complete job description consisting of JCL. It is suited to running many concurrent jobs at high speeds with very low latency between job finish by JES and job status update in SAP CPS.limit license key in order to be able to use the JCL job definition type. Note You require the ProcessServerService.REGION=4096K //SYSPRINT DD SYSOUT=* //SYSLIN DD DSN=CPS.(2.OBJ(JCLTEST). If the source contains just a single line and no comma character then it is assumed it is a reference to a DSN.CLASS=X //STEP1 EXEC PGM=IEFBR14 Example of a DSN PDS reference containing the JCL on the mainframe HLQ.(2. PROCEDURE DIVISION.JES.(2.SPACE=(CYL. JCLTEST.(2. The platform agent requires software to be installed on the z/OS server. Example of JCL in the job definition source //EXAMPLEX JOB (ACCT#). 'JOB DEMO'. The z/OS platform agent and the requisite license can only be obtained from Redwood directly. or a single line naming a DSN containing the JCL on the mainframe.OBJ. All other source is interpreted as JCL. /* See Also • Different Versions • Checking Your License Using the JCL Job Definition Type Use The JCL job definition type works with a platform agent.2)) //SYSUT5 DD UNIT=SYSDA.SPACE=(CYL.2)) //SYSIN DD * IDENTIFICATION DIVISION.2)) //SYSUT2 DD UNIT=SYSDA.(2. but has the advantage that it requires less resources (no polling) as it uses IBM System Management Facility (SMF) and Job Entry Subsystem (JES) exits to intercept the job at the appropriate moments. PROGRAM-ID.JCL.SPACE=(CYL. STOP RUN.2)) //SYSUT6 DD UNIT=SYSDA. You require one unit per z/OS LPAR. //* to store the object code.2)) //SYSUT7 DD UNIT=SYSDA.SPACE=(CYL.SPACE=(CYL.(2. //* //COMP EXEC PGM=IGYCRCTL.CNTL(JCLDEMO) 753 .2)) //SYSUT3 DD UNIT=SYSDA.Scheduling Processes Outside of the SAP System Landscape //* //* Note that this job definition assumes there is a PDS named CPS.JES.SPACE=(CYL.DEMO. CATLG).CNTL(JCLDEMO)' When you specify a DSN directly. the value of the ${parameter:-word} syntax lies in that you can use different values for different substitutions. If RESTART is not empty it evaluates to a correct . job restarts that need to skip the first few steps can be performed with this functionality by coding the job card as: //JOBNAME JOB .SPACE=(TRK.RESTART=(${RESTART})} If the RESTART parameter is empty the ${ . This you could also have done using the default value on the P_DSN1_TRACKS parameter itself. the entry will be translated to //'DSN'.. The ${parameter:+word} syntax is useful to supply extra syntactic JCL sugar required when a value is set. in the native syntax of the computer language that you are writing in. The source that you type as the job definition source can use all parameters that you defined on the job definition. The syntax that SAP CPS uses for parameters is: Syntax Description ${parameter} replace with parameter if it exists. the Out values of parameters are not always set. ${RESTART:+. .(${P_DSN1_TRACKS:-15}. } section evaluates to the empty string. the command that will actually be used will be: //'HLQ. For instance. plus some built-in ones..DISP=(NEW..RESTART=(<STEP>) clause. Note When a job reaches status Error. otherwise leave untouched ${parameter:+word} replace with word if parameter exists and is non-null ${parameter:-word} replace with parameter if it exists and is non-null. P_DSN1_TRACKS number(3). you can use this in the JCL source like this: //DSN1 DD DSN=${P_DSN1}..DEMO.. otherwise replace with word For example. if you have parameters P_DSN1 varchar2(30). Nested JCL You can include a nested JCL file using the following syntax: ${include:<datasetname>} The nested dataset will be included at that point prepended with a comment line: //* INCLUDE <datasetname> 754 .. Parameter substitution One of the advantages that most job definition types have is that they use native parameter substitution. You can use a Post Running action to set them if required.Scheduling Processes Outside of the SAP System Landscape In this case.1)) If P_DSN1_TRACKS is not set the value 15 is used. (2. //* //* A hello world program with a variable message //* //STEP1 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT1 DD * ${MESSAGE} /* //SYSUT2 DD SYSOUT=* The following is an example of a normal JCL batch.DISP=(OLD) //SYSUT1 DD UNIT=SYSDA. Example The following job definition takes a job parameter called MESSAGE and displays its content.2)) //SYSIN DD * IDENTIFICATION DIVISION.(2. JCLTEST.(2. All jobs should contain exactly one job card.LIB(MEMBER)}. STOP RUN.SPACE=(CYL.SPACE=(CYL.(2. PROGRAM-ID. PROCEDURE DIVISION.JES.2)) //SYSUT5 DD UNIT=SYSDA.OBJ(JCLTEST). in this case a COBOL compiler call: //* //* Note that this job definition assumes there is a PDS named CPS.2)) //SYSUT4 DD UNIT=SYSDA.2)) //SYSUT7 DD UNIT=SYSDA.(2.SPACE=(CYL. //* to store the object code.Scheduling Processes Outside of the SAP System Landscape You can refer to USS datasets (files) using ${include:/path/to/file} syntax or to host libraries using ${include://HLQ.JES.2)) //SYSUT6 DD UNIT=SYSDA.OBJ.SPACE=(CYL.DIR. /* See Also • Different Versions • Checking Your License Creating Platform Process Servers Use Platform process servers that schedule workload or use file events are not available with a Free of Charge version license.2)) //SYSUT3 DD UNIT=SYSDA.SPACE=(CYL.SPACE=(CYL.(2. //* //COMP EXEC PGM=IGYCRCTL.2)) //SYSUT2 DD UNIT=SYSDA.REGION=4096K //SYSPRINT DD SYSOUT=* //SYSLIN DD DSN=CPS.SPACE=(CYL. They require either of the following keys: 755 . JOB card The platform agent for z/OS does not make up job cards if they are missing from the supplied source or dataset.DIR.(2. where <APP_SVR> is the hostname of the application server. the most restrictive applies. The process server is configured using the Process Server Parameters. To make this possible a platform agent is installed on the computer system where you wish to run jobs.limit .OS. SAP recommends to name the process server <SID>_<APP_SVR>_PlatformAgent.the total amount of platform agent process servers Note If both license keys are present. Overall settings for all platform agents are configured using the Platform Agent Registry Entries. distinct web service endpoints. both need to be honored. The configuration of a process server that runs OS jobs consists of settings in the Repository and the installation and configuration of the platform agent.Scheduling Processes Outside of the SAP System Landscape • ProcessServerService. It consists of two threads: one is responsible for send messages to the platform agent and the other is responsible for processing messages coming from the platform agent. • Observe the system load.External. you may create and use as many as you like. Platform process servers are used to perform the following activities: • Run Operating System jobs. and SAP systems) • ProcessServerService. Note Monitoring-only platform process servers on Microsoft Windows and UNIX are free of charge. The process server is a logical object in the Central Server. 756 . • Watch for file events.limit .the total amount of external process servers (Platform agents. Note When installing a platform agent on an SAP application server. The platform agent makes the specific OS system calls required for running jobs and monitoring the system. • Act as file servers for OS job files. The scheduler server communicates with the platform agent over the TCP/IP network using the HTTP or HTTPS protocols. to be exact) via a TCP connection carrying data in the form of the HTTP protocol. • jtool and derivatives form the System Tools. as it contains some third party source code. • (UNIX. If. and not the other way around. Message data is also protected by a hash value. The default installation procedure also establishes secrets. Microsoft Windows. each playing their own role. but in general there are usually at least the following programs: • network-processor is the program that is responsible for communicating with the Central Server. In other words. OpenVMS) job-processor is the program that is responsible for a single job.Scheduling Processes Outside of the SAP System Landscape The platform agent itself consists of a number of different executables and/or scripts. you need encryption. This has the advantage that no incoming TCP ports have to be enabled on the Central Server in order to schedule jobs on a machine beyond a firewall. you need to protect the content of the data connections as well. in terms of the TCP/IP connection the agent is the server and the Central Server is the client. however. See Secure Agent Connections for more details. an instance of the job-processor starts. The platform agent is contacted by the scheduler central Java server. When a job starts. See Also • Using the Wizard to Create Process Servers • Configuring Platform Agents on Windows • Configuring Platform Agents on Unix • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents 757 . Encryption is done using an optional layer that is available only from Redwood directly. How these interact is documented in more detail in the pages below. These secrets are a simple form of key that ensure that a particular platform agent only talks to the Java server that is in possession of the same secret. The combination of these measures means that it is very hard for an attacker to falsify the communications and act as a Java server. For more details see: • Creating UNIX process servers (Advanced) • User Switching Security Options • Creating Microsoft Windows process servers (Advanced) • Creating HP OpenVMS process servers Agent Connection The Central Server communicates with the platform agent (the network-processor. The process server in the SAP CPS server consists of one or more services. which will be Error. distinct web service endpoints. The connection between the two is established when both are running and reachable over the network. Both the network-processor and the job-processor store information on the file system and make sure the information is received by the Central Scheduler. Prerequisites Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService. you can also use the old procedure and download the corresponding executable for your platform from Configuration > Software and run the installation from it.the total number of external process servers (Platform agents. Using the Wizard to Create Process Servers Use When you create a process server in SAP CPS from within the user interface. jobs that were already started will continue to be processed on the OS by the job-processor processes until they complete. Monitoring only) . the status of the jobs is updated in the SAP CPS server. JDBC. LowVolume) . When the network connection fails. a dialog is displayed where you can choose the type of process server you want to create. AS/400. which are independent as well. However. the PlatformAgentService service attempts to reach its platform agent defined by process server parameters. z/OS. or you terminate the network-processor process.a blank new process server editor is opened Note For platform agents. and SAP connectors) • ProcessServerService. both can be started and stopped independently. • SAP Process Server .a wizard guides you through the creation of a specific executable which stores the settings you chose.OS. the job-processor and the network-processor.a new SAP system wizard is opened • Other Process Servers (HP OpenVMS. SAP CPS prepares some steps for you depending on the type of process server: • Platform Agents (Unix. As such.the total number of platform agent process servers 758 .limit . Windows. See the process server services section for more information about other available services. The agent consists of two types of processes.a new process server editor is opened with z/OS-specific settings already set • Manual Setup . When you choose an option other then Manual Setup. named the agent. the connection to the Central Scheduler will be lost.External.limit . you terminate a job only and the network-processor will update the status of the job. they are divided in two parts. one running in the Central Scheduler and the other on the remote OS.Scheduling Processes Outside of the SAP System Landscape Processing Platform Jobs Use Platform agents are designed to be robust. As soon as the connection to the Central Scheduler has been established again (by reconnecting the network or starting the network-processor). If you terminate a job-processor process. 7. 2. Installing with a Custom Platform Agent Installer (Unix) 1. Procedure Creating a Customized Platform Agent Installer Wizard 1. Choose if you want the agent to start automatically when the server starts. if you chose to start the platform agent automatically. 5. If you change the port here. 9. 4.Scheduling Processes Outside of the SAP System Landscape Note Both license keys must be honored if present. and make sure the OS family has been correctly detected. Fill in the desired process server name into the Name field. you will have to update the port in the generated process server as well. 6. Choose Next >. 3. Fill in an instance name and hit Enter. 3. Fill in an installation path or fill in nothing to use the default and hit Enter. Choose Next > and transfer the executable to your server (in binary mode if you are using FTP). start the scheduler daemon. Choose New Process Server from the context menu. 8. 4. their presence depends on your contract. 759 . The most restrictive applies. Select your platform (Unix. Leave the default value for port and hit Enter. 9. Start the platform agent. Choose if you want the agent to be updated automatically when the central instance is updated. When you have completed the installation on the remote server. Choose Next >. select the desired timezone. 7. 10. 6. Fill in a user as which the jobs should execute. 5. Run the shell script as superuser. 2. Windows). Navigate to Environment > Process Servers. Return to the wizard in SAP CPS. Select the correct platform agent installer for your server. 10. Fill in the FQDN (Fully Qualified Domain Name) into the Hostname field and port you want to use into the Portfield. Select a security option for switching users. Make sure the process server has connected to the platform agent and quit the wizard. start the platform agent and return to the SAP CPS wizard. 8. 11. Other operating systems are supported as well. 4. Licensing Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService. 3.External. Run the executable as an Administrator. 6. Select an installation directory. The SAP CPS platform agent for UNIX is used on all supported OS platforms where the native API is UNIX. their presence depends on your contract. Choose OK. Return to the wizard in SAP CPS.Scheduling Processes Outside of the SAP System Landscape Installing with a Custom Platform Agent Installer (Windows) 1. 2. See Also • Creating a Microsoft Windows Process Server (Advanced) • Creating UNIX Process Servers (Advanced) • Creating HP OpenVMS Process Servers • Creating a Monitoring Platform Agent • Configuring Platform Agents • Connecting to SAP Systems • Creating JDBC Process Servers UNIX Process Servers (Advanced) Use The UNIX process server is implemented on UNIX by a native platform agent. distinct web service endpoints. Enabling auto-update and always running the platform agent using the system account is recommended.limit . This will be referred to as ${InstallDir} in the rest of this document.the total number of external process servers (Platform agents. Enter a Preferred instance name. The most restrictive applies 760 . Open (All) Programs > Scheduler > Scheduler Service Manager and make sure the platform agent is started.limit . see HP OpenVMS and Microsoft Windows (Advanced) for those. whether to enable auto-update and optionally an Account. The default port is the port you chose in the wizard.the total number of platform agent process servers Note Both license keys must be honored if present. 5. Select the language to use for installation. and SAP connectors) • ProcessServerService.OS. This means that Linux and Mac OS X are supported via the UNIX agent. Scheduling Processes Outside of the SAP System Landscape Active vs Monitoring Platform Agents You can have active and monitoring platform agents. Active platform agents require a license and allow you to: • schedule workload • use file events • monitor system usage Monitoring platform agents on Microsoft Windows and UNIX do not require a license and allow you to monitor system usage, only. For instructions on creating a monitoring-only platform agent can be found in the Creating a Monitoring Platform Agent topic. Structure On UNIX the platform agent is started by the scheduler script located in ${InstallDir}/${version}/etc. That script starts all platform agent instances found in the various installation trees. The scheduler script is started at system boot time by a link from UNIX system dependent files, usually /etc/init.d/ scripts. The scheduler script invokes the platform-agent script. You should not run the platform-agent script by hand, that's what the scheduler script is for. Each instance is represented by at two or three continuously running processes, shown here in ps form: /bin/sh /opt/redwood/agent/0_33_98/bin/platform-agent default \_ /opt/redwood/agent/0_33_98/bin/network-processor -p /opt/redwood/agent/etc/pid/default/default.pid -i defau \_ /opt/redwood/agent/0_33_98/bin/network-processor -p /opt/redwood/agent/etc/pid/default/default.pid -i defa The platform-agent and top level network-processor are present from the start, the second network processor instance is created as soon as the platform agent is configured by the process server. The platform agent is used to guard over the network processor: if it dies unexpectedly it will restart it. It also plays a role in Automatic Updating of the agent. The second instance of the network processor is used to verify that the network processor can create a child process and to guard that the OS returns proper data for child processes. All the rest of the work is done by the primary network processor, except if jobs are started. For each job a job-processor is started. UNIX jobs are executed by a platform agent. It executes the code in the job definition in a specific environment as a specific user. Note that on UNIX systems, when setting resource limits for a process, it is important to know that the limits that apply are those that are in effect for the parent process and not the limits for the user under which the process runs. This means that the resource limits of the user that starts the platform agent are in effect, regardless of which user the job actually runs as. The platform agent may run on the same machine as the server, or on any other machine on the network. UNIX jobs contain shell scripts in languages such as KSH, BASH, CSH and Perl. Note When installing a platform agent on an SAP application server, SAP recommends to name the process server <SID>_<APP_SVR>_PlatformAgent, where <APP_SVR> is te hostname of the application server. The installation script is named individually for each Operating System / platform combination as follows: <OS>-<platform>.sh 761 Scheduling Processes Outside of the SAP System Landscape The installation script can store your choices for subsequent runs, you will then be able to perform unattended installs. Your choices are saved in the installation shell script itself. Note The shell script is a self-extracting tar archive that starts with 'shell' script but contains a tar file at the end. When you transfer it via FTP, you must use binary mode. The installation script accepts the following switches: Switch Description -u|--unattended Unattended install -d|--destination <path> Destination (local path) -i|--instance <name>[:<port] Instance name and port -m|--user-switch-mode Mechanism used to switch users -w|--run-as <username> The default user to run jobs as -l|--language <language> Language abbreviation ("en") -a|--enable-update <Y/N> Allow auto update for this agent -b|--enable-autoboot <Y/N> Automatically start agent on system-boot -rs|--registration-server <server>:<port> Host and port of the central server -un|--username <name> Username with administrative privileges -pw|--password <password> password of the user -ps|--process-server <process-server> Name of the process server -ql|--queue-list <queue-list> Comma-separated list of queues the process server serves -ac|--enable-server-acl <Y/N> Lock platform agent to the central server -s|--store Stores settings for any subsequent installations -c|--clear Clear out any values from previous installs -f|--force Overwrite any existing files -h|--help Show this help --confirm Enforce confirmation of pre-defined values Valid languages are: EN, NL, FR, and DE. Note Parameters that are set on the command line will not be verified by the installer, unless you specify the --confirm siwtch. The installation script also accepts following environment variables: • INSTLANG - The language of the installer [EN|NL|DE|FR] • INSTALLDIR - The Installation Directory • INSTANCE - The name of the Instance. • USERSWITCHMODE - The mechanism to use for user switching [plain|setuid|root|sudo] • RUNAS - The user to run as. 762 Scheduling Processes Outside of the SAP System Landscape • AGENTPORT - The port on which the platform-agent will listen • STARTUP - Autoboot [Y|N] • ALLOWUPDATE - Autoupdate [Y|N] Registration specific: • REGISTER - Register a process server [Y|N], this needs to be set to Y for the environment variables below: • SERVERNAME - The hostname of the server • SERVERPORT - The port on which the server is listening • SERVERUSERNAME - The user account to login with • SERVERPASSWORD - The password for this user • PSERVER - The Name of the process server to register • SERVERACL - Lock the platform agent [Y|N] Use the switches as follows: <OS>-<platform>.sh <switch> root.sh When you run the installer as an unprivileged user, a file named root.sh located in the current working directory is created. This file must be executed as superuser (root ) to complete the installation. Example The GNU/Linux installation script for x86 platforms, used with switches to perform an unattended installation in German. $ linux-x86.sh -u -l DE Platform independent configuration instructions can be found in the Configuring Platform Agents section. Prerequisites • A running SAP CPS system • A UNIX server with appropriate access to the server (including root password). The following Operating Systems are supported: • AIX 4.3 or higher (Power 32/64-bit) • HP-UX 11.00 or higher (IA64 32/64-bit) • HP-UX 11.00 or higher (PA-RISC 32/64-bit) • Linux (IA64 64-bit) with glibc 2.4 or higher* 763 Scheduling Processes Outside of the SAP System Landscape • Linux (Power 64-bit) with glibc 2.4 or higher* • Linux (x86 32/64-bit) with glibc 2.4 or higher* • Mac OS X 10.4 or higher (x86 32-bit) • Solaris 8 or higher (Sparc 32/64-bit) • Solaris 10 or higher (x86_64 64-bit) • Tru64 UNIX 5.0 or higher (Alpha) • A UTF-8 character set is required, for example en_US.UTF8 • File system and file data character sets are assumed to be ISO8859-15, you can overrule them by specifying the --filesys and --filedata command line options. • The Korn shell, ksh or pdksh, needs to be installed if you are going to run KSH jobs. The shell is available by default on most UNIX platforms, and is often the default shell. Not all Linux distributions have ksh installed by default. There is an open source implementation usually known as pdksh that can be installed on most distributions. • The ksh binary must reside in /bin/ksh or you will have to create a symbolic link called /bin/ksh pointing at it. • On Linux, the zsh shell also provides /bin/ksh but its implementation is not POSIX compatible and may not be used. • A Security Option. When you install a UNIX platform agent that will run jobs as multiple users, you will need to decide what security option you would like to use. SAP recommends you read the Choosing a User Switching Security Option through and discuss it with your system, network and security administration teams before installing. • Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService.External.limit - the total number of external process servers (Platform agents, distinct web service endpoints, and SAP connectors) • ProcessServerService.OS.limit - the total number of platform agent process servers Note Both license keys must be honored if present; their presence depends on your contract. The most restrictive applies</note> * Some older Linux distributions can potentially be supported, please contact SAP Support Services for more information. Note If you are running Linux and are unsure of the installed glibc version, you can execute /lib/libc.so.6 in a terminal. Note You must install the SAP CPS platform agent on a local file system; SAN file systems might be considered local, when they are mounted as iSCSI, for example. 764 Scheduling Processes Outside of the SAP System Landscape You will encounter the following error message, when ksh is not installed on your system in /bin/ksh in the log of a KSH job: error 2010-09-19 12:33:30,811 WST [14188-Main tid=4188101184] opsys.job - Cannot execute Redwood Job 3281 '/home/user/jobs/3281/run_KSH': No such file or directory Procedure The procedure consists of two steps: • Installing the platform agent on the machine that needs to run jobs. • Configuring the process server in the repository. SAP recommends that you install and start the platform agent on the machine that you want to run jobs first, and then configure the process server, however you can do these steps in any order. Pre-Installation Tasks Create an account (optional) SAP recommends that you create a new account and group to contain the platform agent that satisfies your local naming requirements. This documentation uses the account redwood and group redwood. 1. Create the account: groupadd redwood. 2. Create the account: useradd -g redwood -s /bin/ksh redwood. 3. Create the home directory of the user: mkdir /home/redwood. 4. Change ownership of the directories: chown redwood:redwood /home/redwood. 5. Set the password for the account: passwd redwood. 6. Login as redwood: su - redwood or login redwood. Download the Software 1. Navigate to Configuration > Software. 2. Download the appropriate file for the platform you want to run jobs on and copy it to your server. Installation 1. Run the installation shell script for your platform 2. Choose the language for the installation 3. Choose an installation location, like /home/redwood/, hit y to create the directory. 4. Choose an instance name. 5. Choose a port the platform agent will use. 6. Choose the security option 765 Scheduling Processes Outside of the SAP System Landscape 7. Choose if the platform agent should run at system startup, requires SysV init startup script support 8. Choose if you want to update the platform agent automatically, when the central server is updated. The central server will check the version at every startup and if they differ, the central server will push the new platform agent software to the host and have it installed automatically. 9. Run the root.sh as user root, only necessary when you did not run the shell script as user root. Further platform independent configuration instructions can be found in the Configuring Platform Agents section. Starting the platform agent at startup Starting the platform agent at system startup is recommended. How this is done largely depends on your platform. If your platform supports SysV init, then the installer should do it for you once you ran the root.sh as user root. If the installer was unable to configure automatic startup, you need to include the command corresponding to your security option in your system startup scripts. Creating the Process Server The installer creates a Process server automatically by contacting the server at the provided address during the installation procedure. If this fails or you want to do this yourself, follow the following steps. 1. Navigate to Environment > Process Servers. 2. Choose Create from the context-menu. 3. Fill in the values below Automatic updating The UNIX platform agent supports Automatic Updating. If the network processor is started by the platform agent the agent is capable of being [updated automatically|Cronacle8DocAgentAutoUpdate]. The administrator can control whether auto-update should be performed by creating or removing the ${InstallDir}/etc/startup/${instance}/autoupdate directory. Removing the software There is no automated process for removing the software. However, the following will remove everything associated with the software: 1. Find the install directory of the software you want to remove, this is ${InstallDir} 2. Stop all instances running in this directory. 3. Remove the installation directory ${InstallDir}. 4. Check /etc/init.d/, /etc/rc.d/init.d, /sbin/init.d, /sbin/rc3.d or /Library/LaunchDaemons (depending on the UNIX variety). If it contains a scheduler script, edit it and remove the ${InstallDir} path from the line in the beginning of the scripts containing PATHS=. If you have no remaining installations of the platform agent on this machine, remove the script entirely. Values The necessary configuration Data required to configure a Unix process server is available in the UNIX Process Server Configuration Data section of the documentation. 766 Scheduling Processes Outside of the SAP System Landscape See Also • Using the Wizard to Create Process Servers • Configuring Platform Agents on Unix • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents UNIX Process Server Configuration Data Use The following configuration data is required to successfully configure a Unix process server. Process Server Tab Name Value Name Alphanumeric and underscores Default Job Time Zone Olson time zone. Type any letter combination in the name to restrict the list, for example lin for Europe/Berlin Job Definition Types Tab Job definition types are required to execute job definitions of a corresponding type. Field Value Job Definition Type: KSH Job Definition Type: JobChain Parameters Tab The repository needs to know the host name (or IP address) and port number of the platform agent. The default port is 1555 and should be kept that way, unless another installed program is already using the default port. Name Value RemoteHostName <host name or IP address of system running platform agent> SharedSecret The shared secret as generated in the last step of the installation All other parameters are optional, you may specify them, but they have usable defaults. See process server parameters for a list of parameters. If you do not know the value of the SharedSecret, see the Configuring Platform Agents section. Queue Providers Tab The queues the process server will serve, that is execute jobs from, are listed here. 767 Scheduling Processes Outside of the SAP System Landscape Field Value Queue System (or your own defined queue) Resources Tab Resources link job definitions to two or more process servers to spread the load. Process servers which share a same resource are the only ones that can run job definitions which have that resource. You may choose any name for a resource. Jobs that require a specific resource are spread across all process servers that have that resource and serve the queue the job was submitted in. Services Tab Services are used to execute jobs. When you specify a job definition type, the corresponding service is added automatically. You only need to fill in this tab manually if you want to create a file event only process server. Choosing a User Switching Security Mode Use On UNIX platforms, it is common to have a separate user for an application. When you need to interact with these applications, commands often have the requirement that they need to be executed as a specific user. There are several ways to switch users on UNIX systems, and the scheduler supports these. Choosing one is important, as it decides what functionality is available to the job definitions. It is also related to any potential security restrictions that may be in place in your installation. Note In all scenarios we assume that the software is installed as user 'redwood'. The installation script of the platform agent requires you to choose a security option from the following: 1. Plain: Running jobs only as a normal user. 2. Root: Running jobs as any user, the network agent running as root. 3. Setuid: Running jobs as any user, the network agent running as an unprivileged user, using setuid. 4. Sudo: Running jobs as any user, the network agent running as an unprivileged user, using sudo. In the case that all your jobs can run as the same UNIX account you can use the plain security mode. This has the least security implications as there is no user switching, and no elevated privileges are required. If you want the scheduler to be able to run jobs using a variety of user accounts you can choose between the root, setuid and sudo options. The root and setuid options work on all UNIX systems, and do not require additional software. The setuid method does require that the job-processor binary is installed with elevated privileges. For the setuid and root options the list of allowed users is configured in scheduler configuration files only. The sudo option allows the use of sudo to run jobs under different users, and to perform other tasks that require elevated privileges. For the sudo option the configuration of the sudo command itself also plays a role in the decision as to what is allowed. SAP recommends that the setuid scenario is used as it does not require the installation of additional software (if sudo is not yet installed) and is less complicated. 768 Scheduling Processes Outside of the SAP System Landscape The installation script will ask for the scenario you have chosen. It will store the requested user switching mode in a configuration file. The network-processor will then use the scenario defined there. To change this configuration setting afterwards, see Configuring Platform Agents. The following sections describe the different scenarios in detail, 1. Plain: Running jobs only as a normal user. In this scenario, no user switching is done. All jobs will run using the same UNIX account. Jobs that specify that they need to run under a particular user account will fail (if this is not the same account). No special action needs to be performed to prepare this scenario. The startup script will switch to the user specified at installation time and run the network-processor under that account. All job-processor processes run using the same account. 2. Root: Running jobs as any user, the platform agent running as root In this scenario, user switching is done. You can run jobs as any user. You can limit the UNIX accounts the jobs run under by creating a blacklist or whitelist file in the agent configuration files. The startup script will switch to the root user and run the network-processor under that account. The advantage of this scenario is that it is fast (no overhead is spent changing job file ownership) and has a low chance of having configuration problems where files or job output cannot be read since the network-processor can access all files as root. The disadvantage of this scenario is that the network-processor continuously runs as root, forming a larger attack target than the other scenarios. 3. Setuid: Running jobs as any user, the platform agent running as an unprivileged user, using setuid In this scenario, user switching is done. You can run jobs as any user. UNIX level user switching is done using the setuid bit on the job-processor. Changing file ownership is also done using the setuid bit. This scenario is relatively easy to set up, as it does not require the possible installation of sudo, and executes quickly. You can limit the UNIX accounts the jobs run under by creating a blacklist or whitelist in the agent configuration files. The startup script will switch to the non-root user specified at installation time (e.g. redwood) and run the network-processor under that account. When a job runs, the job-processor will change the ownership of the job files to the correct account, run the job and then change the file ownership back to the scheduler user. 4. Sudo: Running jobs as any user, the platform agent running as an unprivileged user, using sudo In this scenario, user switching is done. You can run jobs as any user. UNIX level user switching and changing file ownership is done using the sudo command. This requires that you have sudo installed and configured. This scenario allows you to limit the control of switch user accounts to the sudo control files (usually /etc/sudoers). The only thing that runs as root is the chown command for files that are under the control of the scheduler. • The startup script will switch to the non-root user specified at installation time (e.g. redwood) and run the network-processor under that account. 769 Scheduling Processes Outside of the SAP System Landscape • When a job runs, first sudo -S -u root chown will be called to change the ownership of the job files to the correct account. • The job is run via sudo -S -u <user> job-processor. • When the job-processor has finished a final sudo -S -u root chown will change the ownership of the job files back to the user running the network-processor. This scenario does take a little more effort to configure, as you may have to install sudo or a comparable security system, and configure that security system so the platform agent can do what it needs to do. It can also be a little harder to analyze when problems occur and jobs cannot be run under a particular account, as this can be caused by several configuration issues. The installer script will configure /etc/sudoers (or prepare for it when not run as root). If you use a different solution than sudo, run the installer as follows: $ VISUDO=your-visudo-equivalent $SHELL ./installer.sh If your security solution does not provide a visudo compatible program, just substitute vi. After the installation finishes, remove the sudo commands in the root.sh file and configure your solution manually. You may also need to override the SwitchUserCommand parameter on the process server. Note The SwitchUserCommand process server parameter is only used for sudo User Switch Mode and should not be set. Security Considerations When you use sudo user-switching mode, a user who gained access to the SAP CPS user could access files owned by root because redwood needs to be granted the permission to change any file to any user. To avoid this, you can specify your own sudo command. SAP CPS ships with an example sudo.sh shell script which improves the security by sanity-checking the parameters. You may edit this file to match your security requirements. See Configuring Platform Agents for more information. File Events on UNIX Use When you check the Check if file is in use property of a file event (default checked) SAP CPS takes file locking into account when working with files. In this case, a file event is only ever raised when the process that created the file has released the lock on the file. This allows big files to be picked up as soon as they are complete, so the entire file is processed. If you want to check if a file file.txt is still locked, use fuser file.txt, the output should be null. If you see the following, the file file.txt is still locked, in this example, the file is locked by a process with a process id of 123456: file.txt: 123456 Note You run fuser without any arguments. The time SAP CPS usually needs to raise an event once the lock has been released on a watched file should not exceed the Poll Interval plus 5 seconds. Heavy load on the platform agent can, however, increase this time somewhat. 770 Scheduling Processes Outside of the SAP System Landscape If you experience long delays and the file is not very big, you can uncheck Check if file is in use and see if this solves the problem. Note, however, that SAP CPS cannot determine if the file is complete in this case. Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService.External.limit - the total number of external process servers (Platform agents, distinct web service endpoints, and SAP connectors) • ProcessServerService.OS.limit - the total number of platform agent process servers Note Both license keys must be honored if present; their presence depends on your contract. The most restrictive applies See Also • Raising Events with Files Creating a Microsoft Windows Process Server (Advanced) Use Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService.External.limit - the total number of external process servers (Platform agents, distinct web service endpoints, and SAP connectors) • ProcessServerService.OS.limit - the total number of platform agent process servers Note Both license keys must be honored if present; their presence depends on your contract. The most restrictive applies Microsoft Windows jobs are executed by a platform agent that is installed on the Microsoft Windows server where you want the job executed. It executes the code in the job definition in a specific environment as a specific user. The platform agent may run on the same machine as the SAP CPS server, or on any other machine on the network. The installer unpacks the software, sets up a service on the local system and registers it with a SAP CPS server. Once the installer is finished, you will have a running platform agent service on the target machine and a process server in the SAP CPS server, if you registered it. You can choose not to register the platform agent with the Central Scheduler. However, you will have to manually setup a process server in SAP CPS and configure it to connect to the platform agent. Platform-independent configuration instructions can be found in the Configuring Platform Agents section. The platform agent is compatible with Microsoft Cluster Service, and can be configured on cluster nodes to be highly available. More details can be found in the Configuring Platform Agents on Microsoft Cluster Nodes section. Note You must install the SAP CPS platform agent on a local file system; SAN file systems might be considered local, when they are mounted as iSCSI, for example. 771 Scheduling Processes Outside of the SAP System Landscape Structure On Microsoft Windows the platform agent is automatically started by the Windows Service Controller. It starts a service with display name Scheduler Platform Agent ${instance} ${version} and service name jcs_${instance} . The service executable, which you will find in tools such as the Task Manager, is network-processor.exe. There is no intermediary program called platform-agent as on UNIX; the role of the platform-agent script which is monitoring that the network-processor.exe does not die undetected is performed by the Microsoft Service Controller. For each job a job-processor.exe is started. This will run under the account set via the Run As User credentials. Installer Usage The Windows platform agent installer accepts the following arguments, if you specify -u, you have to specify all the others as well for unattended installation. Arguments have a short spelling that require one hyphen, like -u, and a long one, like --unattended, which reuires two hyphens. windows-x86.exe [[-u|g filename] [[-d destination] [[-i name] [[-l lang] [[-rs server:port] [[-un username] [[ Argument Description -u, --unattended Unattended mode, logs to filename -g, --gui GUI mode, logs to filename -d, --destination Destination (installation path) -i, --instance Instance name -l, --language Language abbreviation ("en") -a, --enable-update Enable auto-update, so platform agents are updated as soon as the central instance is updated -rs, --registration-server FQDN and port of the central SAP CPS server, used for platform agent registration -un, --username SAP CPS username, needs to have the scheduler-administrator role, used for platform agent registration -pw, --password SAP CPS users' password, used for platform agent registration -ps, process-server Desired name of the process server in SAP CPS, used for platform agent registration -ql, --queue-list Comma-separated list of queues for the process server, used for platform agent registration -ac, --enable-server-acl <Y/N> Lock the platform agent to the current central server -b, --enable-autoboot <Y/N> Enable automatic startup of the platform agent service Note The platform agent must be installed by a user who has the right to create services. SAP recommends using a user who has local administrator privileges. Prerequisites • Windows XP, 2003, Vista or 2008 with the latest Service Pack. 772 Scheduling Processes Outside of the SAP System Landscape • Physical or remote (Terminal Services, vnc, pcAnywhere) access to the system • Local administrative privileges on the Microsoft Windows server to create a service. • Administrative privileges in SAP CPS to register the platform agent or create the process server. • Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService.External.limit - the total number of external process servers (Platform agents, distinct web service endpoints, and SAP connectors) • ProcessServerService.OS.limit - the total number of platform agent process servers Note Both license keys must be honored if present; their presence depends on your contract. The most restrictive applies</note> Procedure Install the platform agent 1. Navigate to Configuration > Software. 2. Download the windows-x86 executable and copy it to the appropriate machine (if necessary). 3. Run that executable on the Microsoft Windows system. 4. Select the language to use for installation. 5. Select an installation directory. This will be referred to as ${InstallDir} in the rest of this document. 6. Enter a Preferred instance name, a Port, whether to enable auto-update and optionally an Account. Enabling auto-update and always running the platform agent using the system account is recommended. Choose OK. 7. Optionally (but strongly recommended, except for cluster environments) you can register the platform agent by creating a new process server. Enter the FQDN (Fully Qualified Domain Name) of the Central Scheduler server in the Server field and its port. You can enter a name for the process server which will be used throughout SAP CPS. The default name is the instance name. You can also specify a list of queues that this process server will be serving (comma-separated, without spaces). Choose OK. 8. You will now be asked to log on to the Central Scheduler so the installer can create and configure your process server inside SAP CPS, this step must be skipped when you are installing on a cluster. You must use an account which has the scheduler-administrator role or equivalent privileges in SAP CPS. Further configuration instructions can be found in the Configuring Remote Agents section. Configuring a Firewall If you run a firewall, add a rule to allow incoming connections on the port that you defined during the installation for program ${InstallDir}/bin/network-processor.exe . As the network-processor runs as a service, your firewall program may not show a pop-up that allows you to add this rule interactively. If you are running a firewall and no such notice popped-up during installation (when the service was started), add the rule manually. 1. Navigate to Start > Control Panel > Network Connections. 773 Scheduling Processes Outside of the SAP System Landscape 2. Choose "Properties" from the context-menu of the desired adapter. 3. Choose the Advanced tab. 4. Choose Settings. 5. Choose the Exceptions tab. a. 6. Add either a program ${InstallDir}/bin/network-processor.exe or port 1555. Choose OK twice. Creating the Process Server This step is required when you install on a cluster. You should not do this if you registered the process server during installation. • Navigate to Environment > Process Servers. • Choose Create from the context-menu. • See Configuration of a Microsoft Windows Process Server for configuration data. Automatic updating The Microsoft Windows platform agent supports Automatic Updating. If the service runs as the Local System account the agent is capable of being updated automatically. If the administrator needs to change the setting at a later date you can do this as follows: • To disable auto-update remove the ${InstallDir}\etc\startup\${instance}\autoupdate directory. • To enable auto-update create the ${InstallDir}\etc\startup\${instance}\autoupdate directory and change the service so it runs as Local System by starting the Microsoft Windows Service Manager (services.msc) and modifying the Log On dialog of the Scheduler Platform Agent service. Removing the service and software There is no automated process for removing the service and software. However, the following will remove everything associated with the service and software: 1. Find the install directory of the software you want to remove, this is ${InstallDir} 2. Use the Redwood Service Manager at ${InstallDir}/bin/servicemanager.exe to stop and remove all running services. 3. Remove the installation directory ${InstallDir}. See Also • Using the Wizard to Create Process Servers • Configuring Platform Agents on Windows • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents 774 Scheduling Processes Outside of the SAP System Landscape • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents Configuration of a Microsoft Windows Process Server Use The installer automatically creates a process server for you in SAP CPS, you can customize the process server to fulfil your needs. Process Server Tab Name Value Name the name of the process server, Alphanumerical characters and underscores _ are allowed Default Job Time Zone Olson time zone Job Definition Types Tab Field Value Job Definition Type: CMD Parameters Tab The repository needs to know the host name (or IP address) and port number of the platform agent. The default port is 1555 and should be kept that way, unless another installed program is already using the default port. Name Value RemoteHostName <host name or IP address of system running remote agent> SharedSecret <the shared secret generated during the installation> Note On Windows systems, the shared secret is generated during installation and gets written to the following file on the remote agent ${InstallDir}\net\instance\<instance>\private\secret . The default instance is default. All other parameters are optional, you may specify them, but they have usable defaults. See process server parameters for a list of parameters. If you do not know the value of the SharedSecret, see the Configuring Remote Agents section. Note To be in compliance with Microsoft guidelines, you should define the DataRootDirectory process server parameter and set it to a location outside of the Program Files directory. This directory must reside on local storage; SAN is considered local storage, NFS/SMB or any other type of NAS network share is not supported for the DataRootDirectory. 775 Scheduling Processes Outside of the SAP System Landscape Queue Providers Tab Field Value Queue System (or your own defined queue) Resources Tab Resources link job definitions to two or more process servers to spread the load. Process servers which share a same resource are the only ones that can run job definitions which have that resource. You may choose any name for a resource. Jobs that require a specific resource are spread across all process servers that have that resource and serve the queue the job was submitted in. Services Tab The correct services will be added for you automatically, you only need to fill in this tab manually if you want to create a file event only process server. File Events on Microsoft Windows Process Servers Use When you use the Check if file is in use property of file events on Microsoft Windows, which is set by default, SAP CPS will wait until the file handle is released on the file. This usually means that the process that has generated the file has finished writing to it. There is no program built-in to Microsoft Windows that allows you to check if the file handle has been closed. You can use Process Explorer or Unlocker, the latter is easier to use to check if there are open handles on a file, however, it is not standalone and requires you to install it unlike Process Explorer, that can just be copied over. The time required for SAP CPS to pick up a file should usually not take longer than Poll Interval + 5 seconds, unless the platform agent is under heavy load. Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService.External.limit - the total number of external process servers (Platform agents, distinct web service endpoints, and SAP connectors) • ProcessServerService.OS.limit - the total number of platform agent process servers Note Both license keys must be honored if present; their presence depends on your contract. The most restrictive applies. See Also • Raising Events with Files 776 Scheduling Processes Outside of the SAP System Landscape Creating HP OpenVMS Process Servers Use Note OpenVMS process servers are only available when your license includes a non-zero value for the key ProcessServerService.VMS.limit. Process servers that include the DCL job definition type will not be counted towards the ProcessServerService.OS.limit and ProcessServerService.External.limit license keys. VMS jobs are executed by a platform agent. It executes the code in the job definition in a specific environment as a specific user. The platform agent may run on the same machine as the server, or on any other machine on the network. VMS jobs contain DCL script source: only job definitions that specify the DCL job definition type can run on OpenVMS platform agents (and only there). The installation script is named individually for each Operating System / platform combination as follows: openvms-<cpu>.zip. Platform independent configuration instructions can be found in the Configuring Platform Agents section. Installing the platform agent You must install a small agent called the platform agent on every HP OpenVMS system where you want to schedule SAP CPS jobs. Read Installing the Platform Agent on HP OpenVMS ( see the Administration Guide ) for detailed instructions. Creating the Process Server Once the platform agent is running you can go to the scheduler UI and configure a process server that will contact the platform agent. Information on the required values for the creation of HP OpenVMS process servers can be found in the Configuration Data for Creating HP OpenVMS Process Servers section of the documentation. See Also • Using the Wizard to Create Process Servers • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents Configuring HP OpenVMS Process Servers Use The following tabs are used to configure a process server connected to an HP OpenVMS system in SAP CPS. 777 Scheduling Processes Outside of the SAP System Landscape Process Server Tab Name Value Name Alphanumeric and underscores Default Job Time Zone Olson time zone. Type any letter combination in the name to restrict the list, for example lin for Europe/Berlin Job Definition Types Tab Job definition types are required to execute job definitions of a corresponding type. Field Value Job Definition Type: DCL Job Definition Type: JobChain Parameters Tab The repository needs to know the host name (or IP address) and port number of the platform agent. The default port is 1555 and should be kept that way, unless another installed program is already using the default port. Name Value RemoteHostName <host name or IP address of system running platform agent> All other parameters are optional, you may specify them, but they have usable defaults. See process server parameters for a list of parameters. If you do not know the value of the SharedSecret, see the Configuring Remote Agents section. Queue Providers Tab The queues the process server will serve, that is execute jobs from, are listed here. Field Value Queue System (or your own defined queue) Resources Tab Resources link job definitions to two or more process servers to spread the load. Process servers which share a same resource are the only ones that can run job definitions which have that resource. You may choose any name for a resource. Jobs that require a specific resource are spread across all process servers that have that resource and serve the queue the job was submitted in. Services Tab Services are used to execute jobs. When you specify a job definition type, the corresponding service is added automatically. You only need to fill in this tab manually if you want to create a file event only process server. File Events on HP OpenVMS Use File events work without restriction on HP OpenVMS. 778 Scheduling Processes Outside of the SAP System Landscape Locked files When you check the Check if file is in use property of a file event (default checked) the HP OpenVMS platform agent will test the detected file for RMS file locks. In this case, a file event is only ever raised when the process that created or updated the file has released the lock on the file. This allows big files to be picked up as soon as they are complete, so the entire file is processed. As the OpenVMS operating system includes reliable locking interfaces there is no need for an external program to check for file locks as is needed on UNIX. For this reason no configuration of this facility is required. Configuring Platform Agents Use Platform process servers are made up of two independent but interacting parts: • a process server in the Central Scheduling System • a platform agent on the remote system Both parts are started independently. The process server is usually started when the Central Scheduler System is started, or otherwise by a Start command issued via an API or the GUI. The platform agent is usually started as part of the operating system boot sequence. Although either can run alone, the system is only functional when both parts are running and the platform agent service of the process server has established a TCP connection to the platform agent. When the connection gets interrupted, the process server will attempt to reconnect to the platform agent. A connection must be established for jobs to run, file events to fire and monitoring data to be refreshed. Most settings for the platform agent are stored in the repository as process server parameters. Settings that control who can do what are set on the remote system, as they need to be under the control of the individual system administrator of the remote system that the platform agent is running on. Refer to the Process Server Parameters section for more information on process server parameters that are stored in the repository. Prerequisites Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService.External.limit - the total number of external process servers (Platform agents, distinct web service endpoints, and SAP connectors) • ProcessServerService.OS.limit - the total number of platform agent process servers< Note Both license keys must be honored if present; their presence depends on your contract. The most restrictive applies</note> Configuration On Microsoft Windows systems, the Scheduler Service Manager allows you to configure some options of the platform agent from within a user interface; see the Configuring Platform Agents on Windows section for more information. 779 Scheduling Processes Outside of the SAP System Landscape Every platform agent instance created using the Scheduler Service Manager consists of a Windows Service that directly executes the network-processor.exe program. The service name will be Scheduler Platform Agent <instance> and the technical name will be jcs_<instance>. The configuration files are stored in ${InstallDir}/net/. The net directory can contain subdirectories so that multiple platform agents can be managed from a single tree. The directories are searched in the following order: 1. net/instance/<instance>/<file> 2. net/hostname/<hostname>/<file> 3. net/global/<file> In other words, instance specific settings go before hostname specific settings, and hostname specific settings go before global settings. In the above locations, the following variables were used: • <instance> is the name of the instance, which by default is set to default. • <hostname> is the hostname of the server, as returned by the command hostname. • <file> is the name of the file that it is looking for. The files that the system looks for are detailed below. File Use port The port the agent listens on for inbound connections address_acl The hostname(s) or IP addresses of the Central Scheduler the platform agent is locked to listen The IP addresses that the platform agent should listen on server_acl The Central Scheduler the platform agent is locked to server_root List of directories that files can be read from private/secret The secret for authentication Note You must install the SAP CPS platform agent on a local file system; SAN file systems might be considered local, when they are mounted as iSCSI, for example. The format used in the files that can contain more than one word is freely formatted. You can separate keywords by putting them on separate lines or by separating them by a comma or space. A hash '#' character functions as a comment until the end of the line. port The port the platform agent will use at startup is saved in a file named port. If no such file is found, the default of 1555 will be used. The only contents of the port file should be the port number; to set the port number for instance production to 1566, you can proceed as follows: On Unix 780 Scheduling Processes Outside of the SAP System Landscape echo 1566 > /opt/redwood/net/instance/production/port Note that /opt/redwood is the installation directory. On Windows echo 1566 > G:\redwood\net\instance\production\port Note that G:\redwood is the installation directory. server_acl The server_acl file, if it exists, limits the platform agent to only talking with Central Schedulers that have a system ID that is on the list in the server_acl file. To find out what a system's SystemID is, log in to the system and observe the browser heading; the part before the [ character is the system ID. Any characters in the system ID that are not alphanumerical, such as '-' dashes, should be converted to underscores: _. For instance, a system ID named 'My Instance:1234' will be transmitted as 'My_Instance_1234'. The keywords mentioned in the file can be either just system IDs or a combination of system ID, a slash '/', followed by a process server name. For instance the following server_acl file will limit the agent to function for these three nodes in a cluster, but it will be configurable as any process server: # Limit this agent to respond only to nodes in the CPS cluster SAP_CPS_00 SAP_CPS_01 SAP_CPS_02 If you want this agent to respond only to the nodes in the cluster and for only a particular process server name you should have a file like this: # Limit this agent to respond only to nodes in the CPS cluster and the TestLinux1 process server SAP_CPS_00/TestLinux1 SAP_CPS_01/TestLinux1 SAP_CPS_02/TestLinux1 If the platform agent file has a server_acl file any messages or requests from systems and/or process servers that it is not configured to respond to will receive an error message stating 'Refusing connection from server with SystemId ... and ProcessServer ...'. This message is not translated into your local language as it is generated as a HTML response. If the server_acl file does not exist the platform agent will dynamically tie itself to the system ID and process server that it is first configured as, and will respond with an error message stating 'Strict checking is enabled, Agent will only respond to X-RW-SystemID requests from ...'. This message is not translated into your local language as it is generated as a HTML response. address_acl If set, the address_acl file will limit which IP addresses can connect to the server. The file can contain a list of IP addresses, hostnames and/or IP ranges. Example: # 781 Scheduling Processes Outside of the SAP System Landscape # Example address_acl file # 192.168.10.0/24 10.31.0.0/255.255.0.0 cps1.prod.sap.de cps2.prod.sap.de listen You use the listen parameter to specify which IP addresses of the platform agent's computer are used to accept new connections. By default it is "0.0.0.0" and accepts any connection. You can limit this to a particular IP address or hostname, which resolves to a local IP address. private/secret If set, it should contain a secret that the Central Server also has configured for this process server. The secret is used to create a hash function over the content of the message being passed. If both sides do not possess the same secret, the agent log file will contain messages such as these: error <date> [***-http-request #** tid=***] http.http - Content digest *** does not match computed value *** error <date> [***-http-request #** tid=***] http.http - Request with content has incorrect HMAC checksum To correct this, make sure both sides possess the same shared secret. When you install the platform agent using the installer, the shared secret is generated during the installation. When you registered the platform agent during the installation the shared secret will also be known to the Central Scheduler. If not, you have to paste the value into the SharedSecret process server parameter and restart the process server. You can generate the shared secret with the jsecret executable. On Microsoft Windows you can also use the Scheduler Service Manager to set the secret; see the Configuring Platform Agents on Windows section for more information. server_root The platform agent contains a HTTP server that can be used to serve out job output and agent log files. It only does so to the Java server, as the caller must have the secret. Furthermore it also limits the reading of files to those directories that it has placed job output and log files in anyway. In some user constellations it may be necessary for the platform agent to serve files that it did not generate itself however, and then it must be told which directories it is allowed to serve files from to the Java server. The server_root file can contain a list of paths to the top level directories that it should also serve up. For example: # # Extra directories that contain files to be served up # c:\tmp\ d:\oapps\data\ Logging The agent logs to a file. See Agent Logging for more information. 782 Scheduling Processes Outside of the SAP System Landscape Unix Parameters UNIX specific parameters consist of two parts: those used by the platform-agent script and those used by the network-processor. Parameters for the platform-agent script File Use ${InstallDir}/etc/startup/${instance}/user the UNIX account that the script switches to. ${InstallDir}/etc/startup/${instance}/net Overrides the net directory location (default: ${InstallDir}/net). ${InstallDir}/etc/startup/${instance}/version Which version is used for this instance. ${InstallDir}/etc/startup/${instance}/loglevel What log-level the platform-agent and initial networkprocessor use. user Normally the platform-agent and network-processor processes do not run as root to prevent security issues. During installation a choice was made as to which user switching mode is desired and under which account the platformagent and network-processes will run during their lifetime. The account that the platform-agent shell script switches to when it is called by the .../etc/scheduler startup script is stored in ${InstallDir}/etc/startup/<instance>/user. net The net directory can be changed. This is not supported, and should not be used. This is documented for completeness purposes. version The platform-agent supports multiple instances and multiple versions from the same ${InstallDir} which allows auto-upgrade and auto-downgrade of the platform agent whenever the Central Scheduler changes its version. When you install the agent, the version that is started is stored in ${InstallDir}/etc/startup/${instance}/version. loglevel The log-level setting is explained in Agent Logging. The log-file used by the platform-agent script is fixed to ${InstallDir}/etc/log/${instance}/${instance}.log. Parameters for the network-processor executable The UNIX specific parameters for the network-processor}} executable are kept in the ${InstallDir}/net hierarchy, just like the system independent settings. Some items reside in a further private/ subdirectory. For security reasons these should only be readable by the user that the network-processor runs as. File Use private/whitelist list of users that jobs can be run as 783 Scheduling Processes Outside of the SAP System Landscape private/blacklist users that cannot be used for running jobs usermode mode used to switch accounts chown A symbolic link to the chown binary, improving security when using sudo User Switching Security Mode private/whitelist and private/blacklist On Unix, it is common practice to prevent certain users from being able to log on interactively. You can also avoid jobs to run as specific users. Do this by providing SAP CPS with a list of authorized or banned users. These settings are saved in the ${InstallDir}/net hierarchy, in the private sub-folder. For security reasons they should only be readable by user redwood and root. If you provide a whitelist then the blacklist is not used. The default value is a blacklist containing root,daemon,bin,sys,adm,uucp,nuucp,lp,listen,sysadm,smtp,ftp,tftp,news,sysdiag,sundiag. usermode The user-switching mode that the network-processor uses to run jobs under the correct account is stored in ${InstallDir}/net/.../usermode. It contains one of the following: plain, root, sudo or setuid. chown The SAP CPS installer on UNIX creates a sudo configuration for the SAP CPS user when you choose sudo as your user-switching mode. This could be used by a user to gain access to files owned by root. To avoid this, SAP CPS allows you to specify your own chown command. SAP CPS ships with an example chown.sh which checks parameters. The chown file in the net directory is a symbolic link to the chown binary as detected by the installation routine. You can create a symbolic link to the chown.sh script in the SAP CPS bin directory to improve security. Edit the chown.sh script to suit your security needs. LowVolume Process Servers Platform agents can act as low volume process servers, which can run a central pool of jobs defined in the ProcessServerService.LowVolume.threshold license key. The value is the total number of jobs that can be executed across all low volume process servers in a day. To configure a low volume process server, set the LowVolume process server parameter to true. The ProcessServerService.LowVolume.limit license key specifies how many low volume process servers you can create. See Also • Using the Wizard to Create Process Servers • Configuring Platform Agents on Windows • Configuring Platform Agents on Unix • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent 784 limit . configure and uninstall platform agents on the local system. You can manage this service using one of the following: • Microsoft Windows Service Manager . • Scheduler Service Manager . stop. stop. please consult the Creating a Microsoft Windows Process Server (Advanced) section of the documentation. Installation For instructions on how to install a Microsoft Windows platform agent. Configuration The Scheduler Service Manager allows you to add. it lists the platform agents and displays the Status. Access the Service Manager via Start > Settings > Control Panel > Administrative Tools > Services. Version. When you start it.External. and SAP connectors) • ProcessServerService. The most restrictive applies</note> Platform Agent Installer The following languages are available in the Scheduler Service Manager: • English • German The Scheduler Service Manager allows you to install. stop. You can find the Scheduler Service Manager at [All] Programs > Scheduler > Scheduler Service Manager in the start menu.Scheduling Processes Outside of the SAP System Landscape • Monitoring External Systems with Platform Agents Configuring Platform Agents on Windows Use The installer will install and start a service for the platform agent.limit . as well as the Port used by the platform agents. and configure existing agents. their presence depends on your contract. start and configure platform agents.the total number of external process servers (Platform agents.the services are named Scheduler Platform Agent <instance> 0_33_98.the total number of platform agent process servers Note Both license keys must be honored if present. remove. start.Allows you to delete the selected platform agent service • Refresh .Allows you to start or stop a service • Uninstall .OS. distinct web service endpoints. The string 0_33_98 may differ in your installation as it reflects the internal version number of the platform agent.Refreshes the status of all services 785 .also allows you to install and uninstall agents as well as start. Prerequisites Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService. • Start/Stop . Scheduling Processes Outside of the SAP System Landscape • • Install .Allows you to specify if the platform agent you be updated as soon as it connects to a central server of a higher version • Account . no two platform agent services can run concurrently listening on the same port • Enable auto-update . The configuration dialog is available in the context-menu of the platform agent and allows you to change the port.Allows you to specify if the platform agent you be updated as soon as it connects to a central server of a higher version • Log level . set the log level and log file as well as generate a new secret.The platform agent service will be restarted. This means that when the path does not exist the Scheduler Service Manager will not warn you. • Generate secret . 2. • Get support assist file .Allows you to specify an account to be used by the service Exit .Allows you to specify a port. Choose All Programs > Scheduler > Scheduler Service Manager in the Windows start menu. Note that the Scheduler Service Manager cannot validate log file directories which contain substitution parameters. 3.Allows you to specify a log file. • Start/Stop . Choose Configuration from the context-menu of the platform agent you would like to debug. Procedure Setting a log level on the platform agent 1.Allows you to start or stop a service • Configuration .Allows you to specify the instance name • Port . by default. • Choose language .Generate an XML file which can be useful for troubleshooting issues. Note that the Scheduler Service Manager cannot validate log file directories which contain substitution parameters. This means that when the path does not exist the Scheduler Service Manager will not warn you. Enter a log level into the Log Level field. • Restart service .Allows you to install a new platform agent • Preferred instance name . the platform agent services are not affected Each service has a context menu which allows you to configure the selected platform agent service.Allows you to configure the platform agent • Port . ports must be unique. If you change the port or secret you should also update the process server in the Central Scheduler server.Allows you to generate a new secret for the platform agent. Please see Configuring Platform Agents for more information on the different options for log levels and log files.Quits the program.Allows you to change the port used by the platform agent • Enable auto-update .Allows you to switch between German and English. 786 .Allows you to set the log level of the platform agent • Logfile . See Also • Using the Wizard to Create Process Servers • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents Configuring Platform Agents on Unix Use The installer will install a set of executables for the platform agent. make sure Restart service is checked. and choose OK. and choose OK. The following languages are available in the rca script: • English • Deutsch • Français 787 . make sure Restart service is checked. 4. Choose Configure from the context-menu of the platform agent you would like to debug.job-processor. Result The platform agent will be restarted and the log file will be filled with output corresponding to the log level. 2.log into the Logfile field. Example Setting a log level of Warn on the opsys group of the network-processor and job-processor 1. Choose All Programs > Scheduler > Scheduler Service Manager in the Windows start menu. 3. Enter the full path of the output file into the Logfile field. Enter network-processor. Enter C:\debug_${ProcessId}. The installer also performs initial configuration of the agent. This is useful if an OS server needs to perform work for both test and production instances of the scheduler server. To set up multiple agent instances we recommend the use the rca script to maintain instances of platform agents in an installation directory.opsys=Warn into the Log Level field.Scheduling Processes Outside of the SAP System Landscape 4.opsys=Warn. Once the agent is installed and you want to modify the configuration you can set up additional instances of the platform agent if you want a single OS server to communicate with multiple instances of the Central Scheduling Server. please consult the Creating a Unix Process Server (Advanced) section of the documentation.the total number of external process servers (Platform agents. You start all network processors or start a specific instance and can optionally provide an instance directory. where ${release} is the latest release available. The rca program allows you to configure the most often changed configuration settings. distinct web service endpoints. that you also have a ${InstallDir}/latest/bin that you can add to your path to automatically use the latest binaries.Scheduling Processes Outside of the SAP System Landscape • Nederlands The rca script allows you to install. Example: ${InstallDir}/latest/etc/scheduler start-instance default /opt/redwood/agent Configuration The configuration option for an existing instance is available once you have selected an instance (option 2). Please see section System Tools and Platform Agent logging for more information on the different options for log levels and log files. Some less used configuration settings must be changed manually. This means.External. the symbolic link gets updated every time a new release is installed. which is the installation directory of the instance. Prerequisites Platform process servers that schedule workload or use file events require at least one of the following keys: • ProcessServerService. and SAP connectors) • ProcessServerService. ${InstallDir}/latest/etc/scheduler {start|start-instance|stop|stop-instance|list|list-instances|restart|status start start-instance <instance_name> [<instance_directory>] stop stop-instance <instance_name> [<instance_directory>] list | list-instances restart status start all network processors start a specific instance stop all network processors stop a specific instance list all instances restart all network processors list all instances with the current status Note The file ${InstallDir}/latest/etc/scheduler is a symbolic link which points to ${InstallDir}/#123. their presence depends on your contract.the total number of platform agent process servers< Note Both license keys must be honored if present.release}/etc/scheduler. The most restrictive applies</note> Installation For instructions on how to install a Unix platform agent. and 788 .OS. configure and uninstall platform agent instances on the local UNIX system.limit .limit . Starting and Stopping Network Agents You use the scheduler script to start and stop network processors. the version that is started is stored in ${InstallDir}/etc/startup/${instance}/version. For security reasons these should only be readable by the user that the network-processor runs as. Configuration items UNIX specific parameters consist of two parts: those used by the platform-agent script and those used by the network-processor. This is not supported. Parameters for the platform-agent script File Use ${InstallDir}/etc/startup/${instance}/user the UNIX account that the script switches to. net The net directory can be changed. ${InstallDir}/etc/startup/${instance}/version Which version is used for this instance. During installation a choice was made as to which user switching mode is desired and under which account the platformagent and network-processes will run during their lifetime.log. When you install the agent. Some items reside in a further private/ subdirectory. user Normally the platform-agent and network-processor processes do not run as root to prevent security issues. The log-file used by the platform-agent script is fixed to ${InstallDir}/etc/log/${instance}/${instance}. just like the system independent settings. ${InstallDir}/etc/startup/${instance}/loglevel What log-level the platform-agent and initial networkprocessor use. loglevel The log-level setting is explained in Agent Logging. 789 . The account that the platform-agent shell script switches to when it is called by the ${InstallDir}/${release}/etc/scheduler startup script is stored in ${InstallDir}/etc/startup/<instance>/user. As soon as an agent is configured by the Central Scheduler Server the log file and level is under the control of the LogFile and LogLevel parameters set on the process server. and should not be used. UNIX parameters for the network-processor executable The UNIX specific parameters for the network-processor}} executable are kept in the ${InstallDir}/net hierarchy. This is documented for completeness purposes. ${InstallDir}/etc/startup/${instance}/net Overrides the net directory location (default: ${InstallDir}/net).Scheduling Processes Outside of the SAP System Landscape section Configuring Platform Agents for more information on the general options available for configuration. version The platform-agent supports multiple instances and multiple versions from the same ${InstallDir} which allows auto-upgrade and auto-downgrade of the platform agent whenever the Central Scheduler changes its version. for instance: login Once the password_check file is filled a series of pam(3) Pluggable Authentication Module calls will be made. SAP CPS ships with an example chown. the actual password for the account stored in the Central Scheduler Server is not verified against the current password on the UNIX system. For others (AIX.sh script in the SAP CPS bin directory to improve security.sh which checks various parameters for validity. private/whitelist and private/blacklist On Unix. improving security when using sudo User Switching Security Mode password_check PAM service to verify user access. These settings are saved in the ${InstallDir}/net hierarchy. If you provide a whitelist then the blacklist is not used.uucp.daemon. When the user switch mode is setuid or sudo the users that jobs can be run as are determined by the private/whitelist.nuucp.sysadm. in the private sub-folder. You can create a symbolic link to the chown. set a PAM service name in the password_check file. or any value for UNIX systems which do not use PAM.news. However.sys. private/whitelist list of users that jobs can be run as private/blacklist users that cannot be used for running jobs usermode mode used to switch accounts Note The pam configuration file has been renamed to password_check. If it is desired that the Central Server proves that it has the current password.sh script to suit your security needs. Edit the chown. Do this by providing SAP CPS with a list of authorized or banned users.ftp. For systems using PAM this contains the PAM service name to use for authentication.sysdiag. the exceptions are AIX and HP Tru64 where equivalent usersec and sia calls are made. To do so.smtp. private/blacklist and possibly the sudoers configuration. Who is allowed to use which account is fully under the Central Scheduler Server's administrator control by means of grants on job definitions and credentials.adm.bin. You can also avoid jobs to run as specific users. and/or extra authentication or access checks need to be performed then the job-processor can call PAM to further authenticate the user.tftp.lp. which uses usersec. The chown file in the net directory is a symbolic link to the chown binary as detected by the installation routine. Password Checking The UNIX platform agent uses the usermode to switch accounts. To avoid this.listen. respectively. SAP CPS allows you to specify your own chown command. 790 . For security reasons they should only be readable by user redwood and root. In this sense the UNIX platform agent functions like a trusted sub system.sundiag. and tru64 which uses SIA) a non-empty file will enable password checking.Scheduling Processes Outside of the SAP System Landscape File Use chown A symbolic link to the chown binary. chown The SAP CPS installer on UNIX creates a sudo configuration for the SAP CPS user when you choose sudo as your user-switching mode. it is common practice to prevent certain users from being able to log on interactively. This could be used by a user to gain access to files owned by root. If the defined pam services refuses access the job will go into the ERROR state. The default value is a blacklist containing root. 60./usermode. Enter 2 for Instance Name and enter the number for the relevant instance. 6. Enter 10 to exit from the script..d/scheduler restart to restart the network agents. Enter a number for the desired log level. However.Scheduling Processes Outside of the SAP System Landscape usermode The user-switching mode that the network-processor uses to run jobs under the correct account is stored in ${InstallDir}/net/. 7. This parameter is usually set by the UNIX platform agent installer. 6. It contains one of the following: plain. 3. Note When you run the rca script as another user than user root. Enter 1 for English. Enter 10 to exit from the script. when you upgrade from versions prior to M33. This has been resolved. Note that the current instance is now printed next to Instance Name. 3. Note Issues have been reported regarding auto-update and init scripts. Run sudo /etc/init. your functionality is limited. To change it we recommend that you run the rca script in the SAP CPS bin directory. Enter 3 for Configuration. 5. root. Account to run as and optionally create a shared secret with 8 Create Shared Secret. 5. Enter 3 for New Instance (note that if there is already an instance selected. 2. enter 6 for Change Loglevel.d/scheduler restart to restart all the network agents. Procedure Creating an instance using rca 1. Run rca in <install_dir>/0_33_98/bin/ as user root. 4. 2.. 7. Enter an instance name. change the appropriate settings like Listening port. you should create a symbolic link as follows: ln -s ${installDir}/${version} ${installDir}/latest rm -f ${initDir}/scheduler ln -s ${installDir}/latest ${initDir}/scheduler 791 . Run rca in <install_dir>/0_33_98/bin/ as user root. Enter 1 for English. sudo or setuid. the number will to enter will be 4) 4. Enter 3 for Configuration. Run sudo /etc/init. Setting a log level on the platform agent 1. Enter 2 for Instance Name and enter the number for the relevant instance. See Also • Using the Wizard to Create Process Servers • Configuring Load Balancing on Platform Agents • Automatically Updating Platform Agents • Securing Communications for Platform Agents and System Tools • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents Configuring Load Balancing on Platform Agents Use When your jobs that can run on more than one process server.d) . 4. Run rca in <install_dir>/0_33_98/bin/ as user root. 3.Scheduling Processes Outside of the SAP System Landscape Where: .${installDir} is the directory containing the platform agent installation The links that exist in rcx. if three process servers are eligible and they are running 1. 792 . Enter 1 for English. Run sudo /etc/init. Enter 4 for the warn log level.${initDir} is the directory containing the init scripts (/etc/init. 5. In other words. 2 and 3 jobs respectively the system will attempt to run the job on the agent with 1 running job.d/scheduler restart to restart the network agents. 2. Enter 10 to exit from the script. Example Setting a log level of warn 1. By default the system will run a new job on the server that has the lowest amount of running jobs. Enter 3 for Configuration. 7.d won't need to be adjusted since these are already symlinks to ${initDir}/scheduler Result Creating an instance An instance with the desired name and configuration has been created and started. 6. you will want to spread the load as evenly as possible. Setting a log level on the platform agent The platform agent will be restarted and the log file will be filled with output corresponding to the log level. enter 6 for Change Loglevel. Note that the current instance is now printed next to Instance Name. where the decision is no longer based on the number of running jobs but on some metric. All metrics are first stored in the monitor data. The metric that is chosen is user-defined.the maximum allowed value. • Multiplier . the process server is put to Overloaded until the threshold is no longer met.the multiplier is used to compare the current value to other process servers. This is a tree of nodes and values. Each load factor has three attributes: • Threshold . Built-in platform agent metrics The platform agents are able to send CPU and memory usage data to the server.the monitoring leaf value that is used. you should call the following in your job(s) whenever the number of available printers changes: jmonitor -j /System/ProcessServer/<process_server>/Performance/FreePrinters=$FREE Setting the load factor You influence the computed load on a particular process server by adding one or more load factors to its definition.Scheduling Processes Outside of the SAP System Landscape You can optionally also use os metric load balancing. once reached. Once you have set the load factors the system will choose a new job to run on the system that has the lowest value for the following equation: sum(Multiplier * Monitor Value) If a process server has at least one load factor where the current monitor value exceeds the threshold value it is not chosen. or using the jmonitor tool within a (possibly long-running) job. Once you set MonitorInterval to a non-zero value the data for load balancing is stored at: /System/ProcessServer/<process_server>/Performance/CPUBusy /System/ProcessServer/<process_server>/Performance/PageRate Custom defined metrics The load balancing system can also use other metrics. • Monitor Value . These can be written to the monitoring tree using the Java API. if you want to base your decision on the number of free printers available at a particular system. the default value is 60 (seconds). Note If any of the eligible process servers has no load factors at all then OS metric load balancing is not used and the system reverts to counting the number of already executing jobs. The frequency at which this data is sent is controlled with the MonitorInterval process server parameter. If you do not set this parameter. For example. Procedure Setting up load balancing between two agents 793 . Set the value to 0 (zero) if you do not plan to use load-balancing or use different values than the system metrics. In the Multiplier field enter 2. To do so you could implement the following settings: Process server A (slow. You want to maximize throughput of the system. Choose Edit from the context-menu of the weak process server A. 12. as a job running on the faster system B will have less of an impact on CPU load than the same job will have on system A. but also need to reserve capacity on that machine for on-line users. 6. Multipliers are most often used when you combine multiple load factors. 7. You can do this by using the bigger server to good effect by allocating more jobs to it. Choose Edit from the context-menu of the strong process server B. and the other one has 4 fast CPUs that are each twice as fast. with 4 CPUs) suggested load factor: Field Value Multiplier 1 Threshold 75 Monitor Value CPUBusy (for that process server) The multiplier value can remain 1. Navigate to Environment > Process Servers 2. In the Multiplier field enter 1. Example You want to balance the workload between two platform agents running on two different machines. In the Threshold field enter 90. 5. In the Threshold field enter 75. 13. 11. 9. 794 . On the Load Factors tab choose Add and enter System load into the description field. 4. Choose Save & Close. 3. with 2 CPUs) suggested load factor: Field Value Multiplier 1 Threshold 100 Monitor Value CPUBusy (for that process server) Process server B (fast. In the Monitor Value field choose the CPUBusy monitor for the path /System/ProcessServer/<agent>/Performance where <agent> is the agent that you are editing. 10. In the Monitor Value field choose the CPUBusy monitor for the path /System/ProcessServer/<agent>/Performance where <agent> is the agent that you are editing. 8. The first machine has two slow CPUs. On the Load Factors tab choose Add and enter System load into the description field. Choose Save & Close.Scheduling Processes Outside of the SAP System Landscape 1. At the moment the UNIX and Microsoft Windows platform agents can update themselves. If the server finds that the agent is able to restart but does not have the same version installed it then sends the installer for the platform agent to the existing platform agent. This functionality is not available for the HP OpenVMS and IBM z/OS agents. you must install the agent in the proper manner and start it in the proper manner. This is easy to do during the first time install of the platform agent: just keep the Auto update check box selected during the installation. The software tries to make this as painless as possible. The administrator can control whether auto-update is performed by creating or removing the ${InstallDir}/etc/startup/${Instance}/autoupdate directory. If the two do not match it sends a result saying that the configuration failed because the version did not match. Then it 795 . as they say. the network processor first writes the correct version to file ${InstallDir}/etc/startup/${Instance}/version. or if the agent mentioned that the software was already installed but not active it sends a restart request to the agent.Scheduling Processes Outside of the SAP System Landscape The threshold is set to 75 on process server B. telling it which process server parameters it is supposed to use. Automatically Updating Platform Agents Use When the Central Server is updated to a new version the platform agents need to be upgraded as well. The platform agent compares this version ID with its own version ID. Once the software is successfully installed.UNIX When a platform agent is configured as version X. and do not wish to re-run the installer you can enable this by creating this directory manually. It will also tell the server whether it does have the required version installed (but apparently not active for this instance) and whether it is able to restart other versions. The agent activates the new software version and then. If you did not.^M How it works . Requirements For the auto-update to function. This is where the auto-update process will store the downloaded installer for the missing version. As part of this command it also sends its own version ID. The platform agent stores the installer on the file system and runs the installer in non-interactive mode. and version Y is requested by the server. How this is accomplished differs on the platform. and is detailed below. the auto-update procedure is disabled. 'magic happens'. Availability Available as of M25. The installer installs the software for the agent side-by-side to the existing installation.7 and M27. Normally. If this directory does not exist. make sure that the agent runs as a service running as the LocalSystem account. if certain conditions are met. The magic is that the old agent stops and the new agent starts. For UNIX systems the most important requirement is that the platform agent is started by means of the ${InstallDir}/<version>/bin/platform-agent shell script. If this is done then the system can update itself. After this is complete it will (try to) start the platform agents that are marked as having automatic start. As part of the startup procedure the server sends a configuration request to the platform agent. The Central Server updates the database and other parts of the central system the first time that you run the new version. Improved in M26. Make sure the privileges are such that the network-processor program can write to that directory. M26. For Microsoft Windows. so that we reserve one CPU (one out of four = 25%) for non-batch work. Only this account is able to run the installer. this directory is created by the installer when you answer positively to the question whether to allow auto-update. dll that is appropriate for your platform in the agent's bin directory. the agent will not talk to everyone. The service manager. Securing Communications for Platform Agents and System Tools Use Redwood supplies an optional communications library that accesses an internal API within the platform agent code to intercept all network communication. which is the same technology that all major UNIX operating system suppliers deliver for such encryption. If you are unable to install this library because of legal restrictions within your jurisdiction or company. If this library is installed it becomes possible to mandate secure encrypted communication with the Java server. Tuning When the installation has a larger number of platform agents the system will serialize the process of sending the updated platform agent installer binaries. Contact Redwood [http://www. See the jftp section for more information.all connections are still authenticated.Scheduling Processes Outside of the SAP System Landscape stops using a magic exit code.Microsoft Windows On Microsoft Windows the agent needs to stop its own service and start the service of the new agent. The number of simultaneous updates is governed by the registry parameter /configuration/PlatformAgent/SimultaneousUpdates. will stop the old service and then start the new service. the product is not unsafe -.the library does not in turn depend on operating system openssl libraries. The optional communications library that Redwood provides is based on OpenSSL. You do have to safeguard access to the network traffic though as potentially valuable information is sent across the network. The platform-agent script recognises this and immediately restarts the platform-agent of the correct version. If the service manager fails. To facilitate easy deployment we supply a compiled version that plugs the OpenSSL security code into the network connections that the network agent and the JFTP tool make. which will just keep running. Redwood will supply you with an additional license and the library. but make sure the value is at least 1 (one).com/] for more information. How it works .so or secure. You do not need to worry about matching library versions on different systems etc. Change this as required. The library is the only thing you require for encrypted and/or authenticated connections -. Whether you can obtain this library is subject to import laws of your country. Secure JFTP As soon as you have put the shared library in the appropriate directory jftp will add new options such as -tls and -ssl. To install the library put the file secure. as these are quite large.redwood. For this to function you should have started the agent via the platform-agent script directly or via the boot scheduler script (recommended). it does not send the stop command to the old service. only those parties that know the communication secret can do so. 796 . It does this by calling the Scheduler Service Manager and then waiting for a stop command. when it succeeds in creating the new service. The default value is 5. Obtaining the library The optional library can only be obtained under a direct contract with Redwood Software. Use the jftp -tls -cipherlist ALL command to see which ciphers are available.0 as well. • Put a public server certificate in a configuration file named rwscert. The platform agent only supports TLS v1. • (For DSA only:) put Diffie Hellman data in a configuration file named dh1024.. For testing purposes you can use a self-signed SSL certificate. To enable the advantages of a RSA/DSA key over ADH. and that is able to speak TLS v1. The simplest form is to put the word ALL in this file. Run the following openssl command (not supplied) to generate these. • To make it use the TLS protocol.pem on Microsoft Windows. • To make the platform agent use the TLS protocol.) • If the private server key requires a passphrase.Scheduling Processes Outside of the SAP System Landscape Configuring the Platform Agent If you want the platform agent to act as a HTTPS server instead of a HTTP server you have to add configuration files. and put this in a configuration file named cipherlist if you want to use a different cipherlist than the default. Put the single word secure in this file. add a configuration file named extralib. put the passphrase in a configuration file named private/passphrase.0. The dh1024. They provide authentication of the client and/or the server to the other party. cd .pem.pem (or private\rwskey. as discussed below./net/instance/default 797 . add a file extralib.pem. net/hostname/<hostname> or net/global directory. • Decide on the ADH ciphersuites that you want to enable. but only if this is explicitly enabled. You can put these in the net/instance/<instance>.pem 1024 Platform Agent with RSA or DSA cipher An RSA or DSA key and certificate can also be used.pem file can be generated using the following openssl command (not supplied): openssl dhparam -out dh1024. Put the single word secure in this file. configure the server's CheckAgentHostname and/or CheckAgentCertificate process server parameters.. • Decide on the ciphersuites that you want to enable. If you do not enable these. and put this in the file cipherlist.pem file. • Put Diffie Hellman data in a dh1024. there is no security advantage over Anonymous Diffie Hellman. • Put a private server key in a configuration file named private/rwskey. The difficulty of cracking the protocol depends on the chosen cipher. Platform Agent with Anonymous Diffie Hellman cipher An anonymous Diffie Hellman cipher will provide encryption. Authentication is done via the standard SAP CPS mechanism of shared keys. depending on which instances they should apply to.. not SSL v2 or v3 as the only HTTP client that it is supposed to talk to is the Central Server. This provides encryption when it is set up in the agent.foo. You can have a CSR signed by a commercial CA. • Create a Certificate Signing Request (CSR) with the server RSA private key (output will be PEM formatted). you will have a real Certificate. enter "www. and allow additional authentication. the JVM truststore must contain the agent's public certificate and the root CA certificate 798 . • The request.pem in the appropriate directory. Once the CSR has been signed.Scheduling Processes Outside of the SAP System Landscape openssl req -new -x509 -nodes -out rwscert.e.foo.pem -out request.pem 1024 • Copy the pass-phrase you entered in the above command to private/passphrase. i. when you generate a CSR for an agent which will be later accessed via RemoteHostName www.pem -keyout private/rwskey. or you can create your own CA to sign it. and uses the standard scheduler mechanism of shared keys for authentication.dom..csr • You now have to send this Certificate Signing Request (CSR) to a Certifying Authority (CA) to be signed. false If set to false it will allow the platform agent to make this decision CheckAgentHostname Should the JVM check the hostname in the certificate presented by the false platform agent? If set to true. it already possesses the required encryption code. It does not guarantee encryption. Parameter Use Default SecureConnection If set to true the server will refuse to talk to an agent that is not secure.. Make sure you enter the FQDN ("Fully Qualified Domain Name") of the server when OpenSSL prompts you for the "CommonName". • Copy the request. There are three process server parameters that enforce encryption by the server.dom" here.csr file is no longer needed./net/instance/default openssl genrsa -des3 -out private/rwskey. cd . Note All security data files are in PEM format.crt file to rwscert. When the process server talks to a platform agent that is configured to use TLS it will automatically upgrade to the HTTPS protocol. openssl req -new -key private/rwskey.pem A signed SSL certificate can be generated as follows: • Create a RSA private key (will be Triple-DES encrypted and PEM formatted). the RemoteHostName used to connect to the platform agent must be the same FQDN as that presented in the agent's certificate CheckAgentCertificate Should the JVM check the check the certificate presented by the platform false agent? If set to true.. Configuring the Central Server Since SAP CPS runs on a JVM. Navigate to Environment > Process Servers 2. choose Next and verify that the process server is running in SAP CPS. 7. and SAP connectors) • ProcessServerService. Specify a name for the process server.limit . 4. If possible. select Manual Setup 799 . 9. Choose New Process Server from the context-menu. check the operator messages and logs on the monitored server. select a time zone and the appropriate installer for your platform. In SAP CPS. 3. Start the new service or daemon on your server. 4. Install the process server on the server you want to monitor. a. do not register the platform agent with the central server. We reproduce the entire license in the Attributions section ( see the Administration Guide ). 5. Creating a Monitoring Platform Agent Use You can monitor logs and processes with SAP CPS by using checks in process servers. 6. 3. use the default values. navigate to Environment > Process Servers 5.Scheduling Processes Outside of the SAP System Landscape License The library is based on OpenSSL and is licensed according to a dual Apache style license. If the process server remains in status Connecting. Download the appropriate installer for your platform. Navigate to Configuration > Software 2. Download the installer to the server you want to monitor and execute the binary as an administrative user (Administrator or root).limit . you must remember the port for later. choose Next.the total number of platform agent process servers Procedure Create a Monitoring Agent with the Wizard 1. Copy the SharedSecret String to a temporary location. Choose Save & Close Create a Monitoring Agent Manually 1. Back in the wizard.the total number of external process servers (Platform agents. Monitoring platform process servers do not require or count towards the following keys: • ProcessServerService. Choose the matching installer. Select Monitoring ONly and choose Next.External. choose Next.OS. Fill in the hostname of the monitored system as well as a port. 8. distinct web service endpoints. sh installer. if asked to. hit the Return key to accept the port. choose Add. Hit the return key to accept default as the name for your platform agent instance. 9. If you could not use port 1555 during the installation. a fully qualified domain name into the value field. Install the process server on the server you want to monitor. Hit the Return key to create the directory. write it down if it is not 1555. 800 . The installer will detect an IP port to use for the platform agent. In SAP CPS. Choose Add and fill SharedSecret into the Name field. Hit the Return key to install the platform agent to /opt/redwood/agent c. choose Add. On the Services tab. fill RemoteHostName into the Name field. Hit the Return key to accept that the platform agent is updated automatically. On the Parameters tab. select PlatformAgentService 7. If you could not use port 1555 during the installation. choose Add. j. 5. Enter N as you do not want to register the platform agent. Hit the Return key to accept setuid as the default user switching method. g. On the Parameters tab. select PlatformAgentService 4. e. fill RemotePort into the name field and fill the port you specified during installation into the Value field. On the Services tab. 10. Choose New Process Server from the context-menu. d. Choose Save & Close Example Installation on GNU/Linux 1. h. Configure the Process Server inside SAP CPS 1. 3. fill RemotePort into the name field and fill the port you specified during installation into the Value field. Download the linux-86. f.Scheduling Processes Outside of the SAP System Landscape 6. paste the SharedSecret String from the installation into the value field. Hit the Return key to accept user nobody for jobs. navigate to Environment > Process Servers 2. since you are not going to schedule jobs on this system with this platform agent. Note that this will not be used. Navigate to Configuration > Software 2. starting at 1555. i. 8. a. choose Add. Enter 1 for English and hit the Return key on your keyboard. fill RemoteHostName into the Name field. a fully qualified domain name into the value field. Hit the Return key to have the platform agent start automatically when the system starts. b. select Manual Setup 3. Used . • System.OS.${PSName}. • System.ProcessServer. and SAP connectors) • ProcessServerService.limit .Performance.${FileSystemPath}.the total number of external process servers (Platform agents.ProcessServer.${FileSystemPath}.${PSName}.${FileSystemPath}.${PSName}. • System.ProcessServer.Total . 801 .The CPU usage on the server.FileSystem.${PSName}.Performance.the maximum number of jobs allowed to run simultaneously.ProcessServer. You can tune how often it does this by changing the MonitorInterval process server parameter.CPUCount . The data is stored in the monitor tree in the following paths: • System.ProcessServer. • System.Load .limit .Performance.Percentage of used space on the file system.${PSName}. • System.ProcessServer.Scheduling Processes Outside of the SAP System Landscape 6.FileSystem.${FileSystemPath}.FileSystem. On OpenVMS you must assign the DCL job definition type and thus there is no free monitoring. IO page rate and disk capacity by default.${PSName}.${PSName}.PageRate .ProcessServer.The free space on the specific file system.ProcessServer.External. • System. Such process servers do not consume any licenses.Performance. • System. Monitoring platform process servers do not require or count towards the following keys: • ProcessServerService. • System.Performance.${PSName}.ProcessServer.The number of jobs the process server is currently processing.The amount of memory paging that is taking place.the total size of the file system. Choose Save & Close See Also • Monitoring System Performance • Monitoring Servers with Platform Process Servers • Monitoring External Systems with Platform Agents • Creating Custom Monitor Checks Monitoring External Systems with Platform Agents Use A UNIX or Microsoft Windows agent can be configured to be for monitoring only by not assigning any job definition types that run on agents and not assigning any file events.FileSystem.Free .LoadThreshold .${PSName}.The number of CPU's the system has.The used space on the specific file system. distinct web service endpoints.CPUBusy .UsedPercentage .the total number of platform agent process servers The platform agent will report CPU busy. OpenVMS & Windows Process Server Checks A process server with an attached platform agent service can monitor system operation when it is of the UNIX.ProcessServer. Check Styles and Platforms • Eventlog . Note The file system statistics are reported for all local disks. • ${FileSystemPath} . for example. depends on the type of check. You do this with the Severity Expression.Windows only • Socket . network shares are not taken into account.Unix & OpenVMS • Service . OpenVMS & Windows • Process . See the Creating Monitor Checks topic for more information. The fields you can add per check are: Name Description Description A description for the check Comment A comment for the check Style The type of check 802 . one to match green and one to match red grades.process server name. not just for process servers that include a PlatformAgentService. The Load and LoadThreshold are calculated for all process servers.Unix. If the summed load is higher than the maximum allowed by the process server's LoadThreshold attribute the process server will be overloaded. for example System. • {Monitored value} .${PSName}.Scheduling Processes Outside of the SAP System Landscape • System.the name of the check that is performed.Checks.the name of the check or its description. you want to set levels and grades accordingly so that operators can immediately analyse the situation and react accordingly.Windows only • Logfile . yellow and red). When you implement a check. You should create at least two checks for everything you want to monitor. for example C:\ or /home (SAN file systems may be considered local if.${Monitored value} Custom checks.${Check_Name}. The LoadFactors for a process server point to a MonitorCheck such as CPUBusy or PageRate. and levels from -1 to 100. Besides showing this status you can also create programmatic actions by defining a condition that checks the summed load and raises the appropriate events. All load factors are added up into a particular load. • {Check_Name} . • ${PSName} .Unix. if the latter is set. The monitoring system has three general severity grades (green. Microsoft Windows or OpenVMS family type. You can add the checks on the Checks tab of the Process Server edit dialog.the path to the local filesystem. they are mounted via iSCSI. -1 means disabled. 0 usually means everything is as it should be whereas 100 usually means there is a critical problem. Name Value Description Check Oracle running Comment Check that Oracle is running Style Process Attribute 1 *ora_*orcl Attribute 2 Poll interval 3 Severity 0 Condition Expression =Count > 10 Add another check.33.14 Poll interval 5 Severity 75 Condition Expression 803 . that the Oracle database is running and can proceed as follows.168.Scheduling Processes Outside of the SAP System Landscape Attribute 1 The first attribute of the check (compulsory) Attribute 2 The second attribute (compulsory for Logfile and EventLog) Poll interval The interval at which to check Severity The severity of the condition expression Condition Expression An expression that describes a state. for example =Count > 0 Example You want to make sure. so that the severity is set to high when less than 2 processes are running for Oracle. Name Value Description Check Oracle Not running Comment Check that Oracle is not running Style Process Attribute 1 *ora_*orcl Attribute 2 Poll interval 3 Severity 75 Condition Expression =Count < 2 Check if the Oracle Listener is working: Name Value Description Check Oracle Listener is running Comment Check that Oracle Listener is running Style Socket Attribute 1 1521 Attribute 2 192. You should not edit the Default condition as the values in there will then be overwritten with those from the process server check. You can specify a port number in decimal or a reference that will be resolved by the agent on the target system. • It is not used for the Process and Service styles. Normally. • For Logfile it contains the filename of the logfile that is to be checked. if desired.Scheduling Processes Outside of the SAP System Landscape The Name is used as an identifier to distinguish checks of the same process server in the log files. Eventlog. Attribute 1 is always required.${PSName}. • For Socket it contains the service port to be checked.Count • System. but other Microsoft Windows logs are allowed. The Microsoft Windows Eventlog records are the complete message expanded using the locale defined for the agent. The Poll Interval is used as the upper bound for how often the check is performed. This condition will set severity 50 (Yellow) and Condition Expression = Count < 1 unless you set other values in the process server check.0. The Logfile records are the lines in the file.Check. what it determines depends on the style. The Severity and Condition Expression are used to create a default condition in the monitor tree. Logfile. Typical values are System and Application.0 (all hosts). For Microsoft Windows services the matching record is Displayname (Servicename) which means that you can check on both names of the service. For OpenVMS the matching record is the process name. They also determine what the path of the checks in the monitor tree are.${CheckName}.$|CheckName}.Check. for example. a condition named Default will be created on the monitor check that is created as a result of the process server check. For UNIX the matching record is the output of a line of ps -ef or its equivalent. Note GLOB matching means that you can use * to search for any number of characters and ? for a single character. Service. This is not a pure interval because the agent can often check multiple checks of the same style using a single pass over whatever it checks.${PSName}. • For the Process (UNIX. Depending on the Style the path will be: • System. • For the Socket style this contains the network address that the socket should be bound to. OpenVMS) and the Service (Microsoft Windows) styles it contains a pattern using GLOB matching that selects the name of the objects. just as you do on Microsoft Windows Command prompt or in Microsoft Dos. The default is 0. Matching objects are counted. Use * at the beginning and end of the pattern if you want your pattern to match a particular string somewhere in the record instead of the whole record. In such cases the check may be performed more often than set here.ProcessServer.Message The Style can be selected from the drop down box. If you want to use more complicated conditions than the simple single condition allowed by the Severity and Condition Expression fields you can do so by adding your own Conditions on the MonitorCheck with 804 . • For the Logfile and Eventlog styles this contains a pattern using GLOB matching that selects records. • For Eventlog (Microsoft Windows) it contains the name of the log. Socket.ProcessServer. Attribute 2 is only used for some styles. and is one of Process.0. Navigate to Environment > Process Servers 805 . You use monitor alert sources mapped to the monitor created in the monitor tree to raise alerts when a process server check fails. As soon as you create such a condition the Default condition will not be updated or recreated. On the Checks tab. Fill in the fields and select an appropriate type for the target platform 5. Choose Save & Close Example 1. Examples of valid ProcessServerChecks: OS Family Style Attribute 1 Attribute Explanation 2 UNIX Process *ora_dbwr_* Process matching on UNIX is on the output of ps -ef. so no wildcards needed UNIX Logfile /var/log/system.Scheduling Processes Outside of the SAP System Landscape a name other than Default. See Monitoring External Systems with Platform Agents for more information on the different styles. Procedure Create an entry 1. choose Add 4. Navigate to Environment > Process Servers 2. so wildcards are needed VMS Process NETACP Process matching on VMS is purely on the process name. Choose Edit from the context-menu of the process server 3.log *dhcp:* Log messages written by the DHCP service UNIX Socket 21 Check that the FTP service is running Windows Service W32Time Check that the Windows Time Service is running (by its service name) Windows Service Windows Time Check that the Windows Time Service is running (by its display name) See Also • Monitoring System Performance • Monitoring Servers with Platform Process Servers • Creating a Monitoring Platform Agent • Creating a Monitor Check • Creating Custom Monitor Checks Creating a Monitor Check Use You can monitor logs and processes with SAP CPS by using checks in process servers. for almost all purposes the default values should be fine. On the Checks tab. Choose Edit from the context-menu of the process server 3. You can monitor all Microsoft Windows and UNIX systems of your data-center from within SAP CPS at no further charge! 806 . Fill in the fields with the values from the table below 5. These should only need to be changed under extreme circumstances.Scheduling Processes Outside of the SAP System Landscape 2. The monitoring information can be retrieved at very short intervals from the server directly using the platform agent. Choose Save & Close Values Name Value Description Check Oracle running Comment Check that Oracle is running Style Process Attribute 1 ora_*orcl Attribute 2 Poll interval 3 Severity 0 Condition Expression =Count > 10 See Also • Monitoring System Performance • Monitoring Servers with Platform Process Servers • Monitoring External Systems with Platform Agents • Creating Custom Monitor Checks Platform Agent Registry Entries Use The process servers for platform agents use a (limited) number of registry entries. The registry entries are: Path Use /configuration/PlatformAgent/SimultaneousReconnections /configuration/PlatformAgent/SimultaneousUpdates Creating a Monitoring-Only Process Server Use You set up a platform agent to retrieve monitor data from the remote server like CPU or memory usage. choose Add 4. Choose Save & Close. 4.Scheduling Processes Outside of the SAP System Landscape This is also handy for balancing the load across SAP application servers. 3. install the appropriate platform agent on the remote server. AS/400 and z/OS (See section below regarding z/OS) ship with the following system tools: Tool Purpose Connection Job-context file jdescription Set the description of the current job - Mandatory - jevent Raise an event - Yes Yes 807 Available on z/OS or AS/400 . as only monitoring data is retrieved. by choosing New Process Server from the context-menu of Environment > Process Servers. Microsoft Windows. 2. Procedure Creating a monitor only process server 1. Download the correct platform agent installation package for your platform from Configuration > Software. add the PlatformAgentService on the Services tab and add a RemoteHostName on the Parameters tab with the fully qualified domain name (FQDN) of the remote server. depending on the platform and follow the remainder of the installation process. Execute the installation package as you would on the remote platform. and specify at the least the process server parameter RemoteHostName. The Remote Port can be omitted if the process server runs on port 1555 and the SharedSecret should not be necessary. do not register it with the Central SAP CPS instance. You create a process server in SAP CPS with a PlatformAgentService. OpenVMS. Default Job Time Zone. Fill in a Name. When the installer asks to register the process server. uncheck it or answer no. See Also • UNIX Process Servers (Advanced) • Creating a Microsoft Windows Process Server (Advanced) • Monitoring System Performance • Creating a Monitoring Platform Agent • Monitoring External Systems with Platform Agents • Creating a Monitor Check • Creating Custom Monitor Checks Command Line System Tools Use The Platform agents for UNIX. though. unlike the 5 minute averages from CCMS. In SAP CPS. create a process server. remember that the data can be retrieved in intervals as low as every 2 seconds. To create a monitoring only process server. 6. 5. so the jobcontext argument must be used for upwards compatibility with such a future possibility. Such tools use the -j or --jobcontext argument to verify that you understand that they must be called in job-context. in this case. It is explicitly allowed to copy the jtool binary over to a different machine and call it from there. 808 . run the jtool install command. however. even if you are using the IA64 version of the operating system.jar JAR file allowing you to raise events Mandatory and run scripts All tools are available in two forms: the j<tool> form such as jftp and as a sub-option of jtool such as jtool ftp. Such tools require the use of a connection file that can be created using jsecret. You may copy any files that do not require a job context to another system and use them from there. and Logicals on HP OpenVMS. re-parse points/junctions on earlier versions of Windows (XP. that these files are platform-specific. This is called running in job-context. Note. You can also use symbolic links on UNIX and Microsoft Windows Vista or later. At a later date the tools may be extended to also use a connection-file instead. for example. a HP-UX IA64 version of jsleep will not run on Microsoft Windows or on GNU/Linux. Connection file Some tools are suited to communicating with the Java server over the server's HTTP interface.Scheduling Processes Outside of the SAP System Landscape jftp Transfer files via FTP - - - jgetfile ( see the Admin. you should take the following into account: Since the path to the bin directory contains version information and that this will change when a new version is installed. Job-context Other tools are meant for use within a SAP CPS OS job executed by the platform agent.Get a job output file istration Guide ) - Mandatory - jgetpar Get configuration parameter data - Mandatory - jlink Link files to jobs - Mandatory - JMail Send an email message - - - jmessage Send an operator message - Mandatory - jmonitor Send monitoring data values - Mandatory - jregister Register a process server - - - jscript Run a script Mandatory - Yes jsecret Generate a user or network-processor Yes secret - Yes jsleep Sleep a number of seconds - - Yes - - Yes - runs in a JVM on AS/400. This is useful when you want to run commands outside of the scheduler environment.install all or run any of the above tration Guide ) api-tool. If you do have jtool but not a particular j<tool> form. File Paths You might want to use these utilities outside of SAP CPS jobs. 2003). SAP recommends using environment variables (all platforms) to contain the version that your scripts should use. for instance from a server where you have not installed the platform agent. for example jtool ( see the Adminis. Both are available after the installation. log in a common logging format and use the same arguments to overrule the default logging settings. • As z/OS jobs run as JES jobs there is no job-context. Logging All tools.. • jregister is mainly used by the installation script. • jftp has not been ported to function properly in an EBCDIC environment yet. including the platform agent itself. The update of the description is performed asynchronously so there is no guarantee that the operation will succeed in the server. Syntax jdescription {-j | --jobcontext} <description> Argument Description -j. You can call it as jdescription or jtool description This tool cannot be used outside job-context at the moment. ${percentage}%" jsleep 5 percentage=$((${percentage} + 10)) done 809 . so the -j or --jobcontext parameter is mandatory. See Agent Logging Settings for more information. jdescription.. System tools that depend on the job context are not supported. jtool description Use A platform agent tool used to update the job's description. percentage=0 while [ ${percentage} -ne 100 ] do jdescription -j "Starting operations. since that does not exist on z/OS we have not ported jregister either.Scheduling Processes Outside of the SAP System Landscape Available on z/OS On z/OS most system tools are not available. Specific instructions on how to use the system tools on z/OS are documented in z/OS System Tools ( see the Administration Guide ). --jobcontext Run the command in job-context <description> New description for the job Example The following UNIX shell example shows how to set the job's description as progress of the job continues. com 50000 GLOBAL Username:jdoe Password: D:\Agent\0_33_98\bin>jevent -s . this improves the security of your password. Note also. you do not have to specify it as by default.. no output will be generated <connection file> A file containing connection details..ietf.masalan. D:\Agent\0_33_98\bin>jsecret -c . isolation group that is created using jsecret <event name> The name of the event to raise <comment> The raiser comment Example In this example. username.\. password. all options are specified directly on the command line.com.org/rfc/rfc2228.masalan. Note that native UNIX and Windows ftp run interactively and do not return error code 1 when something unexpected happens.. the GLOBAL isolation group will be used. jftp adheres to the following RFC: • RFC 959 [http://www. The jftp tool will return error code 1 when an error occurs.ietf. jtool event Use A platform agent tool used from a command line inside or outside a job to raise a named event inside SAP CPS.Scheduling Processes Outside of the SAP System Landscape jevent. for more information on return codes see the FTP return codes section of the documentation. Syntax jevent [-s] <connection-file> <eventname> [<comment>] Argument Description -s Silent.masalan. jtool ftp Use This is the platform agent non-interactive ftp tool. Please note that if you want to use the isolation group GLOBAL. 810 . no text is displayed as you type. like host.com Successfully raised event with ID 74 D:\Agent\0_33_98\bin> Note SAP recommends you store your connection files in the directory for your instance. jftp.FTP Security Extensions. If the secure communications library is installed it also implements these RFCs: • RFC 2228 [http://www. its port is 50000 and the isolation group to use is GLOBAL.conn pr1.\.File Transfer Protocol.\net\instance\default\masalan. JFTP will also return a code that indicates the issue. port. the SAP CPS server is named pr1.conn "FinancialsLoadedSuccessfully" "Event r Login successful on pr1.txt] .\net\instance\default\masalan.txt] .. that when you enter your password for the connection file.org/rfc/rfc959. 0. You no longer have to hard-code the username and password or provide credentials in your job definitions. Note Regardless of which platform your FTP server runs on.When defining the <-j|--job-context> option. you can always use UNIX path separators (/). a "secret" file is also useful when you have multiple SAP CPS environments. Also. always use double quotes.The TLS Protocol Version 1.. Since credentials cannot be exported. when you use quotes. Commands The login command allows you to login and perform several actions at once. it is part of the FTP standard.txt] .<login arguments> can only be specified for the first command.Securing FTP with TLS. it has to be defined before any (other) option or command .org/rfc/rfc2246.org/rfc/rfc4217. they are more portable.. Usage ftp <-j|--job-context> [-]command [ [-]command. ] where command represents one of the following: login get mget put mput list delete mdelete mkdir rmdir quote include <options|login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <options> <login arguments> <outfile> <infile> "<pattern>" <localdir> <infile> <outfile> "<pattern>" <remotedir> <directory> <file> "<pattern>" <directory> <directory> <command> <includefile> Arguments <options> := [ [ -ascii | -binary ] | -[no]resume | -[no]pasv | -use_cwd | -port <port_number> | -secretfile <file> | <options> ] <login arguments> := <host> <user> <password> <host> := Hostname of the FTP server <user> := Username to logon to the server <password> := Password to logon (if environment variable JFTP_PASSWORD is set this is optional) <infile> := file on this system <outfile> := file on remote system <file> := file on remote system <directory> := directory on remote system <pattern> := quoted pattern matching the target files using * and ? Notes: .ietf. . 811 . you can use a "secret" file.txt] . the default port is 21.ietf. • RFC 4217 [http://www. You generate secret files with jsecret. using the -c option.<options> can be specified for all commands. Note that for FTP.Scheduling Processes Outside of the SAP System Landscape • RFC 2246 [http://www. You must use a numerical value if you set the port number using the -port option. jftp get -ascii myhostname myusername mypassword myremotefile mylocalfile jftp put -ascii myhostname myusername mypassword mylocalfile myremotefile 812 . When the data must also be encrypted. you must use the -protect option. <options> can be specified for all commands.Using '-secretfile' overrules existing <login arguments>. . Note <login arguments> can only be specified for the first command.Scheduling Processes Outside of the SAP System Landscape . all commands should be issued on the same line. Note You must use a numerical value if you set the port number using the -port option.0 or SSL v3 secured connection (default) Use SSL v3 or SSL v2 secured connection <text> Set list of available ciphers <text> Set passphrase for private key <file> Set private key <file> Set public certificate <file> Set trusted certificates list Ciphers that are enabled: (use -cipherlist ALL to see all) DHE-RSA-AES256-SHA DHE-DSS-AES256-SHA AES256-SHA EDH-RSA-DES-CBC3-SHA EDH-DSS-DES-CBC3-SHA DES-CBC3-SHA DHE-RSA-AES128-SHA DHE-DSS-AES128-SHA AES128-SHA IDEA-CBC-SHA RC4-SHA RC4-MD5 EDH-RSA-DES-CBC-SHA EDH-DSS-DES-CBC-SHA DES-CBC-SHA EXP-EDH-RSA-DES-CBC-SHA EXP-EDH-DSS-DES-CBC-SHA EXP-DES-CBC-SHA EXP-RC2-CBC-MD5 EXP-RC4-MD5 When you use TLS/SSL the control connection is always encrypted. . Examples Note Since some examples may exceed the maximum width a new line has been added (illustrated with a \).the -resume option is not supported for ASCII transfers Extra command -protect -tls -ssl -cipherlist -passphrase -key -cert -trust line arguments available with 'secure' library: Enables the 'secure' library Use TLS v1. sec filein fileout jftp put -secretfile ftp. goodbye.dmp" mylocaldir jftp quote myhostname myusername mypassword "site filetype=jes" jftp quote myhostname myusername mypassword "site filetype=jes" put -ascii mylocalfile \ myremotefile get myremotefile mylocalfile. The jftp tool will return standard FTP return codes when the FTP server does.xlsx" /opt/samba/share/Resul JFTP Return Codes Use Return codes.check jftp get -port 21 myhostname myusername mypassword sourcefile destinationfile jftp put -tls -key mykey. This is why jftp does not return this digit. The primary server is commenting on its ability to access a secondary service.txt] and RFC 414 [http://www.txt] and according to those RFC's. The final digit specifies a particular message type. • 5xx Incorrect or illegal command. however. RFC's define the standards for protocols to allow tools to inter-operate. vendors are not forced to adhere to the RFC's standards and many don't adhere totally. • x5x FTP results. reply codes are made of the following:. 813 .org/rfc/rfc414.pem -binary filein fileout jftp login -secretfile ftp. goodbye. The second digit specifies the general category to which the response refers: • x40 Secondary access.sec -protect -tls -key mykey. or the command its inconsistent with a previous command. also referred to as reply codes.txt" /my/remote/dir jftp mget -binary myhostname myusername mypassword "backup_*. The first digit specifies the type of error: • 4xx Unsuccessful reply. The command or its parameters were invalid or incomplete from a syntactic viewpoint. FTP reply codes are defined in RFC 354 [http://www. • 401 This service not accepting users now.*" "C:/Documents and Settings/jdoe/My Documents\fileserver logs" \ put -binary "C:/Documents and Settings/jdoe/My Documents/results.Scheduling Processes Outside of the SAP System Landscape jftp mput -binary myhostname myusername mypassword "*.org/rfc/rfc354.pem -binary host user password filein fileout jftp put -secretfile ftp. Since the code is designed for an automaton process to interpret. • 430 Log-on time or tries exceeded. The officially assigned reply codes above 400 and relating to FTP are: • 400 This service not implemented. The request is correctly specified but the server is unsuccessful in correctly fulfilling it. The command in question has been completely ignored.ietf.pem -binary host user password filein fileout jftp put -protect -tls -key mykey.sec quote "CWD /var/log/samba" \ get "log. it is not necessary for every variation of a reply to have a unique number. so the Internet is a great resource to look-up the meaning of a specific error.ietf. give feedback on the status of the previously executed command. • 450 FTP: File not found. These are different from the parameters that the job definition has specified. action not possible at this time. • 501 Syntax of last command in incorrect. • 503 Last command invalid (ignored). these are always transmitted to the job using normal variables for the job definition type. User and/or password invalid. • 502 Last command incomplete. • 432 User not valid for this service.Scheduling Processes Outside of the SAP System Landscape • 431 Log-on unsuccessful. illegal parameter combination. jtool getpar Use A platform agent tool used to obtain configuration parameter values from within OS jobs. • 1 on usage errors and so on • the first two digits of the last FTP command result code when this is above 400. • 505 Last command conflicts illegally with previous command(s). On Unix. • 451 FTP: File access denied to you. • 436 Service shutting down. • 433 Cannot store files without valid account. insufficient storage space. • 506 Requested action not implemented by the server. jgetpar. parameters missing. jftp returns: • 0 on success. • 435 Log-out forced by system problem. • 434 Log-out forced by operator action. • 500 Last command line completely unrecognized. 814 . When an OS job runs on a platform agent it might be interested in the configuration parameters that the process server has sent to the platform agent. data connection closed. goodbye. • 453 FTP: File transfer incomplete. Note JFTP will only return the first two digits of any reply code. This tool cannot be used outside job-context. • 504 Last command invalid. Phone site. Enter account. so the -j or --jobcontext parameter is mandatory. • 452 FTP: File transfer incomplete. as all files in that directory will be deleted when the job finishes. so that they appear as output of the job in SAP CPS.Scheduling Processes Outside of the SAP System Landscape Syntax jgetpar {-j | --jobcontext} <parameter> Argument Description -j. --jobcontext Run the command in job-context <parameter> Parameter name Example The following UNIX shell example shows how to determine the name of the process server. jtool link Use A platform agent tool used to link files to jobs. named CMD_LinkFile and leave all other job properties at their defaults. 2. echo This job is running for ProcessServer `jtool getpar -j ProcessServer` jlink. Syntax jlink [--[no]deletewithjob] <file> [<shortname>] Argument Description --deletewithjob Determines if the file should be deleted with the job. You can then send these files via email. the no prefix leaves the file intact after job deletion and is the default. Create a job chain named JC_LinkFileAndSend a. Add a Step. 1. for example. you need to have the address of a valid mail server from which you are allowed to send email. Create a job definition of type CMD with the below code. Example Note To perform the tasks below. <file> The path to the file to attach to the job. and a job running CMD_LinkFile 815 . shortname The short name used in SAP CPS Note that the file should not itself reside in the TMPDIR directory. See The Environment of Platform Jobs for more information on the environment of jobs. defaults to 25 SMTP sender 'From:' address 'To:' recipient address list 'Cc:' address list 'Bcc:' address list Subject whether to send as MIME message MIME message type. do not forget to adapt the below parameter.txt setup. Syntax jmail <options> <file> [<file> .. if you change setup. 3. Parameter Expression To <your email address> Subject Example file Text An example file sent to me by SAP CPS Relative job Step 1.log Parameters for the job of the second step of the job chain JC_LinkFileAndSend. for example 'text/plain' (default) 816 . ] -server <server>: -port <portnr>: -o <sender>: -i <from>: -t <to-list>: -c <cc-list>: -b <bcc-list>: -s <subject>: -[no]mime: -mimetype <type>: SMTP server address Override port number. jmail..Scheduling Processes Outside of the SAP System Landscape b. This tool can be used outside job-context as a command line email client.txt to an existing file on the file system. rem Windows command job that attaches an external log file to a job with a short name jlink --nodeletewithjob jlink %windir%\setuplog. and a job running System_MailSend ( see the Administration Guide ) with the below parameter values Submit the job and check your mail.ini Server <your SMTP server> From <your email address> Note Please replace <your email address> and <your SMTP server> with your real settings. ask your network administrator if in doubt. jtool mail Use A platform agent tool used to send an email message. Job 1 Job file ntuser. Add a second step.log. however. Source for CMD_LinkFile Note you may change %windir%\setuplog. you can provide the input from standard input by piping a file to jmail or typing the text out. at the same time.com -t jsmith@masalan. Example Send a mail with text file as body jmail -server smtp. <Control+D> jmessage.masalan.com -i
[email protected] -i jdoe@masalan. Syntax jmessage {-j | --jobcontext} <message> 817 .masalan. default 'ISO-8859-1' MIME Attachment Secretfile for SMTP Auth generated by jsecret do everything but sending the actual email use .for file from stdin Using Standard Input When you specify -a -.masalan. the dog the cat. When you have finished typing.Scheduling Processes Outside of the SAP System Landscape -encoding: -a <file>: -secretfile: -nosend MIME characterset. so the -j or --jobcontext parameter is mandatory.com -i jdoe@masalan. As with all job-context operations. jtool message Use A platform agent tool used to send an operator message.com -s "Unimportant news" -a The cat caught the mouse.masalan.com -t
[email protected] -i jdoe@masalan. and the man the wolf.tx Send a mail with an HTML file as attachement jmail -server smtp. the update is performed asynchronously so there is no guarantee that the operation will succeed in the server.masalan.txt Send a mail with a text file as attachment jmail -server smtp. the wolf the dog.com -t jsmith@masalan. As the operator message is logged in job-context. you will find that the operator message is linked to the job and can be accessed both from the job details and the operator message monitor.com -s "Please see attached" readme.com -s "Please see attached" -a readme.com -t
[email protected] -i jdoe@masalan. starting with Ctrl) to terminate and send email.com -t jsmith@masalan. you can hit <Control+D> (hold down the Ctrl and the letter d keys.com -s "Please see attached" -mimetype te Using standard in (-) jmail -server smtp.com -s "Please see attached" -mimetype te Send a mail with an HTML body with an additional plain text file jmail -server smtp. This tool cannot be used outside job-context at the moment. Scheduling Processes Outside of the SAP System Landscape Argument Description -j. dir g: if errorlevel 1 jmessage -j "Drive G: not accessible!" jmonitor.. so the -j or --jobcontext parameter is mandatory. my $processServer = `jtool getpar -j ProcessServer -l info` or die "Cannot determine process server name". using the Java API.. my $cmd = "jtool monitor -j -l debug". --jobcontext Run the command in job-context <message> Message text Example An example Microsoft Windows CMD script to show how you can raise awareness of errors beyond just logging them in job output files. and a MonitorCheck node must have a MonitorNode as its parent. Example The following example shows the script source of a Perl script that runs on Microsoft Windows and UNIX systems with a GNU-like df binary. Customers that want to load data into other isolation groups should create the appropriate tree first. my $MonitorPath = " /System/ProcessServer/". use strict. $processServer =~ s/\s+$//. The nodes are placed in the GLOBAL isolation group if they don't exist yet. This tool cannot be used outside job-context. It finds out how much free space exists on the fixed disk drives / partitions and stores that data in the monitor tree."/Diskspace".. for example /RootNode[/ChildNode.]/Check/Value.] Argument Description -j.. --jobcontext Run the command in job-context <path> A monitor path <value> The new value for the monitor node. Since a monitor value can only be set on a MonitorValue. The Java server creates monitor nodes.$processServer. 818 . checks and values automatically if needed. the path that is passed needs to contain at least three levels. Syntax jmonitor {-j | --jobcontext} <path>=<value> [<path>=<value> . and a MonitorValue needs to have a MonitorCheck as its parent node. jtool monitor Use A platform agent tool used to send monitor data values from within OS jobs. my $NETWORK_DRIVE = 4. printf "%-8s %-14. my $dr = $drive->{DeviceID}. "/" ./g."Size". printf "%-14s %-14.= $MonitorPath . "/" . "/PctFree=" ."-" x 14. "/Size=" .= $MonitorPath . $cmd . } } close DF.0f %-2. $mount =~ s/\//. $sz./g. $mount . $cmd ."") || die "Error connecting to $server: printf "Free diskspace on $server:\n\n". "/Free=" . $cmd . printf "%-14s %-14s %-14s %-4s\n".$sz.0."-" x 14. $mount . $fb. printf "Free diskspace on `hostname`:\n\n". for now open DF.$fb.//. printf "%-14s %-14s %-14s %-4s\n". "/PctFree=" . my $fs = $drive->{FileSystem}. "df -l -B1 |" or die "Cannot execute 'df': $!". $perc."Drive".Win3 $locatorObj->{Security_}->{impersonationlevel} = 3. "Perc".$dr.0f %-14. $perc. $mount =~ s/^\. my $perc = $fb / $sz * 100. $sz. $dr . foreach my $drive (Win32::OLE::Enum->All($serverObj->InstancesOf("Win32_LogicalDisk"))) { next if ($drive->{DriveType} != $FIXED_DRIVE). "-" x 4.= $MonitorPath . "/Free=" . printf "%-14s %-14s %-14s %-4s\n". "Perc".Scheduling Processes Outside of the SAP System Landscape if ($^O eq "MSWin32") { require Win32::OLE. $perc. $mount . $cmd . $perc. } print `$cmd`.0f %-2. my $locatorObj = Win32::OLE->new('WbemScripting.$fb."". $mount =~ s/\//. my $server = Win32::NodeName(). $fb. while (<DF>) { my ($fs. printf "%-14s %-14s %-14s %-4s\n". "/" . "/" .= $MonitorPath . 819 . "/" . $fb. "/" .$sz."Free". if ($mount =~ m/^\// && $sz > 1024 && $sz != $fb) { my $perc = $fb / $sz * 100."-" x 14. my $serverObj = $locatorObj->ConnectServer($server. $_. $cmd . my $fb = $drive->{FreeSpace}.= $MonitorPath .1f%%\n". "-" x 4. $mount) = split /\s+/. $perc. $sz. my $sz = $drive->{Size}."Size". $dr . $cmd .= $MonitorPath . } } else { # Assume UNIX with Gnu DF.0.'root\cimv2'. $dr . "/Size=" . my $FIXED_DRIVE = 3.SWbemLocator') || die "Error creating locator object: "."-" x 14."-" x 14.$mount.1f%%\n"."-" x 5. $us.0f %-14."Drive". $mount =~ s/^$/root/."Free". masalan.Scheduling Processes Outside of the SAP System Landscape jregister. password. Generating a Connection File jsecret -c <filename> <hostname> <port> [<isolationGroup>] Argument Description -c Create a connection file <filename> The name of the file <hostname> The hostname of the target system <port> The port number of the target system <IsolationGroup> The isolation group to use Generating a Shared Secret File jsecret -n <filename> Argument Description -n Create a shared secret <filename> path to the file Default net/instance/<instance_name>/private/secret Example Generating a connection file for registration $ jsecret -c . It can also be used to generate a shared secret. Syntax jregister <hostname> <port> <registration-filename> <secret-filename> [server_acl] jsecret. hostname and port of the central server. In some environments it could be useful for automated deployment of new platform agents. It creates an encrypted connection file which acts like password file.conn pr1. This is normally called by the installation procedure. which is used by the platform agent and the central server to make sure the desired process server. containing all the necessary information to connect to the central server. jtool register Use Platform agent tool to register platform agents with a central instance. is connected to the desired platform agent./masalan. and does not need to be called again. from the desired central server.com 50000 Username:admin Password:***** 820 . like username. You register a platform agent with a central server so that only the registered SAP CPS instance can use the registered instance of the platform agent. jtool secret Use The jsecret executable is a platform agent tool. com 21 Username:admin Password:***** $ ls -l .sec Generating a shared secret file jsecret -n net/instance/<instance>/private/secret jscript.. no text is displayed as you type.Scheduling Processes Outside of the SAP System Landscape $ ls -l . the SAP CPS server is named pr1.com. suppress prompts and feedback (but not error messages)./net/instance/default/masalan./ftp. If you use the -s option. Syntax jscript [-i] [-s] <connection-file> Argument Description -i Interactive.sec -rw------./ftp. Job job = jobDefinition./. and operation is synchronous: the script is executed the moment it receives an execute command. its port is 50000 and the isolation group to use is GLOBAL.masalan. password. 821 . you do not have to specify it as by default. Please note that if you want to use the isolation group GLOBAL. -s Silent.conn pr1.1 redwood users 240 nov 18 15:16 .masalan./net/instance/default/masalan.1 redwood users 240 nov 18 15:17 . This tool uses a connection file. username.prepare(). the GLOBAL isolation group will be used.masalan.. like host. Commands are always read from standard input.conn <<EOF { JobDefinition jobDefinition = jcsSession.com 50000 GLOBAL Username:jdoe Password: $ jscript . $ jsecret -c ./masalan. <connection file> A file containing connection details. no prompt is shown.. that when you enter your password for the connection file. If standard input is a (redirected) file. Example The following shows how we submit a job from a UNIX shell. This consists of user-created output via jcsOut and jcsErr as well as errors thrown by the interpreter (which go to stderr)./ftp. pipe or stream. the only output given will be that sent by the server. execution will not stop on successful execution of the first command. port. isolation group.. this improves the security of your password.conn -rw------. In this example. a prompt will be shown./masalan.conn Generating a connection file for jftp $ jsecret -c . If standard input is a terminal and the silent option has not been set.getJobDefinitionByName("System_Info")./. Note also. jtool script Use A platform agent tool used to execute RedwoodScript commands from the command line.sec ftp. .jar Use This tool is used to run scripts and raise events from exotic systems. which must contain RedwoodScript. 4> jcsSession.rw.Scheduling Processes Outside of the SAP System Landscape jcsSession. Depending on the platform where you run the api-tool on.Raise event <eventName> with optional comment [raiseComme script <connectionFile> <scriptFile> .4 or higher JVM Syntax Usage: java -jar api-tool.rw used in these examples contains the following: 822 .prepare(). Use the jsecret command on a supported platform to create the connection file and copy it over to the system where you want to use the api-tool.persist(). Prerequisites • Java 1. } / EOF If you perform the same but use the terminal to supply input you will see prompts: $ jscript ../net/instance/default/masalan.jar <command> [command-specific-arguments] Command: event <connectionFile> <eventName> [raiseComment] . The script script. The script files.getJobDefinitionByName("System_Info"). you might not be able to create the connection files. Syntax jsleep <seconds> api-tool.persist()./.Run script in <scriptFile> version Print the version Example In the following examples.conn Connected to masalan jscript> { 2> JobDefinition jobDefinition = jcsSession. 3> Job job = jobDefinition. jtool sleep Use This platform agent tool is used to sleep a number of seconds. should be available to the api-tool. the connection file created with jsecret -c is stored in net/connect. 5> } 6> / Result: OK $ jsleep. -l <loglevel> A single string that sets the log level. please proceed with the See Also • RedwoodScript • jsecret System Tools and Platform Agent Logging Use All tools. These arguments are: [-f <file>] [-l <loglevel>] Argument Description -f <file> Filename where to log to.]<category>=]<level> <process> :== { network-processor | job-processor | jtool } <level> :== { none | fatal | error | warn | info | debug | net | trace } • <category> can contain '*' to match any following characters 823 .prepare(). // create the job from the job definition Job aJob = aJobDef. The string is case-insensitive. Loglevel The log level parameter is defined as: <loglevel> :== <element>.. If these are not set then the default values are used. The default for tools is stderr.rw script.rw "ETL_Complete" "ETL completed. <element> :== [[<process>. including the platform agent itself. // submit the job definition and write unsaved data to the database jcsSession..rw Raise the event ETL_Complete java -jar /opt/tools/api-tool. log in a common logging format and use the same arguments to overrule the default logging settings..Scheduling Processes Outside of the SAP System Landscape { // code to submit a job running System_Info // get the job definition JobDefinition aJobDef = jcsSession. } Run a script named script.jar event net/connect.persist(). If the executable is called without the -f or -l switches the environment variables JCS_LOGFILE and JCS_LOGLEVEL are used.rw: java -jar /opt/tools/api-tool. The default for the log-level is "info".jar script net/connect.getJobDefinitionByName("System_Info"). *=error. • ${FileSeparator} .network-processor.Base directory for platform agent files.log.Process name (network-processor.${DataRootDirectory}/trc.*=debug Some more valid element examples: Trace *=DEBUG 824 .Process type (standalone.) • ${InstallDirectory} . To get an up-to-date explanation of all available variations of <category>> you can type jtool -l help. the jftp agent somewhat and the rest normal. The stderr output will end up in stderr. It may contain any of the following substitution parameters: • ${ProcessId} . unless -l <logfile> is used or JCS_LOGFILE is set. Example To set a single environment variable that tells the network-processor to be very verbose. Logging in the system tools The tools log to stderr.. The default value for that parameter is ${TraceDirectory}${FileSeparator}${ProcessServer}-${ProcessName}-${ProcessId}.job-processor.Scheduling Processes Outside of the SAP System Landscape • <category> is one of a list of internal categories. The platform-agent script logs to ${InstallDir}/etc/log/<instance>/<instance>.jftp. .(for stderr). stderr. • ${ProcessServer} . or . • Microsoft Windows: Change the settings for the instance using the Scheduler Service Manager. The network-processor logs to the same location until it is configured.. .Process id of the process • ${ProcessType} .) • ${ProcessName} . To analyze problems when the process server does not want to start.log when the tool is run as part of a scheduled job.Character(s) between directory and file (for example / on Unix and \ on Windows). service. see the Configuring Platform Agents on Windows section for more information. • ${DataRootDirectory} .. Logging in the platform-agent The Process server parameters parameter LogLevel will override logging as soon as the Central Scheduler has established a connection with the Platform Agent.install directory. set the logging level as follows: • UNIX: Add/change the loglevel in file ${InstallDir}/etc/startup/${Instance}/loglevel . you could use: JCS_LOGLEVEL=info. Logfile The log-file can contain a filename pattern.log. • ${TraceDirectory} .. the job agent not at all.Name of the process server that the agent is configured for.*=warn. Scheduling Processes Outside of the SAP System Landscape http.*=debug network-processor.*=warn job-processor.*=info.job.*=debug 825 . RSAB. SG00.Authorization check for RFC access Name Required Authorizations Activity * (or Execute) Name of RFC to be protected *. The following section describes the privileges required by the RFC user to interact with the ABAP stack of SAP Systems. or all of BATG. SXMI. SCCA. the following two RFC's need to be added: /SCJS/1ISU and /SCJS/2ISU If you want to retrieve the SAP syslog from within SAP CPS with the GetSupportFiles functionality. you also need the following RFC: SXMB For BW. SXBP. /SCJS/2XBP If you are using ISU transports. the following two RFC's need to be added: /SCJS/1XBP. you can log into the SAP system as the user and execute transaction SU53. SXBP_VAR. SAP recommends it to be a System user for normal batch processing and a Dialog user if this user also has to be used as the Step user. RSPC_API 826 . the list with names of RFCs to be protected has to be extended with following authorizations (unless the list contains just * (all RFCs)): Name Required Authorizations Name of RFC to be protected RSBC. SALX. FRFC. BATG. SYST. SDTX. You can use the output of this transaction to identify any missing authorizations. navigate to Tools > Administration > User Maintenance > Role Administration > Roles (transaction PFCG) and see the Assigning SAP Authorizations to the RFC User procedure for more information. SRFC.Cross-application Authorization Objects S_RFC . SDIFRUNTIME. SVAR_RFC. SAP Authorizations for XBP and BW AAAB . OCSB.Chapter 11. Reference SAP RFC User Privileges Use Each ABAP stack you want to interact with needs a privileged user. To assign the following privileges. Note Whenever an authorization problem occurs. RFC1. and SYSU Type of RFC object to be protected FUGR (Function group) If you are using XBP transports. copy or repeat jobs. and is thus an absolute requirement. all of them are required for proper function of the product.Reference This is required to be able to use RFC. display the job processing log. display spool requests. SPAD S_BTCH_ADM .ABAP: program run checks Name Required Authorizations Authorization group ABAP program * (or the required authorization group) User action ABAP program BTCSubmit S_RZL_ADM .System Authorizations Name Required Authorizations System administration functions SP01. release jobs and to display the job queue.Background Processing: Background User Name Name Required Authorizations Background User Name for Authorization * S_PROGRAM .Spool: Actions Name Required Authorizations Authorization field for spool * Value for authorization check * 827 .Basis: Administration S_ADMI_FCD .Background Processing: Background Administrator Name Required Authorizations Background administrator ID * S_BTCH_JOB . S_BTCH_NAM .Background Processing: Operations on Background Jobs Name Required Authorizations Job operations * Summary of jobs for a group * While it is possible to individually assign authorizations to delete background jobs. BC_A .CCMS: System Administration Name Required Authorizations Activity 01 S_SPO_ACT . SP0R. The following table illustrates the various combinations and the requirements: Without transports and Without transports XBP 2..x POS x x x - - Run InfoPackagestable RSMONRQTAB Import SAP Calendarstables THOCS and TFACS • o .Reference S_SPO_DEV .0 nor transports in order to be able to import SAP calendars.Table maintenance (via standard tools such as SM30) Name Required Authorizations Activity 03 Authorization group * The S_TABU_DIS authorization is needed for importing BW InfoPackage groups.no direct table access is needed S_OC_DOC Only required if you want to archive spool lists.Spool: Device authorizations Name Required Authorizations Long device names * S_TABU_DIS . it is required for all SAP releases that have neither XBP 3.Authorization Object for Sending Required for sending spool lists to recipients Name Required Authorizations 828 . which is slower and sometimes not reliable • x . Additionally.(optional) the official API will be used.0 or earlier and XBP 3.0 With transports o o o Import InfoPackage Groupstable RSPAK. Name Required Authorizations Activity 24 (or *) S_OC_ROLE Required for sending spool-lists to recipients or archiving spool lists Name Required Authorizations Activity ADMINISTRATOR (or *) S_OC_SEND .(mandatory) this functionality requires access to the table via RFC_READ_TABLE • . the following authorization is also required for process chains: Name Required Authorizations ACTVT 16 829 . 5. for example 100) S_XMI_LOG . for external management interfaces (XMI) Name Required Authorizations XMI logging: company name REDWOOD (or *) Product * Interface ID * Note Please note that this has to be set to REDWOOD and not your company name. Select the Authorizations tab. This can be done as follows: 1.ABAP Workbench When the synchronous flag is switched on. apply the change. If the system shows a list of templates.Reference Valid communication methods * (or any communication methods you want to be able to use) Range of number of recipients allowed per send operation * (or the desired value. or edit the existing one if it already exists. This is the minimal set of authorizations required by SAP CPS. Notice that the required authorizations have been added automatically.Internal access authorization for XMI log Name Required Authorizations Access method for XMI log * S_XMI_PROD . 3. Choose Change Authorization Data. SAP Authorizations for BW Process Chains S_RS_ALL You need to assign the S_RS_ALL profile to the user. then you must also assign the S_RS_ALL profile to the REDWOOD role. 4. 2. You should now be in Change role: Authorizations. choose Do not select templates. 6. this is done as follows: If you want to schedule process chains and/or InfoPackages.Auth. Choose Edit > Insert authorization(s) > From profile and fill S_RS_ALL into the profile field. Create a new role REDWOOD. S_DEVELOP . Navigate to Tools > Administration > User Maintenance > Role Administration > Roles (transaction PFCG). 830 . OCSB. SG00. or all of FRFC. Please make sure. that the role has the following authorizations: S_RFC_ADM Name Required Authorizations Activity All activities Internet Communication Framework * Logical Destination CRONACLE*.Authorization check for RFC access Name Required Authorizations Name of RFC to be protected *. SALX. SRFC. S_RFC . REDWOOD Type of Entry in RFCDES All values Note ABAP users connecting to SAP CPS require the role SAP_BC_BATCH_ADMIN_REDWOOD.Reference DEVCLASS * OBJNAME * OBJTYPE PROG P_GROUP * AAAB .ABAP Workbench Name Required Authorizations ACTVT 03 DEVCLASS EE20 OBJNAME * OBJTYPE * P_GROUP * SAP Authorizations for SAP Applications The role SAP_BC_REDWOOD_COMM_EXT_SDL is required for Business Automation Enabler (BAE). SYSU Type of RFC object to be protected FUGR SAP Authorizations for Industry Solutions (ISU) S_DEVELOP . SDTX. SYST. RFC1. SXMI. SDIFRUNTIME.Cross-application Authorization Objects SAP Authorizations required for XAL and XMW synchronization. Run a (REL evaluated) command native to the operating system • System_ForceJobStatusUnknown .Enable dynamic trace to provide additional information to support • System_ExecuteExternalJob .Raise Ad Hoc Alert • System_APNS_Send .Export Application • System_Export_RuleSet .Run a command native to the operating system • System_External_REL_Command .List a directory on the remote server • System_FTP_mget .Explains why a job still has &.quot.Archive Audit Objects • System_ArchiveEvents .Export Audit Objects • System_Export_Application .Perform a database backup • System_CreateMonitorTree .Unknown&.Upload a file to the remote server • System_FTP_rmdir .Send an iPhone push notification.Aggregate the history data for Jobs and MonitorValues • System_Alert_Send .Background job file deleter • System_Derby_Backup .Remove a directory on the remote server 831 . • System_FTP_delete .Delete a file from the remote server • System_FTP_get .quot.Export Rule Set • System_External_Command .quot.Queued&.Remove Cleared Events • System_Backup .Runs an external job supplied by Redwood • System_ExplainJobStatus .Create a directory on the remote server • System_FTP_mput .Upload files matching a pattern to the remote server • System_FTP_put .Create a default monitor tree for all queues and process servers • System_DeleteJobFiles . The following system job definitions are available: • System_Aggregate_History .quot.Force running jobs to status &.Get a file from the remote server • System_FTP_list .Perform a Derby database backup • System_DynamicTrace .Retrieve files matching a pattern from the remote server • System_FTP_mkdir .Reference Default System Job Definitions Use System job definitions are internal job definitions and can be recognized by their prefix System_ and their job definition type which is System. • System_ArchiveAuditObjects . status • System_ExportAuditObjects . Initialize the Oracle Job service • System_Isolation_Deisolation .Internal job definition for monitoring Oracle Health Insurance scripts • System_PeopleSoft_ProgramImport .Import system supplied SAP CPS Archive (CAR) definitions • System_Import_ThirdParty ( see the Administration Guide ) .Import multiple request sets for creating Oracle Applications job chains • System_OraOHI_ImportAll .Import multiple jobs for creating Oracle Applications job definitions • System_OraApps_RequestSetImport .Get tutorials list • System_Ignored_Alert_Reporter .Import Oracle Health Insurance scripts • System_OraOHI_MonitorJob .Send an e-mail using SMTP • System_MonitorTables .Generate an overview of the system • System_InitializeOracleService .Deisolate the system • System_Isolation_SetUser .Import data from third parties into Cronacle • System_Import_ThirdParty_Plugin .Import job for creating Oracle Applications job definitions • System_OraApps_ConcurrentProgramMultipleImport ( see the Administration Guide ) .Import definitions from a SAP CPS Archive (CAR) • System_Import_JarFile .Set (or detect) the mail server and from address to be used • System_Mail_Send .Import Oracle PeopleSoft controls • System_PeopleSoft_RunJob .Raise an operator message • System_OraApps_ConcurrentProgramImport . • System_OperatorMessage .Import Oracle PeopleSoft programs • System_PeopleSoft_RunControl .Get available support files • System_Get_Tutorials_List .Import Oracle PeopleSoft processes • System_ProcessKeepClauses .Set user as isolation group reader • System_LicenseCheck .Reference • System_GetSupportFiles .Add the database table row counts to the monitor tree.Import Oracle PeopleSoft jobs • System_PeopleSoft_RunProcess .Send reports for the number of ignored alerts • System_Import_Archive .Background job definition keep clause processor 832 .Import request set for creating Oracle Applications job chains • System_OraApps_RequestSetMultipleImport ( see the Administration Guide ) .Start the import of data from third parties into Cronacle • System_Info .Import Java Archive (JAR) into a library • System_Import_SystemCarFiles .Import Oracle Health Insurance scripts • System_OraOHI_ImportSingle .Produce an XML report of the licenses that are currently in use in the system • System_Mail_Configure . Remove replied operator messages • System_RemoveRepliedMessages .Background job definition statistics updater • System_Upgrade .Perform any long running actions required after an upgrade • System_UserMessage .Generate an overview of the system version and Support Package levels • System_VersionUpdateCheck .Create a standard Accept/Reject user message • System_UserMessage_Notification .Create an email user message • System_VersionInfo .Create held jobs that restore audited objects to a point in time • System_SecureStorage_Configure .Sleep • System_SMS_Configure . • System_SetDefaultLanguage .Publishes JobFiles to a Report2Web Catalog • System_RaiseClearEvent .Reference • System_R2W_Approval .Send SMS Using SMTP • System_SNMP_Configure .Enable AES encryption of passwords.Publishes JobFiles to a Report2Web Catalog for approval.Remove deleted job files • System_RemoveOldJobs .Check if a new version of the software is available 833 . • System_R2W_Connection_Setup .Send the server address and connection information for the remote R2W server • System_R2W_Publish .Send SNMP Trap • System_SynchronizeBackgroundJobs .Synchronize background maintenance jobs • System_UpdateJobStatistics .Remove Old Jobs • System_RemoveOperatorMessages .Configure SNMP Trap defaults • System_SNMP_SendTrap .Remove replied operator messages • System_ReportRun .Set the DataRootDirectory of the System process server • System_Sleep .Raise or Clear an event definition • System_RaiseRemoteEvent .Set the SMS/SMTP gateway to be used • System_SMS_Send .Generate a report using a report object • System_Restore_Object . cannot be undone.Raise an event on a remote V8 system • System_RaiseRemoteEvent_Repository .Reconfigure logging for the scheduler • System_RemoveDeletedJobFiles .Raise an event on a remote V6 or V7 system • System_ReconfigureLogging .Set Default Language • System_SetSystemDataRootDirectory .Restore an object to a previous point in time • System_Restore_Point_In_Time . System_APNS_Send Purpose Send a push notification to iPhone users. System_Alert_Send Purpose Raise an ad hoc alert.Reference System_Aggregate_History Purpose Collect history data for jobs and monitor values to be used in the scorecard. This job definition requires the Active Monitoring Module. Parameters Parameter Description Direction Data type alertSource Alert Source In String data Data In String reply Reply Out String Schedule This job definition is designed to be scheduled in job chains to raise alerts. <n> defaults to 365 days and can be set via the registry ( see the Administration Guide ). Schedule This job is scheduled to run daily at 1:00 AM. 834 . for future reference. It makes sure that there are only <n> number of days of history jobs available in the system. Parameters Parameter Description Direction Data type addresses Notification Addresses In message Notification Content In source Notification Source In System_ArchiveAuditObjects Purpose Archive old audits. used in job chains to raise alerts in specific circumstances. for future reference. Parameters Parameter Description Direction Data type ClearedDate Remove before date: In DateTimeZone EventAgeUnitType Use age unit type: In String EventAgeUnits Remove before age: In Number EventPrefix Restrict search using event name prefix In String Kind Remove cleared events using: In String RaisedSequence Remove before raised sequence no: In Number Schedule This job can be scheduled regularly to decrease the amount of events stored in the repository. Requires the ProcessServerService. System_AS400_Command Purpose Run a command on a AS400 system.limit license key.AS400.Reference Parameters Parameter Description Direction Data type AuditAgeUnitType Age unit type In String AuditAgeUnits Age is older than In Number BusinessKeyPattern Business Key contains In String CreationDate Date is before In DateTimeZone Kind Archive audit objects by In String ObjectType Object Type In String System_ArchiveEvents Purpose Archive old events. Parameters Parameter Description Direction AS400Server The name of the AS400 server to connect with In String AS400User The account to establish the connection with In String AS400Password The corresponding password for this account In String COMMAND The command to execute on the system In String 835 DataType . System_CreateMonitorTree Purpose Was used to create the monitor tree that contains runtime information regarding process servers and queues. the tree is now generated and kept up-to-date automatically. System_Defaults_System Purpose This job definition allows you to set system-wide restart behavior of jobs. on SAP NetWeaver. Note When SAP CPS is running inside SAP NetWeaver AS Java. Schedule This job definition can be used to backup the database. so this jobs definition does not need to be used. • ${date:format} . If this job definition is not available. you need to create a job chain with this name. Parameters Parameter Description Direction Data type Filename Filename In String Platform Platform In String The Filename parameter can contain the following substitution parameters • ${SystemId} . as soon as you save the job chain. which SAP CPS uses as well. it will be converted to the special job definition. Note that you can only change the restart behavior and security on this job definition. This is the database independent job definition that will submit the correct database backup script.Reference System_Backup Purpose Perform a database backup. This job definition can be used to backup the database when no other third-party measures have already been taken to backup the database. The format is any valid Java SimpleDateFormat. a-z and 0-9 replaced with underscores. then there should already be a database backup planned for the SAP NetWeaver database. 836 .date using format 'format'. the database should already have a backup scheme.system id with all characters except A-Z. Schedule This job definition gets submitted every 15 min automatically. The format is any valid Java SimpleDateFormat. you can edit the submit frame System_DeleteJobFilesSubmitFrame in Environment > Submit Frames..redwood.system id with all characters except A-Z. Parameters This job definition has one compulsory parameter: 837 . and fatal. Note that you can only change the restart behavior and security on this job definition. The format of the trace string is <category>=<level>. as soon as you save the job chain. Valid categories are Redwood Java classes. You should only use this job definition when asked to by SAP support staff..scheduler. info.. a-z and 0-9 replaced with underscores. It is submitted by the System_Backup job. If this job definition is not available. You create a job chain with this name.. warn. System_DeleteJobFiles Purpose Delete job output files of jobs that have been deleted.. like com.Reference System_Defaults_Partition Purpose This job definition allows you to set partition-wide restart behavior of jobs. you need to create it in the partition where you want to set the restart behavior.<category>=<level>. error. Parameter Parameter Description Data Type Filename Filename String The Filename parameter can contain the following substitution parameters • ${SystemId} . there is no need to run it manually.date using format 'format'. in which case they will provide you with an appropriate class and debug level. System_Derby_Backup Purpose This job definition is used to backup Apache Derby databases. • ${date:format} . This job definition is automatically scheduled by the system. valid levels are debug. it will be converted to the special job definition. System_DynamicTrace Purpose Enables dynamic tracing to help with problem solving. to customize this behavior. Parameter Description Data Type fileName File name. Number System_ExportAuditObjects Purpose This job definition is used to archive old audit entries.Reference Parameter Description Use Data Type TraceString Trace string Categories to be traced with verbos. You should only use this job definition when asked to by SAP support staff. MinutesToRun Minutes To Run Duration of the trace. it will provide an explanation as to why that job is in the Queued state. Number System_ExecuteExternalJob Purpose This job definition executes an external job definition (for example a patch or diagnostic tool) from a file. String System_ExplainJobStatus Purpose This job definition is used to troubleshoot a job that remains in status Queued. Parameters Parameter Description Direction Data Type Kind Export audit objects by In String ObjectType Object Type In String BusinessKeyPattern Business Key Contains In String CreationDate Date is before In Date Time Zone AuditAgeUnits Age is greater than In Number AuditAgeUnitType Age Unit Type In String 838 Default Value Default List of Values D D (date)A (age) S (seconds) N (minutes) H (hours) D (days) M (months) Y (years) . in which case they will provide you with an appropriate file. The job id of the job to be examined.String ity level. Parameters This job definition has one compulsory parameter: Parameter Description Use Data Type jobId Job Id. For example Redwood String for the Redwood application or Redwood. The path to the application. Data type String System_External_Command Purpose Allows you to execute a command natively. Parameters Parameter Description Use Data Type applicationPath Path of application to export.Reference System_Export_Application Purpose This job will export an application and all its descendant objects. System_Export_RuleSet Purpose Export various objects defined in an export rule-set. Parameters Parameter Description Direction exportRuleSetName Name of the export rule-set which specifies In the objects to export. please check your license. requires a process server with the new OSNative process server parameter. Requires a Import/Export Module license. Parameters Parameter Description Direction Data type COMMAND Command to perform In String JCS_USER The OS Account under which this job will In run String 839 . Used to schedule the export of specific objects. please check your license.System for the System application inside the Redwood application. Requires a Import/Export Module license. they are exported to an archive that is attached to the job as a job file. requires a process server with the new OSNative process server parameter. Parameters Parameter Description Direction Data type JCS_REL_COMMAND The (REL Evaluated) Command to execute In String JCS_USER The OS Account under which this job will In run String System_FTP_delete Purpose Delete a file from the remote server Parameters Parameter Description Direction Data type JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String RemoteFile The name of the remote file In String Parameter Description Direction Data type JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String RemoteFile The name of the remote file In String LocalFile The name of the local file In String System_FTP_get Purpose Get a file from the remote server Parameters 840 .Reference System_External_REL_Command Purpose Allows you to specify an expression which will evaluated and executed natively. Reference System_FTP_list Purpose List a directory on the remote server Parameters Parameter Description Direction Data type JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String ListDirectory The name of the directory to get a listing from In String System_FTP_mget Purpose Retrieve files matching a pattern from the remote server Parameters Parameter Description Direction Data type JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String Pattern The pattern of files to match In String LocalDirectory The name of the local directory In String Direction Data type System_FTP_mkdir Purpose Create a directory on the remote server Parameters Parameter Description JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String RemoteDirectory The name of the remote directory In String 841 . Reference System_FTP_mput Purpose Upload files matching a pattern to the remove server Parameters Parameter Description Direction Data type JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String Pattern The pattern of files to match In String RemoteDirectory The name of the remote directory In String Direction Data type System_FTP_put Purpose Upload a file to the remote server Parameters Parameter Description JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String RemoteFile The name of the remote file In String LocalFile The name of the local file In String System_FTP_rmdir Purpose Remove a directory on the remote server Parameters Parameter Description Direction JCS_REMOTE_ENDPOINT The hostname of the FTP server to connect In with String JCS_REMOTE_USER The name of the account to login with In String RemoteDirectory The name of the remote directory In String 842 Data type . System_Ignored_Alert_Reporter Purpose Send reports for the number of ignored alerts by email to the addresses that have been ignored. it should not be submitted manually. for example . a tutorial button will appear in the user interface when a tutorial is available for the object you are using. Some tutorials require you to register. registration is free. which should not or cannot be killed. Schedule This job definition should be scheduled when you want to update the list of tutorials that are available. operator messages and other important system information for troubleshooting. These tutorials illustrate basic functionality and are free to view.redwood. 843 .com. into status unknown. This job is automatically submitted when you use the Get Support Files action on a process server or a job that reached Error. This job definition requires the Active Monitoring Module license. Parameters Parameter Description Direction Data type JobId Job ID In Number ProcessServerId Process server id In String Files The list of files to retrieve In String System_Get_Tutorials_List Purpose This job definition retrieves the list of tutorials that are available on www. This information will be required by SAP support personnel when you want to report a problem. An address will be ignored if the number of emails sent to the address exceeds the alert rate limit (in an alert rate window). Parameters Parameter Description Direction Data type JobId Job ID In Number ProcessServer Process server In String System_GetSupportFiles Purpose Retrieve the logs from a process server.Reference System_ForceJobStatusUnknown Purpose Force a running job. Requires a Import/Export Module license. Parameters Parameter Description Direction 844 Data type .masalan. for example R:\Car\Masalan. ImportRuleSetName Name of import rule-set to apply to imported objects String More Information • Importing SAP CPS Objects with Imports System_Import_JarFile Purpose This job definition allows you to import all your Java packages from a JAR file into a library. you can edit the submit frame System_Ignored_Alert_ReporterSubmitFrame in Environment > Submit Frames.car. Parameters Parameter Description Data type CarUrl Filename or URL of archive.Reference Schedule This job definition gets submitted every 15 min automatically. please check your license. See Importing SAP CPS Objects with Imports for more information. This job definition requires the Import/Export Module license. Parameter Description Direction Data type Jar Filename or URL of the archive In String Library Name of the library that the archive is to be a In part of String auditReason Reason for change String In System_Import_SystemCarFiles Purpose This job imports the SAP CPS Archive (CAR) definitions that are supplied with SAP CPS. to customize this behavior. It is called when you choose Import JAR from the context-menu of a library. System_Import_Archive Purpose This job definition is used to import CAR archive files.car String or http://filserver.com/shared/CarFiles/Masalan. Archives can be selected via a drop-down list. allowing you to interact with more than one SAP system in a session. You may be asked to run this job by SAP Support for diagnostic purposes. this requires the Chargeable version license. System_Isolation_Deisolation Purpose This job definition is used to remove all isolation groups. there is no need to run it yourself. System_InitializeOracleService Purpose Create or update the System_Oracle process server for use with the legacy PL/SQL API. Parameters Parameter Description Direction Data type Source Source system to import the data from In String JobDefinitionPerformingImport Job definition to use to import the data In String DefaultTimeZone The default timezone to use In String DestinationPartition Destination partition for the generated SAP In CPS object definitions String OutFileUrl URL to the output file String Out System_Info Purpose This job definition is used to retrieve information about the Java Virtual Machine that the System scheduler is running in. Parameters Parameter Description Direction Data type Password Oracle Password of Cronacle user In String SysPassword Oracle Password of SYS user In String 845 .0 schema as well as Oracle user SYS.Reference CarFile File name of Archive In String System_Import_ThirdParty_Plugin Purpose Import data from third-party scheduling environments. You use the System_Import_SystemCarFiles job definition to import plugins for the source system. Note that the job definition requires the passwords for both the SAP CPS version 8.0. A Mail module license is necessary.Reference Note The submit wizard will expect you to retype the password for safety reasons. 846 String . Parameters This job definition has two compulsory parameters: Parameter Description Use Data Type From From The default From: Address used in the emails String the process server sends. Schedule You schedule this job definition when instructed to do so by SAP Support Services. System_Mail_Configure Purpose Configure the Mail module to allow the process server to send emails. Server Server The SMTP server to use System_Mail_Send Purpose Send job output via email using SMTP. please check your license. please check your license. A Mail module license is necessary. Parameters Parameter Description Data Type UserName User Name String System_LicenseCheck Purpose Generate an XML file containing all the licenced items. System_Isolation_SetUser Purpose This job definition allows you to authorize a user to read all isolation groups. The message that the operator has to reply to. Job m or Step 2.limit license key. You can use regular expression to match multiple output files. it has to be a previous step to the one this job definition is in. Use this job definition if you want to log that something has happened. replyExpression Reply Expression. or contact the operator to confirm a condition or provide input. Parameters Parameter Description Direction Data Type OraApps_SystemName Applications System name In String 847 Default Value . You can use this job within a job chain to send one-way messages. System_MonitorTables Creates the database entries in the monitor tree to allow you to monitor sizes of SAP CPS-related tables. Parameters Parameter Description Data Type message Message.* matches all files. Subject Subject The subject of the email. Text Text The text of the email.Reference Parameters Parameter Description Data Type From From The sender's email address. Requires the ProcessServerService. .OraApps. syntax ''job n'. System_OperatorMessage Purpose This job definition is used to create Operator messages. reply Reply. JobFile Job file The output file of the RelativeJob. where n is the job id. In a job chain. A regular expression of valid replies. or to send messages that wait for a reply. To To The recipients' email address. RelativeJob Relative job The job that generated the output that is to be sent. you can use the syntax Step n. The reply to the operator message (output parameter) System_OraApps_ConcurrentProgramImport Purpose You use this job definition to import Oracle Applications or Oracle EBS jobs into SAP CPS. Server Server The SMTP server to use. for example job 122588. Job 3 for the third job of the second step. Reference OraApps_UserName User name In String OraApps_ResponsibilityName Responsibility name In String ApplicationShortName Application Short name In String ConcurrentProgramName Concurrent Program name In String OVERWRITE Overwrite Existing Job Definitions? In String PARTITION Partition In String APPLICATION Application In String N System_OraApps_RequestSetImport Purpose You use this job definition to import Oracle Applications or Oracle EBS request sets into SAP CPS.OHI.limit license key Parameters Parameter Description Direction DataType OraOhi_SystemName OraOhi_SystemName In String OraOhi_ScriptName OHI Script name In String OVERWRITE Overwrite Existing Job Definitions? In String PARTITION Partition In String APPLICATION Application In String 848 . Requires the ProcessServerService. Parameters Parameter Description Direction Data Type OraApps_SystemName Applications System name In String ApplicationShortName Application Short name In String RequestSetName Request set name In String OVERWRITE Overwrite Existing Job Definitions? In String PARTITION Partition In String APPLICATION Application In String Default Value N System_OraOHI_ImportAll Import All Ohi Script definitions for creating Oracle Health Insurance job definitions This job can be used to import all job definitions reading script definitions out of the Oracle Health Insurance system.limit license key. Requires the ProcessServerService.OraApps. Requires the ProcessServerService. Parameters Parameter Description Direction Data Type OraOhi_SystemName OraOhi_SystemName In String Default Value System_PeopleSoft_ProgramImport Import PeopleSoft Program definitions for creating PeopleSofts job definitions This job can be used to import job definitions reading PeopleSoft program definitions out of the PeopleSoft system.limit license key. Parameters Parameter Description Direction Data Type OraOhi_SystemName OraOhi_SystemName In String OVERWRITE Overwrite Existing Job Defini.OHI. Parameters Parameter Description Direction DataType PeopleSoft_SystemName PeopleSoft System name In String ProcessType Process Type In String ProcessName Process Name In String OVERWRITE Overwrite Existing Job Definitions? In String PARTITION Partition In String APPLICATION Application In String System_PeopleSoft_RunControl Template to run PeopleSoft run control definitions This template can be used to run PeopleSoft run controls already defined in the PeopleSoft system.In tions? String PARTITION Partition In String APPLICATION Application In String Default Value N System_OraOHI_MonitorJob Purpose Internal job definition for monitoring Oracle Health Insurance (OHI) workload. Do not submit this job definition.Reference System_OraOHI_ImportSingle Purpose You use this job definition to import Oracle Health Insurance scripts into SAP CPS. 849 . Reference Parameters Parameter Description Direction DataType PeopleSoft_SystemName PeopleSoft System name In String PeopleSoft_UserName Run User Name In String RunControlId Run Control Id In String ProcessType Process Type In String ProcessName Process Name In String ServerName Server Name In String OutputDestinationFormat Output Destination Format In String OutputDestinationString Output Destination String In String ReportFolderName Report Folder Name In String ProcessFileName Process File Name In String PrcsDistributionIdType Distribution Id Type In String PrcsDistributionId Distribution Id In String PrcsOutputDestinationType Output Destination Type In String PrcsOutputDestinationFormat Output Destination Format In String PrcsOutputDestinationString Output Destination String In String PrcsEmailSubject Email Subject In String PrcsEmailText Email Text In String PrcsEmailAddresses Email Addresses In String PrcsEmailAttachLog Email Attach Log In String PrcsEmailWebReport Email Web Report In String System_PeopleSoft_RunJob Template to run PeopleSoft job definitions This template can be used to run PeopleSoft job definitions already defined in the PeopleSoft system. Parameters Parameter Description Direction DataType PeopleSoft_SystemName PeopleSoft System name In String PeopleSoft_UserName Run User Name In String RunControlId Run Control Id In String ProcessType Process Type In String JobName Job Name In String ServerName Server Name In String OutputDestinationFormat Output Destination Format In String OutputDestinationString Output Destination String In String ReportFolderName Report Folder Name In String ProcessFileName Process File Name In String 850 . Reference PrcsDistributionIdType Distribution Id Type In String PrcsDistributionId Distribution Id In String PrcsOutputDestinationType Output Destination Type In String PrcsOutputDestinationFormat Output Destination Format In String PrcsOutputDestinationString Output Destination String In String PrcsEmailSubject Email Subject In String PrcsEmailText Email Text In String PrcsEmailAddresses Email Addresses In String PrcsEmailAttachLog Email Attach Log In String PrcsEmailWebReport Email Web Report In String System_PeopleSoft_RunProcess Template to run PeopleSoft process definitions This template can be used to run PeopleSoft process definitions already defined in the PeopleSoft system. Parameters Parameter Description Direction DataType PeopleSoft_SystemName PeopleSoft System name In String PeopleSoft_UserName Run User Name In String RunControlId Run Control Id In String ProcessType Process Type In String ProcessName Process Name In String ServerName Server Name In String OutputDestinationFormat Output Destination Format In String OutputDestinationString Output Destination String In String ReportFolderName Report Folder Name In String ProcessFileName Process File Name In String PrcsDistributionIdType Distribution Id Type In String PrcsDistributionId Distribution Id In String PrcsOutputDestinationType Output Destination Type In String PrcsOutputDestinationFormat Output Destination Format In String PrcsOutputDestinationString Output Destination String In String PrcsEmailSubject Email Subject In String PrcsEmailText Email Text In String PrcsEmailAddresses Email Addresses In String PrcsEmailAttachLog Email Attach Log In String PrcsEmailWebReport Email Web Report In String 851 . 852 . Parameters Parameter Description Direction Data Type ServerUrl R2W Server URL In String Catalog Catalog In String Username Username In String Password Password In String System_R2W_Publish Purpose Publish job output files into a Report2Web catalog. This job definition is automatically scheduled by the system. Schedule This job definition gets submitted every 15 min automatically.Reference System_ProcessKeepClauses Purpose Delete old jobs according to their keep clause and unreferenced runtime submit frames and time windows. System_R2W_Approval Purpose Publish job output files into a Report2Web catalog for approval. there is no need to run it manually. to customize this behavior. you can edit the submit frame System_ProcessKeepClausesSubmitFrame in Environment > Submit Frames. Parameters Parameter Description Direction Data Type Publish_Catalog Report2Web Catalog In String Publish_ReportName Report Name In String Publish_Source Job file(s) In String Publish_Comment Approval Comment Out String Publish_Status Approval Status Out String System_R2W_Connection_Setup Purpose Setup a connection to a Report2Web server's catalog. Parameters Parameter Description Direction Data type Values Action Action In String R (Raise) C (Clear) EventDefinition Event Definition In String Comment Comment In String System_RaiseRemoteEvent Purpose Raise an event in a remote SAP CPS instance.getSystemId() 15000 .Out mote system String URL The HTTP URL (Overrides Host:Port/Scheduler settings) In String IsolationGroup The Isolation Group of the user In String Timeout The timeout for extablishing a connection In String 853 Default Value ='Raised by job ' + jobId + ' on ' + String.Reference Parameters Parameter Description Direction Data Type Publish_Catalog Report2Web Catalog In String Publish_ReportName Report Name In String Publish_Source Job file(s) In String System_RaiseClearEvent Purpose Allows to choose an EventDefinition and perform a clear or raise on it. Parameters Parameter Description Direction Data Type Host The hostname or IP address In String Port The port number In String Username The username to login with In String Password The password to login with In String EventPartition The partition of the event In String EventName The event name In String RaiseComment The comment added to the raised event In String RaiseId The raiseid of the remote event in the re. Reference MaxRetries The max number of retries to establish a In connection String Delay The delay between retries String In 15 System_RaiseRemoteEvent_Repository Purpose Raise an event in a remote SAP CPS version 6 or version 7 instance. Parameters Parameter Description Direction Data Type Host The hostname or IP address In String Port The port number In String Database The database name In String Username The username to login with In String Password The password to login with In String EventPartition The partition of the event In String EventName The event name In String RaiseComment The comment added to the raised event In String JDBCURL The JDBC URL (Overrides Host/Port/Database settings) In String Default Value SYSJCS ='Raised by job ' + jobId + ' on ' + String.getSystemId() System_ReconfigureLogging Purpose Centrally reset the logging configuration. Parameters Parameter Description Direction Data type ProcessServer Process server In String Code Code In String 854 . System_RemoveDeletedJobFiles Purpose This job definition allows you to delete multiple old job files. Note Please do not schedule the job definition regularly.A System_RemoveOperatorMessages See System_RemoveRepliedMessages System_RemoveRepliedMessages Purpose Remove old operator messages. This job definition is used to reduce the number of operator messages in the operator message monitor. Parameters Parameter Description Direction Data type Default Value JobAgeUnitType Age unit type In String JobAgeUnits Age is older than In Number JobDate Date is before In DateTimeZone JobDefinitionPrefix Filter by job definition name In String JobDefinition The description of the job definition In Number JobId JobId is before In Number Kind Remove jobs by In String Statuses Restrict to statuses (comma separated codes) In String Default List of Values I (JobId) D (Date) A (Age) C.E. the name was changed to System_RemoveOperatorMessages as the other was considered confusing.Reference System_RemoveOldJobs Purpose Allows you to delete multiple jobs from the repository. messages that require a reply get a reply before removal.U. use keep clauses instead. Note Both job definitions are the same. Parameters Parameter Description Direction Data type AutoReply Automatically reply to In messages? String 855 Default Value Default List of Values true true false . Note This may have dependency issues if a dependent object has been deleted. Parameters Parameter Description Direction Data type BusinessKey Business Key In String DateTimeToRestore Restoration Time In DateTimeZone ObjectType Object Type In String System_Restore_Point_In_Time Purpose Allows you to restore the repository to a given point in time according to auditing.Reference ReplyList Comma separated list In of valid replies String Kind Age or Date In String OperatorMessageDate Date In Date Time Zone OperatorMessageAgeUnits Age In Number OperatorMessageAgeUnitType Age Units In String D D (date)A (age) S (seconds) N (minutes) H (hours) D (days) M (months) Y (years) System_ReportRun Purpose Generates a report on the resultset of a query filter. defined in a report object. Parameters Parameter Description Direction Data Type OutputFormat Report format In String RecordCount Maximum umber of records Out Number Report Report In String System_Restore_Object Purpose Allows you to restore an object from the auditing record for the object at a point in time. and XML. comma-separated. HTML. 856 . The output can be generated in three formats. allows to make your process wait for some seconds. note that this cannot be undone. DateTimeZone System_SecureStorage_Configure Purpose Enable AES encryption of passwords in the database. To continue with the restoration run the held jobs (in the order required to meet dependency requirements). Parameters Parameter Description Direction Data type Encrypt Storage encryption (activate only) In String System_SetDefaultLanguage Purpose Set Default Language. This directory must reside on local storage. NFS/SMB or any other type of NAS network share is not supported for the DataRootDirectory. 857 . SAN is considered local storage. Parameters Parameter Description Direction Data type Language Language In String System_SetSystemDataRootDirectory Purpose Set the DataRootDirectory of the System process server. Parameters Parameter Description Direction Data type Directory Directory In String System_Sleep Purpose Wait a number of seconds. Parameter Parameter Description Data Type DateTimeToRestore The point to restore to.Reference Held jobs are generated to restore the system to a point in time. The SMS gateway will be automatically detected using an email address of one of the mobile phones. This job definition requires the SNMP Module license Parameters Parameter Description Direction Data type community Community In String data Data In String host Host In String id Id In Number 858 . In String System_SMS_Send Purpose Send an SMS using SMTP. please check your license. please check your license. Parameters Parameter Description Direction Data type MobileNumber Mobile number In Number Tags Vendor Specific Tags In String Text Message In String System_SNMP_Configure Purpose This job definition allows you to set SNMP trap defaults. A Mail module license is necessary.Reference Parameter Description Data Type Default Value MilliSeconds Time to sleep (in milliseconds) Number 1000 System_SMS_Configure Purpose Set the SMS/SMTP gateway to use. In String SMSGatewayUser The gateway username. A Mail module license is necessary. In String SMSGateway The gateway email address. Parameters Parameter Description Direction Data type SMSGatewayPassword The gateway password. This job definition is automatically scheduled by the system. Parameters Parameter Description Direction Data type community Community In String data Data In String host Host In String id Id In Number port Port In Number System_SynchronizeBackgroundJobs Purpose Make sure that there is only one instance of each maintenance job running. this data is available in the statistics section in the details pane of Definitions > Job Definitions. there is no need to run it manually. unless you are instructed to do so by SAP support. please check your license. System_UpdateJobStatistics Use Update the statistics of job definitions with runtime data from jobs that have run. A SNMP module license is necessary.Reference port Port In Number System_SNMP_SendTrap Purpose Send an SNMP trap. you can edit the submit frame System_UpdateJobStatisticsSubmitFrame in Environment > Submit Frames. to customize this behavior. Schedule This job definition gets submitted every 15 min automatically. System_Upgrade Purpose This job definition performs post-upgrade tasks and should not be submitted by users. Parameters Parameter Description Data Type Mode Mode String 859 . String UserMessage_FileLinks A list of direct URLs to user message at. String Subject_Name The full name or username of the mail recipient In String Mail_Attachments A semi-colon delimited list of Job File references to attach to the mail job. delegated. In String UserMessage_OldAssign. String UserMessage_Operator The name of the operator who raised the In notification. In String 860 Data Type Examples file1=Step 1.In tachments. The user can then approve or reject it.g. String UserMessage_Participants Participant Users In String UserMessage_Comment The comment the user entered Out String UserMessage_Roles Participant Roles In String System_UserMessage_Notification This job definition is used to send a message to a user via email.Reference System_UserMessage This job definition is used to send a message to a user requesting approval.The person who was previously respons. responded. file2=Step 1. Parameters Parameter Description Direction Mail_To The email address of the person who will In receive this notification.In ee ible for the user message. Job 1:stdout.log.log . String UserMessage_Action The action performed to the user message. approve Out or reject. Parameters Parameter Description Direction Data Type UserMessage_SelectedAction The answer the user selected. In String UserMessage_NewAssignee The person who is now responsible for the user message. String UserMessage_Text The user message text. forwarded. Job 2:stdout. In e. When a user rejects a user message. this is used to validate processes that have completed. the user message job reaches status Error. Run an ABAP report with print parameters and spool list recipient • SAP_ACC_Controller . The long versions are more verbose than the short ones. so both are listed here. The following SAP job definitions are available: • SAP_AbapRun .redwood.Run ABAP Report • SAP_AbapRunPrint .eu.com [http://support. only critical updates.us. Schedule This job should not be submitted manually. the only exceptions are for Java Scheduler job definitions that have the JXBP job definition type.redwood. Note The job will not check for regular releases.Reference System_VersionInfo Purpose Retrieve version information of SAP CPS. SAP CPS will ask if you want to be alerted when critical updates are available for the version you are using. however. System_VersionUpdateCheck Purpose Check online to see if a critical update of SAP CPS is available.us. Some parameters have both long and short versions of their values.Control SAP application services through the ACC-CCI interface • SAP_BObj_DataServicesJobRun . it will run regularly if the following registry key is set to true: /configuration/update/check The first time you log in.com] and support.com [http://support.redwood.Runs a DataServices job • SAP_BObj_GenerateReportDefinition . The output is especially useful for support requests.redwood.Imports SAP BusinessObjects reports into the scheduler repository 861 .Run an ABAP report with print parameters • SAP_AbapRunPrintExt .Generates a job definition of an SAP BusinessObjects report in the scheduler repository • SAP_BObj_ImportReportDefinitions . administrators will see a message when a critical update is available.eu. This job definition requires an internet connection to support. The long values are used in drop-down menus in the submit wizard.com]. The job generates no output. the short version must be used in job chains. Default SAP Job Definitions Use SAP-specific job definitions can be recognized by their prefix SAP_ and their job definition type which is SAPR3 for most. Represents a process of an SAP BW process chain • SAP_BW_ProcessChain .Import InfoPackage groups • SAP_BW_ImportInfoPackages .Run an ABAP report from SAP Closing Cockpit • SAP_ClosingCockpit_ManualTask .Reference • SAP_BObj_ReportRun .Copy a variant of an ABAP program • SAP_DeleteCcmsMonitors .Get the status of an SAP batch job • SAP_CcmsJobModifyHeader .Monitored SAP batch job • SAP_CcmsJobCheckStatus .Represents an SAP BW process chain • SAP_BW_ProcessChainRun .Restart a process of an SAP BW process chain • SAP_BW_RestartProcessChain .Runs an SAP BW InfoPackage • SAP_BW_MaintainProcessChainDefinition .Get the runtime statistics of an SAP batch job • SAP_CcmsJobGetStatus .Get an application log of an SAP batch job • SAP_CcmsJobGetApplicationLogHandles .Get a spool list of an SAP batch job • SAP_CcmsJobGetStatistics .Triggers an event in the SAP BusinessObjects system • SAP_BW_GenerateInfoPackageGroup .Restarts an SAP BW process chain • SAP_CcmsJob .Manual task in SAP Closing Cockpit • SAP_CopyVariant .Runs an SAP BW process chain • SAP_BW_RestartProcess .Import InfoPackages • SAP_BW_ImportProcessChainDefinition .Reconcile the status of an SAP batch job according to the DB with the actual status • SAP_CcmsJobGetApplicationLog .Generates the definition of a single BW process chain job in the scheduler repository • SAP_BW_ImportInfoPackageGroups .Import Process Chains • SAP_BW_InfopackageRun .Modifies the header data of an SAP batch job • SAP_ClosingCockpit_AbapRun .Delete a variant of an ABAP program 862 .Get the list of application log handles of an SAP batch job • SAP_CcmsJobGetLog .Generate a job chain for an SAP BW InfoPackage group • SAP_BW_GenerateJobDefinition .Removes an SAP CCMS monitor from observation • SAP_DeleteVariant .Get the job log of an SAP batch job • SAP_CcmsJobGetSpoollist .Maintains the definition of an SAP BW process chain • SAP_BW_Process .Runs an SAP BusinessObjects Crystal Reports or Web Intelligence report • SAP_BObj_TriggerEvent .Import process chain definition • SAP_BW_ImportProcessChains . Import SAP application servers • SAP_ImportArchiveObjects .Import SAP Calendars • SAP_ImportCcmsJobs .Import the definition of the SAP recipients • SAP_ImportVariantDefinition .Retrieves the list of installed components • SAP_GetSyslog ( see the Administration Guide ) .Import external commands • SAP_ImportOutputDevices .Import the definition of a variant of an ABAP program • SAP_ImportVariants .Intercepted SAP batch job • SAP_JXBP_GenerateJobDefinition .Generates the definition of a single SAP J2EE job definition in the scheduler repository • SAP_JXBP_ImportJobDefinitions .Import variants of ABAP programs • SAP_Info .Maintain XBP Options • SAP_MA_CopyParameters .Reference • SAP_ExportRFCFunctionModuleInterface .Import ABAP Programs • SAP_ImportApplicationServers .Export the definition of a RFC function module • SAP_ExternalCommandRun .Imports the definitions of SAP J2EE jobs so that they can be started later from within the scheduler • SAP_MaintainXbpOptions .Import the parameter definition an ABAP program • SAP_ImportAbapPrograms .Adds a CCMS monitor to the list of observed monitors • SAP_ImportExternalCommands .Run an external command • SAP_ExternalProgramRun .Imports SAP batch job definitions • SAP_ImportCcmsMonitors .Generates the definition of a single SAP batch job in the scheduler repository • SAP_GetBatchResources .Run an external program • SAP_GenerateCcmsJobDefinition .Retrieves the batch event history • SAP_GetInstalledComponents .Retrieves details of an SAP system • SAP_InterceptedJob .Import SAP batch events • SAP_ImportCalendars .Retrieves XMI Log • SAP_ImportAbapParameterDefinition .Retrieves information about available application servers and batch work processes • SAP_GetEventHistory .Copy mass activity parameters 863 .Retrieves the SAP syslog • SAP_GetXmiLog .Import output devices and formats • SAP_ImportRecipients .Import archive objects and document types • SAP_ImportBatchEvents . Reload SAP application link definitions • SAP_RunTemplateJob .Checks the status of all terminated SAP jobs SAP_AbapRun Use This job definition is used to run ABAP's via the XBP interface in SAP Systems.0) if you do not load the Redwood Transport files.Stop an SAP mass activity run • SAP_PI_GetChannelStatus .Reference • SAP_MA_CreateParameters .Stops an SAP XI/PI channel • SAP_RaiseEvent .Starts an SAP XI/PI channel • SAP_PI_StopChannel . yet it offers a limited set of print and archive parameters (only those that are available in XBP 1.Show SAP mass activity definition • SAP_MA_StopMassActivity .Raises a batch event in the SAP system • SAP_ReleaseInterceptedJobs .Run an ABAP report from SAP Solution Manager • SAP_StoreVariant . 864 .Delete the dunning proposal of a new mass activity • SAP_MA_ImportMassActivities .Create a parameter record and start a mass activity run • SAP_MA_MassActivityTemplateRun . This job definition works with every version of the XBP interface.Retrieves the current status of an SAP XI/PI channel • SAP_PI_ImportChannels .Import SAP mass activity definitions • SAP_MA_ImportMassActivity .Copy and run an SAP batch job • SAP_SetXmiAuditLevel .Switches the operation mode in the SAP system • SAP_SynchronizeEventHistoryCriteria .Start a mass activity run using an existing parameter record • SAP_MA_ResumeMassActivity .Synchronizes the SAP interception criteria with job control rules • SAP_SynchronizeTerminatedCcmsJobs .Store a variant of an ABAP program • SAP_SwitchOperationMode .Synchronizes the event history criteria with the SAP system • SAP_SynchronizeInterceptionCriteria .Sets XMI Log Level • SAP_SolutionManager_AbapRun .Create a new mass activity parameter record • SAP_MA_DeleteDunningProposal .Imports SAP XI/PI channels • SAP_PI_StartChannel .Releases intercepted SAP jobs • SAP_ReloadApplicationLinks .Import an SAP mass activity definition • SAP_MA_MassActivityRun .Resume processing of an interrupted SAP mass activity run • SAP_MA_ShowMassActivity . N SHOWAPPLLOG Retrieve Application Logs?(*) Y TARGET_GROUP SAP target server group name String TARGET_SERVER SAP target server name String TEMPORARY_VARIANT Create temporary variant? String 865 Y.Reference Parameters Name Description Data Type Default Expression Default List of Values ABAP_PROGRAM_NAME ABAP program String ABAP_VARIANT_NAME ABAP variant String TEMPORARY_VARIANT Create temporary variant? String N Y. N SHOWSPOOL Retrieve spool list?(*) String Y Y. N JOBCLASS SAP job class String C A. N ARCHIVE_INFO Archive info String ARCHIVE_OBJECT Document type String ARCHIVE_SAPOBJECT Archive SAP object String CLIENT SAP client String DELETE_JOB Delete job when finished? String N Y. N N Y. N .B.C JOBCOUNT SAP job count String JOBNAME SAP job name String LANGUAGE SAP language for the step String PRINT_ARCMODE Print/Archive mode String 1 (Print only) 1 (Print only) 2 (Archive only) 3 (Print and Archive) PRINT_BANNERPAGE Selection cover sheet? String N Y. N PRINT_NUMCOLUMNS Print columns per page String PRINT_NUMLINES Print lines per page String PRINT_RECIPIENT Spool list recipient String PRINT_RELEASE Release print job? String N Y. N PRINT_SAPBANNER SAP cover page? String D (System D (System DeDefault) fault)Y (Print)N (Do not print) PRINT_SHOWPASSWD Authority for printing String SAP_SYSTEMS SAP System String SAP_USER_NAME SAP user name String SHOWLOG Retrieve job log?(*) String Y Y. N PRINT_COPIES # of copies String 1 PRINT_DESTIN Printer String PRINT_EXPIRATION Expiration in days String 8 1-8 days 9 (Do not Delete) PRINT_IMMEDIATE Print immediately? String N Y. This way. Retrieving Spool Output as PDF By duplicating the AbapRun job definitions and changing the default output format for the job definition to PDF.Referred to as Obj. 866 .page orientation. you will have to use the job definition SAP_AbapRunPrint or SAP_AbapRunPrintExt.page range. if there are any.Referred to as Doc. It is also possible to duplicate any of the AbapRun job definitions and add the parameters there. Additional Print Parameters The additional print parameters can be generated when importing CCMS jobs by setting the parameter Generate Extra Print Parameters? (EXTENDED_PRINT_PARAMETERS) to Yes.type in SAPGUI • Archive object .Referred to as Text in SAPGUI Note If you need to use the optional Archive text information field parameter.The email address for the mail printer • PAGE_FROM / PAGE_TO .Reference If you set Print/Archive mode to Archive only or Print and Archive. numeric values • DRAFT_MODE . This should work if you can retrieve the spool as PDF from within SAPGui. you can force the SAP system to convert the Spool to PDF.draft mode. you can see colors. the max length of the email address is limited to 50 characters. known as Text in SAPGUI.type in SAPGUI • Archive info . Valid values: Y (Yes) and N (No) • PAGE_ORIENTATION . you can make jobs wait on events in SAP: Parameter Description Direction Data Type STARTCOND_EVENTID batch event id In String STARTCOND_EVENTPARM parameter of the event id In String Note that you have to duplicate the job definition and modify the duplicate. Waiting for SAP Events By adding the following two parameters. The following parameters are recognized: • EMAIL_ADDRESS . the following additional Archive parameters must be filled: • Archive SAP object . Valid values: L (Landscape) and P (Portrait) Note Due to the limited size of the field in SAP.Referred to as Information in SAPGUI • Archive text information field . 0 interface. You can use the SAP Object Editor to inspect previously imported variants for the specific names. This job definition makes use of the extended capabilities of the XBP 2.com/sap/support/notes/513352]. only the given number of lines either from the beginning or from the end of the joblog is retrieved. More Information Handling ABAP programs SAP_AbapRunPrint Use This job definition is used to run ABAP's via the XBP interface in SAP Systems. N . Retrieving Part of the Job Log You can retrieve part of the job log by duplicating one of the AbapRun job definitions and specifying one of the following parameters: • JOBLOG_FIRST_LINES .Reference Note According to SAP Note 513352 [http://service. A temporary variant is created for the job and deleted once the job has finished. see Creating and Modifying Variants in SAP CPS for more information. you can make use of temporary variants. which provides an extended set of print and archive parameters. Parameters Name Description Data Type ABAP_PROGRAM_NAME ABAP program String ABAP_VARIANT_NAME ABAP variant String TEMPORARY_VARIANT Create temporary variant? String ARCHIVE_ARCTEXT Archive text information field String 867 Default Expression Default List of Values N Y.0 the new functionality is disabled if you do not have the transport files installed. printing with access method "M" (email printer) will not be developed further.sap. You specify the values and select options by creating job parameters with names matching the technical name of the parameter or select option and setting Create Temporary Variant? or TEMPORARY_VARIANT to Y. Temporary Variants By duplicating the AbapRun job definitions and adding job parameters. This job definition works on every version of the XBP interface. yet on versions below 2.retrieve the last <n> lines of the job log When filled with a value > 0.retrieve the first <n> lines of the job log • JOBLOG_LAST_LINES . N PRINT_PRNEW New spool? String Y Y.Reference ARCHIVE_AR_OBJECT Document type String ARCHIVE_INFO Archive info String ARCHIVE_SAP_OBJECT Archive SAP object String CLIENT SAP client String DELETE_JOB Delete job when finished? String N Y. N SHOWSPOOL Retrieve spool list?(*) String Y Y. N PRINT_PRREC Spool list recipient String PRINT_PRREL Release print job? String N Y. N JOBCLASS SAP job class String C A. C JOBCOUNT SAP job count String JOBNAME SAP job name String LANGUAGE SAP language for the step String PRINT_ARMOD Print/Archive mode String 1 PRINT_FOOTL Print a footer? String N Y. N PRINT_LICT Print lines per page String PRINT_LISZ Print columns per page String PRINT_PAART Print format String PRINT_PDEST Printer String PRINT_PEXPI Expiration in days String 8 1-8 days 9 (Do not Delete) PRINT_PLIST Spool list name String PRINT_PRABT Department on cover page String PRINT_PRBER Authority for printing String PRINT_PRBIG Selection cover sheet? String N Y. B. N PRINT_PRSAP SAP cover page? String D (System D (System DeDefault) fault)Y (Print)N (Do not print) PRINT_PRTXT Cover sheet title String PRINT_PRUNX OS cover sheet? String PRINT_PTYPE Spool type String SAP_SYSTEMS SAP System String SAP_USER_NAME SAP user name String SHOWLOG Retrieve job log?(*) String Y Y. N PRINT_PRCOP # of copies String 1 (Print only) 1 (Print only) 2 (Archive only) 3 (Print and Archive) PRINT_PRDSN Spool dataset name String PRINT_PRIMM Print immediately? String N Y. N 868 D (System D (System DeDefault) fault)Y (Print)N (Do not print) . you can force the SAP system to convert the Spool to PDF. This should work if you can retrieve the spool as PDF from within SAPGui. printing with access method "M" (email printer) will not be developed further.page orientation. N If you set Print/Archive mode to Archive only or Print and Archive.draft mode. the max length of the email address is limited to 50 characters.page range.com/sap/support/notes/513352]. Valid values: Y (Yes) and N (No) • PAGE_ORIENTATION .Referred to as Information in SAPGUI Waiting for SAP Events By adding the following two parameters. Retrieving Spool Output as PDF By duplicating the AbapRun job definitions and changing the default output format for the job definition to PDF. This way. you can see colors. N N Y. Additional Print Parameters The additional print parameters can be generated when importing CCMS jobs by setting the parameter Generate Extra Print Parameters? (EXTENDED_PRINT_PARAMETERS) to Yes. The following parameters are recognized: • EMAIL_ADDRESS .sap.The email address for the mail printer • PAGE_FROM / PAGE_TO . if there are any. Valid values: L (Landscape) and P (Portrait) Note Due to the limited size of the field in SAP.Referred to as Doc.type in SAPGUI • Archive object . Note According to SAP Note 513352 [http://service.Reference SHOWAPPLLOG Retrieve Application Logs?(*) Y TARGET_GROUP SAP target server group name String TARGET_SERVER SAP target server name String TEMPORARY_VARIANT Create temporary variant? String Y. 869 . It is also possible to duplicate any of the AbapRun job definitions and add the parameters there.type in SAPGUI • Archive Info . numeric values • DRAFT_MODE . you can make jobs wait on events in SAP: Parameter Description Direction Data Type STARTCOND_EVENTID batch event id In String STARTCOND_EVENTPARM parameter of the event id In String Note that you have to duplicate the job definition and modify the duplicate. the following Archive parameters should be filled: • Archive SAP object .Referred to as Obj. only the given number of lines either from the beginning or from the end of the joblog is retrieved. You specify the values and select options by creating job parameters with names matching the technical name of the parameter or select option and setting Create Temporary Variant? or TEMPORARY_VARIANT to Y.retrieve the last <n> lines of the job log When filled with a value > 0. This job definition works on every version of the XBP interface. This job definition makes use of the extended capabilities of the XBP 3. A temporary variant is created for the job and deleted once the job has finished. More Information Handling ABAP programs SAP_AbapRunPrintExt Use This job definition is used to run ABAP's via the XBP interface in SAP Systems. N . You can use the SAP Object Editor to inspect previously imported variants for the specific names.0 the new functionality is disabled if you do not have the transport files installed. Temporary Variants By duplicating the AbapRun job definitions and adding job parameters. yet on versions below 3.retrieve the first <n> lines of the job log • JOBLOG_LAST_LINES .0 interface to set the spool list recipient and retrieve application log and batch statistics of the SAP job.Reference Retrieving Part of the Job Log You can retrieve part of the job log by duplicating one of the AbapRun job definitions and specifying one of the following parameters: • JOBLOG_FIRST_LINES . see Creating and Modifying Variants in SAP CPS for more information.Default List of Valpression ues N N Y. you can make use of temporary variants. Parameters Name Description Data Type ABAP_PROGRAM_NAME ABAP program String ABAP_VARIANT_NAME ABAP variant String TEMPORARY_VARIANT Create temporary variant? String ARCHIVE_ARCTEXT Archive text information field String ARCHIVE_AR_OBJECT Document type String ARCHIVE_INFO Archive info String ARCHIVE_SAP_OBJECT Archive SAP object String CLIENT SAP client String DELETE_JOB Delete job when finished? String 870 Default Ex. Reference JOBCLASS SAP job class String C A. N PRINT_PRCOP # of copies String 1 PRINT_PRDSN Spool dataset name String PRINT_PRIMM Print immediately? String N PRINT_PRNEW New spool? String Y PRINT_PRREC Spool list recipient String PRINT_PRREL Release print job? String N PRINT_PRSAP SAP cover page? String D (System D (System Default)Y Default) (Print)N (Do not print) PRINT_PRTXT Cover sheet title String PRINT_PRUNX OS cover sheet? String PRINT_PTYPE Spool type String REC_BLIND_COPY Recipient blind copy flag String N Y. N REC_NO_PRINT N Y. N REC_COPY Recipient copy flag String N Y. N Y. B. N Recipient no print flag 871 String Y. N PRINT_LICT Print lines per page String PRINT_LISZ Print columns per page String PRINT_PAART Print format String PRINT_PDEST Printer String PRINT_PEXPI Expiration in days String 8 1-8 days 9 (Do not Delete) PRINT_PLIST Spool list name String PRINT_PRABT Department on cover page String PRINT_PRBER Authority for printing String PRINT_PRBIG Selection cover sheet? String N Y. N REC_DELIVER Report send status String _ (System Default) _ (System Default) A (Always) E (On error) N (Never) REC_EXPRESS Recipient express flag String N Y. N D (System D (System Default)Y Default) (Print)N (Do not print) . C JOBCOUNT SAP job count String JOBNAME SAP job name String LANGUAGE SAP language for the step String PRINT_ARMOD Print/Archive mode String 1 (Print only) 1 (Print only) 2 (Archive only) 3 (Print and Archive) PRINT_FOOTL Print a footer? String N Y. N REC_MAILSTATUS Report status by e-mail String _ (System Default) _ (System Default) A (Always) E (On error) N (Never) REC_NO_FORWARDING Recipient no forwarding flag String N Y. Referred to as Information in SAPGUI Waiting for SAP Events By adding the following two parameters. Retrieving Spool Output as PDF By duplicating the AbapRun job definitions and changing the default output format for the job definition to PDF. This way. N SHOWSPOOL Retrieve spool list?(*) String Y Y. This should work if you can retrieve the spool as PDF from within SAPGui. Additional Print Parameters The additional print parameters can be generated when importing CCMS jobs by setting the parameter Generate Extra Print Parameters? (EXTENDED_PRINT_PARAMETERS) to Yes.type in SAPGUI • Archive object . The following parameters are recognized: 872 . N SHOWLOG Retrieve job log?(*) String Y Y. you can force the SAP system to convert the Spool to PDF. if there are any.Referred to as Doc. you can make jobs wait on events in SAP: Parameter Description Direction Data Type STARTCOND_EVENTID batch event id In String STARTCOND_EVENTPARM parameter of the event id In String Note that you have to duplicate the job definition and modify the duplicate. It is also possible to duplicate any of the AbapRun job definitions and add the parameters there.type in SAPGUI • Archive Info . N TEMPORARY_VARIANT Create temporary variant? U (Internet U (Internet User) B User) (SAP user) O (SAPOffice user) P (Personnel distribution list) C (Shared distribution list) F (Fax number) A (External User) String String If you set Print/Archive mode to Archive only or Print and Archive. N SHOWSTAT Retrieve job statistics? String Y Y.Reference REC_RECIPIENT Spool list recipient String REC_TYPE Recipient type String SAP_SYSTEMS SAP System String SAP_USER_NAME SAP user name String SHOWAPPLLOG Retrieve Application Logs?(*) String Y Y. N TARGET_GROUP SAP target server group name String TARGET_SERVER SAP target server name N Y. you can see colors. the following Archive parameters should be filled: • Archive SAP object .Referred to as Obj. Reference • EMAIL_ADDRESS - The email address for the mail printer • PAGE_FROM / PAGE_TO - page range, numeric values • DRAFT_MODE - draft mode. Valid values: Y (Yes) and N (No) • PAGE_ORIENTATION - page orientation. Valid values: L (Landscape) and P (Portrait) Note Due to the limited size of the field in SAP, the max length of the email address is limited to 50 characters. Note According to SAP Note 513352 [http://service.sap.com/sap/support/notes/513352], printing with access method "M" (email printer) will not be developed further. Retrieving Part of the Job Log You can retrieve part of the job log by duplicating one of the AbapRun job definitions and specifying one of the following parameters: • JOBLOG_FIRST_LINES - retrieve the first <n> lines of the job log • JOBLOG_LAST_LINES - retrieve the last <n> lines of the job log When filled with a value > 0, only the given number of lines either from the beginning or from the end of the joblog is retrieved. Temporary Variants By duplicating the AbapRun job definitions and adding job parameters, you can make use of temporary variants. A temporary variant is created for the job and deleted once the job has finished. You specify the values and select options by creating job parameters with names matching the technical name of the parameter or select option and setting Create Temporary Variant? or TEMPORARY_VARIANT to Y. You can use the SAP Object Editor to inspect previously imported variants for the specific names, see Creating and Modifying Variants in SAP CPS for more information. More Information Handling ABAP programs SAP_ACC_Controller Use This job definition allows you to control (for example start and stop) SAP application services via Adaptive Computing Controller - Controller Command Interface (ACC-CCI). Parameters Parameter Description Direction 873 Data Type Default Value Values Reference Url URL of the ACC-CCI inter- In face String Username User name In String Password Password In String Command ACC-CCI Command In String ServiceId Service Id In String Hostname Hostname In String ForceSmallServer Force start on small server? In String false true, false ReplyLog Get reply log In String true true, false More Information • Controlling SAP Adapting Computing Environments with SAP CPS SAP_BObj_DataServicesJobRun Use Runs a DataServices job. Parameters Parameter Description Direction Data Type SAP_SYSTEMS SAP System In String DS_REPO_NAME Repository name In String DS_JOB_NAME Job name In String DS_JOB_SERVER Job server In String DS_JOB_SERVER_GROUP Job server group In String Default Value Values Default Value Values Y Y, N SAP_BObj_GenerateReportDefinition Use Generates a job definition of an SAP BusinessObjects report in the scheduler repository. Parameters Parameter Description Direction Data Type SAP_SYSTEMS SAP System In String REPORT_PATH Report path In String REPORT_CUID Report CUID In String OVERWRITE Overwrite Existing Job Defin- In itions? String 874 Reference JOBDEF_NAME Name of Generated Job Definition In String APPLICATION Application In String PARTITION Partition In String SAP_BObj_ImportReportDefinitions Use Imports SAP BusinessObjects reports into the scheduler repository. Parameters Parameter Description Direction Data Type Default Value SAP_SYSTEMS SAP System In String REPORT_PATH Report path In String JOBDEF_NAME Name of Generated Job Definition In String JOBNAME_GENERATION Use name as In String F OVERWRITE Overwrite Existing Job Definitions? In String Y APPLICATION Application In String PARTITION Partition In String TEST_RUN Test run? In String Values Y The Report path (REPORT_PATH) parameter accepts the path to the report within BusinessObjects (for example Feature Samples/Drilldown); note that this is the path in the user interface, not the path on the file system. You may use wildcards, however, no more than 200 reports will be imported; this is a limitation of the BusinessObjects API. You may specify the SI_KIND in the value as such //InfoObjects/Root Folder/**/*[SI_KIND='Webi'] or //InfoObjects/Root Folder/**/*[SI_KIND='CrystalReport']. SAP_BObj_ReportRun Use Start SAP BusinessObjects reports from within SAP CPS. Parameters Parameter Description Direction Data Type SAP_SYSTEMS SAP System In String REPORT_PATH Report path In String REPORT_CUID Report CUID In Out String REPORT_ID Report Id Out String REPORT_KIND Report Kind Out String 875 Reference SAP_BObj_TriggerEvent Use Triggers an event in the SAP BusinessObjects system Parameters Parameter Description Direction Data Type SAP_SYSTEMS SAP System In String EVENT_ID Event In String SAP_BW_GenerateInfoPackageGroup Use Generate an InfoPackage group in an SAP System. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String INFOPACKAGEGROUP_NAME SAP BW InfoPackage group In String JOBDEF_NAME Name for the generated job defini- In tion String OVERWRITE Overwrite existing job definitions? In String APPLICATION Application In String SHOWLOG Retrieve job log?(*) In String Default Expression Y Y SAP_BW_GenerateJobDefinition Use Generates the definition of a single BW process chain job in the scheduler repository. Submit this job definition to start the BW process chain from within SAP CPS. Parameters Parameter Description Direction Data Type SAP_SYSTEMS SAP System In String PCHAIN_NAME Technical Name of SAP BW Process Chain In String OVERWRITE Overwrite Existing Job Defini- In tions? String 876 Default Values Value N Y, N Reference JOBDEF_NAME Name of Generated Job Defini- In tion String APPLICATION Application In String PARTITION Partition In String CHAIN_RESTARTABLE Make Processes Restartable If In Errors Occur? String F F (Failed) A (All) N (Not restartable) SYNCHRONOUS Synchronous Run? In String N Y, N SIMULATE Simulate Run? In String N Y, N NOPLAN No Plan? In String N Y, N SHOWLOG Retrieve Job Log? In String Y Y, N SAP_BW_ImportInfoPackageGroups Use Import InfoPackage groups from an SAP System. Parameter Name Description Direction Data Type SAP_SYSTEMS SAP System In String SAP_BW_ImportInfoPackages Use Import InfoPackages. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String INFOPACKAGE_NAME Technical name of the SAP BW In- In foPackage String MAX_COUNT Max. count In Number DROP_OLD_SELECTION Drop old selection? In String IPAK_INFOSOURCE Info source of the SAP BW InfoPack- In age String IPAK_SOURCESYSTEM Source system of the SAP BW InfoPackage In String IPAK_DATASOURCE Data source of the SAP BW InfoPack- In age String 877 Default Expression Y Reference SAP_BW_ImportProcessChainDefinition Use Import the definition of a Process Chain. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String PCHAIN_NAME Technical name of the SAP BW In Process Chain String DROP_OLD_SELECTION Drop old selection? In String Default Expression Y More Information Running Process Chains SAP_BW_ImportProcessChains Use Import process chains. Parameters Name Description Direction Data Type Default Expression DROP_OLD_SELECTION Drop old matching values? In String Y IMPORT_CHAIN_DEFINI- Import process chain definition? TION In String MAX_COUNT Max. count In Number PCHAIN_NAME Technical name of the SAP BW Process Chain In String PCHAIN_TEXT Description of the SAP BW process In chain String SAP_SYSTEMS SAP System String In More Information Running Process Chains SAP_BW_InfopackageRun Use This job definition is used to run InfoPackages in SAP BW. 878 Reference Parameters Name Description Data Type Direction Default Ex- Values pression JOBNAME SAP BW job name In String NAME Technical name of the SAP BW InfoPackage In String REQUESTID Request ID of an SAP BW InfoPackage run Out String SAP_SYSTEMS SAP System In String SHOWLOG Retrieve job log?(*) String Y Y, N SHOWSPOOL Retrieve spool list?(*) String Y Y, N SHOWAPPLLOG Retrieve Application Logs?(*) Y Y, N SAP_BW_MaintainProcessChainDefinition Use Maintain the definition of a Process Chain. Parameters Name Description Direc- Data Type tion SAP_SYSTEMS SAP System In String PCHAIN_NAME Technical name of the SAP BW Process Chain In String BW_PROCESS_TYPE Type of the SAP BW process In String BW_PROCESS_VARIANT Variant (name) of the SAP BW In process String BW_MAX_RESTARTS Number of automatic restarts In on error Number BW_RESTART_DELAY Delay needed to restart. Number 10 BW_REUnit of the delay (seconds or In START_DELAY_TIME_UNIT minutes) String M(Minutes) M (Minutes) S (Seconds) BW_RESTART_UNCHECKED Restart unchecked In String BW_ERROR_PROCESS_TYPE Type of the SAP BW process In to restart on error String BW_ERROR_PROCESS_VARI- Variant (name) of the SAP BW In ANT process to restart on error String 879 In Default Ex- Default pression List of Values Reference SAP_BW_Process Use This job definition represents a process of a BW Process Chain. It is not supposed to be scheduled by the user. Parameters Name Description Data Type Default Expression Values ID SAP BW process id String JOBCOUNT SAP BW process batch job count String LOGID SAP BW process chain logid String NAME SAP BW process name String SHOWLOG Retrieve job log?(*) String Y Y, N SHOWSPOOL Retrieve spool list?(*) String Y Y, N SHOWAPPLLOG Retrieve Application Logs?(*) Y Y, N TYPE SAP BW process type String SAP_BW_ProcessChain Use This job definition represents an SAP BW Process Chain. It is not supposed to be scheduled by the user. Parameters Name Description Direction Data Type Default Ex- Values pression SAP_SYSTEMS SAP System In String NAME Technical name of the SAP BW In Process Chain String LOGID SAP BW process chain LogID In/Out String SYNCHRONOUS Synchronous run? In String N SIMULATE Simulate run? In String N NOPLAN No plan? In String N SHOWLOG Retrieve job log?(*) String Y Y, N SHOWSPOOL Retrieve spool list?(*) String Y Y, N SHOWAPPLLOG Retrieve Application Logs?(*) Y Y, N SAP_BW_RestartProcess Use This job restarts an instance of a process of an SAP BW Process Chain. You do not have to submit this job definition, when a job of a process chain fails, the parent job of the job chain will have an operator message with which 880 Reference you can restart the process chain or one or more of its children. Restarting process chains requires ProcessServerService.SAP.ProcessChainRestart license key. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String NAME SAP BW process name In String ID SAP BW process id In String TYPE SAP BW process type In String PCHAIN_NAME Technical name of the SAP BW In Process Chain String LOGID SAP BW process chain LogID In String In String JOBCOUNT SAP BW process batch job count In String SHOWLOG Retrieve job log?(*) String BW_RESTART_UN- Restart unchecked CHECKED In Default Expression Values CHAIN, TRIGGER, ABAP ... N Y, N N Y, N More Information Restarting Process Chains SAP_BW_RestartProcessChain Use This job restarts an instance of an SAP BW Process Chain. You do not have to submit this job definition, when a job of a process chain fails, the parent job of the job chain will have an operator message with which you can restart the process chain or one or more of its children. Restarting process chains requires ProcessServerService.SAP.ProcessChainRestart license key. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String NAME Technical name of the SAP BW Process Chain In String LOGID SAP BW process chain LogID In/Out String BW_RESTART_UNCHECKED Restart unchecked In String 881 Default Expression Y Reference SAP_BW_ProcessChainRun Use This job definition is used to run BW Process Chains in SAP. Parameters Name Description Data Type CHAIN_RESTARTABLE Make processes restartable on er- String ror? LOGID SAP BW process chain LogID NAME Technical name of the SAP BW String Process Chain NOPLAN No plan? String SAP_SYSTEMS SAP System String SHOWLOG Retrieve job log?(*) SHOWSPOOL Default Ex- Default List of pression Values F (Failed) F (Failed) A (All) N (Not restartable) N Y, N String Y Y, N Retrieve spool list?(*) String Y Y, N SHOWAPPLLOG Retrieve Application Logs?(*) Y Y, N SIMULATE Simulate run? String N Y, N SYNCHRONOUS Synchronous run? String N Y, N String SAP_CcmsJob Use This job definition represents an SAP batch process that is monitored by SAP CPS yet running under full control of the SAP System. It is not supposed to be scheduled by the user. Parameters Name Description Data Type CLIENT SAP client String DELETE_JOB Delete job when finished? String JOBCOUNT SAP job count String JOBNAME SAP job name String SAP_USER_NAME SAP user name String SHOWLOG Retrieve job log?(*) String Y Y, N SHOWSPOOL Retrieve spool list?(*) String Y Y, N SHOWAPPLLOG Retrieve Application Logs?(*) Y Y, N 882 Default Expression Values N Reference SAP_CcmsJobCheckStatus Use This job checks if the status of up to 10 SAP batch jobs in the database is valid and updates the database otherwise. It is not supposed to be scheduled by the user. Parameters Name Description Direction Data Type CLIENT SAP client In String JOBCOUNT SAP job count In String JOBCOUNT_1 SAP job count 1 In String JOBCOUNT_10 SAP job count 10 In String JOBCOUNT_2 SAP job count 2 In String JOBCOUNT_3 SAP job count 3 In String JOBCOUNT_4 SAP job count 4 In String JOBCOUNT_5 SAP job count 5 In String JOBCOUNT_6 SAP job count 6 In String JOBCOUNT_7 SAP job count 7 In String JOBCOUNT_8 SAP job count 8 In String JOBCOUNT_9 SAP job count 9 In String JOBNAME SAP job name In String JOBNAME_1 SAP job name 1 In String JOBNAME_10 SAP job name 10 In String JOBNAME_2 SAP job name 2 In String JOBNAME_3 SAP job name 3 In String JOBNAME_4 SAP job name 4 In String JOBNAME_5 SAP job name 5 In String JOBNAME_6 SAP job name 6 In String JOBNAME_7 SAP job name 7 In String JOBNAME_8 SAP job name 8 In String JOBNAME_9 SAP job name 9 In String JOB_STATUS Job status Out String JOB_STATUS_1 Job status 1 Out String JOB_STATUS_10 Job status 10 Out String JOB_STATUS_2 Job status 2 Out String JOB_STATUS_3 Job status 3 Out String JOB_STATUS_4 Job status 4 Out String JOB_STATUS_5 Job status 5 Out String JOB_STATUS_6 Job status 6 Out String JOB_STATUS_7 Job status 7 Out String 883 Reference JOB_STATUS_8 Job status 8 Out String JOB_STATUS_9 Job status 9 Out String SAP_SYSTEMS SAP System In String SAP_CcmsJobGetApplicationLog Use Get an application log of an SAP batch job. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In String JOBNAME SAP job name In String JOBCOUNT SAP job count In String JOB_ID Job id In Number LOGHANDLE Application log handle In String SAP_CcmsJobGetApplicationLogHandles Use Get the list of application log handles of an SAP batch job. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In String JOBNAME SAP job name In String JOBCOUNT SAP job count In String JOB_ID Job id In Number SAP_CcmsJobGetLog Use Get the job log of an SAP batch job. Parameters Name Description Direction Data Type CLIENT SAP client In String 884 Default Value Reference CONSIDER_SIZE_CONSTRAINTS Consider file size constraints? In String JOBCOUNT SAP job count In String JOBNAME SAP job name In String JOB_ID Job id In Number SAP_SYSTEMS SAP System In String N SAP_CcmsJobGetSpoollist Use Get a spool list of an SAP batch job. Name Description Direction Data Type CLIENT SAP client In String CONSIDER_SIZE_CONSTRAINTS Consider file size constraints? In String JOBCOUNT SAP job count In String JOBNAME SAP job name In String JOB_ID Job id In Number SAP_SYSTEMS SAP System In String SPOOLID Spool list ID In String STEP_NUMBER Step number of the SAP batch job In Number N SAP_CcmsJobGetStatistics Use Get the runtime statistics of an SAP batch job. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In String JOBNAME SAP job name In String JOBCOUNT SAP job count In String JOB_ID Job id In Number 885 Default Value Reference SAP_CcmsJobModifyHeader Use Parameters Name Description Direction Data Type CLIENT SAP client In String EVENT_ID Event ID In String EVENT_PARAMETER Event parameter In String JOBCOUNT SAP job count In String JOBNAME SAP job name In String PERIODIC Periodic job? In String READ_JOB_INFO Read job info? In String Y RELEASE_JOB Release job in SAP? In String N SAP_SYSTEMS SAP System In String START_TIME Start time In DateTimeZone TARGET_GROUP SAP target server group name In String TARGET_SERVER SAP target server name String In SAP_CcmsJobGetStatus Use This job retrieves the status of an SAP batch job. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In String JOBNAME SAP job name In String JOBCOUNT SAP job count In String JOB_STATUS Job status Out String SAP_ClosingCockpit_AbapRun Use Run an ABAP report from SAP Closing Cockpit. 886 Default Expression Reference Parameters Name Description Direc- Data Type tion SAP_SYSTEMS SAP System In String CLIENT SAP client In String JOBNAME SAP job name In String ABAP_PROGRAM_NAME ABAP program In String ABAP_VARIANT_NAME ABAP variant In String TEMPORARY_VARIANT Create temporary variant? String N Y, N JOBCLASS SAP job class In String C A, B, C SAP_USER_NAME SAP user name In String TARGET_SERVER SAP target application server name In String JOBDOCID Job documentation ID In String PRINT_ARMOD Print/Archive mode In String 1 (Print only) 1 (Print only) 2 (Archive only) 3 (Print and Archive) PRINT_PDEST Printer In String PRINT_PRTXT Cover sheet title In String PRINT_PRCOP # of copies In String 1 PRINT_PRNEW New spool? In String Y Y, N PRINT_PLIST Spool list name In String PRINT_PRIMM Print immediately? In String N Y, N PRINT_PRREL Release print job? In String N Y, N PRINT_PEXPI Expiration in days In String 8 1-8 days 9 (Do not Delete) PRINT_LICT Print lines per page In String PRINT_LISZ Print columns per page In String PRINT_PAART Print format In String PRINT_PRBIG Selection cover sheet? In String N Y, N PRINT_PRSAP SAP cover page? In String D (System D (System Default) Default)Y (Print)N (Do not print) PRINT_PRREC Spool list recipient In String PRINT_PRABT Department on cover page In String PRINT_PRBER Authority for printing In String PRINT_PRDSN Spool dataset name In String PRINT_PTYPE Spool type In String 887 Default Ex- Default List pression of Values Reference PRINT_FOOTL Print a footer? In String N PRINT_PRUNX OS cover sheet? In String D (System D (System Default) Default)Y (Print)N (Do not print) ARCHIVE_SAP_OBJECT Archive SAP object In String ARCHIVE_AR_OBJECT Document type In String ARCHIVE_INFO Archive info In String ARCHIVE_ARCTEXT Archive text information In field String REC_RECIPIENT Spool list recipient In String REC_TYPE Recipient type In String U (Internet User) B (SAP user) O (SAP-Office user) P (Personnel distribution list) C (Shared distribution list) F (Fax number) REC_COPY Recipient copy flag In String N Y, N REC_BLIND_COPY Recipient blind copy flag In String N Y, N REC_EXPRESS Recipient express flag In String N Y, N REC_NO_FORWARDING Recipient no forwarding In flag String N Y, N REC_NO_PRINT Recipient no print flag In String N Y, N REC_DELIVER Report send status In String _ (System Default) _ (System Default) A (Always) E (On error) N (Never) REC_MAILSTATUS Report status by e-mail In String _ (System Default) _ (System Default) A (Always) E (On error) N (Never) SAP_CC_LDAY_P Closing key day (as single value) In String SAP_CC_LDAY_S Closing key day (as range) In String SAP_CC_PERIOD_P Period (as single value) In String SAP_CC_PERIOD_S Period (as range) In String SAP_CC_GJAHR_P Financial year (as single In value) String 888 Y, N Reference SAP_CC_GJAHR_S Financial year (as range) In String SAP_CC_RESPONSIBLE Responsible In String SAP_CC_EXECUTIVE Executioner In String SAP_CC_ESTIMATED_RUNTIME Estimated runtime In Number SAP_CC_MAX_START_DELAY Max. start delay In Number SAP_CC_CONTEXT_ID Context ID In String SAP_CC_CONTEXT_DESCR Context descriptions In String SAP_CC_EXE_USR_SMTP Executioner user email address In String SAP_CC_RES_USR_SMTP Responsible user email address In String SAP_CC_SMTP_SERVER SMTP server In String SHOWLOG Retrieve job log?(*) In String Y Y, N SHOWSPOOL Retrieve spool list?(*) In String Y Y, N SHOWSTAT Retrieve job statistics? In String Y Y, N SHOWAPPLLOG Retrieve Application Logs?(*) In String Y Y, N DELETE_JOB Delete job when finished? In String N Y, N More Information Handling ABAP programs SAP_ClosingCockpit_ManualTask Use Manual task in the context of SAP Closing Cockpit. Parameters Name Description Direction Data Type JOB_ID Job id In Number SAP_CC_CONTEXT_DESCR Context descriptions In String SAP_CC_CONTEXT_ID Context ID In String SAP_CC_ESTIMATED_RUNTIME Estimated runtime In Number SAP_CC_EXECUTIVE Executioner In String SAP_CC_EXE_USR_SMTP Executioner user email address In String SAP_CC_MAX_START_DELAY Max. start delay In Number SAP_CC_RESPONSIBLE Responsible In String SAP_CC_RES_USR_SMTP Responsible user email address In String SAP_CC_SMTP_SERVER SMTP server In String 889 Reference SAP_CC__GJAHR_P Financial year (as single value) In String SAP_CC__GJAHR_S Financial year (as range) In String SAP_CC__LDAY_P Closing key day (as single value) In String SAP_CC__LDAY_S Closing key day (as range) In String SAP_CC__PERIOD_P Period (as single value) In String SAP_CC__PERIOD_S Period (as range) In String SAP_CopyVariant Use Copy a variant from SAP CPS or from one SAP System to another. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In String ABAP_PROGRAM_NAME ABAP program In String ABAP_VARIANT_NAME ABAP variant In String TARGET_SAP_SYSTEMS Target SAP System In String TARGET_CLIENT Target client In String TARGET_VARIANT Target variant name In String WRITE_MODE If the variant already exists In in the SAP System String Default Expression Default List of Values E (Fail) E (Fail) S (Skip) R (Replace) C (Change) More Information Handling Variants SAP_DeleteCcmsMonitors Use This job definition is used to delete CCMS monitors from the alert tree of SAP CPS so that these monitors are no longer fed with values from the SAP CCMS monitoring infrastructure. Parameters Name Description Data Type MONITOR_NAME CCMS monitor name String MONITOR_SET_NAME CCMS monitor set name String 890 Reference SAP_SYSTEMS SAP System String More Information Integrating CCMS Monitors SAP_DeleteVariant Use Delete a variant from an SAP System. Parameters Name Description Direction Data Type Default Expression SAP_SYSTEMS SAP System In String CLIENT SAP client In String ABAP_PROGRAM_NAME ABAP program In String ABAP_VARIANT_NAME ABAP variant In String CLIENT_ONLY Client only? In String Y DELETE_DEFINITION Delete variant definition? In String Y More Information Handling Variants SAP_ExportRFCFunctionModuleInterface Use You use this job definition to export an RFC function module Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String FUNCTION_MODULE Function Module Name In String Default Expression SAP_ExternalCommandRun Use This job definition is used to run external commands in SAP. This job definition requires XBP 2.0. 891 Reference Parameters Name Description Direction Data Type CLIENT SAP client In/Out String DELETE_JOB Delete job when finished? In String EXT_COMMAND_NAME External command name In String EXT_COMMAND_PARAMET- External command parameters ERS In String JOBCLASS SAP job class In String JOBCOUNT SAP job count Out String JOBNAME SAP job name In String LANGUAGE SAP language for the step In String OPERATING_SYSTEM Operating system In String SAP_SYSTEMS SAP System In String SAP_USER_NAME SAP user name In String SHOWLOG Retrieve job log?(*) In String Y STDERRCNTL Log external errors to job log? In String Y STDOUTCNTL Log external output to job log? In String Y TARGET_GROUP SAP target server group name In String TARGET_HOST Target host to run the external com- In mand String TARGET_SERVER SAP target server name In String TRACECNTL Activate external trace? In String N In String Y WAIT_FOR_TERMINATION Wait for external termination Default Expression Y C Waiting for SAP Events By adding the following two parameters, you can make jobs wait on events in SAP: Parameter Description Direction Data Type STARTCOND_EVENTID batch event id In String STARTCOND_EVENTPARM parameter of the event id In String Note that you have to duplicate the job definition and modify the duplicate. Retrieving Spool Output as PDF By duplicating the AbapRun job definitions and changing the default output format for the job definition to PDF, you can force the SAP system to convert the Spool to PDF. This way, you can see colors, if there are any. This should work if you can retrieve the spool as PDF from within SAPGui. 892 Reference Additional Print Parameters The additional print parameters can be generated when importing CCMS jobs by setting the parameter Generate Extra Print Parameters? (EXTENDED_PRINT_PARAMETERS) to Yes. It is also possible to duplicate any of the AbapRun job definitions and add the parameters there. The following parameters are recognized: • EMAIL_ADDRESS - The email address for the mail printer • PAGE_FROM / PAGE_TO - page range, numeric values • DRAFT_MODE - draft mode. Valid values: Y (Yes) and N (No) • PAGE_ORIENTATION - page orientation. Valid values: L (Landscape) and P (Portrait) Note Due to the limited size of the field in SAP, the max length of the email address is limited to 50 characters. Note According to SAP Note 513352 [http://service.sap.com/sap/support/notes/513352], printing with access method "M" (email printer) will not be developed further. Retrieving Part of the Job Log You can retrieve part of the job log by duplicating one of the AbapRun job definitions and specifying one of the following parameters: • JOBLOG_FIRST_LINES - retrieve the first <n> lines of the job log • JOBLOG_LAST_LINES - retrieve the last <n> lines of the job log When filled with a value > 0, only the given number of lines either from the beginning or from the end of the joblog is retrieved. Temporary Variants By duplicating the AbapRun job definitions and adding job parameters, you can make use of temporary variants. A temporary variant is created for the job and deleted once the job has finished. You specify the values and select options by creating job parameters with names matching the technical name of the parameter or select option and setting Create Temporary Variant? or TEMPORARY_VARIANT to Y. You can use the SAP Object Editor to inspect previously imported variants for the specific names, see Creating and Modifying Variants in SAP CPS for more information. SAP_ExternalProgramRun Use This job definition is used to run external programs in SAP. 893 Reference Parameters Name Description Direction Data Type CLIENT SAP client In/Out String DELETE_JOB Delete job when finished? In String EXT_PROGRAM_NAME External program name In String EXT_PROGRAM_PARAMET- External program parameters ERS In String JOBCLASS SAP job class In String JOBCOUNT SAP job count Out String JOBNAME SAP job name In String LANGUAGE SAP language for the step In String SAP_SYSTEMS SAP System In String SAP_USER_NAME SAP user name In String SHOWLOG Retrieve job log?(*) In String Y STDERRCNTL Log external errors to job log? In String Y STDOUTCNTL Log external output to job log? In String Y TARGET_GROUP SAP target server group name In String TARGET_HOST Target host to run the external com- In mand String TARGET_SERVER SAP target server name In String TRACECNTL Activate external trace? In String N In String Y WAIT_FOR_TERMINATION Wait for external termination Default Expression N C Waiting for SAP Events By adding the following two parameters, you can make jobs wait on events in SAP: Parameter Description Direction Data Type STARTCOND_EVENTID batch event id In String STARTCOND_EVENTPARM parameter of the event id In String Note that you have to duplicate the job definition and modify the duplicate. Retrieving Spool Output as PDF By duplicating the AbapRun job definitions and changing the default output format for the job definition to PDF, you can force the SAP system to convert the Spool to PDF. This way, you can see colors, if there are any. This should work if you can retrieve the spool as PDF from within SAPGui. Additional Print Parameters The additional print parameters can be generated when importing CCMS jobs by setting the parameter Generate Extra Print Parameters? (EXTENDED_PRINT_PARAMETERS) to Yes. 894 Reference It is also possible to duplicate any of the AbapRun job definitions and add the parameters there. The following parameters are recognized: • EMAIL_ADDRESS - The email address for the mail printer • PAGE_FROM / PAGE_TO - page range, numeric values • DRAFT_MODE - draft mode. Valid values: Y (Yes) and N (No) • PAGE_ORIENTATION - page orientation. Valid values: L (Landscape) and P (Portrait) Note Due to the limited size of the field in SAP, the max length of the email address is limited to 50 characters. Note According to SAP Note 513352 [http://service.sap.com/sap/support/notes/513352], printing with access method "M" (email printer) will not be developed further. Retrieving Part of the Job Log You can retrieve part of the job log by duplicating one of the AbapRun job definitions and specifying one of the following parameters: • JOBLOG_FIRST_LINES - retrieve the first <n> lines of the job log • JOBLOG_LAST_LINES - retrieve the last <n> lines of the job log When filled with a value > 0, only the given number of lines either from the beginning or from the end of the joblog is retrieved. Temporary Variants By duplicating the AbapRun job definitions and adding job parameters, you can make use of temporary variants. A temporary variant is created for the job and deleted once the job has finished. You specify the values and select options by creating job parameters with names matching the technical name of the parameter or select option and setting Create Temporary Variant? or TEMPORARY_VARIANT to Y. You can use the SAP Object Editor to inspect previously imported variants for the specific names, see Creating and Modifying Variants in SAP CPS for more information. SAP_GenerateCcmsJobDefinition Use This job definition is used to generate a job definition in SAP CPS based on the job definition in SAP. The job name and job count must match exactly one SAP job (these parameters may not contain wildcard characters). Parameters Name Description Direction Data Type 895 Default Expression Values Reference ADD_STEP_NUMBERS Add step numbers to SAP job names? In String N APPLICATION Application In String CLIENT SAP client In String CLIENT_SPECIFIC Generate job definitions for this client only? In String N CREATE_JOBDEFS_FOR_STEPS Create a job definition for each step? In String N DELETE_JOB Delete job when finished? In String N JOBCOUNT SAP job count In String JOBDEF_NAME Name for the generated job defini- In tion String JOBNAME SAP job name In String OVERWRITE Overwrite existing job definitions? In String Y OVERWRITE_LANGUAGE Force step language In String OVERWRITE_USER Force step user In String SAP_SYSTEMS SAP System In String SHOWLOG Retrieve job log?(*) String Y Y, N SHOWSPOOL Retrieve spool list?(*) String Y Y, N SHOWAPPLLOG Retrieve Application Logs?(*) Y Y, N SAP_GetBatchResources Use This job definition is used to retrieve the batch resources of an application server of an SAP instance at a given date. Parameters Name Description Direction Data Type ON_DATE On date In DateTimeZone SAP_SYSTEMS SAP System In String TARGET_SERVER SAP target server name In String SAP_GetEventHistory Use This job definition is used to retrieve synchronized batch event history from an SAP System. Parameters Name Description Direction Data Type FROM_TIMESTAMP Starting from In DateTimeZone 896 Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String SAP_GetSysLog Use Retrieves the system log. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String FROM_TIMESTAMP Starting from In Date Time Zone TO_TIMESTAMP Up to In Date Time Zone TARGET_SERVER SAP Target Server Name In String SAP_GetXmiLog Use Retrieves the XMI log. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String XMI_INTERFACE XMI interface In String FROM_TIMESTAMP Start time of the XMI log In Date Time Zone TO_TIMESTAMP End time of the XMI log In Date Time Zone SESSION_ID XMI session ID In String OBJECT Object In String 897 .Reference SAP_SYSTEMS SAP System In String SAP_GetInstalledComponents Use This job definition is used to retrieve the list of installed components of an SAP System. count In Number DROP_OLD_SELECTION Drop old selection? In String Default Expression Y More Information Importing ABAP Programs SAP_ImportApplicationServers Use This is an internal job definition to retrieve the list of application servers in an SAP instance and is mainly used for load balancing. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String ABAP_PROGRAM_NAME ABAP program In String MAX_COUNT Max. This job definition does not need to be submitted by a user. Parameters Name Description Data Type Direction SAP_SYSTEMS SAP System In String ABAP_PROGRAM_NAME ABAP program In String ABAP_DEF_OVERWRITE Overwrite ABAP parameters? In String Default Expression Y More Information Importing ABAP Program Parameter Definitions SAP_ImportAbapPrograms Use Import ABAP programs. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String 898 .Reference SAP_ImportAbapParameterDefinition Use This job imports the parameter definition of an ABAP program. count In Number DROP_OLD_SELECTION Drop old selection? In String More Information Importing Batch Events SAP_ImportCalendars Use Import SAP calendars. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String ABAP_PROGRAM_NAME ABAP program In String MAX_COUNT Max.Reference SAP_ImportArchiveObjects Use Imports SAP objects and the document types they support. Parameters Name Description Data Type Default Expression SAP_SYSTEMS SAP System In String DROP_OLD_SELECTION Drop old selection? String Y More Information Importing Archive Objects SAP_ImportBatchEvents Use This job definition allows you to import SAP batch events.0 enabled on the target system. these values are used to create drop-down menus for event history.0 is required. 899 Default Expression Y . Note This job definition requires XBP 3. Note XBP 3. Reference Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CALENDAR_TYPE SAP Calendar type In String More Information Importing Calendars SAP_ImportExternalCommands Use Import external commands. Name Description Direction Data Type SAP_SYSTEMS SAP System In String EXT_COMMAND_NAME External command name In String OPERATING_SYSTEM Operating system In String MAX_COUNT Max. it does conflict resolution when multiple jobs with the same name are found. it will select the latest job that matches the search criteria. The job name and job count parameters may contain wildcard characters. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP Client In Out String JOBNAME SAP Job Name In String 900 Default Default List Expres. These CCMS jobs can then be scheduled to run through SAP CPS allowing you to use the advanced scheduling features of SAP CPS. In this case all matching jobs will be imported. Moreover. This job definition scans the SAP System for jobs matching the parameters and calls SAP_GenerateCcmsJobDefinition with the job name and job count of the matched jobs.of Values sion . count In Number DROP_OLD_SELECTION Drop old selection? In String Default Expression Y More Information Importing External Commands SAP_ImportCcmsJobs Use This job definition is used to import CCMS jobs into SAP CPS. where the actual import of the job happens. • Intercepted . N SHOWAPPLLOG Retrieve Application Logs?(*) In String N Y. the following statuses are valid: • Canceled . N Note that the JOB_STATUSES parameter takes a string of CCMS job statuses.Reference JOBCOUNT SAP Job Count In String SAP_USER_NAME SAP User Name In String JOB_STATUSES Job statuses to consider In String FROM_TIMESTAMP Starting from In Date Time Zone CLIENT_SPECIFIC Generate Job Definitions for This Client Only? In String N Y.The job has been scheduled and is now waiting for execution according to its start conditions.The job finished successfully. • Finished .The job has been picked up by a batch work process but not started yet.In tions? String Y Y.The job has been suspended because an upgrade of the SAP batch system is currently running. N DELETE_JOB Delete Job When Finished? In String N Y. N SHOWSPOOL Retrieve Spool Lists? In String Y Y. N TEST_RUN Test run? In String N Y.The job has been intercepted. • Running . N IGNORE_APPL_RC Ignore Application Return Code? In String N Y. • ReleaseSuspended . • Ready .The job is currently running. N ADD_STEP_NUMBERS Add Step Numbers to SAP Job In Names? String N Y.The job finished with error. N OVERWRITE_LANGUAGE Force Step Language In String OVERWRITE_USER Force Step User In String APPLICATION Application In String CREATE_JOBDEFS_FOR_STEPS Create a Job Definition for Each Step? In String N N (Never) A (ABAP) S (Step) EXTENGenerate Extra Print Paramet. or has been killed. N SHOWLOG Retrieve Job Log? In String Y Y. • Released .In DED_PRINT_PARAMET. N JOBDEF_NAME Name of the Generated Job Definition In String JOBNAME_GENERATION When multiple jobs match In String P P (Prefix job name) F (Fail) OVERWRITE Overwrite Existing Job Defini.ers? ERS String N Y. 901 . they will be automatically fed with values from the SAP CCMS monitoring infrastructure. to match all jobs that have a final state.0 only) DateTimeZone * DROP_OLD_SELECTION Drop old selection? String Y More Information Importing Output Devices 902 Default Expression . provided XAL is enabled.The job is created with no start condition. Note This job definition requires XBP 2.0 enabled on the target system. For example. you specify the following: Finished.String port(XBP 3.Reference • Scheduled . Once the monitors are imported. Canceled More Information Importing SAP CCMS Jobs SAP_ImportCcmsMonitors Use This job definition is used to import CCMS monitors from an SAP System.0 only) * CHANGE_TIME Change time stamp (XBP 3. Parameters Name Description Data Type MONITOR_NAME CCMS monitor name String MONITOR_SET_NAME CCMS monitor set name String SAP_SYSTEMS SAP System String SAP_ImportOutputDevices Use Imports output devices (printers) and the formats they support. Parameters Name Description Data Type SAP_SYSTEMS SAP System String OUTPUT_DEVICE The output device to import String * OUTPUT_DEVICE_LONG The long name of output device to im. and will allow drop-down menus with all available recipients of an SAP System. Parameters Name Description Direction Data Type CLIENT SAP client In String DISTRIBUTION_LIST Distribution list In String DROP_OLD_SELECTION Drop old matching values? In String SAP_SYSTEMS SAP System In String SAP_USER_NAME SAP user name In String Default Expression N SAP_ImportVariantDefinition Use Import variants definitions of ABAP programs.Reference SAP_ImportRecipients Use This job definition is used to import the list of recipients from an SAP System. 903 Default Expression Y . Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In String ABAP_PROGRAM_NAME ABAP program In String ABAP_VARIANT_NAME ABAP variant In String DROP_OLD_SELECTION Drop old selection? In String More Information • Handling Variants • Importing Variants • Importing Variant Definitions SAP_ImportVariants Use Import variants of ABAP programs. like typos. This helps prevent problems due to human errors. like code-page. It has been replaced with SAP_CcmsJob and is not supposed to be scheduled by the user. This job definition used to represent an SAP batch process that was intercepted in the SAP System. count In Number SAP_SYSTEMS SAP System In String Default Expression Y More Information • Handling Variants • Importing Variants • Importing Variant Definitions SAP_Info Use This job definition is used to retrieve information about the SAP System. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String SAP_InterceptedJob Use Note This job definition is deprecated in favor of SAP_CcmsJob. or list of installed components. version. Parameters Name Description Data Type CLIENT SAP client String 904 Default Expression .Reference Parameters Name Description Direction Data Type ABAP_PROGRAM_NAME ABAP program In String ABAP_VARIANT_NAME ABAP variant In String CLIENT SAP client In String DROP_OLD_SELECTION Drop old matching values? In String IMPORT_DEFINITION Import variant definition? In String MAX_COUNT Max. Parameters Name Description Direction Data Type APPLICATION Application In String JOBDEF_NAME Name for the generated job defini. Parameters Name Description Direction Data Type APPLICATION Application In String JOBDEF_NAME Name for the generated job definition In String JOBNAME SAP job name In String OVERWRITE Overwrite existing job definitions? In String SAP_SYSTEMS SAP System In String SYSTEM_SPECIFIC System specific? In String SAP_SYSTEMS SAP System In String Default Expression N N More Information Importing Java Job Definitions SAP_JXBP_ImportJobDefinitions Use This job definition allows you to retrieve all JXBP job definitions from the SAP Java Scheduler.In tion String JOBNAME J2EE job definition String In 905 Default Expression . these will be available in drop-down menus in SAP CPS.Reference DELETE_JOB Delete job when finished? String N JOBCOUNT SAP job count String JOBNAME SAP job name String SAP_USER_NAME SAP user name String SHOWLOG Retrieve job log?(*) String Y SHOWSPOOL Retrieve spool list?(*) String Y SAP_JXBP_GenerateJobDefinition Use This job definition is used to generate JXBP job definitions inside SAP CPS and does not to be submitted by users. Reference OVERWRITE Overwrite existing job definitions? In String SAP_SYSTEMS SAP System In String SYSTEM_SPECIFIC System specific? In String N N More Information Importing Java Job Definitions SAP_MA_CopyParameters Use This job copies a mass activity parameter record and changes the parameters according to the provided parameter set. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String 906 . when you set it to 0. This job definition requires the Redwood transport files to be loaded. SAP_MA_CreateParameters Use This job creates a mass activity parameter record and changes the parameters according to the provided parameter set. dates will be automatically shifted the number of days between source and target date ID's. This job definition requires the Redwood transport files to be loaded. then no date shift is performed. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client String MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_PARAMETER_SET Mass activity parameter set In String MASS_ACTIVITY_SOURCE_DATE_ID Source Date ID In Date Time Zone MASS_ACTIVITY_SOURCE_ID In String MASS_ACTIVITY_TARGET_DATE_ID Target Date ID In Date Time Zone MASS_ACTIVITY_TARGET_ID Target Identification In String MASS_ACTIVITY_DATE_SHIFT Date shift In Number Source Identification If MASS_ACTIVITY_DATE_SHIFT is left blank. This job definition requires the Redwood transport files to be loaded. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_DATE_ID Date ID In Date Time Zone MASS_ACTIVITY_ID Identification In String SAP_MA_ImportMassActivities Use This job imports SAP mass activity definitions. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String DROP_OLD_SELECTION Drop old matching values? In More Information Importing and Running Mass Activities 907 String Default Expression N . This job definition requires the Redwood transport files to be loaded.Reference MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_PARAMETER_SET Mass activity parameter set In String MASS_ACTIVITY_TARGET_DATE_ID Target Date ID In Date Time Zone MASS_ACTIVITY_TARGET_ID Target Identification In String SAP_MA_DeleteDunningProposal Use This job deletes a dunning proposal of a new mass activity. This job definition requires the Redwood transport files to be loaded. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_TCODE Mass activity transaction code In String DROP_OLD_SELECTION String Drop old matching values? In Default Expression N More Information Importing and Running Mass Activities SAP_MA_MassActivityRun Use This job creates a parameter record and starts a mass activity run.Reference SAP_MA_ImportMassActivity Use This job imports an SAP mass activity definition. The entire parameter set must be specified in SAP CPS. This job definition requires the Redwood transport files to be loaded. N 908 . Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String SAP_USER_NAME SAP user name In String MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_PARAMETER_SET Mass activity parameter set In String MASS_ACTIVITY_DATE_ID Date ID In/Out Date Time Zone MASS_ACTIVITY_ID Identification In/Out String SHOWLOG Retrieve job log?(*) String Y SHOWSPOOL Retrieve spool list?(*) String Y SHOWAPPLLOG Retrieve Application Logs?(*) Y Y. if you do not wish to do this. you can use SAP_MA_CopyParameters followed by SAP_MA_MassActivityTemplateRun. This job definition requires the Redwood transport files to be loaded. N More Information Importing and Running Mass Activities SAP_MA_ResumeMassActivity Use This job resumes processing of an interrupted SAP mass activity run. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_DATE_ID Date ID In Date Time Zone MASS_ACTIVITY_ID Identification In String 909 .Reference More Information Importing and Running Mass Activities SAP_MA_MassActivityTemplateRun Use This job starts a mass activity run using an existing parameter record. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String SAP_USER_NAME SAP user name In String MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_DATE_ID Date ID In Date Time Zone MASS_ACTIVITY_ID Identification In String SHOWLOG Retrieve job log?(*) String Y SHOWSPOOL Retrieve spool list?(*) String Y SHOWAPPLLOG Retrieve Application Logs?(*) Y Y. This job definition requires the Redwood transport files to be loaded. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String MASS_ACTIVITY Mass activity In String SAP_MA_StopMassActivity Use This job stops an SAP mass activity run. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In/Out String MASS_ACTIVITY Mass activity In String MASS_ACTIVITY_DATE_ID Date ID In Date Time Zone MASS_ACTIVITY_ID Identification In String SAP_MaintainXbpOptions Use This job maintains XBP options for interception and parent/child functionality. This job definition requires the Redwood transport files to be loaded.Default List of Values pression . This job definition requires the Redwood transport files to be loaded.Reference More Information Importing and Running Mass Activities SAP_MA_ShowMassActivity Use This job shows the definition of an SAP mass activity. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String 910 Default Ex. 0 features) C (Disable) PARENTCHILD_ACTION Parent/Child action In String R (Show) R (Show) S (Enable) C (Disable) INTERCEPTION_OPTION Interception enabled? Out String PARENTCHILD_OPTION Parent/Child enabled? Out String Values The job will output the current setting when run with R (Show). Code Description S Enabled C Disabled 3 XBP 3.0 features your system needs to have XBP 3. Note that to use the XBP 3.0 Functionality • Enhanced SAP Interfaces with Redwood Transports SAP_PI_GetChannelStatus Purpose Retrieves the current status of an SAP XI/PI channel. Parameters Parameter Description Direction Data Type SAP_SYSTEMS SAP system In String CHANNEL_NAME Channel name In String CHANNEL_ID Channel id In String CHANNEL_STATUS Channel activation status Out String CHANNEL_STATE Channel state Out String 911 .0 features enabled (valid only for interception) The output can be found in the out parameters on the job and in the output file.Reference INTERCEPTION_AC. More Information • Understanding the Different XBP Interface Releases • Enable XBP 2.Interception action TION In String R (Show) R (Show) (Enable) 3 (Enable with XBP 3.0. change the setting and output the result when you use the other values.0 or 3. Reference SAP_PI_ImportChannels Purpose Imports SAP XI/PI channels so you can control the channels from within SAP CPS Parameters Parameter Description Direction Data Type SAP_SYSTEMS SAP system In String CHANNEL_NAME Channel name In String CHANNEL_SERVICE Channel service In String CHANNEL_PARTY Channel party In String DROP_OLD_SELECTION Drop old matching values? In String Default Value N More Information Importing Communication Channels SAP_PI_StartChannel Purpose Starts an SAP XI/PI channel Parameter Parameter Description Direction Data Type SAP_SYSTEMS SAP system In String CHANNEL_NAME Channel name In String CHANNEL_ID Channel id In String CHANNEL_STATUS Channel activation status Out String CHANNEL_STATE Channel state Out String SAP_PI_StopChannel Purpose Stops an SAP XI/PI channel Parameter Parameter Description Direction Data Type SAP_SYSTEMS SAP system In String CHANNEL_NAME Channel name In String 912 . Parameters Name Description Direction Data Type Default Expression DROP_OLD_SELECTION Drop old matching values? In String N SAP_SYSTEMS String SAP System In SAP_ReleaseInterceptedJobs Use Releases intercepted SAP jobs. Parameters Name Description Data Type SAP_SYSTEMS SAP System String EVENT_ID Event ID String EVENT_PARAMETER Event parameter String SAP_ReloadApplicationLinks Use This job definition reloads the SAP Application links. Parameters Name Description Direction Data Type CLIENT SAP client In String JOBNAME SAP job name In String SAP_SYSTEMS SAP System In String SAP_USER_NAME SAP user name In String 913 .Reference CHANNEL_ID Channel id In String CHANNEL_STATUS Channel activation status Out String CHANNEL_STATE Channel state Out String SAP_RaiseEvent Use This job definition is used to raise a batch event in SAP. Reference SAP_RunTemplateJob Use This job definition is used to run a job that exists in SAP by making a copy of this job and running this copy. Valid audit levels are integers ranging from 0 to 3. Note Jobs with steps containing external programs or commands require Chargeable version of SAP CPS Parameters Name Description Data Type Default Expression DELETE_JOB Delete job when finished? String N FROM_STEP From step (0. The original job is not changed. 914 . Parameters Name Description Data Type SAP_SYSTEMS SAP System String AUDIT_LEVEL Audit level Number XMI_INTERFACE XMI interface String SAP_SolutionManager_AbapRun Use Run an ABAP report from SAP Solution Manager. 1 = all steps) Number JOBCOUNT SAP job count String JOBNAME SAP job name String SAP_USER_NAME SAP user name String SHOWLOG Retrieve job log?(*) String Y SHOWSPOOL Retrieve spool list?(*) String Y TARGET_GROUP SAP target group name String TARGET_JOBNAME SAP target job name String TARGET_SERVER SAP target application server name String SAP_SetXmiAuditLevel Use This job definition lets you manage the audit level of an XMI interface. Only jobs with ABAP steps can be run by this job definition. N PRINT_PRREL Release print job? In String N Y. N PRINT_PRSAP SAP cover page? In String D (System D (System DeDefault) fault)Y (Print)N (Do not print) PRINT_PRREC Spool list recipient In String PRINT_PRABT Department on cover page In String PRINT_PRBER Authority for printing In String PRINT_PRDSN Spool dataset name In String PRINT_PTYPE Spool type In String 915 Default Expression Default List of Values . B. N PRINT_PLIST Spool list name In String PRINT_PRIMM Print immediately? In String N Y. N JOBCLASS SAP job class In String C A. N PRINT_PEXPI Expiration in days In String 8 1-8 days 9 (Do not Delete) PRINT_LICT Print lines per page In String PRINT_LISZ Print columns per page In String PRINT_PAART Print format In String PRINT_PRBIG Selection cover sheet? In String N Y.Reference Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String CLIENT SAP client In String JOBNAME SAP job name In String ABAP_PROGRAM_NAME ABAP program In String ABAP_VARIANT_NAME ABAP variant In String TEMPORARY_VARIANT Create temporary variant? String N Y. C SAP_USER_NAME SAP user name In String TARGET_SERVER SAP target application server name In String JOBDOCID Job documentation ID In String PRINT_ARMOD Print/Archive mode In String 1 (Print only) 1 (Print only) 2 (Archive only) 3 (Print and Archive) PRINT_PDEST Printer In String PRINT_PRTXT Cover sheet title In String PRINT_PRCOP # of copies In String 1 PRINT_PRNEW New spool? In String Y Y. Reference PRINT_FOOTL Print a footer? In String N PRINT_PRUNX OS cover sheet? In String D (System D (System DeDefault) fault)Y (Print)N (Do not print) ARCHIVE_SAP_OBJECT Archive SAP object In String ARCHIVE_AR_OBJECT Document type In String ARCHIVE_INFO Archive info In String ARCHIVE_ARCTEXT Archive text information field In String REC_RECIPIENT Spool list recipient In String REC_TYPE Recipient type In String U (Internet U (Internet User) B User) (SAP user) O (SAP-Office user) P (Personnel distribution list) C (Shared distribution list) F (Fax number) REC_COPY Recipient copy flag In String N Y. N SHOWAPPLLOG Retrieve Application Logs?(*) In String Y Y. N DELETE_JOB Delete job when finished? In String N Y. N REC_NO_FORWARDING Recipient no forwarding flag In String N Y. N SHOWSPOOL Retrieve spool list?(*) In String Y Y. N REC_NO_PRINT Recipient no print flag In String N Y. N SHOWSTAT Retrieve job statistics? In String Y Y. N More Information Handling ABAP programs SAP_StoreVariant Use Store a variant of an ABAP program. N . 916 Y. N REC_DELIVER Report send status In String _ (System _ (System Default) Default) A (Always) E (On error) N (Never) REC_MAILSTATUS Report status by e-mail In String _ (System _ (System Default) Default) A (Always) E (On error) N (Never) SHOWLOG Retrieve job log?(*) In String Y Y. N REC_BLIND_COPY Recipient blind copy flag In String N Y. N REC_EXPRESS Recipient express flag In String N Y. nothing is changed in the SAP System E (Error) . the syntax is as follows: <expr>::= <term> { <term>::= <factor> <factor> ::= [ NOT <mask>::= event id OR <term> } { AND <factor> } ] <mask> mask 917 .only different parameters are changed.0. Requires Redwood transport files.the variant is overwritten with the variant definition from SAP CPS C (Change) . Default List of Values String E (Error) .the job gets the status error. deleted variant parameters will not be removed (recommended) SAP_SwitchOperationMode Use Switches the operation mode in the SAP system (ABAP stack). This job definition requires XBP 3.Reference Parameters Parameter Description Data Type Default Value SAP_SYSTEMS The SAP System String CLIENT The client of the SAP System String ABAP_PROGRAM_NAME The variants ABAP pro. Parameters Parameter Description Data Type SAP_SYSTEMS SAP System In OPERATION_MODE Operation mode In SAP_SynchronizeEventHistoryCriteria Use This job definition is used to synchronize batch event criteria in SAP.the variant is skipped R (Replace) .the job gets the status error.String gram ABAP_VARIANT_NAME Variant WRITE_MODE The write mode allows String you to specify how the job will handle duplicate entries. The Additional Conditions parameter allows you to use BNF expressions to create complex expressions. nothing is changed in the SAP System S (Skip) . Default List of Values pression A A (Append) O (Overwrite) N N (Show Only) S (SAP -> Scheduler) B (SAP <-> Scheduler) C (Scheduler -> SAP) String SYNC_DIRECTION Synchronization direction String SYNC_DIRECTION • Show Only : view option. That means the rules of SAP are going into the SAP CPS tables and the rules of SAP CPS are going to the SAP tables.Default List pression of Values ACTIVATE_RULES Activate rules after synchronization In String Y ADDITIONAL_CONDI. you exclude the EventBITest event and all events starting with EventBWtest.Reference Example In the following example.0.String ia in SAP? SAP_SYSTEMS SAP System Default Ex. • With Scheduler <-> SAP: all roles both from SAP CPS and SAP are synchronized. • Scheduler -> SAP: all SAP CPS rules are transferred to SAP and afterwards the SAP table contains the same rules as in SAP CPS. display current interception criteria as defined in the SAP System as well as job control rules of SAP CPS. Final result is that 918 . This job definition requires XBP 2.Additional Conditions TIONS In String SAP_SYSTEMS In String SAP System SAP_SynchronizeInterceptionCriteria Use This job definition synchronizes interception criteria (job control rules) between SAP CPS and SAP. you include all events in event history which have names (event id's) starting with EventBI or EventBW. not EventBITest and EventBI* or EventBW* and not EventBWtest* Parameters Name Description Direction Data Type Default Ex. Parameters Name Description Data Type OVERWRITE Append or overwrite criter. • With SAP -> Scheduler: all SAP rules are transferred to SAP CPS and afterwards the SAP CPS table contain the same rules as in SAP. 919 .Max consecutive exceptions alTIONS lowed Number Default Expression *) The child jobs get the output parameters (for example SHOWSPOOL) set according to the following order: 1. OVERWRITE Append and Overwrite options only work for syn_direction SAP CPS -> SAP and SAP CPS <-> SAP. SAP_SynchronizeTerminatedCcmsJobs Use This job definition synchronizes job states between SAP CPS and SAP. default expression of SAP_CcmsJob Process Server Parameters Use Process server parameters allow you to set up and customize the behavior of your process server and to fine tune it to reach the desired performance vs overhead.Reference both tables are equal with respect to the rule-definitions. • Append: keeps the interception criteria that are already in the SAP table intact and adds our rules. for example once per day. from the parent job 3. Parameters Name Description Direction Data Type SAP_SYSTEMS SAP System In String DEDelete terminated jobs that are LETE_JOBS_OLDER_THEN older then that number of days Number MAX_ALLOWED_EXCEP. Normally. customers will schedule this job definition to run regularly. from a matching job control rule 2. • Overwrite: replaces all interception criteria that might be defined in SAP by our rules. it is recommended to check the Desired values of the parameters. JobDefinitionPartition Job definition partition.separator constant. Overriding Process Server Default Values You can override process server parameter default values globally by setting the following registry key: /configuration/ProcessServerParameters/<name> The <name> is the name of the process server parameter. Process server parameters can be Remote. JobDefinitionOwner Job definition owner. The value of the java. a Current value that is being used by the process server right now and a Desired value that is the one that will be used after a restart of the process server. Process server parameters have two values. others optional. JobFileName Job file short name. FormatExtension Format extension. Process server parameters are available per process server service. JobApplicationPartition Job application partition. JobDefinition Job definition name. which means they can be set in configuration files on the remote server. The Desired value reflects this change and makes it clear that a change has been made.Reference Parameters that do not have default values must be specified. then that value will have precedence over the value of this registry key. but is not yet being used. if you add the process server parameter to the process server with a value. Only the scheduler-isolation-administrator can create/edit these registry keys. JobApplication Job application.File. Some are compulsory. \ on Windows). At the moment the only such parameters are the following: • RemoteHostName for UNIX/Windows/HP OpenVMS process servers. • Shared Secret for UNIX/Windows/HP OpenVMS process servers. Name Description Command Command to run. FileSeparator Local file separator (eg. Before you restart a process server in a production environment. The following parameters are grouped by service. These will be different if you edit the parameters on a running process server but do not restart it. / on UNIX. InstallDirectory OS agent install directory. JobFileOrder Job file order. Variables The following variables are used in process server parameters. HostName Name of the host the OS agent is running on.io. Note that this registry key only affects default values. Filename Filename to check. DateTime Date and time. DataRootDirectory Data root directory. 920 . OraApps Service OraApps service runs remote Oracle Application jobs. job-processor). Remote: false JobSyncPollIntervalMin ( see the Ad. where applicable and available. Process Server Parameter Description The following three tables describe each parameter. ProcessName Type of platform agent process (network-processor. ProcessServer Process Server name. User User name to change to. default values. Remote: false 921 . Remote: false JobSyncPollIntervalIdleIncrease ( see Increase number of seconds for the poll interval of the job synchronizer the Administration Guide ) component of the connector service when the system is idle... Remote: false JobSyncPollIntervalMax ( see the Ad. ProcessId Operating system process identification number of a process. the second and third table contain all variables. ProcessType Type of platform agent process (standalone. Name Description JobHistory ( see the Administration Guide ) Number of days in the past considered by the job synchronization component of the connector service when it performs the initial synchronization on start-up Remote: false JobSyncPollIntervalBusyDecrease ( see Decrease number of seconds for the poll interval of the job synchronizer the Administration Guide ) component of the connector service when the system is busy.Reference JobId Job ID of the job.Minimum number of seconds for the poll interval of the job synchronizer ministration Guide ) component of the connector service. SystemId System ID of the server.). Queue Queue name.Maximum number of seconds for the poll interval of the job synchronizer ministration Guide ) component of the connector service. QueuePartition Queue partition. The first table describes the parameters. . the datatype as well as valid ranges of values for each parameter. JobOwner Job owner. service. TraceDirectory Trace directory for system log files. ProcessServerPartition Process server partition. The following process server parameters can have variables in their value fields: Name Variables JobHistory ( see the Administration Guide ) JobSyncPollIntervalBusyDecrease ( see the Administration Guide ) JobSyncPollIntervalIdleIncrease ( see the Administration Guide ) JobSyncPollIntervalMax ( see the Administration Guide ) JobSyncPollIntervalMin ( see the Administration Guide ) MaxNumberOfConnections ( see the Administration Guide ) MaxReconnectTime ( see the Administration Guide ) OraApps_LinkLogFile ( see the Administration Guide ) OraApps_LinkOutputFile ( see the Administration Guide ) The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type Value Range JobHistory ( see the Administration Guide ) 1 Integer 1- Integer 0- JobSyncPollIntervalBusyDecrease ( see the Administration 120 Guide ) 922 . Remote: false MaxReconnectTime ( see the Adminis. default values. istration Guide ) Remote: false OraApps_LinkOutputFile ( see the Ad.Reference MaxNumberOfConnections ( see the Administration Guide ) Sets the maximum number of connection instances the connector cache can hold. Following a link in the table below will take you to the corresponding entry in the parameter description table.Maximum length of time (in minutes) that the Connectors attempts to retration Guide ) connect to an external system. the data type as well as valid ranges of values for each parameter.Link the Oracle Applications Logfile to the Platform Agent. Note: If the number of concurrent connections exceeds the maximum number of sessions configured at the database server. you must set a value for the MaxNumberOfConnections property. To avoid this error.Link the Oracle Applications Outputfile to the Platform Agent. If the connection cannot be reestablished within this time period. If you put this value to zero that will mean that there is no limit enforced by the connection cache. the corresponding process server is shut down. ministration Guide ) Remote: false Process Server Parameter Usage The following tables provide all variables. This value should be less than the value of the SESSIONS parameter configured for the database server. The default value is 100. then you will get ORA-00018 error. where applicable and available. A description of each parameter is provided in the previous table. Remote: false OraApps_LinkLogFile ( see the Admin. so that the number of connections is limited only by the number of database sessions configured for the database. default values. the data type as well as valid ranges of values for each parameter. Remote: true JobLogFileNameFormat ( see the Adminis. This is appended to DataRoottion Guide ) Directory to create a file name. default values. Name Description DataRootDirectory ( see the Administration The root data directory that contains the directories for job output. not a NFS or Microsoft Windows network share. where applicable and available. istration Guide ) Remote: false JobOutputFileNameSuffix ( see the Adminis. the second and third table contain all variables. A description of each parameter is provided in the previous table. Process Server Parameter Description The following three tables describe each parameter. Following a link in the table below will take you to the corresponding entry in the parameter description table. the datatype as well as valid ranges of values for each parameter. This is appended to Datatration Guide ) RootDirectory to create a file name.Default for job output file name suffix. Guide ) The DataRootDirectory should point to a file system that is served by a local device driver. The reason for this is that the file tree needs to be as reliable as possible. where applicable and available. Remote: false JobOutputFileNameFormat ( see the Admin.Default for job log file name format. The first table describes the parameters. In other words. 923 .Default for job log file name suffix.Default for job output file name format. Remote: false Process Server Parameter Usage The following tables provide all variables. tration Guide ) Remote: false JobLogFileNameSuffix ( see the Administra.Reference JobSyncPollIntervalIdleIncrease ( see the Administration 5 Guide ) Integer 5- JobSyncPollIntervalMax ( see the Administration Guide 120 ) Integer 10 - JobSyncPollIntervalMin ( see the Administration Guide ) 10 Integer 10 - MaxNumberOfConnections ( see the Administration Guide 100 ) Integer 5- MaxReconnectTime ( see the Administration Guide ) 0 Integer 0- OraApps_LinkLogFile ( see the Administration Guide ) true Boolean OraApps_LinkOutputFile ( see the Administration Guide true ) Boolean SAPBObj Service SAPBObj service runs remote Business Objects jobs. Reference The following process server parameters can have variables in their value fields: Name Variables DataRootDirectory ( see the Ad.• ministration Guide ) • ${InstallDirectory} ${ProcessServer} • ${HostName} • ${SystemId} JobLogFileNameFormat ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 924 . Reference JobLogFileNameSuffix ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${FormatExtension} 925 . Reference JobOutputFileNameFormat ( see • the Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 926 . Reference JobOutputFileNameSuffix ( see the Administration Guide ) • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} • ${FormatExtension} The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type 927 Value Range . Default for job log file name suffix. the second and third table contain all variables. tration Guide ) Remote: false JobLogFileNameSuffix ( see the Administra. default values. The reason for this is that the file tree needs to be as reliable as possible. the datatype as well as valid ranges of values for each parameter. The first table describes the parameters.Default value on Windows: ${InstallDirect. This is appended to DataRoottion Guide ) Directory to create a file name. Remote: true JobLogFileNameFormat ( see the Adminis.${FormatExtension} String SAPPI Service SAPPI service runs remote SAP PI jobs. Name Description DataRootDirectory ( see the Administration The root data directory that contains the directories for job output.${FormatExtension} String JobOutputFileNameFormat ( see the Administration Guide ) String JobOutputFileNameSuffix ( see the lis${FileSeparator}${ProcessServer}_${JoAdministration Guide ) bId}_${JobFileOrder}. In other words.ory er} Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var. where applicable and available.${SystemId}.Default for job log file name format.Reference DataRootDirectory ( see the Admin.${ProcessServer}] Default value on Java platforms: ${InstallDirectory} JobLogFileNameFormat ( see the Administration Guide ) JobLogFileNameSuffix ( see the Administration Guide ) String log${FileSeparator}${ProcessServer}_${JobId}_${JobFileOrder}. not a NFS or Microsoft Windows network share. Guide ) The DataRootDirectory should point to a file system that is served by a local device driver. Remote: false 928 .RemoteDirectistration Guide ) ory}\var\${SystemId}\${ProcessServ. Process Server Parameter Description The following three tables describe each parameter. default values. the data type as well as valid ranges of values for each parameter. istration Guide ) Remote: false JobOutputFileNameSuffix ( see the Adminis.• ministration Guide ) • ${InstallDirectory} ${ProcessServer} • ${HostName} • ${SystemId} 929 . where applicable and available. Following a link in the table below will take you to the corresponding entry in the parameter description table. This is appended to Datatration Guide ) RootDirectory to create a file name. The following process server parameters can have variables in their value fields: Name Variables DataRootDirectory ( see the Ad.Default for job output file name format.Default for job output file name suffix.Reference JobOutputFileNameFormat ( see the Admin. A description of each parameter is provided in the previous table. Remote: false Process Server Parameter Usage The following tables provide all variables. Reference JobLogFileNameFormat ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 930 . Reference JobLogFileNameSuffix ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${FormatExtension} 931 . Reference JobOutputFileNameFormat ( see • the Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 932 . Reference JobOutputFileNameSuffix ( see the Administration Guide ) • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} • ${FormatExtension} The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type 933 Value Range . and handles XAL. where applicable and available. These values should only be changed on very large systems and only then when advised to do so by customer support.${FormatExtension} String JobOutputFileNameFormat ( see the Administration Guide ) String JobOutputFileNameSuffix ( see the lis${FileSeparator}${ProcessServer}_${JoAdministration Guide ) bId}_${JobFileOrder}. istration Guide ) Remote: false 934 . Remote: true JobLogFileNameFormat ( see the Admin. default values.The root data directory that contains the directories for job output. XMW and BC-SCH.Default value on Windows: ${InstallDirect. The first table describes the parameters.Reference DataRootDirectory ( see the Admin. tion Guide ) The DataRootDirectory should point to a file system that is served by a local device driver. Process Server Parameter Description The following three tables describe each parameter. The reason for this is that the file tree needs to be as reliable as possible. not a NFS or Microsoft Windows network share.${FormatExtension} String SAPR3 Service SAPR3 service runs and interfaces jobs using XBP.Default for job log file name format.${ProcessServer}] Default value on Java platforms: ${InstallDirectory} JobLogFileNameFormat ( see the Administration Guide ) JobLogFileNameSuffix ( see the Administration Guide ) String log${FileSeparator}${ProcessServer}_${JobId}_${JobFileOrder}. the datatype as well as valid ranges of values for each parameter. parameters requiring these features have no effect on SAP Systems that do not comply with the prerequisites of this SAP note. In other words.${SystemId}. Name Description DataRootDirectory ( see the Administra.ory er} Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var. the second and third table contain all variables.RemoteDirectistration Guide ) ory}\var\${SystemId}\${ProcessServ. The default values are acceptable for most SAP Systems. Enhanced job scheduling functions as defined in the SAP note #1020092. This is appended to DataRootDirectistration Guide ) ory to create a file name. Remote: false JobOutputFileNameSuffix ( see the Ad.Decrease number of seconds for the poll interval of the XMW component crease ( see the Administration Guide ) of the SAP service if the monitoring data has been changed.Reference JobLogFileNameSuffix ( see the Admin. Remote: false SAP_AlertWritePollIntervalBusyDe. Remote: false SAP_AlertWritePollIntervalIdleIncrease Increase number of seconds for the poll interval of the XMW component ( see the Administration Guide ) of the SAP service if the monitoring data has not been changed. Remote: false SAP_AlertWritePollIntervalMin ( see the Administration Guide ) Minimum number of seconds for the poll interval of the XMW component of the SAP service. Remote: false SAP_AlertReadPollIntervalBusyDeDecrease number of seconds for the poll interval of the XAL component crease ( see the Administration Guide ) of the SAP service if the SAP CCMS monitoring data has been changed. Remote: false SAP_AlertReadPollIntervalIdleIncrease Increase number of seconds for the poll interval of the XAL component ( see the Administration Guide ) of the SAP service if the SAP CCMS monitoring data has not been changed. Remote: false 935 . Remote: false SAP_AlertWritePollIntervalMax ( see the Administration Guide ) Maximum number of seconds for the poll interval of the XMW component of the SAP service. Remote: false SAP_AlertReadPollIntervalMax ( see the Administration Guide ) Maximum number of seconds for the poll interval of the XAL CCMS alerts synchronizer component of the SAP service. even if no changes were made to that data. Remote: false JobOutputFileNameFormat ( see the Administration Guide ) Default for job output file name format. This is appended to DataRootDirministration Guide ) ectory to create a file name. Remote: false SAP_AlertWriteForceSendInterval ( see Interval at which the XMW component of the SAP service will send the the Administration Guide ) monitoring data to SAP CCMS.Default for job log file name suffix.Default for job output file name suffix. Remote: false SAP_AlertReadPollIntervalMin ( see the Minimum number of seconds for the poll interval of the XAL CCMS Administration Guide ) alerts synchronizer component of the SAP service. automatic job description change is active for all job definitions. This parameter has no effect in SAP systems that do not meet the prerequisites of this SAP Note.0.Reference SAP_DefaultJobPriority ( see the Admin. Remote: false SAP_EventSyncPollInterval ( see the Administration Guide ) Poll interval in seconds for the event synchronizer component of the SAP service. This parameter has no effect in XBP versions prior to 2. Remote: false SAP_DisableDefaultPrintFeature ( see Set to true to disable the default print feature. This parameter has no effect in SAP systems that do not meet the prerequisites of this SAP Note. The value None disables job description changes.How far back in time (in seconds) the event synchronizer component of ministration Guide ) the SAP service checks for event synchronization when it is activated. The value StandardOnly restricts the job description chang only to built-in job definitions (job definitions with SAP_ prefix). the application return code will NOT be set on the job in the scheduler. Remote: false SAP_FullJobSynchronizationMode ( see Enables the full synchronization mode in which all jobs and all child the Administration Guide ) jobs are synchronized even if they are marked as confirmed by another scheduler. StandardOnly. Remote: false SAP_IgnoreApplicationReturnCode ( see the Administration Guide ) If set to true. This parameter should not be set on production systems and allows you to connect multiple schedulers to an SAP system. as defined in SAP Note 1020092. This component synchronizes SAP batch events with scheduler events when running alongside an SAP system that supports enhanced job scheduling functions.0. Remote: false SAP_JobConfirmBlockSize ( see the Administration Guide ) Number of jobs confirmed simultaneously by the XBP job synchronizer component of the SAP service when running on an SAP system that supports XBP 2. None. as defined in SAP Note 1020092. such as sending a $ sign the Administration Guide ) for empty parameters. This component synchronizes SAP batch events with scheduler events when running alongside an SAP system that supports enhanced job scheduling functions. Possible options are: All. Remote: false 936 . The value All is the default. Jobs are not confirmed. regardless of the brand and version. Remote: false SAP_JobDescriptionPolicy ( see the Administration Guide ) Policy used for the SAP service when automatically changing the descriptions of jobs. Remote: false SAP_EventSyncWindow ( see the Ad. Enabling this slows down synchronization of jobs. as described in SAP Note 609462.Default job priority for jobs created by the XBP job synchronizer comistration Guide ) ponent of the SAP service. Remote: false SAP_JobMonitorBlockSize ( see the Administration Guide ) Number of jobs checked for updates by the job monitoring component of the SAP service when running on an SAP system that supports XBP 2. This component regularly checks the SAP jobs assigned to the scheduler and updates their status. This parameter has no effect in SAP systems that do not meet the prerequisites of this SAP Note. depending on the configuration of the SAP system and the available resources. Remote: false 937 . reducing the synchronization load. Set to 0 to deactivate the checks for updates. Remote: false SAP_JobSyncPollIntervalMax ( see the Maximum number of seconds for the poll interval of the XBP job synAdministration Guide ) chronizer component of the SAP service. as defined in SAP Note 1020092. Remote: false SAP_JobMonitorNumberOfWorkers ( see the Administration Guide ) Number of workers used by the job monitoring component of the SAP service. Remote: false SAP_JobSyncBlockSize ( see the Admin.Reference SAP_JobHistory ( see the Administration Number of days in the past considered by the XBP job synchronization Guide ) component of the SAP service when it performs the initial synchronization on start-up. This parameter has no effect in XBP versions prior to 2.0. Remote: false SAP_JobMonitorPollInterval ( see the Administration Guide ) Poll interval in seconds for the job monitoring component of the SAP service. Remote: false SAP_LastJobSync ( see the Administra.Number of jobs retrieved simultaneously by the XBP job synchronizer istration Guide ) component of the SAP service when running alongside an SAP system that supports enhanced job scheduling functions. the more jobs are retrieved together. Remote: false SAP_JobSyncPollIntervalMin ( see the Minimum number of seconds for the poll interval of the XBP job synAdministration Guide ) chronizer component of the SAP service.0. However. if the number of jobs to be retrieved is too high. The greater the number. Remote: false SAP_JobSyncPollIntervalBusyDecrease Decrease number of seconds for the poll interval of the XBP job syn( see the Administration Guide ) chronizer component of the SAP service when the SAP system is busy. the RFC function call may fail.Time stamp of the last synchronization cycle of the XBP job synchronizer tion Guide ) component. Remote: false SAP_JobSyncPollIntervalIdleIncrease ( Increase number of seconds for the poll interval of the XBP job synchronsee the Administration Guide ) izer component of the SAP service when the SAP system is idle. even if the corresponding process of the chain already has status "Error". istration Guide ) Remote: false SAP_ShowBIBatchJobs ( see the Admin.Maximum size of the job spool files that are passed from SAP (in bytes). Remember that setting this parameter to -1 disables spool file retrieval. The tion Guide ) SAP service does not retrieve job logs that are larger than the value of this parameter. the value of this process server parameter has precedence. regardless of what you configure on the SAP system definition.Defines whether to show the BI Batch jobs. You can overrule the settings on the SAP system for big spool files.Maximum length of time (in minutes) that the SAP service attempts to ministration Guide ) reconnect to an SAP system. Remote: false SAP_ProcessChainRestartPollInterval ( Poll interval in seconds for the BI process chains in status Console. Remote: false SAP_RFCIdleTimeout ( see the Admin. If you enable spool file retrieval on the Job Control Rules tab. tration Guide ) Spool files that are greater than the value of this parameter are not retrieved by the SAP service. A value of 0 disables the check and all spool files are retrieved regardless of their size. If the connection cannot be reestablished within this time period. This parameter is used in conjunction with the settings on the Job Control Rules tab of SAP system definitions.Time after which idle RFC connections are closed (in seconds). The process of a process istration Guide ) chain in SAP could have a CCMS batch job defined to do the real work.Reference SAP_MaxLogSize ( see the Administra. 0 means no connections are aborted. A value of -1 disables spoolfile retrieval. Remote: false SAP_RFCAbortTimeout ( see the Admin.Maximum size of the job log file that is passed from SAP (in bytes). Remote: false SAP_MaxSpoolSize ( see the Adminis. the corresponding process server is shut down. Remote: false 938 . The value of this parameter only has effect on jobs for which spool retrieval has been requested. see the Administration Guide ) Remote: false SAP_ProcessChainWaitForEndStatus ( Determines whether SAP BI process chains are to wait for batch jobs see the Administration Guide ) with status "Scheduled" in the BI system to be completed.Time after which active RFC connections are considered stale and istration Guide ) aborted (in seconds). for example. If you don't want to see this CCMS batch job as a child job you can switch this off by setting this parameter to false. Remote: false SAP_MaxReconnectTime ( see the Ad. Remote: false SAP_Release ( see the Administration Guide ) SAP kernel / ABAP release. If this functionality is enabled. A description of each parameter is provided in the previous table.Determines whether the functions provided with the transport files from tration Guide ) Redwood should be used. the data type as well as valid ranges of values for each parameter. Administration Guide ) Remote: false SAP_UseShortSpoolTableRows ( see the Defines whether to use short table rows when retrieving spool lists. Only use this parameter if the SAP service is connected to an SAP system using XBP 2.Reference SAP_ShowBIProcessLogDetails ( see the Administration Guide ) Defines whether to retrieve the log details of BI processes. Remote: false SAP_SID ( see the Administration Guide SID. where applicable and available. Remote: false SAP_UseTransports ( see the Adminis. then for every line in the BI process log an RFCenabled function module is called. default values. tion Guide ) Remote: false Process Server Parameter Usage The following tables provide all variables.0.XBP Version. This Administration Guide ) enables the SAP service to retrieve larger spool lists. ) Remote: false SAP_UppercaseRfcPassword ( see the Whether to uppercase the password before opening an RFC connection. The following process server parameters can have variables in their value fields: Name Variables DataRootDirectory ( see the Administration Guide ) • ${InstallDirectory} • ${ProcessServer} • ${HostName} • ${SystemId} 939 . Remote: false SAP_XbpVersion ( see the Administra. but may truncate long spool lines. Changes to this parameter are effective immediately. Following a link in the table below will take you to the corresponding entry in the parameter description table. Reference JobLogFileNameFormat ( see the Administration Guide ) 940 • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} . Reference JobLogFileNameSuffix ( see the Administration Guide ) 941 • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${FormatExtension} . Reference JobOutputFileNameFormat ( see the Administration Guide ) 942 • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} . Reference JobOutputFileNameSuffix ( see the Administration Guide ) SAP_AlertReadPollIntervalBusyDecrease ( see the Administration Guide ) SAP_AlertReadPollIntervalIdleIncrease ( see the Administration Guide ) SAP_AlertReadPollIntervalMax ( see the Administration Guide ) SAP_AlertReadPollIntervalMin ( see the Administration Guide ) SAP_AlertWriteForceSendInterval ( see the Administration Guide ) SAP_AlertWritePollIntervalBusyDecrease ( see the Administration Guide ) SAP_AlertWritePollIntervalIdleIncrease ( see the Administration Guide ) SAP_AlertWritePollIntervalMax ( see the Administration Guide ) 943 • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} • ${FormatExtension} . Reference SAP_AlertWritePollIntervalMin ( see the Administration Guide ) SAP_DefaultJobPriority ( see the Administration Guide ) SAP_DisableDefaultPrintFeature ( see the Administration Guide ) SAP_EventSyncPollInterval ( see the Administration Guide ) SAP_EventSyncWindow ( see the Administration Guide ) SAP_FullJobSynchronizationMode ( see the Administration Guide ) SAP_IgnoreApplicationReturnCode ( see the Administration Guide ) SAP_JobConfirmBlockSize ( see the Administration Guide ) SAP_JobDescriptionPolicy ( see the Administration Guide ) SAP_JobHistory ( see the Administration Guide ) SAP_JobMonitorBlockSize ( see the Administration Guide ) SAP_JobMonitorNumberOfWorkers ( see the Administration Guide ) SAP_JobMonitorPollInterval ( see the Administration Guide ) SAP_JobSyncBlockSize ( see the Administration Guide ) SAP_JobSyncPollIntervalBusyDecrease ( see the Administration Guide ) SAP_JobSyncPollIntervalIdleIncrease ( see the Administration Guide ) SAP_JobSyncPollIntervalMax ( see the Administration Guide ) SAP_JobSyncPollIntervalMin ( see the Administration Guide ) SAP_LastJobSync ( see the Administration Guide ) SAP_MaxLogSize ( see the Administration Guide ) SAP_MaxReconnectTime ( see the Administration Guide ) SAP_MaxSpoolSize ( see the Administration Guide ) SAP_ProcessChainRestartPollInterval ( see the Administration Guide ) SAP_ProcessChainWaitForEndStatus ( see the Administration Guide ) SAP_Release ( see the Administration Guide ) SAP_RFCAbortTimeout ( see the Administration Guide ) SAP_RFCIdleTimeout ( see the Administration Guide ) SAP_ShowBIBatchJobs ( see the Administration Guide ) SAP_ShowBIProcessLogDetails ( see the Administration Guide ) SAP_SID ( see the Administration Guide ) SAP_UppercaseRfcPassword ( see the Administration Guide ) SAP_UseShortSpoolTableRows ( see the Administration Guide ) 944 . ${FormatExtension} JobOutputFileNameFormat ( see the Administration Guide ) String JobOutputFileNameSuffix ( see the Administration Guide ) lis${FileSeparator}${Pro.String ) cessServer}_${JobId}_${JobFileOrder}.5 ministration Guide ) 945 Integer 0- Integer 0- .String cessServer}_${JobId}_${JobFileOrder}.${ProcessServer}] Default value on Java platforms: ${InstallDirectory} JobLogFileNameFormat ( see the Administration Guide ) String JobLogFileNameSuffix ( see the Administration Guide log${FileSeparator}${Pro.${FormatExtension} SAP_AlertReadPollIntervalBusyDecrease ( see the Administration Guide ) 120 SAP_AlertReadPollIntervalIdleIncrease ( see the Ad.Reference SAP_UseTransports ( see the Administration Guide ) SAP_XbpVersion ( see the Administration Guide ) The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type Value Range DataRootDirectory ( see the Administration Guide ) Default value on Windows: RemoteDirectory ${InstallDirectory}\var\${SystemId}\${ProcessServer} Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var.${SystemId}. 120 tion Guide ) Integer 10 - SAP_AlertReadPollIntervalMin ( see the Administra.false istration Guide ) Boolean SAP_JobConfirmBlockSize ( see the Administration 25 Guide ) Integer SAP_JobDescriptionPolicy ( see the Administration All Guide ) String SAP_JobHistory ( see the Administration Guide ) Integer 1- SAP_JobMonitorBlockSize ( see the Administration 25 Guide ) Integer 0- SAP_JobMonitorNumberOfWorkers ( see the Admin.10 tion Guide ) Integer 10 - SAP_DefaultJobPriority ( see the Administration Guide ) Integer 1 .100 50 SAP_DisableDefaultPrintFeature ( see the Administra.5 istration Guide ) Integer 5- SAP_JobSyncPollIntervalMax ( see the Administration 120 Guide ) Integer 10 - 1 5000 946 1- .300 tration Guide ) Integer 60 - SAP_AlertWritePollIntervalBusyDecrease ( see the Administration Guide ) 120 Integer 0- SAP_AlertWritePollIntervalIdleIncrease ( see the Administration Guide ) 5 Integer 0- SAP_AlertWritePollIntervalMax ( see the Administra.false tion Guide ) Boolean SAP_EventSyncPollInterval ( see the Administration 10 Guide ) Integer 1- SAP_EventSyncWindow ( see the Administration Guide ) Integer 0- 600 SAP_FullJobSynchronizationMode ( see the Adminis.Reference SAP_AlertReadPollIntervalMax ( see the Administra.120 ministration Guide ) Integer 0- SAP_JobSyncPollIntervalIdleIncrease ( see the Admin.false tration Guide ) Boolean SAP_IgnoreApplicationReturnCode ( see the Admin.10 istration Guide ) Integer 1- SAP_JobMonitorPollInterval ( see the Administration 10 Guide ) Integer 1- SAP_JobSyncBlockSize ( see the Administration Guide ) Integer 1- SAP_JobSyncPollIntervalBusyDecrease ( see the Ad.120 tion Guide ) Integer 10 - SAP_AlertWritePollIntervalMin ( see the Administra.10 tion Guide ) Integer 10 - SAP_AlertWriteForceSendInterval ( see the Adminis. The first table describes the parameters. not a NFS or Microsoft Windows network share. Name Description DataRootDirectory ( see the Administration The root data directory that contains the directories for job output.true istration Guide ) Boolean SAP_Release ( see the Administration Guide ) String SAP_RFCAbortTimeout ( see the Administration Guide ) 0 Integer 0- SAP_RFCIdleTimeout ( see the Administration Guide 300 ) Integer 0- SAP_ShowBIBatchJobs ( see the Administration Guide true ) Boolean SAP_ShowBIProcessLogDetails ( see the Administra. default values. the datatype as well as valid ranges of values for each parameter. the second and third table contain all variables.60 istration Guide ) Integer 10 - SAP_ProcessChainWaitForEndStatus ( see the Admin. In other words.Reference SAP_JobSyncPollIntervalMin ( see the Administration 10 Guide ) Integer SAP_LastJobSync ( see the Administration Guide ) Integer 10 - SAP_MaxLogSize ( see the Administration Guide ) 1048576 Integer -1 - SAP_MaxReconnectTime ( see the Administration Guide ) 0 Integer 0- SAP_MaxSpoolSize ( see the Administration Guide ) 1048576 Integer -1 - SAP_ProcessChainRestartPollInterval ( see the Admin.true tion Guide ) Boolean SAP_SID ( see the Administration Guide ) String SAP_UppercaseRfcPassword ( see the Administration false Guide ) Boolean SAP_UseShortSpoolTableRows ( see the Administra. Guide ) The DataRootDirectory should point to a file system that is served by a local device driver. The reason for this is that the file tree needs to be as reliable as possible. Remote: true 947 . Process Server Parameter Description The following three tables describe each parameter.false tion Guide ) Boolean SAP_UseTransports ( see the Administration Guide ) true Boolean SAP_XbpVersion ( see the Administration Guide ) String JXBP Service JXBP service runs and intercepts JXBP jobs. where applicable and available. the data type as well as valid ranges of values for each parameter. istration Guide ) Remote: false SAP_MaxReconnectTime ( see the Admin. Possible options are: All.Default for job log file name format. Remote: false JobOutputFileNameFormat ( see the Admin. StandardOnly. None.Default for job output file name format. automatic job description change is active for all job definitions. Following a link in the table below will take you to the corresponding entry in the parameter description table. istration Guide ) Remote: false JobOutputFileNameSuffix ( see the Admin. where applicable and available. Remote: false SAP_JobDescriptionPolicy ( see the Admin.Policy used for the SAP service when automatically changing the istration Guide ) descriptions of jobs.Default for job output file name suffix.Default for job log file name suffix. ministration Guide ) Remote: false SAP_JXBP_EventPollInterval ( see the Administration Guide ) Poll interval for JXBP events (in seconds). This is appended to DataRootDirtration Guide ) ectory to create a file name. The value All is the default. Remote: false Process Server Parameter Usage The following tables provide all variables. The value StandardOnly restricts the job description chang only to built-in job definitions (job definitions with SAP_ prefix). The value None disables job description changes. Remote: false SAP_JXBP_EventFetchSize ( see the Ad. tration Guide ) Remote: false JobLogFileNameSuffix ( see the Adminis. default values.Number of log lines of JXBP jobs to fetch simultaneously. Remote: false SAP_JXBP_LogFetchSize ( see the Admin. If the connection cannot be reestablished within this time period. This is appended to DataRootistration Guide ) Directory to create a file name.Maximum length of time (in minutes) that the SAP service attempts istration Guide ) to reconnect to an SAP system.Number of JXBP events to fetch simultaneously. A description of each parameter is provided in the previous table. The following process server parameters can have variables in their value fields: Name Variables 948 .Reference JobLogFileNameFormat ( see the Adminis. the corresponding process server is shut down. Reference DataRootDirectory ( see the Administration • Guide ) • ${InstallDirectory} ${ProcessServer} • ${HostName} • ${SystemId} JobLogFileNameFormat ( see the Adminis.• tration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 949 . Reference JobLogFileNameSuffix ( see the Adminis.• tration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${FormatExtension} 950 . Reference JobOutputFileNameFormat ( see the Admin.• istration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 951 . • istration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} • ${FormatExtension} SAP_JobDescriptionPolicy ( see the Administration Guide ) SAP_JXBP_EventFetchSize ( see the Administration Guide ) SAP_JXBP_EventPollInterval ( see the Administration Guide ) SAP_JXBP_LogFetchSize ( see the Administration Guide ) SAP_MaxReconnectTime ( see the Administration Guide ) The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value 952 Data Type Value Range .Reference JobOutputFileNameSuffix ( see the Admin. Reference DataRootDirectory ( see the Administration Default value on Windows: ${Install.RemoteDirectGuide ) ory Directory}\var\${SystemId}\${ProcessServer} Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var.100 istration Guide ) Integer SAP_MaxReconnectTime ( see the Admin.${SystemId}. Process Server Parameter Description The following three tables describe each parameter.1000 ministration Guide ) Integer SAP_JXBP_EventPollInterval ( see the Administration Guide ) Integer 1 SAP_JXBP_LogFetchSize ( see the Admin.${FormatExtension} SAP_JobDescriptionPolicy ( see the Admin.All istration Guide ) String SAP_JXBP_EventFetchSize ( see the Ad. Name Description 953 .String tration Guide ) bId}_${JobFileOrder}.log${FileSeparator}${ProcessServer}_${Jo. the datatype as well as valid ranges of values for each parameter.String istration Guide ) bId}_${JobFileOrder}. where applicable and available.0 istration Guide ) Integer 0- JDBC Service JDBC service deals with JDBC connections.${FormatExtension} JobOutputFileNameFormat ( see the Administration Guide ) String JobOutputFileNameSuffix ( see the Admin. default values.${ProcessServer}] Default value on Java platforms: ${InstallDirectory} JobLogFileNameFormat ( see the Administration Guide ) String JobLogFileNameSuffix ( see the Adminis. The first table describes the parameters. the second and third table contain all variables.lis${FileSeparator}${ProcessServer}_${Jo. the data type as well as valid ranges of values for each parameter. In other words. The following process server parameters can have variables in their value fields: Name Variables DataRootDirectory ( see the Administration Guide ) • ${InstallDirectory} • ${ProcessServer} • ${HostName} • ${SystemId} DefaultRunAsUser ( see the Administration Guide ) 954 . Remote: false JDBCDriverName ( see the Administration Guide ) The class name of the JDBC driver. Following a link in the table below will take you to the corresponding entry in the parameter description table. The DataRootDirectory should point to a file system that is served by a local device driver. where applicable and available. Remote: false JDBCConnectionURL ( see the Administration The URL for the JDBC connection. Remote: true DefaultRunAsUser ( see the Administration Guide ) User that the job will run as if no other user is specified. A description of each parameter is provided in the previous table. default values. Guide ) Remote: false JDBCDriverLibrary ( see the Administration Guide ) Name of the custom library that contains the driver jar file. Remote: false JDBCUsername ( see the Administration Guide The username for the JDBC connection. not a NFS or Microsoft Windows network share. Remote: false JDBCOracleDBMSOutput ( see the Administra.Reference DataRootDirectory ( see the Administration Guide ) The root data directory that contains the directories for job output. Remote: false Process Server Parameter Usage The following tables provide all variables.Use Oracle DBMS Output? tion Guide ) Remote: false JDBCServer ( see the Administration Guide ) The alternative process server that is used to enable Queue Jumping. The reason for this is that the file tree needs to be as reliable as possible. ) Remote: false v7PLSQLApiAvailable ( see the Administration Is the Cronacle v6/7 compatible PL/SQL API available in this Guide ) (Oracle) database. Reference JDBCConnectionURL ( see the Administration Guide ) JDBCDriverLibrary ( see the Administration Guide ) JDBCDriverName ( see the Administration Guide ) JDBCOracleDBMSOutput ( see the Administration Guide ) JDBCServer ( see the Administration Guide ) JDBCUsername ( see the Administration Guide ) v7PLSQLApiAvailable ( see the Administration Guide ) The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type DataRootDirectory ( see the Administration Default value on Windows: ${Install.false tration Guide ) Boolean 955 Value Range .RemoteDirectory Guide ) Directory}\var\${SystemId}\${ProcessServer} Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var.${ProcessServer}] Default value on Java platforms: ${InstallDirectory} DefaultRunAsUser ( see the Administration Guide ) String JDBCConnectionURL ( see the Administration Guide ) String JDBCDriverLibrary ( see the Administration Guide ) String JDBCDriverName ( see the Administration Guide ) String JDBCOracleDBMSOutput ( see the Admin.${SystemId}.false istration Guide ) Boolean JDBCServer ( see the Administration Guide ) String JDBCUsername ( see the Administration Guide ) String v7PLSQLApiAvailable ( see the Adminis. but also as a way to persist data about the status of file events and messages being sent to the server. where applicable and available. Process Server Parameter Description The following three tables describe each parameter. Guide ) Remote: false JCS_REMOTE_USER ( see the Administration Guide The user that the FTP connection will be made with. the data type as well as valid ranges of values for each parameter. ) Remote: false Process Server Parameter Usage The following tables provide all variables. default values. default values.The credential to use for creating the FTP connection. the second and third table contain all variables. the datatype as well as valid ranges of values for each parameter. where it writes tracing information that can help in the event of problems. If the network goes down the agent cannot write out 956 .Reference FTP Service FTP service runs remote FTP jobs. Name Description JCS_REMOTE_CREDENTIAL ( see the Administra. A description of each parameter is provided in the previous table. The "DataRootDirectory" directory tree is not only used to store job output. The first table describes the parameters. where applicable and available. tion Guide ) Remote: false JCS_REMOTE_ENDPOINT ( see the Administration The hostname on which the FTP server is running. The following process server parameters can have variables in their value fields: Name Variables JCS_REMOTE_CREDENTIAL ( see the Administration Guide ) JCS_REMOTE_ENDPOINT ( see the Administration Guide ) JCS_REMOTE_USER ( see the Administration Guide ) The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type JCS_REMOTE_CREDENTIAL ( see the Administration Guide ) String JCS_REMOTE_ENDPOINT ( see the Administration Guide ) String JCS_REMOTE_USER ( see the Administration Guide ) String Value Range PlatformAgent Service PlatformAgent service runs platform jobs and handles file events. The agent has its own log directory. Following a link in the table below will take you to the corresponding entry in the parameter description table. Do you want the scheduler's JVM to check the certificate presented by istration Guide ) the platform agent? If you set this to true. Remote: false ConnectErrorBackoff ( see the Adminis. Process Server Parameter Description The following three tables describe each parameter. To manually create a new secret use the "jregister" utility. The last value will be used once the end of the list is reached. where applicable and available. This will be set by the platform agent itself when it starts. as a sizable amount of file operations take place for every job. You should transfer these values into the process server parameter if you do not let the installer register itself as a processor server. the second and third table contain all variables.List of values (in ms. the JVM truststore must contain the agent's public certificate and the root CA certificate. This Guide ) will be set by the platform agent itself when it starts. Name Description BuildBranch ( see the Administration Guide ) Branch from which this platform agent was built.Reference status information nor log that it is unable to do so. You are also reducing the speed at which jobs can be started and stopped. This account does not have access to network shares. The platform agent installers create values during the installation process. Remote: false CheckAgentCertificate ( see the Admin. The "SharedSecret" is specified in an encoded format. the (un)reliability of the network becomes a serious issue.Do you want the scheduler's JVM to check the hostname in the certificate istration Guide ) presented by the platform agent? If you set this to true. Since version M28 the Microsoft Windows agent will not allow DataRootDirectory to be on a drive that is not marked by the operating system as a local device. In other words: if you put this data on a network drive. the RemoteHostName used to connect to the platform agent must be the same as that presented in the agent's certificate. Remote: false BuildId ( see the Administration Guide Revision and branch from which the platform agent was built from. The first table describes the parameters. this ) will be set by the platform agent itself when it starts. because that enables auto-updating of the agent. comma separated) that the service should delay tration Guide ) for when a connect error occurs. Remote: false CheckAgentHostname ( see the Admin. Remote: false 957 . The first value will be used when the connection request was successful. On Microsoft Windows there is an additional complication in that the platform agent runs best as the Local System account (NT Authority\System). default values. Remote: false BuildRevision ( see the Administration Revision of the branch from which the platform agent was built. the datatype as well as valid ranges of values for each parameter. Remote: true 958 . \ escapes the next character). Remote: true ExecutableDirectory ( see the Adminis. Remote: true EnvironmentVariables ( see the Admin. with UNIX istration Guide ) quoting rules (use " to store spaces.Extra environment variables in format <name>=<value> [. Default value is PATH.LC_*. This tration Guide ) will be set by the platform agent itself when it starts.]. Environment variables that are passed to jobs from the platform agent.. Remote: false InstanceName ( see the Administration Instance name used by the platform agent. tion Guide ) Remote: false EndPoint ( see the Administration Guide Target host for the job to run on.].Directory that the binaries used for the platform agent are installed..Command to be used to check if a file is in use.The root data directory that contains the directories for job output. Guide ) This will be set by the platform agent itself when it starts. Remote: true DefaultRunAsUser ( see the Administra. commas and newlines.User that the job will run as if no other user is specified.LANG. Remote: false KeepAllFiles ( see the Administration Guide ) Is platform agent to keep all job processor work files in the Job directory? Remote: true KeepCrashFiles ( see the Administration Is platform agent to keep intermediate files after a job processor crash? Guide ) Remote: true KeepEmptyFiles ( see the Administration Is platform agent to keep empty output or log files? Guide ) Remote: true KeepEnvironmentVariables ( see the Administration Guide ) UNIX platform agent only. not a NFS or Microsoft Windows network share.. Comma-separated list of variables with terminating * permitted.. with UNIX quoting rules (use " to store spaces. The reason for this is that the file tree needs to be as reliable as possible. In other words. tration Guide ) Remote: true InstallDirectory ( see the Administration Directory in which the platform agent network process server is installed.Reference DataRootDirectory ( see the Administra. in the format tion Guide ) <name>=<value> [. \ escapes the next character). commas and newlines.Extra environment variables are loaded from this file. ) Remote: false EnvironmentFile ( see the Administra. on UNIX only. This will be set by the platform Guide ) agent itself when it starts. tion Guide ) The DataRootDirectory should point to a file system that is served by a local device driver. Remote: false FileInUseCommand ( see the Adminis. The last defined setting is used for retrieving jobfiles. Remote: false Platform ( see the Administration Guide Operating system platform and CPU type. This will be set by the platform agent itself when it starts. Remote: true MonitorInterval ( see the Administration Interval in seconds for measuring the built-in monitoring data. Remote: false OSFamily ( see the Administration Guide ) Operating system family. This will be set by the remote agent itself when it starts. Remote: false RemoteURI ( see the Administration Guide ) Remote URL. This will be set by the platform ) agent itself when it starts. Remote: true LogLevel ( see the Administration Guide Logging level for the platform agent after it has been configured. set the value to 0. Comma ) delimited list of [[executable. tion Guide ) Remote: false RemotePort ( see the Administration Guide ) The TCP port on which the agent on the remote host is listening.Remote host on which the jobs need to be executed. Remote: false ProcessType ( see the Administration Guide ) Type of process under which platform agent is running. Remote: true NetDirectory ( see the Administration Guide ) Directory from which the platform agent is configured. To switch Guide ) this off.]<category>=]level values. Remote: false RemoteHostName ( see the Administra. Remote: false 959 .Reference KeepErrorFiles ( see the Administration Is platform agent to keep all job processor work files when the job ends Guide ) in error? Remote: true LogFile ( see the Administration Guide Path to file to which the platform agent should log after it has been con) figured. This will be set by the platform agent itself when it starts. Remote: false MessageInterval ( see the Administration Number of seconds before an agent will respond that there are no mesGuide ) sages to be retrieved. the default is false A LowVolume ProcessServer requires licensing support which specifies the threshold for the number of jobs the ProcessServer can run per day. changed depending on agent hostname and SSL settings. Remote: true LowVolume ( see the Administration Guide ) Indicates that this is a low volume process server when set to true. Directory used by the agent as its working (current) directory. the data type as well as valid ranges of values for each parameter. where applicable and available. make sure the agent has an X509 certificate and key. In case of plain user switch mode. Remote: true SystemId ( see the Administration Guide System ID sent to the remote side to allow its use in directories.Versions of the platform agent that the server is also compatible with. A description of each parameter is provided in the previous table. there is no user switching. This parameter should tration Guide ) only be used when the user switch mode is sudo. tration Guide ) Remote: false WorkingDirectory ( see the Administra. like /usr/bin/pdksh in Local_KSH. for example./usr/bin/ksh in InterpreterWhitelist_KSH. Remote: false Process Server Parameter Usage The following tables provide all variables. The following process server parameters can have variables in their value fields: Name Variables BuildBranch ( see the Administration Guide ) BuildId ( see the Administration Guide ) 960 . tion Guide ) Remote: true InterpreterWhitelist_ ( see the Adminis. on UNIX only. for example. Following a link in the table below will take you to the corresponding entry in the parameter description table. This must match the value for the remote agent. in case of root and setuid the user switching is done by the job-processor.You can specify a whitelist of allowed interpreters for each platform tration Guide ) agent job definition type by specifying them as a comma separated list in a value to the process server parameter named InterpreterWhitelist_<jobDefinitionType>. These interpreters can then be used on a job definition-level using the JCS_INTERPRETER_<jobDefinitionType> Remote: false Local_ You can override the interpreter including the white-listed ones for each platform agent job definition type by specifying it as a value to the process server parameter named Local_<jobDefinitionType>. Remote: false SwitchUserCommand ( see the Adminis. and has the appropriate extra security library installed. default values.Reference SecureConnection ( see the Administra.Do you want HTTPS to be used as the connection protocol instead of tion Guide ) HTTP? If you set this to true. ) Remote: true VersionCompatibility ( see the Adminis.Command used to switch users. like /bin/*. Remote: false SharedSecret ( see the Administration Guide ) Shared secret used for authentication between the process server and the remote agent. Reference BuildRevision ( see the Administration Guide ) CheckAgentCertificate ( see the Administration Guide ) CheckAgentHostname ( see the Administration Guide ) ConnectErrorBackoff ( see the Administration Guide ) DataRootDirectory ( see the Administration Guide ) • ${InstallDirectory} • ${ProcessServer} • ${HostName} • ${SystemId} DefaultRunAsUser ( see the Administration Guide ) EndPoint ( see the Administration Guide ) EnvironmentFile ( see the Administration Guide ) All EnvironmentVariables ( see the Administration Guide ) All ExecutableDirectory ( see the Administration Guide ) FileInUseCommand ( see the Administration Guide ) ${Filename} InstallDirectory ( see the Administration Guide ) InstanceName ( see the Administration Guide ) KeepAllFiles ( see the Administration Guide ) KeepCrashFiles ( see the Administration Guide ) KeepEmptyFiles ( see the Administration Guide ) KeepEnvironmentVariables ( see the Administration Guide ) KeepErrorFiles ( see the Administration Guide ) LogFile ( see the Administration Guide ) LogLevel ( see the Administration Guide ) LowVolume ( see the Administration Guide ) MessageInterval ( see the Administration Guide ) MonitorInterval ( see the Administration Guide ) NetDirectory ( see the Administration Guide ) OSFamily ( see the Administration Guide ) 961 • ${TraceDirectory} • ${InstallDirectory} • ${DataRootDirectory} • ${ProcessType} • ${ProcessName} • ${ProcessId} • ${ProcessServer} • ${FileSeparator} . RemoteDiristration Guide ) ory}\var\${SystemId}\${ProcessServer} ectory Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var.${SystemId}.30000 ministration Guide ) String DataRootDirectory ( see the Admin.1000.0.Reference Platform ( see the Administration Guide ) ProcessType ( see the Administration Guide ) RemoteHostName ( see the Administration Guide ) RemotePort ( see the Administration Guide ) RemoteURI ( see the Administration Guide ) SecureConnection ( see the Administration Guide ) SharedSecret ( see the Administration Guide ) SwitchUserCommand ( see the Administration Guide ) • ${User} • ${Command} • ${InstallDirectory} • ${DataRootDirectory} SystemId ( see the Administration Guide ) VersionCompatibility ( see the Administration Guide ) WorkingDirectory ( see the Administration Guide ) The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type BuildBranch ( see the Administration Guide ) String BuildId ( see the Administration Guide ) String BuildRevision ( see the Administration Guide ) String CheckAgentCertificate ( see the Administration Guide ) false Boolean CheckAgentHostname ( see the Administration Guide ) false Boolean ConnectErrorBackoff ( see the Ad.100.${ProcessServer}] Default value on Java platforms: ${InstallDirectory} 962 Value Range .10000.Default value on Windows: ${InstallDirect.1000.10000.10000.100. LC_* KeepErrorFiles ( see the Adminis.RemoteDir${ProcessName}-${ProcessId}.900 NetDirectory ( see the Administration Guide ) String OSFamily ( see the Administration Guide ) String Platform ( see the Administration Guide ) String 963 .false tion Guide ) Boolean KeepCrashFiles ( see the Adminis.false tration Guide ) Boolean KeepEnvironmentVariables ( see the Administration Guide ) String Default value on UNIX: PATH.900 MonitorInterval ( see the Adminis.Default value on most UNIX platforms: ministration Guide ) /usr/sbin/fuser "${Filename}" String Default value on OSX: /usr/bin/fuser "${Filename}" Default value on Linux: lsof "${Filename}" InstallDirectory ( see the Administration Guide ) String InstanceName ( see the Administration Guide ) String KeepAllFiles ( see the Administra.false tration Guide ) LogFile ( see the Administration Guide ) Boolean ${TraceDirectory}${FileSeparator}${ProcessServer}.false tration Guide ) Boolean KeepEmptyFiles ( see the Adminis.log ectory LogLevel ( see the Administration info Guide ) String LowVolume ( see the Administra.60 tration Guide ) Integer 5 .false tion Guide ) Boolean MessageInterval ( see the Adminis.LANG.60 tration Guide ) Integer 0 .Reference DefaultRunAsUser ( see the Administration Guide ) String EndPoint ( see the Administration Guide ) String EnvironmentFile ( see the Administration Guide ) String EnvironmentVariables ( see the Administration Guide ) String ExecutableDirectory ( see the Administration Guide ) String FileInUseCommand ( see the Ad. the folder is supplied in the job definition. This is the base path of the service ) include protocol. Name Description URL ( see the Administration Guide URL for the Remote publishing server. port and context path. default values. host. where applicable and available.String tion Guide ) TJ8Z0dv95GHjVKqK0s2pmVY2ht7yuklUolYklFCNVHpyYlX4gpoq4NfuaDlAf862xlA== SwitchUserCommand ( see the Administration Guide ) Default value on UNIX: sudo -S -u ${User} ${Command} String SystemId ( see the Administration Guide ) String VersionCompatibility ( see the Administration Guide ) String WorkingDirectory ( see the Admin.1555 tion Guide ) Integer RemoteURI ( see the Administration Guide ) String SecureConnection ( see the Admin.false istration Guide ) Boolean 032767 SharedSecret ( see the Administra. The first table describes the parameters.Default value on Windows: ${InstallDirectory} RemoteDiristration Guide ) ectory Default value on UNIX: ${InstallDirectory} Default value on z/OS: ${InstallDirectory} Default value on VMS: ${InstallDirectory} InterpreterWhitelist ( see the Administration Guide ) String of CSV Local ( see the Administration Guide ) String Publish Service Publish service runs jobs to publish or approve files on a remote server.Reference ProcessType ( see the Administration Guide ) String RemoteHostName ( see the Administration Guide ) String RemotePort ( see the Administra.{RedwoodSecureStorage}:YvkgnwAdnjY6jlBqWJX. Process Server Parameter Description The following three tables describe each parameter. the second and third table contain all variables. Remote: false 964 . the datatype as well as valid ranges of values for each parameter. default values. A description of each parameter is provided in the previous table. not a NFS or Microsoft Windows network share.Default for job output file name suffix.Default for job log file name suffix. The first table describes the parameters. This is appended to DataRoottion Guide ) Directory to create a file name. The reason for this is that the file tree needs to be as reliable as possible. where applicable and available. This is appended to Datatration Guide ) RootDirectory to create a file name. the second and third table contain all variables.Reference Process Server Parameter Usage The following tables provide all variables. Remote: true JobLogFileNameFormat ( see the Adminis. The following process server parameters can have variables in their value fields: Name Variables URL ( see the Administration Guide ) The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value URL ( see the Administration Guide ) Data Type Value Range String Script Service Script service runs RedwoodScript jobs. Following a link in the table below will take you to the corresponding entry in the parameter description table. Remote: false 965 . tration Guide ) Remote: false JobLogFileNameSuffix ( see the Administra. default values.Default for job output file name format. Remote: false JobOutputFileNameFormat ( see the Admin. Process Server Parameter Description The following three tables describe each parameter. In other words. the datatype as well as valid ranges of values for each parameter. Guide ) The DataRootDirectory should point to a file system that is served by a local device driver. Name Description DataRootDirectory ( see the Administration The root data directory that contains the directories for job output. where applicable and available.Default for job log file name format. istration Guide ) Remote: false JobOutputFileNameSuffix ( see the Adminis. the data type as well as valid ranges of values for each parameter. the data type as well as valid ranges of values for each parameter. The following process server parameters can have variables in their value fields: Name Variables DataRootDirectory ( see the Ad. Following a link in the table below will take you to the corresponding entry in the parameter description table.• ministration Guide ) • ${InstallDirectory} ${ProcessServer} • ${HostName} • ${SystemId} JobLogFileNameFormat ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 966 . default values.Reference Process Server Parameter Usage The following tables provide all variables. where applicable and available. A description of each parameter is provided in the previous table. Reference JobLogFileNameSuffix ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${FormatExtension} 967 . Reference JobOutputFileNameFormat ( see • the Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 968 . Reference JobOutputFileNameSuffix ( see the Administration Guide ) • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} • ${FormatExtension} The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type 969 Value Range . the second and third table contain all variables. where applicable and available. Remote: false 970 .${ProcessServer}] Default value on Java platforms: ${InstallDirectory} JobLogFileNameFormat ( see the Administration Guide ) JobLogFileNameSuffix ( see the Administration Guide ) String log${FileSeparator}${ProcessServer}_${JobId}_${JobFileOrder}.Default for job log file name suffix.${SystemId}. This is appended to DataRoottion Guide ) Directory to create a file name. not a NFS or Microsoft Windows network share.RemoteDirectistration Guide ) ory}\var\${SystemId}\${ProcessServ. The reason for this is that the file tree needs to be as reliable as possible.${FormatExtension} String JobOutputFileNameFormat ( see the Administration Guide ) String JobOutputFileNameSuffix ( see the lis${FileSeparator}${ProcessServer}_${JoAdministration Guide ) bId}_${JobFileOrder}.Default for job log file name format. tration Guide ) Remote: false JobLogFileNameSuffix ( see the Administra. Guide ) The DataRootDirectory should point to a file system that is served by a local device driver. Name Description DataRootDirectory ( see the Administration The root data directory that contains the directories for job output. Remote: true JobLogFileNameFormat ( see the Adminis. the datatype as well as valid ranges of values for each parameter. In other words. The first table describes the parameters. Process Server Parameter Description The following three tables describe each parameter. default values.Reference DataRootDirectory ( see the Admin.${FormatExtension} String System Service System service runs internally defined jobs.Default value on Windows: ${InstallDirect.ory er} Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var. Following a link in the table below will take you to the corresponding entry in the parameter description table.• ministration Guide ) • ${InstallDirectory} ${ProcessServer} • ${HostName} • ${SystemId} 971 . default values.Reference JobOutputFileNameFormat ( see the Admin. istration Guide ) Remote: false JobOutputFileNameSuffix ( see the Adminis.Default for job output file name format. This is appended to Datatration Guide ) RootDirectory to create a file name. Remote: false Process Server Parameter Usage The following tables provide all variables. where applicable and available. the data type as well as valid ranges of values for each parameter. A description of each parameter is provided in the previous table.Default for job output file name suffix. The following process server parameters can have variables in their value fields: Name Variables DataRootDirectory ( see the Ad. Reference JobLogFileNameFormat ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 972 . Reference JobLogFileNameSuffix ( see the • Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${FormatExtension} 973 . Reference JobOutputFileNameFormat ( see • the Administration Guide ) • ${ProcessServer} ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} 974 . Reference JobOutputFileNameSuffix ( see the Administration Guide ) • ${ProcessServer} • ${HostName} • ${SystemId} • ${JobId} • ${FileSeparator} • ${JobOwner} • ${DateTime} • ${JobDefinitionOwner} • ${JobDefinition} • ${JobDefinitionPartition} • ${ProcessServer} • ${ProcessServerPartition} • ${Queue} • ${QueuePartition} • ${JobApplication} • ${JobApplicationPartition} • ${JobFileName} • ${JobFileOrder} • ${FormatExtension} The following table lists the parameters and their default values as well as a range of values the parameter accepts: Name Default Value Data Type 975 Value Range . You can create your own functions for use in REL and RedwoodScript using a library with REL entry points.RemoteDirectistration Guide ) ory}\var\${SystemId}\${ProcessServ.ory er} Default value on UNIX: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on z/OS: ${InstallDirectory}/var/${SystemId}/${ProcessServer} Default value on VMS: ${InstallDirectory}[var.${FormatExtension} String JobOutputFileNameFormat ( see the Administration Guide ) String JobOutputFileNameSuffix ( see the lis${FileSeparator}${ProcessServer}_${JoAdministration Guide ) bId}_${JobFileOrder}. and some predefined functions. The REL can be used to specify: • Job definition parameter default values • Job definition return code mappings • Job chain step preconditions • Job chain job preconditions • Job chain job parameter mappings • Job chain job scheduling parameters • Event raiser comments 976 .Reference DataRootDirectory ( see the Admin.${SystemId}.${FormatExtension} String Redwood Expression Language Functions Use Redwood Expression Language (or REL) is a simple expression language that supports basic arithmetic and comparison operators.Default value on Windows: ${InstallDirect. see Libraries for more information.${ProcessServer}] Default value on Java platforms: ${InstallDirectory} JobLogFileNameFormat ( see the Administration Guide ) JobLogFileNameSuffix ( see the Administration Guide ) String log${FileSeparator}${ProcessServer}_${JobId}_${JobFileOrder}. the functions on this page are available in all contexts. Different scripting contexts have different predefined objects. Operators Redwood Expression Language provides support for the basic arithmetic operators: • + ..Prefix: Math • BaseRange ( see the Administration Guide ) . and the predefined functions are the same.integer modulus It also supports comparison: • === . • BaseString ( see the Administration Guide ) .Reference • .Prefix: Time 977 . This means that a UNC path would be specified as follows: \\\\server\\share\\folder\\file Built in function classes • BaseCast ( see the Administration Guide ) .Prefix: String • BaseTime ( see the Administration Guide ) ..division • % .greater than or equal • < ..Prefix: Range • BaseStringPrefix ( see the Administration Guide ) .greater than • >= . and thus must be escaped if the literal is meant to be used.equal to • !== .Prefix: None.Prefix: None. See the scripting contexts topic for more information. • BaseCast ( see the Administration Guide ) .less than • <= .less than or equal Escape Character • \ .escape character.not equal to • > .multiplication • / . Expressions in REL are designed to be very similar to expressions in RedwoodScript.subtraction • * .addition and string concatenation • .Prefix: Casts • BaseMath ( see the Administration Guide ) . =ToString(true) .returns true.Prefix: SAP • ModuleScriptingTable ( see the Administration Guide ) .Prefix: Repository • ExtendedTime ( see the Administration Guide ) . ject arg) ToInteger Object ToInteger(Ob.Prefix: Time • ModuleScriptingConstraint ( see the Administration Guide ) .Reference • ExtendedRange ( see the Administration Guide ) .=ToNumber('123') .Prefix: Table • ModuleScriptingVariable ( see the Administration Guide ) . Change a data type to another.Convert arg to an integer if pos.Prefix: Query • ModuleScriptingSap ( see the Administration Guide ) .Prefix: Logic • ModuleScriptingPLSQL ( see the Administration Guide ) . Function Name Signature Description Example ToBoolean Object ToBoolean(Ob.resible. turns 123. Convert arg to Y for true and N =ToYN('true') .resible.Convert arg to a number if pos.Prefix: Range • ExtendedRepository ( see the Administration Guide ) .Prefix: PLSQL • ModuleScriptingQuery ( see the Administration Guide ) .=ToInteger('123') . Built in functions Cast Prefix: Availability: Always. turns 123.Prefix: JobChainParameters • ModuleScriptingLogic ( see the Administration Guide ) . ject arg) ToYN Object ToYN(Object arg) =ToBoolean('true') returns true.Convert arg to a string. 978 . ject arg) ToNumber Object ToNumber(Ob.Prefix: Variable Note The current<data_type> object designates the object you want to use with the function. Y.Convert arg to a boolean (true/false) if possible. Math Prefix: Math Availability: Always.Prefix: Constraint • ModuleScriptingJobChainParameters ( see the Administration Guide ) .returns for any other value. ject arg) ToString Object ToString(Ob. 1) or a range of numbers (eg. String trueRange) Return true if candidate is in the range specified by trueRange.abs(-12. and '_' is not in the set.round(BigDecimal rounded up.abs(BigDecimal x) floor Calculate the floor (greatest inBigDecimal Math. Example sets: Set X's English First month of the quarter X__X__X__X__ J__A__M__O__ Last month of the quarter __X__X__X__X __M__J__S__D Not last month of the quarter XX_XX_XX_XX_ JF_AM_JA_ON_ Monday.5. Set is written as "XXXXXXX" where X is either '_' or a letter and the first X represents 0 (or Sunday for days of the week. Function Signature Name Description Example inRange boolean Range. Functions for working with sets and ranges. Sunday X_____X S_____S Ranges are made up of comma separated sections. Calculate the ceiling (least integer =Math.format(Time.12) greater than) of x. Range Prefix: Range Availability: Always.49) BigDecimal returns 12. or January for months). =Math.round(12. =Range.reBigDecimal turns 12. x) ceil BigDecimal Math. 4-7). All numbers specified are in the range. it will be =Math.12) returns -13. Math. other numbers are not.floor(-12. each of which is a number (eg. 'd'). This boolean function checks if the current day of the week is between 1 and 7. '1-7') 979 . Math.Reference Mathematical functions for use with Numbers. Friday _X_X_X_ _M_W_F_ Saturday. returns -12.inRange(Time. If x ends in .ceil(-12. x) =Math.format function which requires the Chargeable version. Any letter is in the set. Wednesday. The following example uses the Time. Function Name Signature Description Example abs Calculate the absolute value of x.ceil(BigDecimal x) round Round x.now('Europe/Berlin').floor(BigDecimal teger less than) of x.12) .inRange(int candidate.12. currentString. ='Hello World!'. This boolean function checks if the current month is the first month of a quarter. Functions for working with Strings. String currentString.to.String. ='Hello World!'.returns 4.now('Europe/Berlin').returns String.String currentConcatenate strings to current.returns 7. 980 ='Hello World!'.lastIndexOf('o'. the first character is at position 0.String currentstring String.String currentLowerCase String..indexOf('o') . 5) . String trueSet) The following example uses the Time.charAt Get character at pos in current.to.lastIndex. 10'.Reference inSet Return true if candidboolean Range. . Any number of other ob.inSet(Time. defaults to end of string. ='Hello World!'.='Hello'. 5) . ='123'.returns 123.conHello World!. ='Hello World!'. 3. LowerCase() . 5].indexOf('o'.sub. currentint currentString.substring(6) . [int startIndex]) Get the first index of the string searchFor in currentString. 'M').substring([int startIndex] [. 2.format(Time.toString() .toLowerCase() Convert currentString to lower ='HeLLo WorLd!'. int limit) currentString.inSet(int ate is in the set specified by trueRange. 4. Function Name Signature Description Example currentString. Note that the position is At(4) .returns o.indexOf(String searchFor. 5) .String currentString String. String[] currentString.in. '!') . optionally ending at endIndex.reLimit the length of the array to turns [1..='Hello World!'.substring(0. it can be used as a string.) jects may be passed as arguments.World'. ='Hello World!'.split(String separator. [int endIndex]) Get the last index of the string searchFor in the currentString. currentString.charString.toString() Convert currentString to a string.concat(' cat String.returns Hello.returns 4. cat(String s1. candidate.returns hello world!. 0-based.format function which requires the Chargeable version. . int endIndex]) Get a substring of currentString.tocase.split(' '. 5) . 'X__X__X__X__') String Prefix: Availability: Always. currentString. =Range.split Split currentString into an array ='1 2 3 4 5 6 7 8 9 using the specified separator.int currentdexOf String.returns World!.returns 7.charAt(int pos) currentString. limit elements. starting at startIndex (defaults to zero) and ending at endIndex (defaults to the end of the string). currentString. optionally starting at startIndex (default=0).lastIndexOf('o') .lastIndexOf Of(String searchFor.con. =String. [int startIndex]) Get the first index of the =String.charAt('Hello John'. optionally starting at turns 3. String searchFor.*/toturns 123 as a String. stance./*@in. int pos) Get character at pos in instance. startIndex (default=0). optionally starting at startIndex (default=0).946 Europe/Paris. Function Name Signature Description Example BaseString. String String(String instance) charAt String String.restance. 4) . int limit) 981 . 'l'.indexOf('Hello'.] . '3') .split(String instance. String searchFor. string searchFor in instance.*/to.now('Europe/Paris'). Functions for use with Strings.length() .toUpcase perCase() .lastIndexOf(String instance.length int currentString. =String.restance. =String.Convert instance to a string. split Split instance into an array =String.indexOf(String instance.returns HELLO WORLD!.returns 12. String Prefix: String Availability: Always. '3') .Reference currentString currentString.toString(123) .split('Some using the specified separator.BaseStringPrefix() concat Concatenate strings to inString String..concat(String instance. Any number of other objects may be passed as ar[String s1.returns SAP:C51_30 in this system. 'l'.BaseStringPrefix() Prefix String. =getSystemId() .toUpper.. '. like].returns 3.length() Get the length of currentString ='HeLLo WorLd!'.concat(Time. Rue Toulouse-Lautrec /*@inString String.returns o. Rue ToulouseLautrec') . String[] String.String. indexOf int String. people. ' '.charAt(String instance. lastIndexOf int String. String separator.lastIndexstring searchFor in the inOf('Hello'. [int startIndex]) Get the last index of the =String. currentString.) guments. getSystemId String getSystemId() Get the current system id. to limit elements.stance.returns 2011/08/01 13:08:36. people like'. '3') Limit the length of the array returns [Some.toUpperCase Case() Convert currentString to upper ='HeLLo WorLd!'. length =String.toUpper. day_of_year.on ice dex (defaults to the end of the string). Time Prefix: Time Availability: Always.Convert instance to upper Case(String instance) case =String. month Plurals with an additional 's' are accepted (eg. minute.substring('like starting at startIndex (defaults it on ice'. hour.. weeks. =String.') .returns 18.toLowerCase('but I like it dry..returns to zero) and ending at endIn. toUpperCase String String.).getSystemId() . hour. day. The <value> is always a number: • The days of the week start at 1 for Sunday. month. Example time expressions: • add 1 minute • add 3 seconds 982 . applied in order to a time (generally now. • The days of the year start at 1 for 1 January. The <specifier> is one of: • add/subtract: second.returns SAP:C51_30 on this system. day.returns I LIKE IT DRY.getSys.Convert instance to lower Case(String instance) case. week. toLowerCase String String. They may be: • set <specifier> <value> . but may be a specified date). year • truncate: second..length(String instance) getSystemId String String. minute. and dow is the day of the week. days. int endIndex]) Get a substring of instance. day.') . Time expressions are a sequence of operations.set <specifier> to <value> • add <value> <specifier> .toLower.Get the current system id. 14) .Reference substring String String.subtract <value> from <specifier> (This may propagate) • truncate <specifier> .substring(String instance. Get the length of instance int String.length('but I like it dry. . day_of_week.add <value> to <specifier> (This may propagate) • subtract <value> <specifier> .returns but i like it dry. The day is always the day of the month. [int startIndex] [. week_of_month.truncate at <specifier> (This will zero everything below <specifier>). minute.') . =String. month • set: second.toUpperCase('I like it dry. temId() =String. hour. 8.. dow) =Time.boolean Time. =Range.otherwise. Time. 'GLOBAL. String message) Return true if candidate is in the range specified by trueRange. Return true.expressionNow('subtract 1 day').now('Europe/Amsterdam'). The operator message is specified by the message and severity parameters. String expression) expressionNow Apply time expression expres. 'Warning: range exceeded') . String cified date.returns 2011/08/01 00:00:00.boolean functions which returns true it today is Tuesday Range .expressioncate day') .inRangeWarning(int candidate.boolean functions which returns true it today is Monday isTimeWindo. Extended Range function with notification.isReturn true if the time window wOpen TimeWindowOpen(Ob. ject date.now([String timeZoneName]) Return the time in the context =Time.sion to the date specified. '51-100'.System_Week_Monday') .=Time. String warningRange.expression(Ob.returns the current time zone (generally the time time with time zone. expression Apply time expression expresDateTimeZone Time.boolean Time.Reference • set hour 1 • truncate day • subtract 2 days Function Name Signature Description Example now DateTimeZone Time. 50. This can be optionally overridden by specifying the Olson name of a time zone as timeZoneName. 'add 1 day') returns tomorrow isTimeWindo.isTimeWindowOpenNow('GLOBAL.inRangeWarning(52. but log a warning operator message if candidate is in the range warningRange.Extended Prefix: Range Availability: Requires the Chargeable Version.isReturn true if the time window wOpenNow TimeWindowOpentimeWindow is open now.timeWindow is open on the speject date.isTimeWindowOpen(Time.000 Europe/Amsterdam Now(String expression) =Time. false Now(String timeWin. false otherwise.System_Week_Monday') . zone of the job).returns true and creates an operator message 983 .expressionNow('trunDateTimeZone sion to the current time. int severity. timeWindow) =Time. '10-50'.expression(Time. String trueRange.now() . Function Name Signature Description Example inRangeWarning boolean Range. Advanced time functions. '_X_X_X_') .returns My Job on this system.DayOfWeekInSet.Description from Job where Job. RangeNow(String dayRangeSet. Bind variable place holders are specified as ? in the query.is.Description from Job where Job. Function Name Signature Description Example isDayboolean Time. Wednesday. Function Name Signature Description Example getSystemId String Repository.queryHTMLTable(String query [.JobId = 21') . Set Set(Object date. system.JobId = 21') .returns My Job on this system. Functions for accessing the data model. isDayInboolean Time.Is the day of the week of OfWeekIn. Now('_X_X_X_') . =Repository.Extended Prefix: Time Availability: Requires the Chargeable Version.returns 21 on this null or its parent is null.returns true if the current SetNow day is Monday. =Repository.returns SAP:C51_30 on this system.queryHTMLTable('select Job. Object [] bindVariables]) Produce HTML output on stdout for the query query with optional bind variables bindVariables.returns true if the day falls on a Monday.is. queryCSV Produce CSV output on stdout for the query query with optional bind variables bindVariables.DayOfWeekIndate in the set weekSet.week in weekSet.getSystemId() . Now(String weekSet) isDayboolean Time.Extended Prefix: Repository Availability: Requires the Chargeable Version.isDayOfWeekInSetOfWeekIn. Bind variable place holders are specified as ? in the query.getParentJocified job id. =Repository.getSystemId() Get the current system id.isDayInRangeNow('4-7') . getParentJo. int Repository.Is the current day of the =Time.is.isDayOfWeekInSet(Time. String weekSet) =Time.reRangeNow DayInmonth in the range turns true if the current day of the month is between 4 and 7.Reference Repository .getParentJobId(String jobId) Get the parent job id of the spe. Wednesday.queryCSV(String query [. or Friday. or Friday.=Repository. queryHTM.int RepositLTable ory.String RepositbId ory.Is the current day of the =Time. or null if the job id is bId('27') .queryCSV('select Job. Object [] bindVariables]) Time .now('Europe/Paris'). dayRange) 984 . Is the day of the month of date in the range DayInRange(ObdayRangeSet. 'de_DE') .# 985 =Time.now().isLastDayInMonthNow() .is.now(). String localeName) Format the date according to the specified Simple Date Format.'47') .returns Inof the month? true if the current day is the last day of the month. isMonthIn.return true if the current month has an even number.isMonthInSet(Time.format(Time. or TH_TH_th (Thai with Thai Digits). LastDayInMonthNow MonthNow(ScriptEvaluationContext context) isLastDay.String Time.boolean Time. ject date.is. in the specified locale.turns 0:01:40. String dayRange) =Time.formtion atDuration(BigDecimal duration) Format a duration in mil.boolean Time.isDayInRange( Time.isLastDayInMonth(Time.boolean Time.expressionNow('add 2 days')) . The locale is language[_country[_variant]]. fr_CA for French (Canada).=Time. |#|:#|:#|.format(Object date.now('Europe/Bratislava'). For example 'en' for English. |# days.returns true if the day of the month in the time expression is between 4 and 7. '_X_X_X_X_X_X') .000.Is the month of the speSet cified date in the range MonthInSet(ObmonthRange? ject date.String Time.isMonthInSetNow('_X_X_X_X_X_X') . isMonthIn. |# weeks. String format) Format the date according =Time.formatDuration(100000) .is.Is the month of the curSetNow rent date in the set MonthInSetmonthSet? Now(String monthSet) =Time.Is the date specified the InMonth last day of that month? LastDayInMonth(Object date) =Time.return true if the current day is two days before the end of the month.is. String monthRange) =Time.expression(Time. formatDura. isLastDay.dd format.formatLocale(Time.return true if the current month has an uneven number. 'YYYYto the specified Simple MM-dd') .boolean Time. 'yyyy-MM-dd'.Reference isDayInRange boolean Time. as in 2011-08-14 fault locale. formatLoc.returns the date in the YYYY-MM-dd format. . format String Time. in the de. as in 201108-14 using the German/Germany locale. |1 day.reliseconds using the stand. ard format: |1 week.is.now(). 'add 1 month').formale atLocale(Object date.Is it currently the last day =Time.returns the date in the YYYY-MMDate Format. String format. where n > 1.Format the current date =Time.returns 16 Wochen.parse(Object string. If the third element is empty. =Time. If the first element is empty. |# weeks.'yyyyMMddhhmmss') .seconds since midnight sNow on January 1 1970 for the secondsNow() current time. for example 1312358556296 on 2011/08/03 10:02:36. The sixth element is used for minutes. 3 dias. nextTimeWindowOpeningNow Next opening of DateTimeZone Time. for example 1312358556296 on 2011/08/03 10:02:36.getUTCMilliseconds(Object date) =Time.returns 20110803100236 atNow(String Simple Date Format. |1 dag.298 Europe/Amsterdam.returns the milliseconds since January 1 1970. The fourth element is used for n days. The seventh element is used for seconds.#| The first element is used for 1 week.returns 2011/08/04 00:00:00.System_Week_Thursday') . String format) Parse the string into a =Time. If an element is empty it is omitted. where n > 1.returns 2011/08/03 cified Simple Date 10:02:36.returns the milliseconds since January 1 1970. |#|:#|:#|.nextTimeWindowOpeningNow('GLOBAL.298 Europe/Amsterdam.formatDurationEx(10000000000.Time. =Time. In all elements but the first and third. The second element is used for n weeks.form. |1 day. dowOpeningNow(String timeWindow) 986 =Time. The eighth element is used for milliseconds. |# dias.timeWindow after now. days are not printed and hours may be greater than 24.000. formatNow String Time.000 Europe/Amsterdam . '|1 semaine.getUTCMillisecondsNow() . 17:46:40.now()) . getUTCMil. getUTCMil.parse('20110803100236'.000 Europe/Amsterdam Format.getUTCMilli. # is replaced with the actual number. Get the number of milliseconds since midnight on January 1 1970 for the specified time. format) parse DateTimeZone Time.#|') .BigDecimal liseconds Time.BigDecimal Get the number of millilisecond. |# Wochen.Reference formatDura.nextTimeWin. The third element is used for 1 day. |# days. weeks are not printed and days may be greater than 7. The fifth element is used for hours. String format) Format a duration using a custom format.formatNow('yyyyMMddhhmmss') according to the specified .getUTCMilliseconds(Time. The format is specified as: |1 week. date according to the spe. |#|:#|:#|.String Time.formtionEx atDurationEx(BigDecimal duration. The following methods are used in the Simple Constraint Data field.returns 2011/08/04 00:00:00. the simple constraint type must be set to Expression. 'yyyyMMddhhmmss').000 Europe/Amsterdam Constraint Prefix: Constraint Availability: Requires the Chargeable Version.nextTimeWin.System_Week_Thursday') .timeWindow after the wOpening dowOpening(Obspecified date.returns 2011/08/04 00:00:00.nextTimeWin.System_Week_Thursday') .parse('20110803100236'. dowClosingNow(String timeWindow) nextDateTimeZone TimeWin. String timeWindow) =Time. 'GLOBAL. 'GLOBAL.returns 2011/08/04 00:00:00.System_Week_Wednesday') .nextTimeWindowOpening(Time.dow after now.Signature tion Name Description Example 987 . 'yyyyMMddhhmmss').Reference nextNext opening of DateTimeZone TimeWindo. =Time.nextTimeWindowClosing dowClosing(Object date.nextTimeWindowClosingNow('GLOBAL. Func. Note that you can only call this function on currently open time windows.000 Europe/Amsterdam Next closing of timeWinDateTimeZone Time. String timeWindow) Next closing of timeWindow after the specified date.Time.Time. ject date.nextTimeWindowClosingNow('20110803100236'.000 Europe/Amsterdam nextTimeWindowClosingNow =Time. nl. String list[. down list during submit.. and a.boolean ConCon.b..nl.liststraint Constraint(Object[] args /*String title. You can is a special character in regular expressions and use here the value variable for the therefore it needs to be escaped with two value.c.'..c. ues. However you can The mandatory first parameter (title) fill in any non-empty value. For this type of constraint =Constraint. You can only choose values from this al fourth parameter (separator) is a list. null. the comis a boolean expression which says if mas in the values..listConstraint('Country'.2. gt and nl.) When you do not supply the third parameter. entered by the user. '\\|') This will show a drop down list with The optional third parameter (valid) the values 1. try'. Also note..g. also mx is a title. boolean valid[. value !== '') This will show a drop down list with the values de.gt'.2.. 'de. which is a regular expression to split the elements in the list.. gt and nl. or it is null.b..listConstraint('Counonly one title is needed. The optionslashes.Reference list.. By default it is a comma (.. String separator]]*/) Create a drop-down with a list of val. 'de. =Conis a comma separated list of values. 988 .listConstraint('Ciphers which will be presented as a drop or letters'. String.Constraint.3. Note.3. that the bar here the entered value is correct.. e..|a. then only values from this list are allowed to be entered.straint. You The mandatory second parameter (list) can only choose values from this list.. '1. straint.gt') This will show a drop down list with the values de. =Constraint. letters or other symbols'. so the first job is Job 1..gt=Guatemala') This will show a the entered value is correct.c.3. that the bar here is a special character in regular expressions and therefore it needs to be escaped with two slashes. ':') This will show a drop down list..2. | gt | Guatemala | | nl | Nederland | +--------------+-------------+ You can only choose the values de. Also note. This expression is not zero-based. null. +---------+------+ For this type of constraint only two | Country | Code | titles are needed. 'C:1.c. like use here the value variable for the value.gt=502'. which will be presented as a drop down list dur.However you can fill in any non-empty value. nl and gt. comma separated. You can drop down list. entered by the user. also mx =Constraint....pairListConstraint('Country. list of titles.straint.. value !== '') This will show a drop down list. String list[.nl=31.Reference pairL. e.3. job job number.pairListConstraint('Country Code.Constraint. Country'. For example: Step 2. like The mandatory first parameter (titles) is a.|L:a. When you +--------------+-------------+ do not supply the third parameter. boolean valid]*/) Create a drop-down with a list of val... '\\|'...|O:=*+/'. job 3 or Data load. job 2. or | Country Code | Country | it is null. Code'. | | O | =-*+/ | +------+-----------+ Note. | | L | a. 989 . like +------+-----------+ | Code | Country | +------+-----------+ | C | 1.pairLstraint istConstraint(Object[] args /*String titles..nl=Nederis a boolean expression which says if land.g..boolean ConistCon.b.2. ing submit. the commas and equal sign in the values.b. You can only choose values from this list. 'de=49. +---------+------+ | de | 49 | | 502 | The mandatory second parameter (list) | gt | nl | 31 | is a comma separated list of +---------+------+ value=description pairs. ues. The optional third parameter (valid) 'de=Deutschland.pairListConstraint('Code|Ciphers. Job chain job names take the form Step name. JobChainParameters Prefix: JobChainParameters Availability: Requires the Chargeable Version. then only values from this +--------------+-------------+ | de | Deutschland | list are allowed to be entered. returns the Number In value of the parameter named "Parameter" of the first job (Job 1) in step Step 1 getInValueDate DateTimeZone JobChainParameters.returns the String Out value of the parameter named "Parameter" of the first job When you create a step.getOutValueDate('Step 1.getInber ValueNumber(String jobName. Job 1'. Job 1. getJobStatus String JobChainPara. Job 1') returns the job status of the first job (Job 1) of the step Step 2. step Step 1. =JobChainParameters.getInValueNumber('Step 1. add two (Job 1) in step Step 1 jobs to it and then delete the first job (Job 1). Job 1'.returns the Number Out value of the parameter named "Parameter" of the first job (Job 1) in step Step 1 getOutVal. String parameterName) Get the value of the Number output parameter parameterName of the job named jobName in the current job chain. 'Parameter') . String parameterName) Get the value of the String input parameter parameterName of the job named jobName in the current job chain.Parameters. Job 1') .returns the Date In value of the parameter named "Parameter" of the first job (Job 1) in step Step 1 getJobId Long JobChainPara.Get the job status of the job named jobName in the current meters.getInValueDate('Step 1. =JobChainParameters. 'Parameter') . . getOutBigDecimal JobChainValueNum.returns the String In value of the parameter named "Parameter" of the first job (Job 1) in step Step 1 getInBigDecimal JobChainValueNum.Get the job id of the job named =JobChainParameters. Job 1'.String JobChainParaueString meters.DateTimeZone JobueDate ChainParameters. Name) =JobChainParameters.getOutValueNumber('Step 1.Parameters. the second job will become Step 1. Job 1'.getOutValueString('Step 1.returns the job id of the first job (Job 1) of the bId(String jobName) chain.getOutValueString(String jobName.Reference Function Name Signature Description Example getOutVal.getOutber ValueNumber(String jobName.getJobStatus('Step 2.getInValueString('Step 1. 'Parameter') .returns the Date Out value of the parameter named "Parameter" of the first job (Job 1) in step Step 1 getInValueString String JobChainParameters.getInValueDate(String jobName.getOutValueDate(String jobName.getInValueString(String jobName. 'Parameter') .job chain. String parameterName) Get the value of the String output parameter parameterName of the job named jobName in the current job chain. String parameterName) Get the value of the Number input parameter parameterName of the job named jobName in the current job chain.getJobStatus(String job. 'Parameter') .getJobId('Step 1. String parameterName) Get the value of the Date input parameter parameterName of the job named jobName in the current job chain. 990 =JobChainParameters. =JobChainParameters.getJojobName in the current job meters. String parameterName) Get the value of the Date output parameter parameterName of the job named jobName in the current job chain. 'Parameter') . =JobChainParameters. This means that when you delete a job. =JobChainParameters. Job 1'. Job 1'. you must verify your Relative Job expressions. 'Not Matched') .getJobFilePath('Step 1. PLSQL Prefix: PLSQL Availability: Requires the Chargeable Version. It always returns an empty String. 'Not Matched') .case(getSystemId(). String result1.clear. [ String matchN. =JobChainParameters.if(getSystemId() === 'SAP:O51_31'. String false. Function Name Signature Description Example case String Logic. '31'. Cache() 991 . otherwise expression. String match1. Job 1'.reo. Function Name Signature Description Example clearCache String PLSQL. 'SAP:O51_31'. '32'.] . Execute the expression.Reference getJobFile. 'stdout.returns 31 on this system nvl String Logic. String resultNoMatch] ) Run and map an expression. String nullValue) second argument.falseValue. Value) =Logic.nvl(String If the first argument is not null. turns SAP:O51_31 on this system. otherwise return resultNoMatch.getJobFilePath(String jobName. =Logic.log') .. 'Not null') .String JobChainParaPath meters.if(String Run an expression and return trueValue if it is true.nvl(getSysreturn it.. Logic Prefix: Logic Availability: Requires the Chargeable Version. String trueValue. String jobFileName) Get the full path of the job file with short name jobFileName on the job named jobName in the current job chain. =Logic. if the result matches matchN return resultN.case(String expression[. Functions for logic.returns the path to the output file of the first job (Job 1) of the step Step 1. otherwise return the temId().Clears the result cache. '31'. String resultN] [.returns 31 on this system if String Logic. 'SAP:O51_32'. Boolean Expr PLSQL. The optional time spe.booleanExpr('user=scott endpoint=xe cache=1m'.booleanExpr('user=scott cache=1m'. Do use a cached value of the result. =PLSQL. months ('M') or years ('y').booleanExpr('user=scott endpoint=xe cache=0'. '? > 0'. The rest of the parameters are optional bind variables. String expression[. Do not use a cached value of the result. 1) returns true.booleanExpr(String connectInfo. '? > ?'. but only when the cached value is not older than 1 minute. This time specification means that the cached result is not allowed to be older than specified. hours ('h').booleanExpr('user=scott endpoint=xe cache=60'. '? > 0'. When the cache keyword is used.booleanExpr('user=scott endpoint=xe cache'.returns true. '? > 0'. 1) . but only when the cached value is not older than the number of seconds as specified in the registry key /configuration/REL/PLSQL/DefaultMaxCacheAge.returns true.param2) .returns true. 1) . where <user> is the database user to connect with and <endpoint> the name of the JDBC process server for the database to connect to. Note that this uses the System_Oracle endpoint (default) .param1. • 992 =PLSQL. Do use a cached value of the result. weeks ('w'). =PLSQL. but by the getter of the cache result! The second parameter is the boolean PL/SQL expression as a String. =PLSQL. in the form [user=<user>] [endpoint=<endpoint>] [cache=[<num• ber>[s|m|h|d|w|M|y]\]]. parameters. Bind variable place • holders are specified as ? in the expression.compares two numbers defined in parameters param1 and param2.booleanExpr('user=scott endpoint=xe'. days ('d'). The first parameter is string with connection info. Object [] bindVariables]) Evaluate a boolean PL/SQL expres. but only when the cached value is not older than 60 seconds.• sion in an Oracle database. Do not use a cached value of the result. Do use a cached value of the result. '? > 0'. '? > 0'. caching of the results is used.returns true. =PLSQL. Thus the maximum cache age is not defined • by the setter. minutes ('m').Reference boolean. =PLSQL.• cification is a number in seconds (default or when suffixed by 's'). 1) . but do cache the result for a next time. parameters. 1) . hours ('h'). The first column has the title is the database user to connect with "City". String expression[. with LOV sup. The optional time spe. This time specification means that the cached result is not allowed to be older than specified."State/province". dateEx. where the data comes from ults is used.dateExpr(String connectInfo. Bind variable place holders are specified as ? in the expression.String See booleanExpr Expr PLSQL.numberExpr(String connectInfo. The (default or when suffixed by 's').Country) . The data in the drop BC process server for the database down list is a list of cities from the to connect to. Object [] bindVariables]) string. String expression[. [user=<user>] [endpoint=<endparameters.DateTimeZone See booleanExpr pr PLSQL. where <user> columns.BigDecimal See booleanExpr Expr PLSQL. minutes ('m').conport. caching of the res. The rest of the parameters are optional bind variables.Country. the second column has the title and <endpoint> the name of the JD. Object [] bindVariables]) Create a constraint. but by the getter of the cache result! The second parameter is the query as a String. point=xe'.=PLSQL. 'select name "City". showing two ber>[s|m|h|d|w|M|y]\]].stringExpr(String connectInfo.constraint(String connectInfo. String expression[. The actual cification is a number in seconds value that is chosen is the city. based on a query on database straint('user=scott endtables/views. Object [] bindVariables]) 993 . state The first parameter is string with "State/province" from citconnection info.Reference constraint boolean PLSQL. String expression[.Implepoint>] [cache=[<numments a constraint.the database table cities. in the form ies where country = ?'. days ('d'). weeks ('w'). Thus the maximum cache age is not defined by the setter. Object [] bindVariables]) number. other column is only informational. months ('M') or years ('y'). When the cache country as defined in the parameter keyword is used. • 994 =PLSQL. =PLSQL. in the form [user=<user>] [endpoint=<endpoint>] [cache=[<number>[s|m|h|d|w|M|y]\]]. . months ('M') or years ('y'). but do cache the result for a next time. but by the getter of the cache result! The second parameter is the query as a String. This time specification means • that the cached result is not allowed to be older than specified. Do not use a cached value of the result.Reference query Object PLSQL.query(String connectInfo. caching of the results is used. minutes ('m'). 'select global_name from global_name where rownum <= ?'. 1) . String query[.query('user=scott endpoint=xe cache=60'.returns the global name of the Oracle database. hours ('h'). 1) . 'select global_name from global_name where rownum <= ?'. but only when the cached value is not older than the number of seconds as specified in the registry key /configuration/REL/PLSQL/DefaultMaxCacheAge.returns the global name of the Oracle database. 'select global_name from global_name where rownum <= ?'. The first parameter is string with connection info. When the cache keyword is used.returns the global name of the Oracle database. Object [] bindVariables]) Execute a database query and return • the first column from the first row.query('user=scott endpoint=xe cache=0'. weeks ('w'). Do use a cached value of the result. 1) .returns the global name of the Oracle database. Do use a cached value of the result. Do use a cached value of the result. Bind variable place • holders are specified as ? in the query. days ('d').query('user=scott endpoint=xe cache=1m'. but only when the cached value is not older than 1 minute.query('user=scott endpoint=xe'. Do not use a cached value of the result.query('user=scott endpoint=xe cache'. The rest of the parameters are optional bind variables. 'select global_name from global_name where rownum <= ?'. 1) . but only when the cached value is not older than 60 seconds. 1) .returns the global name of the Oracle database. =PLSQL. where <user> is the database user to connect with • and <endpoint> the name of the JDBC process server for the database to connect to. The optional time specification is a number in seconds (default or when suffixed by 's'). =PLSQL. Thus the maximum cache age is not defined by the setter. 'select global_name from global_name where rownum <= ?'. =PLSQL. Functions for querying the data model.Description=\'My Job\'') . =Query. Function Signature Name Description Example getNumber BigDecimal Query.Queue=?'. Bind variable place holders are specified as ? in the query. =Query. Note that job chain job numbers are incremented and never changed. Job 1 will be displayed as Step 1.JobId from Job where Job.getNumber('select Job. =Query. Function Name Signature Description 995 Example .returns My Job on this system. This means that when you create a step.getString(String query [.getNumber(String query [.getRelativeJob('Step 1. SAP Prefix: SAP Availability: Requires the Chargeable Version.BigDecimal iveJob Query. Bind variable place holders are specified as ? in the query.getString('select Job. Job 0 in the job chain editor. Job 1') . Object [] bindVariables]) Get the first column of the first row of the query query with optional bind variables bindVariables. getString String Query. Job 1.getRelativeJob(String jobName) Get the job id of the job named jobName in the current job chain.returns 21 on this system.JobDescription from Job where Job. So Step 1.Reference Query Prefix: Query Availability: Requires the Chargeable Version.get the first job of the job chain step. ['System']) . Object [] bindVariables]) Get the first column of the first row of the query query with with optional bind variables bindVariables. the second job will still remain Step 1. Note that this function is 1-based and the job chain editor is zero-based. add two jobs to it and then delete the first job. getRelat. Functions for querying a table.vertRangesToExpression pression(String rangesString.ZZ where • <sign> is a single character I or E • <option> a select option. int fieldLength) Get the value of the String output parameter para.conversent as a long string in the form tRangesToExpres[<sign><option><low><high>]+ sion('IBTAAZZ'. BT • <low> the low value of the range • <high> the high value of the range All fields are always sent. Job 1'. where • <sign> is a single character I or E • <option> a select option. EQ. e. BT • <low> the low value of the range • <high> the high value of the range All fields are always sent. it is padded with blanks. sent as a long string in the form 'Parameter'. regardless of the value of the <option>.contRangesToEx. it is padded with blanks. int fieldLength) Convert ranges to a selopt expression.returns a select option.returns AA . Function Name Signature Description Example 996 . [<sign><option><low><high>]+ 32) . Table Prefix: Table Availability: Requires the Chargeable Version. erRangesToExpression('Step Convert ranges to a selopt expression.g. EQ.Parametrent job chain. String parameterName.g. 2) . converString SAP.Reference convertJobParameterRangesToExpression String SAP.convertJobParameterRangesToExpression(String jobName. Ranges are 1.convertJobmeterName of the job named jobName in the cur. Ranges are =SAP. e. Such ranges are known to be sent by Closing Cockpit. regardless of the value of the <option>. Such ranges are known to be sent by Closing Cockpit. If the value is shorter than the length of the field. If the value is shorter than the length of the field.=SAP. returns EMEA on String String(String this system tableName. String rowEnd) l Retrieve a row from a table and format it. '|'. all values turns EMEA on this system are concatenated.getColumnString('System_VariString Column. String key. columnFormat accepts strings as well as the following substitution parameters to specify the position of the elements: • {0} .getRow(String table.0</entry><entry>The Netherlands</entry><entry>Nederland</entry></row> Short hand for String Table. '#'.See lookup titionName. String column) formatRow String Table.formatRow('Countries'. String columnSeparator. '</entry></row>') . '{2}{0}={1}'. '{2}{1}'.returns #Abbreviation=De|Conversion_Rate=1.returns <row><entry>EMEA</entry></row> on this system Table. 31. String key. String tableName. parameters/*String par.value • {2} columnSeparator (should always be the first) =Table. '{1}'.Reference getRow String Table.rea table. ables'. getRetrieve a String =Table. 2) .value from a table. 'SystemValue') . String rowStart. 'CCOP') . '</entry><entry>'. 2. '#') . '<row><entry>'. String key) Retrieve the row of =Table. String key. String columnName*/) 997 .formatRow('Countries'.formatRow(String table. String column) getColumnNumber Retrieve a Number =Table.l(Object[] lookup. '</entry><entry>'.Table.formatRow('System_Variables'.getRow('System_Variables'.column header • {1} . 49.getColumnNumber('System_VariBigDecimal Table. 2. '</entry></row>') .getColumn. String key.returns <row><entry>NL</entry><entry>1. ables'. '<row><entry>'. String columnFormat.returns 13100 on this system nNumber(String table.getColum.0|Name=Germany|Translation=Deutschland# Table.value from a table. =Table. Function Name Signature Description Example getString String Variable. java.lang.Number.date. and from that row the value of 'ColumnA'. java. com. Variable Prefix: Variable Availability: Requires the Chargeable Version. 'ColumnA') .name values of parameters of inner-most job chain java.Number.lang. if partition is not specified) from the row with key 'Identifier10'. String columnName*/) Retrieve the value of a table in requested partition. 'Identifier10'. com.date. 'ColumnA') .Date.DateTimeZone outParameters.Number.String.util. java. Functions for querying the System_Variables table.returns 13100 on this system See Also • Scripting contexts • RedwoodScript Scripting Contexts and Implicit Objects Use Scripting contexts are fields in which scripting. String key.util.api. java.lang.DateTimeZone 998 .redwood.scheduler. This section lists the implicit objects by category.redwood.Retrieve a String value from the =Variable.lang.scheduler. getNumber BigDecimal Variable. and from that row the value of 'ColumnA'. java. 'CustomTable'.lang. com.redwood.scheduler.getNumber(String key) Retrieve a Number from the System_Variables table.returns the value from the table 'CustomTable' (table is in partition 'GLOBAL'.get.util.lang.getString(2) .getValue('CustomTable'.api.name values of Out parameters of current job java.DateTimeZone chainParameters.getValue('PROD'.String. The implicit objects provided differ between the contexts. =Table. java. of a row of that table for requested column. with Redwood Expression Language or RedwoodScript may be used.lookup(Object[] parameters/*String partitionName.Date. and what they contain. String tableName.returns the value from the table 'CustomTable' (table is in partition 'PROD') from the row with key 'Identifier10'. Implicit object Description Class parameters.String. 'Identifier10'.name values of parameters of current job java.api.Date. =Table.Reference lookup String Table.date.getNumber('CCOP') .returns EMEA on this system String(String key) System_Variables table. lang.chain (see placeholders below) er>) JobChainParameters.String. <parameter>) chain (see placeholders below) chainJobId job id of the inner-most chain (needs to be a long runtime parameter) jobId job id of the current job (needs to be a runtime parameter) long topLevelJobId job id of highest parent job in hierarchy (needs to be a runtime parameter) long returnCode return code of current job long stepIterations iteration number of the current step or job long waitEvents. not in Redwood Expression Language.lang.String fore move.String waitEvents. chain java.String move.The value of the out parameter of the job in java. The variables added with the Chargeable Version are only available in Redwood Script.raiserJobId java. if applicable) waitEvents. 'Param1') Contexts This section lists in which licenses various implicit objects are available.Long the job id of the job tat raised the event The placeholders for the JobChainParameters.DateTimeZone JobChainParameters.util.lang.String ueString(<jobName>.java.raiserComment the comment of the raiser java. java.Number chain (see placeholders below) JobChainParameters. Job 1'.getOutVal.Date.getOutVal.Number.lang.name values of out parameters of inner-most job java. <paramet.date.name. job 4 <parameter> . 999 .getOutValue functions are as follows: • • <jobName> . for example: • Step 1.lang.the name of the parameter Example =JobChainParameters.util. if applicable) waitEvents.getOutValueString('Step 1.Reference chainOutParameters. com.redwood.lang.scheduler.name. <parameter>) The value of the out parameter of the job in java.originalPath the path of the file that raised the event (be.getOutValueNumber(jobName>.lang.Date ueDate(jobName>.the name of the job.finalPath the path of the file that raised the event (after java.name.The value of the out parameter of the job in java. They are additional to those available in the Basic Version.util. job 2 • Extract data.api.name. Reference AdHocAlertSource Chargeable Version Name Class Description alertSourceType String Alert Source Type alertSourceUniqueId String Alert Source Unique Id chainJobId String the job id of the current job chain chainQueue String the queue of the current job chain data String data associated with the current job jobDefinition String the name of the job definition of the current job jobDescription String the description of the current job jobId Number the job id of the current job parentJobId Number the job id of the current job's parent partition String the partition the object is in queue String the name of the queue of the current job topLevelJobId String the job id of the top level job in the chain topLevelQueue String the queue of the top level job in the chain AlertEscalationPostAlertAction Chargeable Version Name Class Description jcsAlertEscalationPostAlert. You must set the ActionSubject in some contexts to be able to access the SchedulerSession.the alert escalation action context Context tionScriptObject jcsOutLog Logger Standard out logger.AlertEscalationPostAlertAc. AlertGateway Chargeable Version Name Class Description address String email address of the addressee alertSource String alert source that created the alert message String message to be sent messageTitle String title of the message object String object that created the alert subject String subject of the email 1000 . jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. Reference AlertSourcePostAlertAction Chargeable Version Name Class Description jcsAlertSourcePostAlertContext AlertSourcePostAlertAction.the alert source action context ScriptObject jcsOutLog Logger Standard out logger. CallPrecondition Basic Version Name Class Description callJobId String the job id of the current job chain call callUniqueId String the unique id of the current job chain call definition chainOutParameters OutParametersScriptObject values of output parameters of inner-most job chain chainParameters InParametersScriptObject values of input parameters of inner-most job chain jobId Number the job id of the current job parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job stepIterations Number number of iterations of this step stepJobId String the job id of the current job chain step stepUniqueId String the unique id of the current job chain step definition Chargeable Version Name Class Description chainJobId String the job id of the current job chain chainQueue String the queue of the current job chain topLevelJobId String the job id of the top level job in the chain topLevelQueue String the queue of the top level job in the chain CallSchedulingParameter Scriptlet (Redwood Script) Basic Version Name Class Description chainOutParameters OutParametersScriptObject values of output parameters of inner-most job chain chainParameters InParametersScriptObject values of input parameters of inner-most job chain 1001 . You must set the ActionSubject in some contexts to be able to access the SchedulerSession. jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. Reference jobId Number the job id of the current job parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job stepIterations Number number of iterations of this step Chargeable Version Name Class Description chainJobId String the job id of the current job chain chainQueue String the queue of the current job chain chainRequestedStartTime DateTimeZone Job chain requested start time chainRunStartTime DateTimeZone Job chain run start time topLevelJobId String the job id of the top level job in the chain topLevelQueue String the queue of the top level job in the chain ConstraintLOV Chargeable Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. waitEvents JobWaitEventsScriptObject the wait event object 1002 . You must set the ActionSubject in some contexts to be able to access the SchedulerSession. parameters InParametersScriptObject values of input parameters of current job value Object Value of the parameter DefaultParameter Basic Version Name Class Description jobId Number the job id of the current job parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job username String The name of the current user Chargeable Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. the email alert gateway presend action context dActionScriptObject jcsOutLog Logger Standard out logger. jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. You must set the ActionSubject in some contexts to be able to access the SchedulerSession.Reference EmailAlertGatewayPreSendAction Chargeable Version Name Class Description jcsEmailAlertGatewayPreSendActionContext EmailAlertGatewayPreSen. ForecastCallPrecondition Basic Version Name Class Description chainOutParameters OutParametersScriptObject values of output parameters of inner-most job chain chainParameters InParametersScriptObject values of input parameters of inner-most job chain jobId Number the job id of the current job now Long override for current time in UTC milliseconds parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job stepIterations Number number of iterations of this step Chargeable Version Name Class Description chainJobId String the job id of the current job chain chainQueue String the queue of the current job chain topLevelJobId String the job id of the top level job in the chain topLevelQueue String the queue of the top level job in the chain ForecastStepPrecondition Basic Version Name Class Description chainOutParameters OutParametersScriptObject values of output parameters of inner-most job chain chainParameters InParametersScriptObject values of input parameters of inner-most job chain jobId Number the job id of the current job now Long override for current time in UTC milliseconds parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job 1003 . jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. jcsImportRuleSet ImportActionScriptObject the import action context jcsOutLog Logger Standard out logger. You must set the ActionSubject in some contexts to be able to access the SchedulerSession.Reference stepIterations Number number of iterations of this step Chargeable Version Name Class Description chainJobId String the job id of the current job chain chainQueue String the queue of the current job chain topLevelJobId String the job id of the top level job in the chain topLevelQueue String the queue of the top level job in the chain GotoStepEvaluation Basic Version Name Class Description jobId Number the job id of the current job parentJobId Number the job id of the current job's parent userMessage MapScriptObject user message response instance expression values Chargeable Version Name Class Description jcsJob Job Object representing the current job. outParameters OutParametersScriptObject values of output parameters of current job parameters InParametersScriptObject values of input parameters of current job ImportAction Import action (Redwood Script) Chargeable Version Name Class Description jcsErrLog Logger Standard error logger. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. JobChainInExpression Basic Version Name Class Description 1004 . You must set the ActionSubject in some contexts to be able to access the SchedulerSession.Reference jobId Number the job id of the current job parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job Chargeable Version Name Class Description chainJobId String the job id of the current job chain chainOutParameters OutParametersScriptObject values of output parameters of inner-most job chain chainParameters InParametersScriptObject values of input parameters of inner-most job chain chainQueue String the queue of the current job chain jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. stepIterations Number number of iterations of this step topLevelJobId String the job id of the top level job in the chain topLevelQueue String the queue of the top level job in the chain JobDefinitionAlertSource Job Definition Alert Source (Redwood Expression Language) Chargeable Version Name Class Description alertSourceType String Alert Source Type alertSourceUniqueId String Alert Source Unique Id chainJobId String the job id of the current job chain chainQueue String the queue of the current job chain jobDefinitionOwner String the owner of the job definition of the current job jobDescription String the description of the current job jobId Number the job id of the current job jobOwner String the owner of the current job newStatus String the new status oldStatus String the old status outParameters OutParametersScriptObject values of output parameters of current job parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent partition String the partition the object is in queue String the name of the queue of the current job remoteStatus String the status of the remote service returnCode Number return code of current job topLevelJobId String the job id of the top level job in the chain 1005 . Reference topLevelQueue String the queue of the top level job in the chain JobFileAccessTrigger Object Definition Change (RedwoodScript) Chargeable Version Name Class Description jcsFileAccessMethod JobFileAccessMethod the access method being called jcsJobFile JobFile the job file being requested jcsOutLog Logger Standard out logger. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. jcsSubject Subject the subject of the callee jcsTriggerContext TriggerScriptObject the trigger context MailJob Basic Version Name Class Description parameters InParametersScriptObject values of input parameters of current job MonitorAlertSource Monitor Alert Source (Redwood Expression Language) Chargeable Version Name Class Description alertSourceType String Alert Source Type alertSourceUniqueId String Alert Source Unique Id data String data associated with the current job MonitorCondition Chargeable Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. ObjectDefinitionChangeTrigger Chargeable Version 1006 . jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. the on change context ject jcsOut PrintWriter Standard out. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. 1007 . jcsOutLog Logger Standard out logger.Reference Name Class Description jcsOutLog Logger Standard out logger. jcsOnChangeContext PreExecutingActionScriptOb. jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. jcsTriggerContext TriggerScriptObject the trigger context OnChangeAction Chargeable Version Name Class Description jcsJob Job Object representing the current job. PostRunningAction Chargeable Version Name Class Description jcsJob Job Object representing the current job. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. OSNativeParameter Basic Version Name Class Description jobId Number the job id of the current job osFamily String The OS Family of the Process Server parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job PeriodFunction Chargeable Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. ProcessMonitorEvaluation Basic Version Name Class Description monitoritem MapScriptObject process monitor instance expression values Chargeable Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. jcsOutLog Logger Standard out logger. jcsOut PrintWriter Standard out.the post running context ject jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. parameters InParametersScriptObject values of input parameters of current job ProcessServerAlertSource Chargeable Version Name Class Description alertSourceType String Alert Source Type alertSourceUniqueId String Alert Source Unique Id jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. jcsOutLog Logger Standard out logger. newStatus String the new status 1008 . You must set the ActionSubject in some contexts to be able to access the SchedulerSession. jcsPreRunningContext PreExecutingActionScriptOb.the pre running context ject jcsSession SchedulerSession PreRunningAction Chargeable Version Central interface for retrieving and creating all of the Scheduler objects. jcsPostRunningContext PostRunningActionScriptOb. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. Name Class Description jcsJob Job Object representing the current job.Reference jcsOut PrintWriter Standard out. ReturnCodeMapping Return Code Mapping (Redwood Expression Language) Basic Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. You must set the ActionSubject in some contexts to be able to access the SchedulerSession.Reference oldStatus String the old status partition String the partition the object is in processServer String the name of the process server for the current job ReportColumnEvaluation Chargeable Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. 1009 . ReportPreviewDefaultParameter Scriptlet (Redwood Script) Basic Version Name Class Description jobId Number the job id of the current job parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job ReportSelectionEvaluation Basic Version Name Class Description parameters InParametersScriptObject values of input parameters of current job Chargeable Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. jcsOutLog Logger Standard out logger. jcsOut PrintWriter Standard out.Reference parameters InParametersScriptObject values of input parameters of current job returnCode Number return code of current job SAPMassActivityParameter Basic Version Name Class Description jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. jcsJobContext UserJobContext Job context for user defined jobs. jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. jcsJob Job Object representing the current job. jcsErrLog Logger Standard error logger. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. jcsErrLog Logger Standard error logger. jobId Number the job id of the current job parameters InParametersScriptObject values of input parameters of current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job ScriptJob Chargeable Version Name Class Description jcsErr PrintWriter Standard error. Scriptlet Scriptlet (Redwood Script) Basic Version Name Class Description scriptletContext Map Scriptlet context Shell Chargeable Version Name Class Description jcsErr PrintWriter Standard error. 1010 . You must set the ActionSubject in some contexts to be able to access the SchedulerSession. the table names. not the database tables. and data types will change without prior notice. Some table and column names have inconsistent names. column names. this is known. a database user that has access to the tables can always see all objects. jcsSession SchedulerSession Central interface for retrieving and creating all of the Scheduler objects. jcsOutLog Logger Standard out logger. There is no security when you query the database. Furthermore. StepPrecondition Step Precondition (Redwood Expression Language) Basic Version Name Class Description chainOutParameters OutParametersScriptObject values of output parameters of inner-most job chain chainParameters InParametersScriptObject values of input parameters of inner-most job chain jobId Number the job id of the current job parentJobId Number the job id of the current job's parent queue String the name of the queue of the current job stepIterations Number number of iterations of this step stepJobId String the job id of the current job chain step stepUniqueId String the unique id of the current job chain step definition Chargeable Version Name Class Description chainJobId String the job id of the current job chain chainQueue String the queue of the current job chain topLevelJobId String the job id of the top level job in the chain topLevelQueue String the queue of the top level job in the chain Using RedwoodScript in Objects Object Topic Jobs RedwoodScript in Jobs Queues RedwoodScript in Queues Process Servers RedwoodScript in Process Servers Data model Database vs Data Model You query the data model. 1011 .Reference jcsOut PrintWriter Standard out. You must set the ActionSubject in some contexts to be able to access the SchedulerSession. timezone]) . column names.* from Job where Job. • MAX(expression) .returns a sum Example 11.Status = 'Q' Note Depending on the underlying database.formatNow() and expression to Time.Reference The data model consists of a number of tables that can be accessed using SQL'92 queries.expressionNow() REL function expression. Table names.calculate the minimum value from expression • NOW([expression]) . Using the count() function select count(*) from Job where Job.calculates the average • COUNT( DISTINCT column-name | * ) . The API has several methods on SchedulerSession. Functions The following functions have been implemented: • AVG(expression | DISTINCT column-name) .format conforms to Time.returns the number of items in a group • FORMAT_EXPRESSION(expression. Warning Querying the database tables directly is not supported.formatNow() REL function format. and data types will change without prior notice. these functions may not always return the expected value.calculate the maximum value from expression • MIN() . timezone]) . to query the data model.expressionNow() REL function expression. For example. for example. to select all jobs in status Queued. format[. Classes ActionWork Field Mandatory Class Since Version ActionWorkStatus true ActionWorkStatus ( see the Administration Guide ) M22 ActionWorkType true ActionWorkType ( see the Administration Guide M22 ) 1012 . you specify the following query in the executeObjectQuery method of SchedulerSession: select Job. You query the data model layer instead.1. Please see the documentation of your database vendor for implementation specifications.Status = 'Q' All SQL queries use a subset of the ANSI '92 SQL language. • FORMAT_NOW(format[.format conforms to Time. a subset of the standard is supported. • SUM([DISTINCT | ALL] n) .expression conforms to Time. false sion String ( see the Administration Guide ) M23 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) 1013 M15 .Reference Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 NewStatus false String ( see the Administration Guide ) M22 NumNewStatusLines true Long ( see the Administration Guide ) M39 OldStatus false String ( see the Administration Guide ) M22 RelatedObject2Id false Long ( see the Administration Guide ) M22 RelatedObjectId false Long ( see the Administration Guide ) M22 StartTimeGMT true Long ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 ActionWorkExtraLine Field Mandatory Class Since Version ActionWork true ActionWork ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AdHocAlertSource Field Mandatory Class Since Version Address false String ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultAlertEscalation false AlertEscalation ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 EscalationExpression false String ( see the Administration Guide ) M23 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 OperatorMessageExpression false String ( see the Administration Guide ) M23 OperatorMessageReplyExpres. Reference TimeWindowStatus true TimeWindowStatus ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M25 M15 Alert Field Mandatory Class Since Version AlertEscalation false AlertEscalation ( see the Administration Guide ) AlertSource AdHocAlertSource true AdHocAlertSource ( see the Administration Guide ) JobDefinitionAlertSource JobDefinitionAlertSource ( see the Administration Guide ) MonitorAlertSource MonitorAlertSource ( see the Administration Guide ) ProcessServerAlertSource ProcessServerAlertSource ( see the Administration Guide ) QueueAlertSource QueueAlertSource ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 CauseAlert false Alert ( see the Administration Guide ) CreationTime false Date ( see the Administration Guide ) M30 CreationTimeZone false TimeZone ( see the Administration Guide ) Deprecated1 true Long ( see the Administration Guide ) M34 LastModificationTime false Date ( see the Administration Guide ) M30 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 OperatorMessage true OperatorMessage ( see the Administration Guide ) RaisedSequence true Long ( see the Administration Guide ) M23 ResendCount true Long ( see the Administration Guide ) M40 SourceObjectDefinition false ObjectDefinition ( see the Administration Guide ) SourceObjectUniqueId false Long ( see the Administration Guide ) M23 Status true AlertStatus ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 1014 M23 . Reference AlertEscalation Field Mandatory Class Since Version Address false String ( see the Administration Guide ) M23 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultAlertEscalation false AlertEscalation ( see the Administration Guide ) DelayAmount true Long ( see the Administration Guide ) M23 DelayUnits true TimeUnit ( see the Administration Guide ) M23 Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AlertEscalationAction Field Mandatory Class Since Version ActionSubject false Subject ( see the Administration Guide ) AlertEscalation true AlertEscalation ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M22 Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) OwnerSubject true Subject ( see the Administration Guide ) Type true AlertEscalationActionType ( see the Administration M26 Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 AlertEscalationActionJARCache Field Mandatory Class AlertEscalationAction true AlertEscalationAction ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 1015 Since Version . true Cache AlertEscalationActionJARCache ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AlertEscalationActionSourceLine Field Mandatory Class Since Version AlertEscalationAction true AlertEscalationAction ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AlertSourceAction Field Mandatory Class Since Version ActionSubject false Subject ( see the Administration Guide ) AlertSource AdHocAlertSource true AdHocAlertSource ( see the Administration Guide ) JobDefinitionAlertSource JobDefinitionAlertSource ( see the Administration Guide ) MonitorAlertSource MonitorAlertSource ( see the Administration Guide ) ProcessServerAlertSource ProcessServerAlertSource ( see the Administration Guide ) QueueAlertSource QueueAlertSource ( see the Administration Guide ) Behavior true Long ( see the Administration Guide M15 ) Enabled true Boolean ( see the Administration Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) 1016 M22 .Reference UniqueId true Long ( see the Administration Guide ) M15 AlertEscalationActionJARCacheLine Field Mandatory Class Since Version AlertEscalationActionJAR. Reference Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide M15 ) OwnerSubject true Subject ( see the Administration Guide ) ParentUniqueId true Long ( see the Administration Guide M26 ) Type true AlertSourceActionType ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide M15 ) M26 AlertSourceActionJARCache Field Mandatory Class Since Version AlertSourceAction true AlertSourceAction ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AlertSourceActionJARCacheLine Field Mandatory Class Since Version AlertSourceActionJARCache true AlertSourceActionJARCache ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Since Version AlertSourceActionSourceLine Field Mandatory Class AlertSourceAction true AlertSourceAction ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1017 . Reference AlertSourceEmail Field Mandatory Class Since Version AlertSource AdHocAlertSource true AdHocAlertSource ( see the Administration Guide ) JobDefinitionAlertSource JobDefinitionAlertSource ( see the Administration Guide ) MonitorAlertSource MonitorAlertSource ( see the Administration Guide ) ProcessServerAlertSource ProcessServerAlertSource ( see the Administration Guide ) QueueAlertSource QueueAlertSource ( see the Administration Guide ) Behavior true Long ( see the Administration M15 Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) LLPVersion true Long ( see the Administration M15 Guide ) ParentUniqueId true Long ( see the Administration M30 Guide ) UniqueId Long ( see the Administration M15 Guide ) true AlertSourceEmailLine Field Mandatory Class Since Version AlertSourceEmail true AlertSourceEmail ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Application Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) 1018 . Reference LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AuditDiffLine Field Mandatory Class Since Version AuditObject true AuditObject ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AuditObject Field Mandatory Class Since Version Action true ModelChangeAction ( see the Administration Guide ) M25 AuditedObjectBusinessKey true String ( see the Administration Guide ) M25 AuditedObjectType true String ( see the Administration Guide ) M25 AuditedObjectUniqueId true Long ( see the Administration Guide ) M25 Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) Level true AuditLevel ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 Reason false String ( see the Administration Guide ) M25 SearchAuditedObjectBusiness.true Key String ( see the Administration Guide ) M25 SearchReason false String ( see the Administration Guide ) M25 SearchUser true String ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 User true String ( see the Administration Guide ) M25 1019 M15 . Reference AuditObjectDefLine Field Mandatory Class Since Version AuditObject true AuditObject ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 AuditRule Field Mandatory Class Since Version Application false Application ( see the Administration Guide ) ApplicationRule true ApplicationMatch ( see the Administration Guide M28 ) Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Enabled true Boolean ( see the Administration Guide ) M28 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) Level true AuditLevel ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 NamePattern false String ( see the Administration Guide ) M28 NamePatternMatchType true AuditNameMatchType ( see the Administration M31 Guide ) PartitionPattern false String ( see the Administration Guide ) PartitionPatternMatchType true AuditNameMatchType ( see the Administration M33 Guide ) ReasonRequired true Boolean ( see the Administration Guide ) M25 ReasonRequiredRegEx false String ( see the Administration Guide ) M25 RuleObjectType true String ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 M33 ConstraintDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) 1020 M15 . Reference FactoryClassName true String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M25 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) CredentialProtocol true CredentialProtocol ( see the Administration Guide ) Description false String ( see the Administration Guide ) M25 Endpoint true String ( see the Administration Guide ) M25 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) Password true String ( see the Administration Guide ) M25 RealUser true String ( see the Administration Guide ) M25 CounterCategory Credential 1021 M15 . Reference UniqueId true Long ( see the Administration Guide ) M15 VirtualUser false String ( see the Administration Guide ) M25 VirtualUserUnique true String ( see the Administration Guide ) M28 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 OwnerSubject true Subject ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 UpdateTime true Long ( see the Administration Guide ) M26 CredentialProtocol Dashboard DashboardDial Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 1022 . Reference Dashboard true Dashboard ( see the Administration Guide ) Height true Long ( see the Administration Guide ) M26 HistoryTime false Long ( see the Administration Guide ) M26 IsolationGroup true IsolationGroup ( see the Administration Guide ) Label false String ( see the Administration Guide ) M26 LeftPosition true Long ( see the Administration Guide ) M26 LLPVersion true Long ( see the Administration Guide ) M15 Maximum false BigDecimal ( see the Administration Guide ) M26 Minimum false BigDecimal ( see the Administration Guide ) M26 MonitorValue false MonitorValue ( see the Administration Guide ) TopPosition true Long ( see the Administration Guide ) Type true DashboardDialType ( see the Administration Guide M26 ) UniqueId true Long ( see the Administration Guide ) M15 UpdateTime false Long ( see the Administration Guide ) M26 Width true Long ( see the Administration Guide ) M26 M26 DatumDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) FileName true String ( see the Administration Guide ) M15 JobId false Long ( see the Administration Guide ) M39 DeletedJobFile 1023 . Reference LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) ProcessServer false ProcessServer ( see the Administration Guide ) ProcessServerService false ProcessServerService ( see the Administration Guide ) Service false Service ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) Format true Format ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 Document M15 M15 DocumentLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Document true Document ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 DynamicsAxSystem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 1024 . Reference CreationTimeZone false TimeZone ( see the Administration Guide ) Credential true Credential ( see the Administration Guide ) DefaultJobTimeZone true TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 J2EEConnectString false String ( see the Administration Guide ) M32 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version AlertRateInterval true Long ( see the Administration Guide ) M25 AlertRateLimit true Long ( see the Administration Guide ) M25 AlertResendDelay true Long ( see the Administration Guide ) M25 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) Pattern true String ( see the Administration Guide ) M23 ProcessingOrder true Long ( see the Administration Guide ) M23 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 EmailAlertGateway EmailAlertGatewayAction Field Mandatory Class Since Version ActionSubject false Subject ( see the Administration Guide ) 1025 . true JARCache EmailAlertGatewayActionJARCache ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 EmailAlertGatewayActionSourceLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EmailAlertGatewayAction true EmailAlertGatewayAction ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1026 .M26 tration Guide ) UniqueId true Long ( see the Administration Guide ) M22 M15 M15 EmailAlertGatewayActionJARCache Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EmailAlertGatewayAction true EmailAlertGatewayAction ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 EmailAlertGatewayActionJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EmailAlertGatewayAction.Reference Behavior true Long ( see the Administration Guide ) M15 EmailAlertGateway true EmailAlertGateway ( see the Administration Guide ) Enabled true Boolean ( see the Administration Guide ) Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) OwnerSubject true Subject ( see the Administration Guide ) Type true EmailAlertGatewayActionType ( see the Adminis. Reference EmailAlertGatewayEmail Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EmailAlertGateway true EmailAlertGateway ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 EmailAlertGatewayEmailLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EmailAlertGatewayEmail true EmailAlertGatewayEmail ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 EmailAlertGatewayHeader Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EmailAlertGateway true EmailAlertGateway ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M23 EmailAlertGatewayJobFileAttachment Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EmailAlertGateway true EmailAlertGateway ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 Event Field Mandatory Class 1027 Since Version . Reference Behavior true Long ( see the Administration Guide ) M15 ClearerComment false String ( see the Administration Guide ) M22 ClearerObjectDefinition false ObjectDefinition ( see the Administration Guide ) ClearerUniqueId false Long ( see the Administration Guide ) M22 ClearTime false Date ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) EventDefinition true EventDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 RaisedSequence true Long ( see the Administration Guide ) M15 RaiserComment false String ( see the Administration Guide ) M15 RaiserObjectDefinition false ObjectDefinition ( see the Administration Guide ) RaiserUniqueId false Long ( see the Administration Guide ) M15 RaiseTime false Date ( see the Administration Guide ) M15 Status true EventStatus ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 EventDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) CurrentRaisedEventId false Long ( see the Administration Guide ) M15 DefaultClearComment false String ( see the Administration Guide ) M22 DefaultRaiseComment false String ( see the Administration Guide ) M22 Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LastRaisedEventId false Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) RequiresCommentOnClear true Boolean ( see the Administration Guide ) M22 RequiresCommentOnRaise true Boolean ( see the Administration Guide ) M22 1028 . Reference SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Export Field Mandatory Class Since Version ArchiveJobFile false JobFile ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M23 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) InternalExportRuleSet true ExportRuleSet ( see the Administration Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 WrappedJob true Job ( see the Administration Guide ) M23 M15 ExportRule Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 ExportRuleSet true ExportRuleSet ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 QueryFilter true QueryFilter ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ExportRuleItem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ExportRuleSet true ExportRuleSet ( see the Administration Guide ) ExportUniqueId true Long ( see the Administration Guide ) M30 LLPVersion true Long ( see the Administration Guide ) M15 ObjectDefinition true ObjectDefinition ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) 1029 M15 . Reference ExportRuleSet Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ExtAuthRoles Field Mandatory Class Since Version description false String ( see the Administration Guide ) M29 role true String ( see the Administration Guide ) M29 ExtAuthUser Field Mandatory Class Since Version email false String ( see the Administration Guide ) M37 fullname false String ( see the Administration Guide ) M37 password true String ( see the Administration Guide ) M29 username true String ( see the Administration Guide ) M29 ExtAuthUserRoles Field Mandatory Class Since Version role true String ( see the Administration Guide ) M29 username true String ( see the Administration Guide ) M29 FileEvent Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CheckLock true Boolean ( see the Administration Guide ) M22 Directory true String ( see the Administration Guide ) M22 1030 . Reference Event true Event ( see the Administration Guide ) FinalPath true String ( see the Administration Guide ) M22 LLPVersion true Long ( see the Administration Guide ) M15 MoveDirectory false String ( see the Administration Guide ) M22 OriginalPath true String ( see the Administration Guide ) M22 Pattern true String ( see the Administration Guide ) M22 PollInterval true Long ( see the Administration Guide ) M22 ProcessServer true ProcessServer ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CheckLock true Boolean ( see the Administration Guide ) M22 Comment false String ( see the Administration Guide ) M22 Description false String ( see the Administration Guide ) M22 Directory true String ( see the Administration Guide ) M22 Enabled true Boolean ( see the Administration Guide ) M22 EventDefinition true EventDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MoveDirectory false String ( see the Administration Guide ) M22 Name false String ( see the Administration Guide ) M22 OverwriteFile true Boolean ( see the Administration Guide ) M25 Pattern true String ( see the Administration Guide ) M22 PollInterval true Long ( see the Administration Guide ) M22 ProcessServer true ProcessServer ( see the Administration Guide ) RaiseComment true String ( see the Administration Guide ) M22 SearchName false String ( see the Administration Guide ) M22 UniqueId true Long ( see the Administration Guide ) M15 FileEventDefinition FileEventDefinitionFile Field Mandatory Class Since Version AbsolutePath true String ( see the Administration Guide ) M25 Behavior true Long ( see the Administration Guide ) M15 FileEventDefinition true FileEventDefinition ( see the Administration Guide ) LastModified true Long ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 Locked true Boolean ( see the Administration Guide ) M25 Size true Long ( see the Administration Guide ) M25 1031 . Reference SystemName true String ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Action true FinalStatusAction ( see the Administration Guide M15 ) Behavior true Long ( see the Administration Guide ) M15 Deprecated1 false Long ( see the Administration Guide ) M15 JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MessageText false String ( see the Administration Guide ) M15 RestartDelayAmount true Long ( see the Administration Guide ) M15 RestartDelayUnits true TimeUnit ( see the Administration Guide ) M15 Status true JobStatus ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 FinalStatusHandler ForecastJob Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ChildOrder true Long ( see the Administration Guide ) M32 Description true String ( see the Administration Guide ) M32 ErrorDescription true String ( see the Administration Guide ) M32 ExpectedJobStatus false JobStatus ( see the Administration Guide ) M32 ExpectedRunTime false Long ( see the Administration Guide ) M32 Frequency true Long ( see the Administration Guide ) M32 Job false Job ( see the Administration Guide ) JobChainCall false JobChainCall ( see the Administration Guide ) JobChainStep false JobChainStep ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) JobGroup false JobGroup ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 NextSubmitBaseTime true Date ( see the Administration Guide ) M32 NumChildForecastJobs true Long ( see the Administration Guide ) M32 ParentForecastJob false ForecastJob ( see the Administration Guide ) Priority true Long ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) ReturnCode false Long ( see the Administration Guide ) M32 SearchDescription true String ( see the Administration Guide ) M32 StartTime true Date ( see the Administration Guide ) M32 1032 M32 . Reference StepIteration false Long ( see the Administration Guide ) M32 SubmitFrame false SubmitFrame ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 Extension false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MimeType true String ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Activated true Boolean ( see the Administration Guide ) M35 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 Format GlobalPrivilege 1033 . Reference HistoryJob Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ChildOrder true Long ( see the Administration Guide ) M33_2 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description true String ( see the Administration Guide ) M33_2 HistoryJobType false String ( see the Administration Guide ) M33_2 HoldOnSubmit true Boolean ( see the Administration Guide ) M33_2 JobDefinitionName false String ( see the Administration Guide ) M33_2 JobDefinitionType true JobDefinitionType ( see the Administration Guide ) JobId true Long ( see the Administration Guide ) JobTimeZone false TimeZone ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) MasterJobDefinition true JobDefinition ( see the Administration Guide ) MaxRestart false Long ( see the Administration Guide ) M34 NumChildJobs true Long ( see the Administration Guide ) M33_2 NumJobParameters true Long ( see the Administration Guide ) M33_2 OwnerSubject true Subject ( see the Administration Guide ) ParentHistoryJob false HistoryJob ( see the Administration Guide ) Priority true Long ( see the Administration Guide ) ProcessServer false ProcessServer ( see the Administration Guide ) ProcessServerName false String ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) QueueName false String ( see the Administration Guide ) M33_2 RequestedStartTimeInternal true Date ( see the Administration Guide ) M33_2 RequestedStartTimeType true StartTimeType ( see the Administration Guide ) M33_2 RestartCount false Long ( see the Administration Guide ) M33_2 RestartJobId false Long ( see the Administration Guide ) M34 ReturnCode false Long ( see the Administration Guide ) M33_2 RunEnd false Date ( see the Administration Guide ) M33_2 RunStart false Date ( see the Administration Guide ) M33_2 RuntimeExpiration false Date ( see the Administration Guide ) M33_2 ScheduledStartTime true Date ( see the Administration Guide ) M33_2 SearchDescription true String ( see the Administration Guide ) M33_2 Status true JobStatus ( see the Administration Guide ) M33_2 StepIteration false Long ( see the Administration Guide ) M33_2 1034 M33_2 M15 M15 M33_2 M33_2 . Reference UniqueId true Long ( see the Administration Guide ) M15 HistoryJobParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 HistoryJob true HistoryJob ( see the Administration Guide ) InValueString false String ( see the Administration Guide ) M33_2 LLPVersion true Long ( see the Administration Guide ) M15 Name false String ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 HistoryMonitorValue Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 HistoryTime true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 MonitorValue true MonitorValue ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 ValueDate false Date ( see the Administration Guide ) M15 ValueDateTimeZone false TimeZone ( see the Administration Guide ) ValueNumber false BigDecimal ( see the Administration Guide ) M15 ValueString false String ( see the Administration Guide ) M15 HistoryOperatorMessage Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreateTime true Date ( see the Administration Guide ) M33_2 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) Partition false Partition ( see the Administration Guide ) RepliedBySubject false Subject ( see the Administration Guide ) ReplyTime true Date ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 1035 M15 M15 . Reference Import Field Mandatory Class Since Version ArchiveJobFile false JobFile ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M23 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) ImportSource false ImportSource ( see the Administration Guide ) InternalImportRuleSet false ImportRuleSet ( see the Administration Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 WrappedJob true Job ( see the Administration Guide ) M23 M15 ImportAction Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ImportRuleSet true ImportRuleSet ( see the Administration Guide ) Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ImportActionJARCache Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ImportAction true ImportAction ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ImportActionJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ImportActionJARCache true ImportActionJARCache ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) 1036 M15 . Reference LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ImportActionSourceLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ImportAction true ImportAction ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ImportRule true ImportRule ( see the Administration Guide ) ImportRuleDefinition true ImportRuleDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Var1 false String ( see the Administration Guide ) M23 Var2 false String ( see the Administration Guide ) M23 ImportMatchRule ImportOverrideRule Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 IgnoreFailure true Boolean ( see the Administration Guide ) M23 ImportRule true ImportRule ( see the Administration Guide ) ImportRuleDefinition true ImportRuleDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Var1 false String ( see the Administration Guide ) M23 Var2 false String ( see the Administration Guide ) M23 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ImportRule 1037 . Reference Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 ImportRuleSet true ImportRuleSet ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ImportRuleDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Matcher true Boolean ( see the Administration Guide ) M23 Name true String ( see the Administration Guide ) M15 ObjectDefinition true ObjectDefinition ( see the Administration Guide ) Overrider true Boolean ( see the Administration Guide ) ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) M23 ImportRuleSet 1038 . Reference Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 VariablePrefix false String ( see the Administration Guide ) M24 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) Password true String ( see the Administration Guide ) M23 RemoteUrl true String ( see the Administration Guide ) M23 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Username true String ( see the Administration Guide ) M23 ImportSource IPhone Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DeviceId true String ( see the Administration Guide ) M31 FriendlyName true String ( see the Administration Guide ) M31 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 SubscriptionId false String ( see the Administration Guide ) M31 UniqueId true Long ( see the Administration Guide ) M15 IPhoneLogin Field Mandatory Class 1039 Since Version . Reference Behavior true Long ( see the Administration Guide ) M15 IPhone true IPhone ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LoginDate true Date ( see the Administration Guide ) M31 LoginIsolationGroup true IsolationGroup ( see the Administration Guide ) LoginSubject true Subject ( see the Administration Guide ) LoginTimeZone true TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 IsolationGroup JARFile Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JARFile true JARFile ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) JARFileJARCache 1040 M15 . Reference UniqueId true Long ( see the Administration Guide ) M15 JARFileJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JARFileJARCache true JARFileJARCache ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Job Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 BlocksOnJob false Job ( see the Administration Guide ) ChildOrder true Long ( see the Administration Guide ) CompletionStrategy false CompletionStrategyType ( see the Administration M30 Guide ) CreationTime true Date ( see the Administration Guide ) CreationTimeZone false TimeZone ( see the Administration Guide ) Description true String ( see the Administration Guide ) ForcedProcessServer false ProcessServer ( see the Administration Guide ) HoldOnSubmit true Boolean ( see the Administration Guide ) JobChainCall false JobChainCall ( see the Administration Guide ) JobChainStep false JobChainStep ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) JobGroup false JobGroup ( see the Administration Guide ) JobId true Long ( see the Administration Guide ) JobTimeZone false TimeZone ( see the Administration Guide ) KeepExpiration false Date ( see the Administration Guide ) KillSignal false KillSignalType ( see the Administration Guide ) M22 LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MinimumOpenDuration false Long ( see the Administration Guide ) M15 NextRecalculation false Date ( see the Administration Guide ) M15 NextSubmitBaseTime true Date ( see the Administration Guide ) M15 NumChildJobs true Long ( see the Administration Guide ) M15 NumJobFiles true Long ( see the Administration Guide ) M20 1041 M15 M15 M15 M15 M15 M15 M15 . Reference NumJobLocks true Long ( see the Administration Guide ) M15 NumJobMetaData true Long ( see the Administration Guide ) M20 NumJobNotes true Long ( see the Administration Guide ) M20 NumJobParameters true Long ( see the Administration Guide ) M20 NumJobRaiseEvents true Long ( see the Administration Guide ) M15 NumJobWaitEvents true Long ( see the Administration Guide ) M15 OwnerSubject true Subject ( see the Administration Guide ) ParentJob false Job ( see the Administration Guide ) PreviousProcessServer false ProcessServer ( see the Administration Guide ) Priority true Long ( see the Administration Guide ) ProcessServer false ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) QueueOrder false String ( see the Administration Guide ) M15 RemoteCreationTime false Date ( see the Administration Guide ) M15 RemoteEvent false String ( see the Administration Guide ) M15 RemoteId false String ( see the Administration Guide ) M15 RemoteOSUser false String ( see the Administration Guide ) M32 RemoteRunEnd false Date ( see the Administration Guide ) M15 RemoteRunStart false Date ( see the Administration Guide ) M15 RemoteStatus false String ( see the Administration Guide ) M15 RemoteSystem false String ( see the Administration Guide ) M15 RequestedStartTimeInternal true Date ( see the Administration Guide ) M15 RequestedStartTimeType true StartTimeType ( see the Administration Guide ) M15 RequestedStatus false JobStatus ( see the Administration Guide ) M22 RestartCount false Long ( see the Administration Guide ) M15 RestartJobId false Long ( see the Administration Guide ) M26 ReturnCode false Long ( see the Administration Guide ) M15 RunEnd false Date ( see the Administration Guide ) M15 RunStart false Date ( see the Administration Guide ) M15 RuntimeExpiration false Date ( see the Administration Guide ) M15 SAPNWCallbackVariant false SAPNWCallbackVariant ( see the Administration Guide ) ScheduledStartTime true Date ( see the Administration Guide ) M15 SearchDescription true String ( see the Administration Guide ) M23 StartAtValue false String ( see the Administration Guide ) m33_dec Status true JobStatus ( see the Administration Guide ) M15 StatusForJobGroup true JobStatusForJobGroup ( see the Administration Guide ) M30 StepIteration false Long ( see the Administration Guide ) M15 SubmitFrame false SubmitFrame ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) 1042 M15 . Reference TimeWindowTimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 JobChain Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 JobChainCall Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 IgnoreStatus true Boolean ( see the Administration Guide ) M33 JobChainStep true JobChainStep ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 SequenceNumber true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobChainCallCounter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CounterCategory true CounterCategory ( see the Administration Guide ) JobChainCall true JobChainCall ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value true Long ( see the Administration Guide ) M24 JobChainCallInExpressionParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Expression true String ( see the Administration Guide ) M15 JobChainCall true JobChainCall ( see the Administration Guide ) 1043 . Reference LLPVersion true Long ( see the Administration Guide ) LocalJobDefinitionParamet.true er JobDefinitionParameter ( see the Administration Guide ) UniqueId Long ( see the Administration Guide ) true M15 M15 JobChainCallInReferenceParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobChainCall true JobChainCall ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LocalJobDefinitionParameter true JobDefinitionParameter ( see the Administration Guide ) SourceJobChainCall JobChainCall ( see the Administration Guide ) false SourceJobDefinitionParameter true JobDefinitionParameter ( see the Administration Guide ) UniqueId Long ( see the Administration Guide ) true M15 JobChainCallOutReferenceParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobChainCall true JobChainCall ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LocalJobDefinitionParameter true JobDefinitionParameter ( see the Administration Guide ) TargetJobDefinitionParameter true JobDefinitionParameter ( see the Administration Guide ) UniqueId Long ( see the Administration Guide ) true M15 JobChainCallPrecondition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Expression false String ( see the Administration Guide ) M33_2 JobChainCall true JobChainCall ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) 1044 M15 M33_2 M15 . Reference JobChainCallProcessMonitorUpdater Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 InstanceExpression false String ( see the Administration Guide ) M33 JobChainCall true JobChainCall ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) ProcessMonitorDefinition true ProcessMonitorDefinition ( see the Administration Guide ) M15 ProcessMonitorItemDefinition true ProcessMonitorItemDefinition ( see the Administration Guide ) UniqueId Long ( see the Administration Guide ) true M15 JobChainCallSchedulingParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Expression true String ( see the Administration Guide ) M15 JobChainCall true JobChainCall ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) Name true SchedulingParameterName ( see the Administra.M15 tion Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 JobChainCallStatistic Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DataSum true Long ( see the Administration Guide ) M24 DataSumSquaredBig true BigDecimal ( see the Administration Guide ) M31 Deprecated1 true Long ( see the Administration Guide ) M24 JobChainCallCounter true JobChainCallCounter ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) StatisticCategory true StatisticCategory ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 JobChainStatusHandler Field Mandatory Class Since Version Action true HandlerAction ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) GotoStepJobChainStep false JobChainStep ( see the Administration Guide ) 1045 M15 . Reference JobChain true JobChain ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Message false String ( see the Administration Guide ) M15 ReturnCode false Long ( see the Administration Guide ) M15 SequenceNumber true Long ( see the Administration Guide ) M15 Status false JobStatus ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobChainStep Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 JobChain true JobChain ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 RestartCount false Long ( see the Administration Guide ) M34 RestartDelayAmount true Long ( see the Administration Guide ) M34 RestartDelayUnits true TimeUnit ( see the Administration Guide ) M34 SearchName true String ( see the Administration Guide ) M15 SequenceNumber true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobChainStepPrecondition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Expression false String ( see the Administration Guide ) M33_2 JobChainStep true JobChainStep ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Since Version M15 M33_2 JobChainStepStatusHandler Field Mandatory Class Action true HandlerAction ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) GotoStepJobChainStep false JobChainStep ( see the Administration Guide ) 1046 M15 . Reference JobChainStep true JobChainStep ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Message false String ( see the Administration Guide ) M15 ReturnCode false Long ( see the Administration Guide ) M15 SequenceNumber true Long ( see the Administration Guide ) M15 Status false JobStatus ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DatumDefinition true DatumDefinition ( see the Administration Guide ) Job true Job ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M20 ValueDateTimeZone false Date ( see the Administration Guide ) M31 ValueNumber false BigDecimal ( see the Administration Guide ) M31 ValueTimeZone false TimeZone ( see the Administration Guide ) JobDatum JobDefinition Field Mandatory Class ActionSubject false Subject ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 BranchedLastModificationTime false Date ( see the Administration Guide ) M22 BranchedLLPVersion true Long ( see the Administration Guide ) M22 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultLogFormat false Format ( see the Administration Guide ) DefaultOutputFormat false Format ( see the Administration Guide ) DefaultQueue false Queue ( see the Administration Guide ) Deprecated1 true Long ( see the Administration Guide ) M15 Deprecated2 true Long ( see the Administration Guide ) M15 Deprecated3 true Long ( see the Administration Guide ) M15 Deprecated4 true Long ( see the Administration Guide ) M15 Deprecated5 true Long ( see the Administration Guide ) M15 Deprecated6 true Long ( see the Administration Guide ) M15 1047 Since Version . Reference Deprecated7 true BigDecimal ( see the Administration Guide ) M15 Deprecated8 true BigDecimal ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 EquivalentObject true Boolean ( see the Administration Guide ) M32 HoldOnSubmit true Boolean ( see the Administration Guide ) M15 JobDefinitionType true JobDefinitionType ( see the Administration Guide ) JobTimeZone false TimeZone ( see the Administration Guide ) KeepAmount false Long ( see the Administration Guide ) M15 KeepForce true Boolean ( see the Administration Guide ) M31 KeepJobsInStatus false String ( see the Administration Guide ) M31 KeepType false JobDefinitionKeepType ( see the Administration M15 Guide ) KeepUnits false JobDefinitionKeepUnit ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Maintenance true Boolean ( see the Administration Guide ) M30 MasterJobDefinition false JobDefinition ( see the Administration Guide ) MaxPriority false Long ( see the Administration Guide ) M31 Name true String ( see the Administration Guide ) M15 Overdue true Boolean ( see the Administration Guide ) M15 OverdueEventDefinition false EventDefinition ( see the Administration Guide ) OverdueStatus false JobStatus ( see the Administration Guide ) M15 OverviewFormat false String ( see the Administration Guide ) M22 OwnerSubject true Subject ( see the Administration Guide ) ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) Priority false Long ( see the Administration Guide ) Resource false Resource ( see the Administration Guide ) RestartCount false Long ( see the Administration Guide ) M15 ReturncodeMapToCompleted false String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 Template true Boolean ( see the Administration Guide ) M27 TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowTimeZone false TimeZone ( see the Administration Guide ) TopLevel true Boolean ( see the Administration Guide ) M26 UniqueId true Long ( see the Administration Guide ) M15 1048 M15 . Reference JobDefinitionAction Field Mandatory Class Since Version ActionSubject false Subject ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M22 JobDefinition true JobDefinition ( see the Administration Guide ) Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) OwnerSubject true Subject ( see the Administration Guide ) Type true JobDefinitionActionType ( see the Administration M22 Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 JobDefinitionActionJARCache Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionAction true JobDefinitionAction ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionActionJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionActionJARCache true JobDefinitionActionJARCache ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionActionSourceLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionAction true JobDefinitionAction ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1049 . Reference JobDefinitionAlertSource Field Mandatory Class Since Version Address false String ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultAlertEscalation false AlertEscalation ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 EscalationExpression false String ( see the Administration Guide ) M23 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 NameMatchType true NameMatchType ( see the Administration Guide M32 ) NamePattern true String ( see the Administration Guide ) M23 OperatorMessageExpression false String ( see the Administration Guide ) M23 OperatorMessageReplyExpres.false sion String ( see the Administration Guide ) M23 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) PartitionMatchType true NameMatchType ( see the Administration Guide M32 ) PartitionPattern false String ( see the Administration Guide ) M32 SearchName true String ( see the Administration Guide ) M15 TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M25 M15 JobDefinitionAlertSourceParameterMatch Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionAlertSource true JobDefinitionAlertSource ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MatchType true JobDefinitionAlertSourceParameterMatchType ( see the Administration Guide ) M26 Name true String ( see the Administration Guide ) M23 1050 . Reference SearchName true String ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M23 JobDefinitionAlertSourceRule Field Mandatory Class Since Version AlertEscalation false AlertEscalation ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 JobDefinitionAlertSource true JobDefinitionAlertSource ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Operation true JobDefinitionAlertSourceRuleOperation ( see the Administration Guide ) M25 ProcessingOrder true Long ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M25 Variable true JobDefinitionAlertSourceRuleVariable ( see the Administration Guide ) M25 JobDefinitionAlertSourceStatus Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DelayAmount true Long ( see the Administration Guide ) M25 DelayUnits true TimeUnit ( see the Administration Guide ) M25 JobDefinitionAlertSource true JobDefinitionAlertSource ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 OperatorMessageExpression false String ( see the Administration Guide ) M23 Status true JobStatus ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionConstraint Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 ConstraintDefinition true ConstraintDefinition ( see the Administration Guide ) Description false String ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 1051 M15 . Reference UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionConstraintParameterMapping Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionConstraint true JobDefinitionConstraint ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 ParameterName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M15 JobDefinitionCounter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CounterCategory true CounterCategory ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value true Long ( see the Administration Guide ) M24 JobDefinitionJobLock Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinition true JobDefinition ( see the Administration Guide ) JobLock true JobLock ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 DataLength false Long ( see the Administration Guide ) M15 DataPrecision false Long ( see the Administration Guide ) M15 DataScale false Long ( see the Administration Guide ) M15 DataType true ParameterType ( see the Administration Guide ) M15 DefaultExpression false String ( see the Administration Guide ) 1052 M15 . Reference DefaultValueEditable false ValueEditable ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Direction true ParameterDirection ( see the Administration Guide M15 ) Display true Boolean ( see the Administration Guide ) M15 DisplayOrder true Long ( see the Administration Guide ) M15 Editable true EditableType ( see the Administration Guide ) M15 GroupName false String ( see the Administration Guide ) M15 JobDefinition true JobDefinition ( see the Administration Guide ) JobFormat false String ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Nullable true Boolean ( see the Administration Guide ) M15 PartOfKey true Boolean ( see the Administration Guide ) M15 Password true Boolean ( see the Administration Guide ) M26 Runtime true Boolean ( see the Administration Guide ) M24 SearchName true String ( see the Administration Guide ) M15 SimpleConstraintData false String ( see the Administration Guide ) M24 SimpleConstraintMessage false String ( see the Administration Guide ) M24 SimpleConstraintOptional true Boolean ( see the Administration Guide ) M27 SimpleConstraintType true SimpleConstraintType ( see the Administration Guide ) M24 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionProcessMonitorUpdater Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 InstanceExpression false String ( see the Administration Guide ) M33 JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) ProcessMonitorDefinition true ProcessMonitorDefinition ( see the Administration Guide ) M15 ProcessMonitorItemDefinition false ProcessMonitorItemDefinition ( see the Administration Guide ) UniqueId Long ( see the Administration Guide ) true M15 JobDefinitionRaiseEvent Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ErrorCode false Long ( see the Administration Guide ) M15 1053 . Reference EventDefinition true EventDefinition ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 RaiseComment true String ( see the Administration Guide ) M15 StatusToRaiseOn true JobStatus ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionRunner Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Family true String ( see the Administration Guide ) M17 JobDefinitionType true JobDefinitionType ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionRunnerScript Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionRunner true JobDefinitionRunner ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 ScriptNumber true Long ( see the Administration Guide ) M17 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionRunnerScriptLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionRunnerScript true JobDefinitionRunnerScript ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionRuntimeLimit Field Mandatory Class Since Version AdHocAlertSource false AdHocAlertSource ( see the Administration Guide ) 1054 . Reference Behavior true Long ( see the Administration Guide ) M15 CalculatedLimitType true CalculatedRuntimeLimitType ( see the Administra.M25 tion Guide ) Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 ERTPlusOrMinusType true ERTPlusOrMinusType ( see the Administration Guide ) M25 EventDefinition false EventDefinition ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) KillJob true Boolean ( see the Administration Guide ) LimitType true RuntimeLimitType ( see the Administration Guide M25 ) LimitValue true Long ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 MaxMinType true MaxMinType ( see the Administration Guide ) M25 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M25 JobDefinitionStatistic Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DataSum true Long ( see the Administration Guide ) M24 DataSumSquaredBig true BigDecimal ( see the Administration Guide ) M31 Deprecated1 true Long ( see the Administration Guide ) M24 JobDefinitionCounter true JobDefinitionCounter ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) StatisticCategory true StatisticCategory ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 JobDefinitionType Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) HandlerService true Service ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) 1055 M15 M15 . Reference LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobDefinitionWaitEvent Field Mandatory Class Since Version AutoSubmit true WaitEventSubmitType ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 ClearComment false String ( see the Administration Guide ) M22 ClearsEvent true Boolean ( see the Administration Guide ) M15 EventDefinition true EventDefinition ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobFile Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 FileLastModificationTime false Date ( see the Administration Guide ) M15 FileName true String ( see the Administration Guide ) M15 FileOrder true Long ( see the Administration Guide ) M15 Format true Format ( see the Administration Guide ) InCommonLogFormat true Boolean ( see the Administration Guide ) Job true Job ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M22 ProcessServer false ProcessServer ( see the Administration Guide ) Service false Service ( see the Administration Guide ) Size false Long ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) Type true JobFileType ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M27 M15 JobGroup Field Mandatory Class 1056 Since Version . M30 tion Guide ) CreationTime true Date ( see the Administration Guide ) CreationTimeZone false TimeZone ( see the Administration Guide ) CurrentPresubmitCount true Long ( see the Administration Guide ) M40 EndDate false Date ( see the Administration Guide ) M30 EndDateTimeZone false TimeZone ( see the Administration Guide ) ForcedProcessServer false ProcessServer ( see the Administration Guide ) HoldOnSubmit true Boolean ( see the Administration Guide ) M34 JobCount true Long ( see the Administration Guide ) M30 JobDefinition true JobDefinition ( see the Administration Guide ) JobTimeZone false TimeZone ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LatestJob false Job ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MaxJobs false Long ( see the Administration Guide ) M30 MustProcess true Boolean ( see the Administration Guide ) M15 NextSubmitBaseTime false Date ( see the Administration Guide ) M34 NumJobGroupParameters true Long ( see the Administration Guide ) M34 PresubmitCount true Long ( see the Administration Guide ) M30 Priority true Long ( see the Administration Guide ) M34 Queue false Queue ( see the Administration Guide ) RecurrencePattern false String ( see the Administration Guide ) M15 StartAtValue false String ( see the Administration Guide ) M15 Status true JobGroupStatus ( see the Administration Guide ) M30 SubmitFrame false SubmitFrame ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 M15 JobGroupParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 InValueDate false Date ( see the Administration Guide ) M34 InValueNumber false BigDecimal ( see the Administration Guide ) M34 InValueString false String ( see the Administration Guide ) M34 InValueTimeZone false TimeZone ( see the Administration Guide ) JobDefinitionParameter true JobDefinitionParameter ( see the Administration Guide ) 1057 .Reference Behavior true Long ( see the Administration Guide ) M15 CalculationStatus true JobGroupCalculationStatus ( see the Administra. M40 tion Guide ) Behavior true Long ( see the Administration Guide ) JobGroup true JobGroup ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 PresubmitCount false Long ( see the Administration Guide ) M40 SubjectUid false Long ( see the Administration Guide ) M40 1058 M15 .true Lines Long ( see the Administration Guide ) M34 OutValueDate false Date ( see the Administration Guide ) M34 OutValueNumber false BigDecimal ( see the Administration Guide ) M34 OutValueString false String ( see the Administration Guide ) M34 OutValueTimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 JobGroupParameterInLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobGroupParameter true JobGroupParameter ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobGroupParameterOutLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobGroupParameter true JobGroupParameter ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Since Version JobGroupUpdateAction Field Mandatory Class ActionType true JobGroupUpdateActionType ( see the Administra.Reference JobGroup true JobGroup ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 NumJobGroupParameterInLines true Long ( see the Administration Guide ) M34 NumJobGroupParameterOut. Reference UniqueId true Long ( see the Administration Guide ) M15 JobJobLock Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Job true Job ( see the Administration Guide ) JobLock true JobLock ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobLock Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) HeldByJob false Job ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Job true Job ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) OwnerSubject false Subject ( see the Administration Guide ) Text true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 M15 JobNote 1059 M15 M15 . Reference JobParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DisplayOrder false Long ( see the Administration Guide ) M43 InValueDate false Date ( see the Administration Guide ) M15 InValueNumber false BigDecimal ( see the Administration Guide ) M15 InValueString false String ( see the Administration Guide ) M15 InValueTimeZone false TimeZone ( see the Administration Guide ) Job true Job ( see the Administration Guide ) JobDefinitionParameter true JobDefinitionParameter ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 NumJobParameterInLines true Long ( see the Administration Guide ) M30 NumJobParameterOutLines true Long ( see the Administration Guide ) M30 OutValueDate false Date ( see the Administration Guide ) M15 OutValueNumber false BigDecimal ( see the Administration Guide ) M15 OutValueString false String ( see the Administration Guide ) M15 OutValueTimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 JobParameterInLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobParameter true JobParameter ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 JobParameterOutLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobParameter true JobParameter ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1060 . Reference JobPerformance Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CallStartDelay false Long ( see the Administration Guide ) M24 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) FinalStatus true JobStatus ( see the Administration Guide ) JobChainCall false JobChainCall ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LogFileSize false Long ( see the Administration Guide ) M15 OutputFileSize false Long ( see the Administration Guide ) M15 RunTime false Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 M15 JobRaiseEvent Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ErrorCode false Long ( see the Administration Guide ) M15 Event false Event ( see the Administration Guide ) EventDefinition true EventDefinition ( see the Administration Guide ) Job true Job ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 RaiseComment true String ( see the Administration Guide ) M15 StatusToRaiseOn true JobStatus ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ClearComment false String ( see the Administration Guide ) M22 ClearsEvent true Boolean ( see the Administration Guide ) M15 EventDefinition true EventDefinition ( see the Administration Guide ) Job true Job ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) RaisedEvent false Event ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) JobWaitEvent 1061 M15 M15 . Reference Language Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 Tag true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 LDAPProfile Field Mandatory Class Since Version Active true Boolean ( see the Administration Guide ) M27 AdminRole false String ( see the Administration Guide ) M27 BaseDN true String ( see the Administration Guide ) M27 Behavior true Long ( see the Administration Guide ) M15 BusinessUserRole false String ( see the Administration Guide ) M33 Comment false String ( see the Administration Guide ) M15 ConnectionPassword false String ( see the Administration Guide ) M27 ConnectionURL true String ( see the Administration Guide ) M27 ConnectionUserName false String ( see the Administration Guide ) M27 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 GroupMemberField false String ( see the Administration Guide ) M27 GroupNameField false String ( see the Administration Guide ) M27 GroupSearchBase false String ( see the Administration Guide ) M27 GroupSearchExpression false String ( see the Administration Guide ) M27 IsolationAdminRole false String ( see the Administration Guide ) M27 ITUserRole false String ( see the Administration Guide ) M33 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LDAPServerType true LDAPServerType ( see the Administration Guide M27 ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ProfileName true String ( see the Administration Guide ) M27 ScreenReaderRole false String ( see the Administration Guide ) M27 SearchName true String ( see the Administration Guide ) M15 SearchScope false String ( see the Administration Guide ) M27 1062 . Reference UniqueId true Long ( see the Administration Guide ) M15 UserDNExpression false String ( see the Administration Guide ) M27 UserExactSearchExpression false String ( see the Administration Guide ) M27 UserMailField false String ( see the Administration Guide ) M27 UserNameField false String ( see the Administration Guide ) M27 UserRole false String ( see the Administration Guide ) M27 UserSearchBase false String ( see the Administration Guide ) M27 Library Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 LibraryJARCache Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 LibraryJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LibraryJARCache true LibraryJARCache ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1063 . Reference LibrarySource Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 FQClassName true String ( see the Administration Guide ) M26 Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LibrarySource true LibrarySource ( see the Administration Guide ) LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 LibrarySourceLine LicenseKey Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ContractName true String ( see the Administration Guide ) M24 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M16 M15 ModuleState 1064 M15 . false pression String ( see the Administration Guide ) M23 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration M25 Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 MonitorAlertSourceRule Field Mandatory Class AlertEscalation false AlertEscalation ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 DelayAmount true Long ( see the Administration Guide ) M30 1065 Since Version .Reference State false String ( see the Administration Guide ) M16 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Address false String ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultAlertEscalation false AlertEscalation ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 EscalationExpression false String ( see the Administration Guide ) M23 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LinkableMonitor MonitorCheck true MonitorAlertSource MonitorNode MonitorCheck ( see the Administration Guide ) MonitorNode ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 OperatorMessageExpression false String ( see the Administration Guide ) M23 OperatorMessageReplyEx. Reference DelayUnits true TimeUnit ( see the Administration Guide ) M30 LLPVersion true Long ( see the Administration Guide ) M15 MonitorAlertSource true MonitorAlertSource ( see the Administration Guide ) OperatorMessageExpression false String ( see the Administration Guide ) M30 ProcessingOrder true Long ( see the Administration Guide ) M30 Rising true Boolean ( see the Administration Guide ) M30 Severity true Long ( see the Administration Guide ) M30 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version ActualSeverity false Long ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ObjectDefinition false ObjectDefinition ( see the Administration Guide ) ObjectId false Long ( see the Administration Guide ) ParentMonitorNode false MonitorNode ( see the Administration Guide ) RemoteId false String ( see the Administration Guide ) M15 RemoteSystem false String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 MonitorCheck M15 MonitorCondition Field Mandatory Class Since Version ActionSubject false Subject ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Expression false String ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 MonitorCheck true MonitorCheck ( see the Administration Guide ) 1066 . Reference Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 Severity true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 MonitorEvent Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 EventDefinition true EventDefinition ( see the Administration Guide ) LinkableMonitor MonitorCheck true MonitorCheck ( see the Administration Guide ) MonitorNode MonitorNode ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Reason false String ( see the Administration Guide ) M15 Rising true Boolean ( see the Administration Guide M15 ) Severity true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 MonitorLink Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LinkedLinkableMonitor LinkedMonitorCheck true MonitorCheck ( see the Administration Guide ) LinkedMonitorNode MonitorNode ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentMonitorNode false MonitorNode ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) 1067 M15 . Reference UniqueId true Long ( see the Administration Guide ) M15 MonitorMessage Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) FieldNameHash false Long ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LongValue false Long ( see the Administration Guide ) M15 MonitoredObjectId false Long ( see the Administration Guide ) M15 NumberValue false BigDecimal ( see the Administration Guide ) M15 ObjectDeleted true Boolean ( see the Administration Guide ) M15 ObjectId true Long ( see the Administration Guide ) M15 ObjectTypeHash true Long ( see the Administration Guide ) M15 ParentId false Long ( see the Administration Guide ) M15 StringValue false String ( see the Administration Guide ) M15 Type true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version ActualSeverity false Long ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentMonitorNode false MonitorNode ( see the Administration Guide ) RemoteId false String ( see the Administration Guide ) M15 RemoteSystem false String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 MonitorNode 1068 M15 M15 . Reference MonitorValue Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime false Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) MonitorCheck true MonitorCheck ( see the Administration Guide ) Name true String ( see the Administration Guide ) ObjectFieldDefinition false ObjectFieldDefinition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) Type true ParameterType ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ValueDate false Date ( see the Administration Guide ) M15 ValueDateTimeZone false TimeZone ( see the Administration Guide ) ValueNumber false BigDecimal ( see the Administration Guide ) M15 ValueString false String ( see the Administration Guide ) M15 M15 M15 M15 MonitorValueAggregate Field Mandatory Class Since Version AggregateType true Long ( see the Administration Guide ) M33_2 Behavior true Long ( see the Administration Guide ) M15 End true Long ( see the Administration Guide ) M33_2 LLPVersion true Long ( see the Administration Guide ) M15 MonitorValue true MonitorValue ( see the Administration Guide ) Start true Long ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 MonitorValueAggregateEntry Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 MonitorValueAggregate true MonitorValueAggregate ( see the Administration Guide ) Occurences Long ( see the Administration Guide ) true 1069 M33_2 . Reference Percentage true Long ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 Value false String ( see the Administration Guide ) M33_2 NavigationBar Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 OwnerSubject true Subject ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 NavigationBarItem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DisplayOrder true Long ( see the Administration Guide ) M30 IconURL false String ( see the Administration Guide ) M30 LinkData false String ( see the Administration Guide ) M30 LLPVersion true Long ( see the Administration Guide ) M15 Name false String ( see the Administration Guide ) M30 NavigationBar true NavigationBar ( see the Administration Guide ) ParentNavigationBarItem false NavigationBarItem ( see the Administration Guide ) SearchName false String ( see the Administration Guide ) Type true NavigationBarItemType ( see the Administration M30 Guide ) UniqueId true Long ( see the Administration Guide ) Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 M31 M15 ObjectDefinition 1070 . false ition ObjectDefinition ( see the Administration Guide ) FieldType true ModelTypes ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 ObjectDefinition true ObjectDefinition ( see the Administration Guide ) Reserved false String ( see the Administration Guide ) M22 SearchName true String ( see the Administration Guide ) M27 UniqueId true Long ( see the Administration Guide ) M15 OperatorMessage Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) FirstText true String ( see the Administration Guide ) IsolationGroup true IsolationGroup ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 NumAdditionalLines true Long ( see the Administration Guide ) M15 Partition false Partition ( see the Administration Guide ) RepliedBySubject false Subject ( see the Administration Guide ) Reply false String ( see the Administration Guide ) M15 ReplyExpression false String ( see the Administration Guide ) M15 ReplyStatus true ReplyStatus ( see the Administration Guide ) M39 ReplyTime false Date ( see the Administration Guide ) M26 SenderObjectDefinition false ObjectDefinition ( see the Administration Guide ) SenderObjectDescription false String ( see the Administration Guide ) M26 SenderObjectUniqueId false Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1071 M15 M15 .Reference ObjectName true String ( see the Administration Guide ) M15 SearchName false String ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 ObjectFieldDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 FieldName true String ( see the Administration Guide ) M15 FieldReferenceObjectDefin. Reference OperatorMessageDatum Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M30 OperatorMessage true OperatorMessage ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M30 UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M30 OperatorMessageLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 OperatorMessage true OperatorMessage ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 OraAppsJobControlRule Field Mandatory Class Since Version Action true SynchronizeAction ( see the Administration Guide ) M31_2 Behavior true Long ( see the Administration Guide ) M15 DefaultQueue false Queue ( see the Administration Guide ) Description false String ( see the Administration Guide ) M31_2 Enabled true Boolean ( see the Administration Guide ) M31_2 JobnameMask true String ( see the Administration Guide ) M31_2 JobnameMaskCaseSensit.true ive Boolean ( see the Administration Guide ) M31_2 LLPVersion true Long ( see the Administration Guide ) M15 OraAppsSystem true OraAppsSystem ( see the Administration Guide ) Priority false Long ( see the Administration Guide ) M31_2 ProcessingOrder true Long ( see the Administration Guide ) M31_2 RetrieveJoblog true Boolean ( see the Administration Guide ) M31_2 RetrieveOutput true Boolean ( see the Administration Guide ) M31_2 UniqueId true Long ( see the Administration Guide ) M15 1072 . Reference UsernameMask true String ( see the Administration Guide ) M31_2 OraAppsSystem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 ConnectString true String ( see the Administration Guide ) M31_2 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Credential true Long ( see the Administration Guide ) DefaultJobTimeZone true TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) JobHandlingEnabled true JobHandlingType ( see the Administration Guide M31_2 ) Language true String ( see the Administration Guide ) M35_1 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 SubmitUserName false String ( see the Administration Guide ) M37_8 SubmitUserType true OraAppsSubmitUserType ( see the Administration M37_8 Guide ) UniqueId true Long ( see the Administration Guide ) M15 UserName true String ( see the Administration Guide ) M37 M37 M15 OracleConnection Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 OracleInstanceId true Long ( see the Administration Guide ) M41 OracleSessionId true String ( see the Administration Guide ) M34 1073 M15 . Reference OracleUsername true String ( see the Administration Guide ) M34 PipeNameIn true String ( see the Administration Guide ) M34 PipeNameOut true String ( see the Administration Guide ) M34 PrivateLastAccesstime true Date ( see the Administration Guide ) M34 UniqueId true Long ( see the Administration Guide ) M15 OracleConnectionSession Field Mandatory Class Since Version AutonomousTransaction true Boolean ( see the Administration Guide ) M34 Behavior true Long ( see the Administration Guide ) M15 DirtyObjects true Boolean ( see the Administration Guide ) M34 IsolationGroup true String ( see the Administration Guide ) M34 LastAccesstime true Long ( see the Administration Guide ) M34 LLPVersion true Long ( see the Administration Guide ) M15 OracleConnection true OracleConnection ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Username true String ( see the Administration Guide ) M34 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 ConnectString true String ( see the Administration Guide ) M37 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultJobTimeZone true TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) JobHandlingEnabled true JobHandlingType ( see the Administration Guide M37 ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 OraOhiSystem 1074 M15 M15 . Reference UserName true String ( see the Administration Guide ) M37 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Deprecated1 true Boolean ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 IsolationGroup true IsolationGroup ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Since Version Partition M15 PeopleSoftJobControlRule Field Mandatory Class Action true SynchronizeAction ( see the Administration Guide M34 ) Behavior true Long ( see the Administration Guide ) DefaultQueue false Queue ( see the Administration Guide ) Description false String ( see the Administration Guide ) M34 Enabled true Boolean ( see the Administration Guide ) M34 JobnameMask true String ( see the Administration Guide ) M34 JobnameMaskCaseSensitive true Boolean ( see the Administration Guide ) M34 LLPVersion true Long ( see the Administration Guide ) M15 PeopleSoftSystem true PeopleSoftSystem ( see the Administration Guide ) Priority false Long ( see the Administration Guide ) M34 ProcessingOrder true Long ( see the Administration Guide ) M34 RetrieveJoblog true Boolean ( see the Administration Guide ) M34 RetrieveOutput true Boolean ( see the Administration Guide ) M34 UniqueId true Long ( see the Administration Guide ) M15 UsernameMask true String ( see the Administration Guide ) M34 M15 PeopleSoftJobOutputLocation Field Mandatory Class Since Version 1075 . Reference Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M41 Enabled true Boolean ( see the Administration Guide ) M41 HostName true String ( see the Administration Guide ) M41 InstanceName true String ( see the Administration Guide ) M41 LLPVersion true Long ( see the Administration Guide ) M15 PeopleSoftSystem true PeopleSoftSystem ( see the Administration Guide ) Port false Long ( see the Administration Guide ) M41 ProcessingOrder true Long ( see the Administration Guide ) M41 Protocol true String ( see the Administration Guide ) M41 UniqueId true Long ( see the Administration Guide ) M15 PeopleSoftSystem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultJobTimeZone true TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 J2EEConnectString false String ( see the Administration Guide ) M34 JobHandlingEnabled true JobHandlingType ( see the Administration Guide M34 ) Language true String ( see the Administration Guide ) M40 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 UserName true String ( see the Administration Guide ) M37 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 PeriodFunction 1076 . Reference Classname false String ( see the Administration Guide ) M26 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) Library false Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParameterComment false String ( see the Administration Guide ) M26 ParameterDefaults false String ( see the Administration Guide ) M26 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 PeriodFunctionJARCache Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 PeriodFunction true PeriodFunction ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 PeriodFunctionJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 PeriodFunctionJARCache true PeriodFunctionJARCache ( see the Administration Guide ) UniqueId Long ( see the Administration Guide ) true M15 PersistenceInternalClusterMasterNaming Field Mandatory Class Since Version Name true String ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M15 1077 . Reference PersistenceInternalClusterNaming Field Mandatory Class Since Version LastModificationTime true Long ( see the Administration Guide ) M34 Name true String ( see the Administration Guide ) M34 RWURL true String ( see the Administration Guide ) M34 Secret true String ( see the Administration Guide ) M34 UIURL true String ( see the Administration Guide ) M34 PersistenceInternalErrorHandling Field Mandatory Class Since Version Code true String ( see the Administration Guide ) M20_1 Handler true String ( see the Administration Guide ) M20_1 ProcessingOrder true Long ( see the Administration Guide ) M20_1 Type true String ( see the Administration Guide ) M20_1 PersistenceInternalLock Field Mandatory Class Since Version LastLockTime true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Owner true String ( see the Administration Guide ) M15 Status true String ( see the Administration Guide ) M15 PersistenceInternalSequence Field Mandatory Class Since Version Name true String ( see the Administration Guide ) M15 Value true Long ( see the Administration Guide ) M15 PreM22JobFile Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 FileLastModificationTime false Date ( see the Administration Guide ) M15 FileName true String ( see the Administration Guide ) M15 FileOrder true Long ( see the Administration Guide ) M15 Format true Format ( see the Administration Guide ) Job true Job ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) ProcessServerService false ProcessServerService ( see the Administration Guide ) Size false Long ( see the Administration Guide ) 1078 M15 M15 . Reference TimeZone false TimeZone ( see the Administration Guide ) Type true JobFileType ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 PreM26PeriodFunction Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Classname false String ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M25 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) CredentialProtocol true Long ( see the Administration Guide ) M25 Description false String ( see the Administration Guide ) M25 Endpoint true String ( see the Administration Guide ) M25 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Partition true Long ( see the Administration Guide ) M25 Password true String ( see the Administration Guide ) M25 RealUser true String ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 VirtualUser false String ( see the Administration Guide ) M25 PreM28Credential PreM33_2JobChainCallPrecondition Field Mandatory Class 1079 Since Version . Reference Behavior true Long ( see the Administration Guide ) M15 Expression true String ( see the Administration Guide ) M15 JobChainCall true JobChainCall ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration Guide M33 ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 PreM33_2JobChainStepPrecondition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Expression true String ( see the Administration Guide ) M15 JobChainStep true JobChainStep ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration Guide M33 ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 Instance true String ( see the Administration Guide ) M33 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Class Since Version M15 ProcessMonitor ProcessMonitorDefinition Field Mandatory 1080 . Reference Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 DisplayOrder true Long ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ProcessMonitor true ProcessMonitor ( see the Administration Guide ) ProgressEnd false Date ( see the Administration Guide ) M33 ProgressNumber false Long ( see the Administration Guide ) M33 ProgressNumberMax false Long ( see the Administration Guide ) M33 ProgressPercentComplete false Long ( see the Administration Guide ) M33 ProgressStart false Date ( see the Administration Guide ) M33 ProgressStatus false JobStatus ( see the Administration Guide ) M33 ProgressText false String ( see the Administration Guide ) M33 ProgressTimeZone false TimeZone ( see the Administration Guide ) RelatedObjectDefinition false ObjectDefinition ( see the Administration Guide ) RelatedObjectUniqueId false Long ( see the Administration Guide ) M33 SearchName true String ( see the Administration Guide ) M15 StartCount true Long ( see the Administration Guide ) M33 Status true ProcessMonitorItemStatus ( see the Administration M33 Guide ) StatusChanged true Date ( see the Administration Guide ) Type true ProcessMonitorItemType ( see the Administration M33 Guide ) ProcessMonitorItem 1081 M33 . Reference UniqueId true Long ( see the Administration Guide ) M15 ProcessMonitorItemDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 DisplayOrder true Long ( see the Administration Guide ) M33 InstanceExpression false String ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ProcessMonitorDefinition true ProcessMonitorDefinition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 SubProcessMonitorDefini.false tion ProcessMonitorDefinition ( see the Administration Guide ) Type true ProcessMonitorItemType ( see the Administration M33 Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M33 CreationTimeZone false TimeZone ( see the Administration Guide ) Description true String ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 ProgressEnd false Date ( see the Administration Guide ) M33 ProgressStart true Date ( see the Administration Guide ) M33 RelatedObjectId true Long ( see the Administration Guide ) M33 RelatedObjectName true String ( see the Administration Guide ) M33 RepliedBySubject false Subject ( see the Administration Guide ) Reply false String ( see the Administration Guide ) M33 StartCount true Long ( see the Administration Guide ) M33 Type true ProcessMonitorLogType ( see the Administration M33 Guide ) UniqueId true Long ( see the Administration Guide ) Mandatory Class ProcessMonitorLog M15 ProcessServer Field 1082 Since Version . Reference Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultJobTimeZone true TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 DesiredStatus true ProcessServerStatus ( see the Administration Guide ) M15 ExecutionSize false Long ( see the Administration Guide ) M20_1 Inclusive true Boolean ( see the Administration Guide ) M20_1 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LoadThreshold false Long ( see the Administration Guide ) M25 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 StartOnStartup true Boolean ( see the Administration Guide ) M22 Status true ProcessServerStatus ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ProcessServerAlertSource Field Mandatory Class Since Version Address false String ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultAlertEscalation false AlertEscalation ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 EscalationExpression false String ( see the Administration Guide ) M23 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 NameMatchType true NameMatchType ( see the Administration Guide M32 ) NamePattern true String ( see the Administration Guide ) M23 String ( see the Administration Guide ) M23 OperatorMessageExpression false 1083 . false sion String ( see the Administration Guide ) M23 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) PartitionMatchType true NameMatchType ( see the Administration Guide M32 ) PartitionPattern false String ( see the Administration Guide ) M32 SearchName true String ( see the Administration Guide ) M15 TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M25 M15 ProcessServerAlertSourceStatus Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DelayAmount true Long ( see the Administration Guide ) M30 DelayUnits true TimeUnit ( see the Administration Guide ) M30 LLPVersion true Long ( see the Administration Guide ) M15 OperatorMessageExpression false String ( see the Administration Guide ) M23 ProcessServerAlertSource true ProcessServerAlertSource ( see the Administration Guide ) Status true ProcessServerStatus ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 ProcessServerCheck Field Mandatory Class Since Version Attribute1 true String ( see the Administration Guide ) M30_2 Attribute2 false String ( see the Administration Guide ) M30_2 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 ConditionExpression false String ( see the Administration Guide ) M30 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 PollInterval true Long ( see the Administration Guide ) M30_2 ProcessServer true ProcessServer ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 Severity false Long ( see the Administration Guide ) M31 1084 .Reference OperatorMessageReplyExpres. M15 tion Guide ) UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M15 ProcessServerResource Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 1085 .Reference Style true ProcessServerCheckStyle ( see the Administration M30_2 Guide ) UniqueId true Long ( see the Administration Guide ) M15 ProcessServerJobDefinitionType Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 JobDefinitionType true JobDefinitionType ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 ProcessServerLoadFactor Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 MonitorValue true MonitorValue ( see the Administration Guide ) Multiplier true Long ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Threshold true Long ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 M25 ProcessServerParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ProcessServer true ProcessServer ( see the Administration Guide ) Type true ProcessServerParameterType ( see the Administra. Reference ProcessServer true ProcessServer ( see the Administration Guide ) Resource true Resource ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 ProcessServerService Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DesiredStatus true ProcessServerStatus ( see the Administration Guide M15 ) LLPVersion true Long ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Service true Service ( see the Administration Guide ) StartOnStartup true Boolean ( see the Administration Guide ) Status true ProcessServerStatus ( see the Administration Guide M15 ) UniqueId true Long ( see the Administration Guide ) M15 M22 M15 PublishApproval Field Mandatory Class Since Version ApprovalRuleId true Long ( see the Administration Guide ) M33 ApprovalURL true String ( see the Administration Guide ) M33 ApproverName false String ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M33 CreationTime true Date ( see the Administration Guide ) M33 CreationTimeZone false TimeZone ( see the Administration Guide ) DocId true Long ( see the Administration Guide ) M33 DocPath true String ( see the Administration Guide ) M33 Job false Job ( see the Administration Guide ) LastModified false Date ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 PublicationId true Long ( see the Administration Guide ) M33 PublishItem true Long ( see the Administration Guide ) M33 Status false String ( see the Administration Guide ) M33 UniqueId true Long ( see the Administration Guide ) M15 VersionId true Long ( see the Administration Guide ) M33 PublishedWebService Field Mandatory Class Since Version AddJobNote true Boolean ( see the Administration Guide ) M30 1086 . Reference Behavior true Long ( see the Administration Guide ) M15 BranchedLLPVersion true Long ( see the Administration Guide ) M30 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M30 IsolationGroup true Long ( see the Administration Guide ) M30 JobDefinition true JobDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 WSURL false String ( see the Administration Guide ) M30 PublishItem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) R2WCatalogAlias true R2WCatalogAlias ( see the Administration Guide ) ReportName true String ( see the Administration Guide ) M33 RequireApproval true Boolean ( see the Administration Guide ) M33 Source true String ( see the Administration Guide ) M33 UniqueId true Long ( see the Administration Guide ) M15 M15 M15 PublishLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 PublishItem true PublishItem ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 QueryCondition Field Mandatory Class 1087 Since Version . Reference Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 ConditionText true String ( see the Administration Guide ) M22 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 DisplayOrder true Long ( see the Administration Guide ) M22 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ObjectDefinition true ObjectDefinition ( see the Administration Guide ) ObjectFieldDefinition false ObjectFieldDefinition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 Type true QueryConditionType ( see the Administration Guide ) M22 TypeValue false String ( see the Administration Guide ) M22 UniqueId true Long ( see the Administration Guide ) M15 QueryConditionValue Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Deprecated1 true Boolean ( see the Administration Guide ) M22 Deprecated2 true Boolean ( see the Administration Guide ) M22 Include true QueryConditionValueInclude ( see the Administra.M22 tion Guide ) LLPVersion true Long ( see the Administration Guide ) QueryCondition true QueryCondition ( see the Administration Guide ) QueryFilter true QueryFilter ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Value1 false String ( see the Administration Guide ) M22 Value2 false String ( see the Administration Guide ) M22 M15 QueryFilter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) 1088 . Reference Description false String ( see the Administration Guide ) M15 DisplayOrder true Long ( see the Administration Guide ) M22 ExcludeCombiner false QueryConditionValueCombiner ( see the Admin.M39 istration Guide ) IncludeCombiner true QueryConditionValueCombiner ( see the Admin.M39 istration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ObjectDefinition true ObjectDefinition ( see the Administration Guide ) OwnerSubject false Subject ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 ExecutionSize false Long ( see the Administration Guide ) M15 Held true Boolean ( see the Administration Guide ) M15 HoldLevel false Long ( see the Administration Guide ) M15 Inclusive true Boolean ( see the Administration Guide ) M15 InclusiveConsoleJobs true Boolean ( see the Administration Guide ) M37 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 NextWindowChange false Date ( see the Administration Guide ) M15 Open true Boolean ( see the Administration Guide ) M15 Overdue true Boolean ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) QueueTimeZone false TimeZone ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Queue 1089 M15 M15 . false sion String ( see the Administration Guide ) M23 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) TimeWindowStatus true TimeWindowStatus ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M25 M15 QueueAlertSourceStatus Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 OperatorMessageExpression false String ( see the Administration Guide ) M23 QueueAlertSource true QueueAlertSource ( see the Administration Guide ) Status true QueueStatus ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 QueueProvider 1090 .Reference QueueAlertSource Field Mandatory Class Since Version Address false String ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultAlertEscalation false AlertEscalation ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 EscalationExpression false String ( see the Administration Guide ) M23 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 NamePattern true String ( see the Administration Guide ) M23 OperatorMessageExpression false String ( see the Administration Guide ) M23 OperatorMessageReplyExpres. Reference ExecutionSize false Long ( see the Administration Guide ) M15 Held true Boolean ( see the Administration Guide ) M15 HoldLevel false Long ( see the Administration Guide ) M15 Inclusive true Boolean ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 NextWindowChange false Date ( see the Administration Guide ) M15 Open true Boolean ( see the Administration Guide ) M15 ProcessServer true ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) QueueProviderTimeZone false TimeZone ( see the Administration Guide ) TimeWindow false TimeWindow ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) Password false String ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 URL true String ( see the Administration Guide ) M33 UseCredential true Boolean ( see the Administration Guide ) M33 Username false String ( see the Administration Guide ) M33 R2WCatalog M33 R2WCatalogAlias Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 1091 . Reference LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 R2WCatalog true R2WCatalog ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 RegistryEntry Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 OverrideAllowed true Boolean ( see the Administration Guide ) M15 ParentRegistryEntry false RegistryEntry ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value false String ( see the Administration Guide ) M15 RELEntryPoint Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 FQClassName true String ( see the Administration Guide ) M26 Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MethodSignature true String ( see the Administration Guide ) M26 Name true String ( see the Administration Guide ) M26 UniqueId true Long ( see the Administration Guide ) M15 Report Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 BranchedLastModification.false Time Date ( see the Administration Guide ) M22 BranchedLLPVersion true Long ( see the Administration Guide ) M22 Comment false String ( see the Administration Guide ) M15 1092 . Reference CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) Limit false Long ( see the Administration Guide ) M26 LLPVersion true Long ( see the Administration Guide ) M15 MasterReport false Report ( see the Administration Guide ) Name true String ( see the Administration Guide ) ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) Query false String ( see the Administration Guide ) QueryFilter false QueryFilter ( see the Administration Guide ) QueryObjectDefinition false ObjectDefinition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 M26 ReportColumn Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ColumnFormat false ReportColumnFormat ( see the Administration Guide ) M31 ColumnOrder true Long ( see the Administration Guide ) M26 Comment false String ( see the Administration Guide ) M15 Deprecated1 false String ( see the Administration Guide ) M26 Description false String ( see the Administration Guide ) M15 Display true Boolean ( see the Administration Guide ) M26 Expression false String ( see the Administration Guide ) M26 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ObjectFieldDefinition false ObjectFieldDefinition ( see the Administration Guide ) Report true Report ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ReportJobDefinitionRelatedObject Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 1093 . Reference CreationTime true Date ( see the Administration Guide ) CreationTimeZone false TimeZone ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) Report true Report ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 M15 M15 ReportParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 DataType true ParameterType ( see the Administration Guide ) M29 DefaultExpression true String ( see the Administration Guide ) M29 Description false String ( see the Administration Guide ) M15 Display true Boolean ( see the Administration Guide ) M28 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Report true Report ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ReportSelection Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LeftReportColumn true ReportColumn ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) Operation true ReportSelectionOperation ( see the Administration M26 Guide ) Report true Report ( see the Administration Guide ) ReportParameter false ReportParameter ( see the Administration Guide ) RightReportColumn false ReportColumn ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Value false String ( see the Administration Guide ) M26 M15 ReportSort Field Mandatory Class Since Version Ascending true Boolean ( see the Administration Guide ) M26 Behavior true Long ( see the Administration Guide ) M15 1094 . Reference LLPVersion true Long ( see the Administration Guide ) M15 Report true Report ( see the Administration Guide ) ReportColumn true ReportColumn ( see the Administration Guide ) SortOrder true Long ( see the Administration Guide ) M26 UniqueId true Long ( see the Administration Guide ) M15 Resource Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPAbapProgram Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M22 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPAbapProgramParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 DbField false String ( see the Administration Guide ) M23 1095 . M23 tration Guide ) Length true Long ( see the Administration Guide ) M23 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Position true Long ( see the Administration Guide ) M23 Protected true Boolean ( see the Administration Guide ) M23 Required true Boolean ( see the Administration Guide ) M23 SAPAbapProgram true SAPAbapProgram ( see the Administration Guide ) SapType true SAPAbapProgramParameterType ( see the Adminis.Reference DefaultValue false String ( see the Administration Guide ) M23 Description false String ( see the Administration Guide ) M15 GroupId false String ( see the Administration Guide ) M23 Hidden true Boolean ( see the Administration Guide ) M23 Kind true SAPAbapProgramParameterKind ( see the Adminis.M23 tration Guide ) SearchName true String ( see the Administration Guide ) M15 Type true String ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 SAPAbapVariant Field Mandatory Class Since Version BackgroundOnly true Boolean ( see the Administration Guide ) M23 Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M22 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Protected true Boolean ( see the Administration Guide ) M23 SAPAbapProgram true SAPAbapProgram ( see the Administration Guide ) SAPLanguage true String ( see the Administration Guide ) M22 SearchName true String ( see the Administration Guide ) M15 System true Boolean ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 SAPAbapVariantParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 1096 . M23 istration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPAbapVariant true SAPAbapVariant ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value false String ( see the Administration Guide ) M23 SAPAbapVariantSelopt Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Kind true SAPAbapProgramParameterKind ( see the Admin.Reference Description false String ( see the Administration Guide ) M15 High false String ( see the Administration Guide ) M22 Kind true String ( see the Administration Guide ) M22 Length true Long ( see the Administration Guide ) M22 LLPVersion true Long ( see the Administration Guide ) M15 Low false String ( see the Administration Guide ) M22 Name true String ( see the Administration Guide ) M15 Option true String ( see the Administration Guide ) M22 SAPAbapVariant true SAPAbapVariant ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 Sign true String ( see the Administration Guide ) M22 Type true String ( see the Administration Guide ) M22 UniqueId true Long ( see the Administration Guide ) M15 SAPAbapVariantParameterValue Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Kind true SAPAbapProgramParameterKind ( see the Admin.M23 istration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPAbapVariant true SAPAbapVariant ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) 1097 M15 . M23 istration Guide ) SAPAbapVariantSelopt true SAPAbapVariantSelopt ( see the Administration Guide ) Sign true SAPAbapProgramParameterSign ( see the Adminis.Reference UniqueId true Long ( see the Administration Guide ) M15 SAPAbapVariantSeloptValue Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 High false String ( see the Administration Guide ) M23 LLPVersion true Long ( see the Administration Guide ) M15 Low false String ( see the Administration Guide ) M23 Option true SAPAbapProgramParameterOption ( see the Admin.M23 tration Guide ) UniqueId true Long ( see the Administration Guide ) M15 SAPApplicationServer Field Mandatory Class Since Version Active true Boolean ( see the Administration Guide ) M25 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 LoadThreshold false Long ( see the Administration Guide ) M25 Name true String ( see the Administration Guide ) M15 NumberOfClassAWorkPro.true cesses Long ( see the Administration Guide ) M26 NumberOfWorkProcesses true Long ( see the Administration Guide ) M26 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPApplicationServerGroup Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 1098 . Reference SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPApplicationServerLoadFactor Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 MonitorValue true MonitorValue ( see the Administration Guide ) Multiplier true Long ( see the Administration Guide ) SAPApplicationServer true SAPApplicationServer ( see the Administration Guide ) Threshold true Long ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 M25 SAPApplicationServerProvider Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 SAPApplicationServer true SAPApplicationServer ( see the Administration Guide ) SAPApplicationServerGroup true SAPApplicationServerGroup ( see the Administration Guide ) UniqueId Long ( see the Administration Guide ) true M15 SAPArchiveDocumentType Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPArchiveObject true SAPArchiveObject ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Mandatory Class Since Version SAPArchiveObject Field 1099 . false nections Long ( see the Administration Guide ) M15 NumberOfRfcServers true Long ( see the Administration Guide ) M33 Password true String ( see the Administration Guide ) M15 RFCDestination false String ( see the Administration Guide ) M33 SAPBAEConnector true SAPBAEConnector ( see the Administration Guide ) SAPLanguage true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Username true String ( see the Administration Guide ) M15 SAPBAEConnector Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 ConnectString true String ( see the Administration Guide ) M32 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) DesiredStatus true ProcessServerStatus ( see the Administration Guide M32 ) 1100 M15 .Reference Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPBAEConfiguration Field Mandatory Class Since Version AuditLevel true Long ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M15 DefaultScheduler true Boolean ( see the Administration Guide ) M26 Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M25 InterfaceVersion false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 MaximumNumberOfRFCCon. Reference LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SAPSystemTimeZone true TimeZone ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 StartOnStartup true Boolean ( see the Administration Guide ) M32 Status true ProcessServerStatus ( see the Administration Guide M32 ) UniqueId true Long ( see the Administration Guide ) Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LastSAPModificationTime false Date ( see the Administration Guide ) M23 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPChangeUser false String ( see the Administration Guide ) M23 SAPLastModificationTimeZone false TimeZone ( see the Administration Guide ) SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 SystemEvent true Boolean ( see the Administration Guide ) M23 UniqueId true Long ( see the Administration Guide ) M15 M15 SAPBatchEvent SAPCalendar Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M22 Ident true String ( see the Administration Guide ) M22 LLPVersion true Long ( see the Administration Guide ) M15 Month1 true String ( see the Administration Guide ) M22 Month10 true String ( see the Administration Guide ) M22 Month11 true String ( see the Administration Guide ) M22 Month12 true String ( see the Administration Guide ) M22 Month2 true String ( see the Administration Guide ) M22 1101 . Reference Month3 true String ( see the Administration Guide ) M22 Month4 true String ( see the Administration Guide ) M22 Month5 true String ( see the Administration Guide ) M22 Month6 true String ( see the Administration Guide ) M22 Month7 true String ( see the Administration Guide ) M22 Month8 true String ( see the Administration Guide ) M22 Month9 true String ( see the Administration Guide ) M22 SAPSystem true SAPSystem ( see the Administration Guide ) Type true String ( see the Administration Guide ) M22 UniqueId true Long ( see the Administration Guide ) M15 Year true Long ( see the Administration Guide ) M22 SAPExternalCommand Field Mandatory Class Since Version AdditionalParameters false String ( see the Administration Guide ) M22 Behavior true Long ( see the Administration Guide ) M15 CheckAll false String ( see the Administration Guide ) M22 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 IsSapCommand false String ( see the Administration Guide ) M22 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 OsType true String ( see the Administration Guide ) M22 Parameters false String ( see the Administration Guide ) M22 Program true String ( see the Administration Guide ) M22 SAPLanguage true String ( see the Administration Guide ) M22 SapPermition false String ( see the Administration Guide ) M22 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 TraceOn false String ( see the Administration Guide ) M22 UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M22 SAPInfoPackage 1102 . Reference SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPInfoPackageGroup Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPInfoPackageGroupStep Field Mandatory Class Since Version Active true Boolean ( see the Administration Guide ) M23 Behavior true Long ( see the Administration Guide ) M15 CheckBefore true Boolean ( see the Administration Guide ) M23 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Lnr false String ( see the Administration Guide ) M23 Name true String ( see the Administration Guide ) M15 Num true Long ( see the Administration Guide ) M23 ObjVersion false String ( see the Administration Guide ) M23 SAPInfoPackageGroup true SAPInfoPackageGroup ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Wait true Long ( see the Administration Guide ) M23 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M26 Enabled true Boolean ( see the Administration Guide ) M26 InterfaceVersion false String ( see the Administration Guide ) M27 LLPVersion true Long ( see the Administration Guide ) M15 SAPJ2EEClient 1103 . Reference Password true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) Type true SAPJ2EEClientType ( see the Administration Guide ) M26 UniqueId true Long ( see the Administration Guide ) M15 Username true String ( see the Administration Guide ) M15 SAPLanguage Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M31 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPLogError Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ClientNumberMask true String ( see the Administration Guide ) M22 CreateJobNote true Boolean ( see the Administration Guide ) M27 Description false String ( see the Administration Guide ) M22 JobnameMask true String ( see the Administration Guide ) M22 LLPVersion true Long ( see the Administration Guide ) M15 MessageID true String ( see the Administration Guide ) M22 MessageNumber true String ( see the Administration Guide ) M22 MessageText false String ( see the Administration Guide ) M27 MessageType true String ( see the Administration Guide ) M22 ProcessingOrder true Long ( see the Administration Guide ) M22 ReturnCode true Long ( see the Administration Guide ) M22 SAPSystem true SAPSystem ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 UsernameMask true String ( see the Administration Guide ) M22 SAPMassActivity Field Mandatory Class Since Version AddOnsStructure false String ( see the Administration Guide ) M25 1104 . Reference BasicsStructure false String ( see the Administration Guide ) M25 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 JType false String ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M25 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 Transaction false String ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 SAPMassActivityFieldParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPMassActivityLayoutField true SAPMassActivityLayoutField ( see the Administration Guide ) SAPMassActivityParameter.true Set SAPMassActivityParameterSet ( see the Administration Guide ) ScriptingAllowed true Boolean ( see the Administration Guide ) M25 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value false String ( see the Administration Guide ) M25 SAPMassActivityFieldTable Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentSAPMassActivityFieldTableRow false SAPMassActivityFieldTableRow ( see the Administration Guide ) SAPMassActivityLayoutField true SAPMassActivityLayoutField ( see the Administration Guide ) 1105 . true bleRow SAPMassActivityFieldTableRow ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Value false String ( see the Administration Guide ) M25 SAPMassActivityLayoutField Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M26 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LayoutField false String ( see the Administration Guide ) M25 LayoutTab false String ( see the Administration Guide ) M25 LayoutTabNr false Long ( see the Administration Guide ) M25 1106 .Reference SAPMassActivityParameter false SAPMassActivityParameter ( see the Administration Guide ) SAPMassActivityParameterSet true SAPMassActivityParameterSet ( see the Administration Guide ) ScriptingAllowed true Boolean ( see the Administration Guide ) M25 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPMassActivityFieldTableRow Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M26 LLPVersion true Long ( see the Administration Guide ) M15 RowNumber true Long ( see the Administration Guide ) M26 SAPMassActivityFieldTable true SAPMassActivityFieldTable ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 SAPMassActivityFieldTableRowValue Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPMassActivityFieldTa. Reference LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Position true Long ( see the Administration Guide ) M25 SAPMassActivity true SAPMassActivity ( see the Administration Guide ) SAPMassActivityParameter false SAPMassActivityParameter ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPMassActivityObject Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPMassActivity true SAPMassActivity ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPMassActivityParameter Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Datatype true String ( see the Administration Guide ) M25 Description false String ( see the Administration Guide ) M15 FieldName false String ( see the Administration Guide ) M25 Length true Long ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 Mandatory true Boolean ( see the Administration Guide ) M25 Name true String ( see the Administration Guide ) M15 ParentSAPMassActivity.false Parameter SAPMassActivityParameter ( see the Administration Guide ) Position true Long ( see the Administration Guide ) M25 Rollname false String ( see the Administration Guide ) M25 SAPMassActivityStructure true SAPMassActivityStructure ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 StructureName true String ( see the Administration Guide ) M25 1107 . M25 istration Guide ) UniqueId true Long ( see the Administration Guide ) M15 SAPMassActivityParameterSet Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M26 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPMassActivity true SAPMassActivity ( see the Administration Guide ) ScriptingAllowed true Boolean ( see the Administration Guide ) M25 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPMassActivityStructure Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPMassActivity true SAPMassActivity ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPNWCallbackParameterMapping Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CPSParameter true String ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 SAPNWCallbackVariantDe.true tail SAPNWCallbackVariantDetail ( see the Administration Guide ) Scope true SAPNWCallbackParameterScope ( see the Admin.Reference Type true SAPMassActivityParameterType ( see the Admin.M25 istration Guide ) UniqueId true Long ( see the Administration Guide ) M15 URLParameter true String ( see the Administration Guide ) M25 1108 . Reference SAPNWCallbackVariant Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPBAEConnector true SAPBAEConnector ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPNWCallbackVariantDetail Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CallbackGroup false String ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M25 SAPNWCallbackVariant true SAPNWCallbackVariant ( see the Administration Guide ) Scope true SAPNWCallbackScope ( see the Administration M25 Guide ) Text true String ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 URL true String ( see the Administration Guide ) M25 Field Mandatory Class Since Version AccessMethod false String ( see the Administration Guide ) M23 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 DeviceType false String ( see the Administration Guide ) M23 HostPrinter false String ( see the Administration Guide ) M23 LLPVersion true Long ( see the Administration Guide ) M15 Locked true Boolean ( see the Administration Guide ) M23 Name true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 StatusMessage false String ( see the Administration Guide ) M23 SAPOutputDevice 1109 . Reference UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPOutputDevice true SAPOutputDevice ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SAPOutputFormat SAPPIChannel Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ChannelId true String ( see the Administration Guide ) M27 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Party false String ( see the Administration Guide ) M27 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 Service true String ( see the Administration Guide ) M27 UniqueId true Long ( see the Administration Guide ) M15 SAPProcessChain Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M22 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1110 . Reference SAPProcessDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Deprecated1 false String ( see the Administration Guide ) M23 Deprecated2 true Long ( see the Administration Guide ) M23 EventEnd false String ( see the Administration Guide ) M23 EventEndParameter false String ( see the Administration Guide ) M23 EventGreen false String ( see the Administration Guide ) M23 EventGreenParameter false String ( see the Administration Guide ) M23 EventRed false String ( see the Administration Guide ) M23 EventRedParameter false String ( see the Administration Guide ) M23 EventStart false String ( see the Administration Guide ) M23 EventStartParameter false String ( see the Administration Guide ) M23 GreenEqualsRed true Boolean ( see the Administration Guide ) M23 LLPVersion true Long ( see the Administration Guide ) M15 MaxNumberOfRestarts true Long ( see the Administration Guide ) M23 OnErrorProcessType false String ( see the Administration Guide ) M23 OnErrorProcessVariant false String ( see the Administration Guide ) M23 ProcessType false String ( see the Administration Guide ) M23 ProcessTypeDescription false String ( see the Administration Guide ) M23 ProcessVariant false String ( see the Administration Guide ) M23 ProcessVariantDescription false String ( see the Administration Guide ) M23 RestartDelay true Long ( see the Administration Guide ) M24 RestartDelayUnits true TimeUnit ( see the Administration Guide ) M24 RestartUnchecked true Boolean ( see the Administration Guide ) M24 SAPProcessChain true SAPProcessChain ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 SAPProcessRestart Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Job true Job ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 NumberOfRestarts true Long ( see the Administration Guide ) M24 SAPProcessDefinition true SAPProcessDefinition ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) 1111 M15 . Reference SAPRecipient Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M26 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 Owner false String ( see the Administration Guide ) M26 SAPSystem true SAPSystem ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) Type true SAPRecipientType ( see the Administration Guide M26 ) UniqueId true Long ( see the Administration Guide ) M15 M15 SAPScript Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 SAPScriptAttribute Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SAPScript true SAPScript ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Value true String ( see the Administration Guide ) M15 SAPSystem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 1112 . false Connections Long ( see the Administration Guide ) M15 Password true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Username true String ( see the Administration Guide ) M15 Mandatory Class Since Version SAPXBP Field 1113 .Reference ConnectString true String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultJobTimeZone true TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 Isolated true Boolean ( see the Administration Guide ) M26 J2EEConnectString false String ( see the Administration Guide ) M26 JobHandlingEnabled true JobHandlingType ( see the Administration Guide M15 ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LoadBalancingEnabled true Boolean ( see the Administration Guide ) M26 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) ProcessServer true ProcessServer ( see the Administration Guide ) Queue true Queue ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 SAPXAL Field Mandatory Class Since Version AuditLevel true Long ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M25 InterfaceVersion false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 MaximumNumberOfRFC. false Connections Long ( see the Administration Guide ) M15 Password true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Username true String ( see the Administration Guide ) M15 SAPXBPEventRule Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M26 EventDefinition true EventDefinition ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 SAPEventId true String ( see the Administration Guide ) M15 SAPEventParameter true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Since Version SAPXBPJobControlRule Field Mandatory Class Action true InterceptAction ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 ClientNumberMask true String ( see the Administration Guide ) M15 DefaultQueue false Queue ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M26 IgnoreApplReturnCode true Boolean ( see the Administration Guide ) M30 JobClass true String ( see the Administration Guide ) M26 JobnameMask true String ( see the Administration Guide ) M15 1114 .Reference AuditLevel true Long ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M15 DefaultClient true Boolean ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M25 InterfaceVersion false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 MaximumNumberOfRFC. Reference JobnameMaskCaseSensitive true Boolean ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Priority false Long ( see the Administration Guide ) M15 ProcessingOrder true Long ( see the Administration Guide ) M15 RetrieveApplLog true Boolean ( see the Administration Guide ) M30 RetrieveJoblog true Boolean ( see the Administration Guide ) M23 RetrieveSpool true Boolean ( see the Administration Guide ) M23 SAPSystem true SAPSystem ( see the Administration Guide ) SelectActive true Boolean ( see the Administration Guide ) M26 SelectCanceled true Boolean ( see the Administration Guide ) M26 SelectFinished true Boolean ( see the Administration Guide ) M26 SelectReady true Boolean ( see the Administration Guide ) M26 SelectReleased true Boolean ( see the Administration Guide ) M26 SelectScheduled true Boolean ( see the Administration Guide ) M26 UniqueId true Long ( see the Administration Guide ) M15 UsernameMask true String ( see the Administration Guide ) M15 Field Mandatory Class Since Version AuditLevel true Long ( see the Administration Guide ) M15 Behavior true Long ( see the Administration Guide ) M15 ClientNumber true String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M25 InterfaceVersion false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 MaximumNumberOfRFC.false Connections Long ( see the Administration Guide ) M15 MonitorRoot false String ( see the Administration Guide ) M15 Password true String ( see the Administration Guide ) M15 SAPLanguage true String ( see the Administration Guide ) M15 SAPSystem true SAPSystem ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Username true String ( see the Administration Guide ) M15 SAPXMW Script Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) 1115 . Reference JobDefinition true JobDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 RemoteRunAsUser false String ( see the Administration Guide ) M31_1 RunAsUser false String ( see the Administration Guide ) M17 UniqueId true Long ( see the Administration Guide ) M15 M15 ScriptJARCache Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Script true Script ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 ScriptJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 ScriptJARCache true ScriptJARCache ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Scriptlet Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Key true String ( see the Administration Guide ) M33 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 ScriptletJARCache Field Mandatory Class Since Version 1116 . Reference Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Scriptlet true Scriptlet ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 ScriptletJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 ScriptletJARCache true ScriptletJARCache ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 ScriptletSourceLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Scriptlet true Scriptlet ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Script true Script ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) ScriptSourceLine M15 Service Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) 1117 . Reference Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 ServiceImplementation true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SoftwareGroup Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SoftwareItem Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 Size true Long ( see the Administration Guide ) M25 SoftwareGroup true SoftwareGroup ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 SoftwareItemContentLine Field Mandatory Class Since Version 1118 . Reference Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 SoftwareItem true SoftwareItem ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 StatisticCategory Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 Subject Field Mandatory Class Since Version Active true Boolean ( see the Administration Guide ) M22 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Deprecated true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 Email false String ( see the Administration Guide ) M33 Grantable true Boolean ( see the Administration Guide ) M15 GrantToable true Boolean ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MaxAttachmentSize false Long ( see the Administration Guide ) M33 Name true String ( see the Administration Guide ) M15 1119 . Reference NotificationType true NotificationType ( see the Administration Guide M33 ) RemoteName false String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 SuperReader true Boolean ( see the Administration Guide ) M26 Type true SubjectType ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 SubjectGlobalPrivilegeGrant Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Exportable true Boolean ( see the Administration Guide ) M25 Grantable true Boolean ( see the Administration Guide ) M25 GrantedGlobalPrivilege true GlobalPrivilege ( see the Administration Guide ) GranteeSubject true Subject ( see the Administration Guide ) GrantorSubject false Subject ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 SubjectIsolationGroup Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 IsolationGroup true IsolationGroup ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) Subject true Subject ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 SubjectObjectPrivilegeGrant Field Mandatory Class Since Version AutomaticGrant false Long ( see the Administration Guide ) M25 Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Deprecated1 true Boolean ( see the Administration Guide ) M15 Deprecated2 true Long ( see the Administration Guide ) M15 Exportable true Boolean ( see the Administration Guide ) M25 1120 . Reference GranteeSubject true Subject ( see the Administration Guide ) GrantorSubject false Subject ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) ObjectDefinition true ObjectDefinition ( see the Administration Guide ) ObjectUniqueId true Long ( see the Administration Guide ) M15 PrivilegeDeleteGrantable true Boolean ( see the Administration Guide ) M25 PrivilegeDeleteGranted true Boolean ( see the Administration Guide ) M25 PrivilegeEditGrantable true Boolean ( see the Administration Guide ) M25 PrivilegeEditGranted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra1Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra1Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra2Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra2Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra3Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra3Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra4Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra4Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra5Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra5Granted true Boolean ( see the Administration Guide ) M25 PrivilegeViewGrantable true Boolean ( see the Administration Guide ) M25 PrivilegeViewGranted true Boolean ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 M15 M15 SubjectObjectTypePrivilegeGrant Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Deprecated1 true Boolean ( see the Administration Guide ) M15 Deprecated2 true Long ( see the Administration Guide ) M15 Exportable true Boolean ( see the Administration Guide ) M25 GranteeSubject true Subject ( see the Administration Guide ) GrantorSubject false Subject ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) Level true GrantLevel ( see the Administration Guide ) M25 LLPVersion true Long ( see the Administration Guide ) M15 1121 M15 . Reference ObjectDefinition true ObjectDefinition ( see the Administration Guide ) PartitionOrIsolationGroupUniqueId true Long ( see the Administration Guide ) M25 PrivilegeCreateGrantable true Boolean ( see the Administration Guide ) M25 PrivilegeCreateGranted true Boolean ( see the Administration Guide ) M25 PrivilegeDeleteGrantable true Boolean ( see the Administration Guide ) M25 PrivilegeDeleteGranted true Boolean ( see the Administration Guide ) M25 PrivilegeEditGrantable true Boolean ( see the Administration Guide ) M25 PrivilegeEditGranted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra1Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra1Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra2Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra2Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra3Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra3Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra4Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra4Granted true Boolean ( see the Administration Guide ) M25 PrivilegeExtra5Grantable true Boolean ( see the Administration Guide ) M25 PrivilegeExtra5Granted true Boolean ( see the Administration Guide ) M25 PrivilegeViewGrantable true Boolean ( see the Administration Guide ) M25 PrivilegeViewGranted true Boolean ( see the Administration Guide ) M25 UniqueId true Long ( see the Administration Guide ) M15 SubjectRoleGrant Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Exportable true Boolean ( see the Administration Guide ) M25 Grantable true Boolean ( see the Administration Guide ) M15 GrantedSubject true Subject ( see the Administration Guide ) GranteeSubject true Subject ( see the Administration Guide ) GrantorSubject false Subject ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 1122 M15 . Reference SubjectRoleGrantExpanded Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) GrantedSubject true Subject ( see the Administration Guide ) GranteeSubject true Subject ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 M15 SubmitFrame Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 EndDate false Date ( see the Administration Guide ) M30 EndDateTimeZone false TimeZone ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 SubmitTime true Boolean ( see the Administration Guide ) M30 UniqueId true Long ( see the Administration Guide ) M15 M15 SubmitFrameElement Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M22 DuringTimeWindow false TimeWindow ( see the Administration Guide ) EveryNumberOf false Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 MustFitTimeWindow true Boolean ( see the Administration Guide ) M15 1123 . Reference PreM29NoLongerUsedEveryNumberOf true Long ( see the Administration Guide ) M29 PreM29NoLongerUsedUnit true TimeUnit ( see the Administration Guide ) M29 PreserveTimes true Boolean ( see the Administration Guide ) M43 StartTime false Long ( see the Administration Guide ) M25 StartTimeZone false TimeZone ( see the Administration Guide ) SubmitFrame true SubmitFrame ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Unit false TimeUnit ( see the Administration Guide ) M15 Table Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) ImportMode true TableImportMode ( see the Administration Guide M24 ) InMemory true Boolean ( see the Administration Guide ) M46 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) TableDefinition true TableDefinition ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 M15 TableDefinition 1124 M15 . Reference Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 TableDefinitionColumn Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ColumnName true String ( see the Administration Guide ) M24 DataType true ParameterType ( see the Administration Guide ) M24 DisplayOrder true Long ( see the Administration Guide ) M24 LLPVersion true Long ( see the Administration Guide ) M15 Nullable true Boolean ( see the Administration Guide ) M24 SearchColumnName true String ( see the Administration Guide ) M24 TableDefinition true TableDefinition ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 ColumnName true String ( see the Administration Guide ) M24 ColumnValue false String ( see the Administration Guide ) M35_1 DeprecatedColumnValue true String ( see the Administration Guide ) M24 DisplayOrder true Long ( see the Administration Guide ) M35_1 Key true String ( see the Administration Guide ) M24 LLPVersion true Long ( see the Administration Guide ) M15 SearchColumnName true String ( see the Administration Guide ) M24 SearchKey true String ( see the Administration Guide ) M24 Table true Table ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) TableValue M15 TimeWindow Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) 1125 . Reference DayShiftCalendarTimeWindow false TimeWindow ( see the Administration Guide ) DayShiftOffset false Long ( see the Administration Guide ) M25 Description false String ( see the Administration Guide ) M15 DisabledDuringTimeWindow false TimeWindow ( see the Administration Guide ) EnabledDuringTimeWindow false TimeWindow ( see the Administration Guide ) EnabledOrShiftCalendarTimeWindow false TimeWindow ( see the Administration Guide ) IsCalendar true Boolean ( see the Administration Guide ) M25 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 SubmitTime true Boolean ( see the Administration Guide ) M30 TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 TimeWindowElement Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 DateFrom false Date ( see the Administration Guide ) M15 DateFromTimeZone false TimeZone ( see the Administration Guide ) DateTo false Date ( see the Administration Guide ) DateToTimeZone false TimeZone ( see the Administration Guide ) DayFrom false Long ( see the Administration Guide ) M15 DayShift false Long ( see the Administration Guide ) M25 DayTo false Long ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M22 DisabledDuringTimeWindow false TimeWindow ( see the Administration Guide ) EnabledDuringTimeWindow false TimeWindow ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 MonthFrom false Long ( see the Administration Guide ) M15 MonthTo false Long ( see the Administration Guide ) M15 OffsetTimeOfDay false Long ( see the Administration Guide ) M15 Parameters false String ( see the Administration Guide ) M15 PeriodFunction false PeriodFunction ( see the Administration Guide ) TimeOfDayFrom false Long ( see the Administration Guide ) 1126 M15 M15 . Reference TimeOfDayTo false Long ( see the Administration Guide ) M15 TimeWindow true TimeWindow ( see the Administration Guide ) TimeZone false TimeZone ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 WeekdayFrom false Long ( see the Administration Guide ) M15 WeekdayTo false Long ( see the Administration Guide ) M15 WeekFrom false Long ( see the Administration Guide ) M15 WeekTo false Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 OlsonName true String ( see the Administration Guide ) M15 SearchName true String ( see the Administration Guide ) M15 ShowInList true Boolean ( see the Administration Guide ) M29 UniqueId true Long ( see the Administration Guide ) M15 TimeZone Translation Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 InternalTranslation true String ( see the Administration Guide ) M15 Language true Language ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) TranslationKey true TranslationKey ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 M15 TranslationKey Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Key true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 1127 . Reference UniqueId true Long ( see the Administration Guide ) M15 Trigger Field Mandatory Class Since Version ActionSubject false Subject ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Description false String ( see the Administration Guide ) M15 Enabled true Boolean ( see the Administration Guide ) M26 ExecutionOrder true Long ( see the Administration Guide ) M26 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) Library true Library ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LogFileEnabled true Boolean ( see the Administration Guide ) M26 Name true String ( see the Administration Guide ) M15 ParentApplication false Application ( see the Administration Guide ) Partition true Partition ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 TriggerPoint true TriggerPoint ( see the Administration Guide ) M26 UniqueId true Long ( see the Administration Guide ) M15 TriggerJARCache Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Trigger true Trigger ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 TriggerJARCacheLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 TriggerJARCache true TriggerJARCache ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) 1128 M15 . Reference TriggerSource Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 FQClassName true String ( see the Administration Guide ) M26 LLPVersion true Long ( see the Administration Guide ) M15 Trigger true Trigger ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) M15 Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 TriggerSource true TriggerSource ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) TriggerSourceLine M15 TutorialsLink Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Description true String ( see the Administration Guide ) M26 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M26 Type true TutorialType ( see the Administration Guide ) M26 UniqueId true Long ( see the Administration Guide ) M15 URL true String ( see the Administration Guide ) M26 UserMessage Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) Job false Job ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 NumAdditionalLines true Long ( see the Administration Guide ) M33 Partition true Partition ( see the Administration Guide ) RepliedSubject false Subject ( see the Administration Guide ) 1129 M15 . Reference ReplyComment false String ( see the Administration Guide ) M33 ReplyTime false Date ( see the Administration Guide ) M33 Status true ProcessMonitorItemStatus ( see the Administration M33 Guide ) UniqueId true Long ( see the Administration Guide ) UserMessageDefinition false UserMessageDefinition ( see the Administration Guide ) UserMessageDefinitionResponse false UserMessageDefinitionResponse ( see the Administration Guide ) M15 UserMessageAttachment Field Mandatory Class Since Version AttachToNotification true Boolean ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Description true String ( see the Administration Guide ) M33 Link true String ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 UserMessage true UserMessage ( see the Administration Guide ) UserMessageDefinition Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) JobDefinition true JobDefinition ( see the Administration Guide ) LastModificationTime false Date ( see the Administration Guide ) LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 NotifyUsers true Boolean ( see the Administration Guide ) M33 NumAdditionalLines true Long ( see the Administration Guide ) M33 UniqueId true Long ( see the Administration Guide ) M15 M15 UserMessageDefinitionAttachment Field Mandatory Class Since Version AttachToNotification true Boolean ( see the Administration Guide ) M33 Behavior true Long ( see the Administration Guide ) M15 Description true String ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 Specification true String ( see the Administration Guide ) M33 1130 . Reference UniqueId true Long ( see the Administration Guide ) UserMessageDefinition true UserMessageDefinition ( see the Administration Guide ) M15 UserMessageDefinitionLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 UserMessageDefinition true UserMessageDefinition ( see the Administration Guide ) UserMessageDefinitionParticipant Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M33 Type true SubjectType ( see the Administration Guide ) M33 UniqueId true Long ( see the Administration Guide ) M15 UserMessageDefinition true UserMessageDefinition ( see the Administration Guide ) UserMessageDefinitionResponse Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 Description false String ( see the Administration Guide ) M15 GoToStep false String ( see the Administration Guide ) M33 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M15 ReturnCode true Long ( see the Administration Guide ) M33 SearchName true String ( see the Administration Guide ) M15 Status true JobStatus ( see the Administration Guide ) M33 UniqueId true Long ( see the Administration Guide ) M15 UserMessageDefinition true UserMessageDefinition ( see the Administration Guide ) 1131 . Reference UserMessageHistory Field Mandatory Class Since Version Action true UserMessageFlowAction ( see the Administration M33 Guide ) Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M33 CreationTime false Date ( see the Administration Guide ) M33 CreationTimeZone false TimeZone ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) ReceiverSubject true Subject ( see the Administration Guide ) SenderSubject false Subject ( see the Administration Guide ) UniqueId true Long ( see the Administration Guide ) UserMessage true UserMessage ( see the Administration Guide ) M15 M15 UserMessageLine Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LineNumber true Long ( see the Administration Guide ) M15 LineText true String ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 UserMessage true UserMessage ( see the Administration Guide ) UserMessageParticipant Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LLPVersion true Long ( see the Administration Guide ) M15 Name true String ( see the Administration Guide ) M33_2 Type true SubjectType ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 UserMessage true UserMessage ( see the Administration Guide ) VisualizationAlert Field Mandatory Class Since Version Animated true Boolean ( see the Administration Guide ) M33_2 AnimationTime true Long ( see the Administration Guide ) M33_2 Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 CreationTime true Date ( see the Administration Guide ) M15 1132 . Reference CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultFontSize true Long ( see the Administration Guide ) M33_2 Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LogCategories true String ( see the Administration Guide ) M33_2 Name true String ( see the Administration Guide ) M15 OwnerSubject true Subject ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 VisualizationAlertSource Field Mandatory Class Since Version AlertSource AdHocAlertSource true AdHocAlertSource ( see the Administration Guide ) JobDefinitionAlertSource JobDefinitionAlertSource ( see the Administration Guide ) MonitorAlertSource MonitorAlertSource ( see the Administration Guide ) ProcessServerAlertSource ProcessServerAlertSource ( see the Administration Guide ) QueueAlertSource QueueAlertSource ( see the Administration Guide ) Behavior true Long ( see the Administration M15 Guide ) LLPVersion true Long ( see the Administration M15 Guide ) UniqueId true Long ( see the Administration M15 Guide ) Visible true Boolean ( see the Administra.M33_2 tion Guide ) VisualizationAlert true VisualizationAlert ( see the Administration Guide ) VisualizationProcessServerQueue Field Mandatory Class Since Version Animated true Boolean ( see the Administration Guide ) M33_2 AnimationTime true Long ( see the Administration Guide ) M33_2 BackgroundDocument false Document ( see the Administration Guide ) Behavior true Long ( see the Administration Guide ) M15 Comment false String ( see the Administration Guide ) M15 1133 . Reference CreationTime true Date ( see the Administration Guide ) M15 CreationTimeZone false TimeZone ( see the Administration Guide ) DefaultFontSize true Long ( see the Administration Guide ) M33_2 Description false String ( see the Administration Guide ) M15 LastModificationTime false Date ( see the Administration Guide ) M15 LastModifierSubject false Subject ( see the Administration Guide ) LLPVersion true Long ( see the Administration Guide ) M15 LogCategories true String ( see the Administration Guide ) M33_2 Name true String ( see the Administration Guide ) M15 OwnerSubject true Subject ( see the Administration Guide ) SearchName true String ( see the Administration Guide ) M15 UniqueId true Long ( see the Administration Guide ) M15 VisualizationPSQProcessServer Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LeftPosition false BigDecimal ( see the Administration Guide ) M33_2 LLPVersion true Long ( see the Administration Guide ) M15 MaxLoad true BigDecimal ( see the Administration Guide ) M33_2 ProcessServer true ProcessServer ( see the Administration Guide ) TopPosition false BigDecimal ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 Visible true Boolean ( see the Administration Guide ) M33_2 VisualizationProcessServer.true Queue VisualizationProcessServerQueue ( see the Administration Guide ) VisualizationPSQQueue Field Mandatory Class Since Version Behavior true Long ( see the Administration Guide ) M15 LeftPosition false BigDecimal ( see the Administration Guide ) M33_2 LLPVersion true Long ( see the Administration Guide ) M15 Queue true Queue ( see the Administration Guide ) TopPosition false BigDecimal ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 Visible true Boolean ( see the Administration Guide ) M33_2 VisualizationProcessServer.true Queue VisualizationProcessServerQueue ( see the Administration Guide ) VisualizationPSQText Field Mandatory Class Since Version 1134 . Reference Behavior true Long ( see the Administration Guide ) M15 FontSize true VisualizationFontSize ( see the Administration Guide ) M33_2 LeftPosition false BigDecimal ( see the Administration Guide ) M33_2 LLPVersion true Long ( see the Administration Guide ) M15 Text true String ( see the Administration Guide ) M33_2 TopPosition false BigDecimal ( see the Administration Guide ) M33_2 UniqueId true Long ( see the Administration Guide ) M15 Visible true Boolean ( see the Administration Guide ) M33_2 VisualizationProcessServerQueue true VisualizationProcessServerQueue ( see the Administration Guide ) Width false BigDecimal ( see the Administration Guide ) M33_2 Enumerations ActionWorkStatus Value Code NotStarted N Started S ActionWorkType Value Code OnChangeAction s PreRunningAction S PostRunningAction C JobDefinitionAlertAction J EscalationAction E ProcessServerAlertAction P RuntimeExpirationAction R QueueAlertAction Q ResendAlertAction r AlertEscalationPostAction e AlertSourcePostAction a OperatorMessageAction o MonitorAlertAction M RescheduleJobGroupAction G RestartJobAction j UserMessageNotificationAction n VisualizationUpdateAction V EventComponentCheckAction T 1135 . Reference TimeWindowChangeAction W AlertEscalationActionType Value Code PostAlert p AlertSourceActionType Value Code PostAlert p AlertStatus Value Code NotAcknowledged N Acknowledged A Escalated E Resent R ApplicationMatch Value Code AllApplications A ExactApplication E NoApplication N AnyApplication a SubApplications s AuditLevel Value Code DiffOnly 1 FullAudit 2 AuditNameMatchType Value Code RegExCaseSensitive R RegExCaseInsensitive r GlobCaseSensitive G GlobCaseInsensitive g ExactCaseSensitive E ExactCaseInsensitive e 1136 . Reference CalculatedRuntimeLimitType Value Code Percent P StdDevs S CompletionStrategyType Value Code Default - External R DashboardDialType Value Code Graph G HistoryTacho H Tacho T JobStatusPieChart J EditableType Value Code Always A OnlyIfNull 0 Never N EmailAlertGatewayActionType Value Code PreSend P ERTPlusOrMinusType Value Code Plus P Minus M EventStatus Value Code Pending p PendingRaised P Raised R Cleared C 1137 . Reference FinalStatusAction Value Code ContinueSubmitFrame C StopSubmitFrame S RequestRestart M Restart R RestartNoResubmit N RestartFromError E GrantLevel Value Code Partition P IsolationGroup I System S HandlerAction Value Code GotoStep G RaiseError E MarkCompleted C RequestRestart Q RestartStep r RestartStepMaster m RestartStepDelayed D RestartStepDelayedMaster d RestartFailedJobs F RestartFailedJobsMaster f RestartChain R RestartChainMaster M Continue I IgnoreJobChainDefault N InterceptAction Value Code Monitor M Hold I Ignore R Schedule S StartImmediately T 1138 . Reference ScheduleIntercepted C JobDefinitionActionType Value Code OnChange s PreRunning S PostRunning C JobDefinitionAlertSourceParameterMatchType Value Code ExactInsensitive e ExactSensitive E GlobInsensitive g GlobSensitive G RegexInsensitive r RegexSensitive R JobDefinitionAlertSourceRuleOperation Value Code EqualTo E NotEqualTo e MatchesRegex M NotMatchesRegex m InRange R NotInRange r JobDefinitionAlertSourceRuleVariable Value Code Queue Q ProcessServer P RemoteStatus S RemoteSystem Y RemoteId I Priority p ReturnCode R RemoteEvent E JobDefinitionKeepType Value Code 1139 . Reference System S User U Key K JobDefinitionKeepUnit Value Code Seconds S Minutes M Days D Months O Jobs J JobFileType Value Code Input I Output O Log L JobGroupCalculationStatus Value Code None N RecalculateNoReschedule R RecalculateQueue Q RecalculateSubmitFrame S RecalculateTimeWindow T RecalculatePresubmittedJobDeleted P PropagateFieldChange G JobGroupStatus Value Code Active A Held H FinishedJobCount C FinishedEndDate D FinishedManually M FinishedSubmitFrame S Finished F 1140 . Reference JobGroupUpdateActionType Value Code NoAction N Default D Resubmit R Edit E First F TimeWindowChange T JobHandlingType Value Code Disabled D Intercepted I All A JobStatus Value Code New - Chained P Skipped T Disabled J Ignored j Delayed D Never N Overdue F QueueHeld B Scheduled S ConsoleRestart o Held H EventWait V LockWait I Queued Q Dispatched q Modified M OnChange 4 PreRunning 6 PostRunning 8 Running R Assigned a 1141 . Reference Console O Waiting W Killing G Canceling c Unknown U Uncertain u Completed C Error E Killed K Canceled A JobStatusForJobGroup Value Code Default D Delayed L Edited E EditedPersist P Restarted R KillSignalType Value Code Default - LDAPServerType Value Code ActiveDirectory A Tivoli T OpenLDAP S eDirectory N OracleInternetDirectory O Misc M MaxMinType Value Code Maximum X Minimum N ModelChangeAction Value Code 1142 . Reference Created C Modified M Deleted D Special S ModelTypes Value Code Bool B Char C Date D Enum E Integer I Number N Object O String S IntEnum i NameMatchType Value Code RegExCaseSensitive R RegExCaseInsensitive r GlobCaseSensitive G GlobCaseInsensitive g ExactCaseSensitive E ExactCaseInsensitive e NavigationBarItemType Value Code Group g Overview o Shortcut c Application a Settings s TreeGroup t Action i NotificationType Value Code None 0 1143 . Reference All 2147483647 OraAppsSubmitUserType Value Code Current C Fixed F LOV L ParameterDirection Value Code In I Out O InOut B ParameterType Value Code Character C Number N DateTimeZone D DateTime A Date E Time T String S File F ProcessMonitorItemStatus Value Code NotStarted S InProgress P ManualTask M Completed C Error E ProcessMonitorItemType Value Code Task T ProcessMonitor P 1144 . Reference ProcessMonitorLogType Value Code Started S Updated U Completed C Error E Waiting W Delegated D Forwarded F Responded R ProcessServerCheckStyle Value Code Process P Socket S Logfile L Service V Eventlog E ProcessServerParameterType Value Code Current C Desired D LastWorking L ProcessServerStatus Value Code Created - Starting I Running R Shutdown S ShutdownAbort X ShutdownImmediate Y ShutdownNormal Z Unknown U Connecting C Updating G PartiallyRunning P Overloaded O 1145 . Reference QueryConditionType Value Code CustomSQL C DateCompare D IntegerCompare I Null N ObjectCompare O StringCompare S IntelliSearchCompare M QueryConditionValueCombiner Value Code And t Or f QueryConditionValueInclude Value Code Include I Exclude E QueueStatus Value Code ClosedHeld C UnknownRecalculatingTimeWindow U ClosedQueueProvidersHeld H ClosedProcessServersShutdown S ClosedTimeWindow T ClosedSchedulersHeldOrNotRunning R ClosedNoProcessServers P Open O ReplyStatus Value Code NotRequired N Required Q Replied R AutomaticallyReplied A 1146 . Reference ReportColumnFormat Value Code Raw R Formatted F BusinessKey B Permalink P PermalinkBusinessKey L ReportSelectionOperation Value Code EqualTo E NotEqualTo e MatchesRegex M NotMatchesRegex m InRange R NotInRange r GreaterThan G LessThan L GreaterThanOrEqualTo g LessThanOrEqualTo l RuntimeLimitType Value Code Fixed F Offset O Calculated C SAPAbapProgramParameterKind Value Code Parameter P SelectOption S SAPAbapProgramParameterOption Value Code EQ a NE b LT c LE d 1147 . Reference GT e GE f CP g NP h BT i NB j SAPAbapProgramParameterSign Value Code Include I Exclude E SAPAbapProgramParameterType Value Code String S Date D Time T Number N RadioButton R SAPJ2EEClientType Value Code JXBP J PI P BOBJ B SAPMassActivityParameterType Value Code Numc C Date D String F Sign I Object J Time M Number N Option O Structure S Table T Variant V 1148 . Reference SAPNWCallbackParameterScope Value Code JobDefinition D JobRunTime I SAPBAEConnector S XBP X Logon L SAPNWCallbackScope Value Code Job J SAPBAEConnector S SAPRecipientType Value Code Name _ PrivateList P SharedList C OfficeUser O User B InternetUser U X400Address X RemoteUser R ExternalAddress A FaxNumber F X500Address D TelexNumber L OrganizationalUnit H SAPObject J OrganizationObject G SchedulingParameterName Value Code HoldOnSubmit H Priority P Queue Q TimeWindow W StartTime S 1149 . Reference SimpleConstraintType Value Code None N List L PairList P Expression E Table T QueryFilter Q StartTimeType Value Code Inherited I UserSet U SubjectType Value Code User U Role R SynchronizeAction Value Code Monitor M Hold I Ignore R TableImportMode Value Code ImportRows R ImportTable T TimeUnit Value Code Seconds S Minutes M Hours H Days D Months O Years Y 1150 . Reference TimeWindowStatus Value Code None X IsOpen Y IsClosed N TriggerPoint Value Code BeforeDefinitionChange D BeforeJobOnChange O BeforeJobOnChangeMaintenance M BeforeJobPreRunning R BeforeJobPostRunning A OnJobFileContentAccess F TutorialType Value Code UNKNOWN # SCRIPT 0 EVENTDEFINITION 1 JOBCHAIN 2 JOB 3 SAPSYSTEM 4 ALERTESCALATION 5 APPLICATION 6 FORMAT 7 JOBDEFINITIONTYPE 8 JOBLOCK 9 PROCESSSERVER A QUEUE B RESOURCE C SERVICE D SUBMITFRAME E TIMEWINDOW F QUERYFILTER G DASHBOARD H PERIODFUNCTION I REPORT J TIMEZONE K 1151 . Reference USER L ROLE M PARTITION N CREDENTIAL O TABLEDEFINITION P TABLE Q LIBRARY R TRIGGER S SHELL T JOBDEFINITIONALERTSOURCE U PROCESSSERVERALERTSOURCE V ADHOCALERTSOURCE W EMAILALERTGATEWAY X AUDITTRAIL Y AUDITRULE Z IMPORT a EXPORTS b IMPORTRULESET c EXPORTRULESET d REGISTRYENTRY e SOFTWAREGROUP f LICENSEKEY g CREDENTIALPROTOCOL h UserMessageFlowAction Value Code Created C Delegated D Forwarded F Respond R Completed c ValueEditable Value Code Never N OnlyWhenNull O Always A 1152 . • NULLs are never stored. consult the API reference to see if this is the case for a given field. They are mandatory. Integer Values Integer values are always stored as whole numbers. consult the API reference to determine which relation refers to the time-zone for a given date field. Date Values Date values are stored as whole numbers. where the number represents the number of milliseconds since the start of 1972 (UTC). such columns should never be null. String Values String values are stored as such. The model may impose minimum/maximum constraints. a special "IS STRINGNULL" SQL operator is defined. 1153 . A time-zone is always associated with a date-field. It should be used instead of "IS NULL" against string columns in SQL queries. For convenience. with the following caveats: • Trailing whitespace is not allowed. The model may impose minimum/maximum constraints. instead a single space (' ') is used. consult the API reference to see if this is the case for a given field. and 'f' for false. Number Values Number values are always stored as floats is in the database.Reference VisualizationFontSize Value Code ExtraSmall S Small s Default d Large l ExtraLarge L WaitEventSubmitType Value Code Never N Always A OnlyOne O Miscellaneous Boolean Values Boolean attributes are represented in the database as 't' for true. 1154 . JCS-102001 An application does not belong to the same partition as its parent. JCS-102011 An error occurred trying to create a branched-copy for an object. JCS-102010 Style attributes may not specify the a background image. JCS-101003 Unable to match an address with a pattern. JCS-102022 Submit frames cannot be changed for maintenance jobs. JCS-102006 The behavior of the object prevents the action from being performed. JCS-102005 The action is now allowed for objects with maintenance behavior. JCS-102015 The isolation-group of a partition was changed. JCS-102012 The path for a business key is unavailable. JCS-102002 When a Job is to be automatically submitted by a JobDefinitionWaitEvent it must have a default Queue. JCS-102023 Cannot modify a built-in role. JCS-102008 The action is now allowed for objects with system behavior. JCS-102007 The action is now allowed for objects with ordinary behavior. JCS-102019 The in-value of a parameter was changed on a job that has already started. JCS-102018 The Custom Library cannot be renamed. JCS-102021 Cannot modify the scheduled start time of a Job once it has already started or if it has already completed. JCS-102013 Jobchain calls must refer to master job definitions if and only if they belong to a master job definition. JCS-102017 Only jobs that are steps or calls can be enabled.Reference JCS Errors JCS Errors 101XXX (alert) CODE Description JCS-101000 A loop was detected in a graph JCS-101001 An invalid schema was detected in an address. JCS-102009 The action is now allowed for objects with undefined behavior. JCS-102004 The action is now allowed for objects with creator behavior. JCS-102020 The out-value of a parameter was changed on a job that was already final. JCS Errors 102XXX (api-impl) CODE Description JCS-102000 An action has vetoed the transaction. JCS-102016 It is not possible to delete a process server unless it is stopped. JCS-102024 Only system objects can use system job locks. JCS-102014 Jobchain calls cannot refer to template job definitions. JCS-101002 No gateway was found for the specified address. or in an OnChange trigger or action. JCS-102003 The action is now allowed for objects with automatic behavior. . JCS-102049 Document parser cannot validate. JCS-102037 A job definition that is already used as jobchain call cannot be made a template. this is not allowed. JCS-102061 An URI was encountered that uses a scheme which is not allowed. JCS-102063 A security grant has been made by a subject that is not a user. JCS-102052 No RFC connect string given. JCS-102039 Calendar type time windows define whole days. JCS-102041 The database control connection could not be initialized. JCS-102051 An "early" timeout has occurred before an operation completed successfully. JCS-102058 An element or attribute was encountered that belongs to a forbidden namespace.Reference JCS-102025 Cannot prepare a non-current job definition. JCS-102027 The requested action cannot be executed on an object that has not been persisted. JCS-102060 A job-definition has a forbidden related object. JCS-102056 Too many SAP systems have been defined. 1155 . JCS-102055 Too many J2EE clients of a given type have been defined. JCS-102047 Error setting up Document parser. JCS-102050 Duplicate ABAP client number combination. JCS-102036 The Template property cannot be reverted. JCS-102031 System maintenance jobs cannot be restarted. JCS-102030 Job chain steps cannot be restarted. JCS-102062 An attempt has been made to set a field that must be null. JCS-102035 Restricted SAP jobs cannot be resubmitted. JCS-102042 Creator-grants can only be created at the same time as the object to which they apply. JCS-102028 Cannot submit a job prepared from a non-current job definition. JCS-102046 An invalid attribute descriptor encountered. so times cannot be set. JCS-102053 No J2EE connect string given. JCS-102033 Job chain steps cannot be resubmitted. JCS-102043 An object refers to another object that is in a different isolation group. JCS-102040 Cannot use the scheduler session when it is in the detached state. so time zones cannot be set. JCS-102048 Document parser is not aware of namespaces. JCS-102059 A forbidden processing instruction has been used. JCS-102045 The 'StartAtValue' attribute for a job is not allowed. JCS-102032 Restricted SAP jobs cannot be restarted. JCS-102044 Day shift attributes are only allowed for Calendar type time windows. JCS-102026 Cannot prepare a template job definition. JCS-102029 The job's parent was modified. JCS-102057 A forbidden external entity reference has been used. JCS-102038 Calendar type time windows define whole days. JCS-102034 System maintenance jobs cannot be resubmitted. JCS-102054 Too many XBP clients have been defined. Reference JCS-102064 A loop has been detected in a series of objects that must form a hierarchy without any loops. 1156 . JCS-102079 JobDefinitionKeepType is specified and JobDefinitionKeepUnits is not set to job. JCS-102068 Users are not allowed to set the RaiserObject or ClearerObject to something other than the current user or a job. JCS-102073 The time window status specified requires a time window and a time zone. JCS-102087 Translation key is invalid. JCS-102096 Transaction vetoed due to a licensing problem. JCS-102067 The branch timestamp must be set if (and only if) the object is not the master. JCS-102092 A job cannot be modified when it has reached a final state. JCS-102091 Job-files can only be associated with a service if the service supports job-files. JCS-102070 The expression cannot be compiled. JCS-102090 An object refers to another object that is not allowed due to isolation. JCS-102094 The job is not part of a recurrence group. JCS-102093 A job finished with an unexpected final status. JCS-102088 Base class for exceptions indicating that XHTML doesn't meet our restrictions. JCS-102076 The specified operation is illegal. JCS-102072 The device ID is not valid. JCS-102100 A malformed URI was encountered in an attribute where an URI was expected. JCS-102097 The logon subject was not a user. JCS-102085 The state transition that is trying to be done is not allowed for the current state JCS-102086 Base class for all exceptions relating to invalid status handlers. JCS-102074 The time window status specified requires no time window or time zone. JCS-102078 An operation was underway when the thread was interrupted. JCS-102065 Inconsistent object types for matches/overrides of an ImportRule. JCS-102084 Invalid return-code mapping expression. JCS-102080 The queue expression is invalid. JCS-102071 The hold on submit expression is invalid. JCS-102099 The value provided for the J2EE user name is malformed. JCS-102101 The process definition to be called on error is invalid. JCS-102089 A global object refers to another object that is isolated. JCS-102082 Root exception caused by an invalid master object reference. JCS-102081 The priority expression is invalid. JCS-102083 An invalid persistence phase was specified. JCS-102095 There is no SAP system for this process server. JCS-102075 The specified operation is illegal. JCS-102077 Transaction vetoed due to violated license conditions. JCS-102066 A status handler attached to a job chain has an action of IgnoreJobChainDefault. JCS-102069 An event can only be deleted when it is has been cleared. JCS-102098 The value provided for the client number was malformed. JCS-102136 Grant is for a type of object that has no defined privileges. 1157 . but the relationship was already filled. and the corresponding row could not be found in the database. JCS-102104 Master objects must have themself as master. JCS-102126 The reply to an OperatorMessage is not formatted correctly. All jobfile content is retrieved via this component. JCS-102121 Setting the field of an object would introduce an object cycle. JCS-102135 The parameters are not valid for the period function. JCS-102105 Minimum value must be smaller then maximum value. JCS-102103 A mandatory job parameter was not set. JCS-102110 Specified user is missing. JCS-102115 Non-master objects must refer to the current master. JCS-102125 Replies are not allowed for this OperatorMessage. JCS-102137 Privilege subjects cannot be associated with a specific isolation group. JCS-102124 The ReplyExpression attribute is not a valid regular expression. JCS-102123 The reply to an OperatorMessage was not allowed. JCS-102106 Jobfile component could not be located. JCS-102128 The job chain call has a parameter mapping that refers to a parameter that does not belong to the job definition referred to by the call. JCS-102117 An attempt was made to update an object. JCS-102114 A job can only be deleted when it is in a final state. JCS-102107 Specified isolation-group is missing. JCS-102120 An attempt was made to link a new object in a one to one relationship. JCS-102113 Referenced time window must be a Calendar since this time window is a Calendar. JCS-102122 Olson name of timezone does not match the name. JCS-102109 A reserved job-definition parameter is required but missing. JCS-102119 An attempt has been made to change a non-modifiable object. JCS-102129 Baseclass for parameter mapping exceptions JCS-102130 The target parameter of a JobChainCallOutReferenceParameter must be on the master job chain JCS-102131 Parameter types of the parameter mapping do not match JCS-102132 Parameter direction of the parameter mapping is incorrect JCS-102133 Order of mapped parameter calls is incorrect JCS-102134 An attempt is being made to change the partition of an object. JCS-102118 An attempt has been made to change a non-modifiable field. JCS-102127 The reply to an OperatorMessage can only be set once.Reference JCS-102102 A mandatory field is not set. JCS-102112 Monitored object is not defined by a business key. JCS-102116 No default ABAP client has been defined for the SAP system. JCS-102108 A related object for this type of job definition is missing. JCS-102111 License does not allow model modification. JCS-102145 Problem with a reserved job-definition parameter. or neither. JCS-102153 Base class for exceptions relating to the isolation of SAP systems. JCS-102148 A reserved job-definition parameter has the wrong type. JCS-102154 Isolation of an isolated SAP system would be violated. JCS-102155 SAP system should be isolated but is not. JCS-102151 The related ImportRuleDefinition must support matching. JCS-102160 An error was encountered while evaluating and/or applying a scheduling parameter. JCS-102157 The scheduling parameter evaluated to a queue that does not exist. JCS-102168 Grantor does not have rights to modify the specified privilege. This exception is thrown when a job file has one and not the other. JCS-102142 Operation cannot be performed as an associated object is not accessible. JCS-102158 The routing parameter evaluated to a process server that does not exist. JCS-102144 A relative URI was encountered. JCS-102173 The ProcessServerService that is being deleted is needed by the ProcessServer to handle a JobDefinitionType that is still defined for the ProcessServer. JCS-102172 Root class for runtime exceptions related to sequences. JCS-102167 Base-class for exceptions relating to security privilege grants. JCS-102159 The routing parameter evaluated to a process server that does not have any queues. JCS-102165 Base-class for exceptions relating to security grants. they must be deleted and recreated. JCS-102146 A parameter definition has a reserved name. these are not allowed. JCS-102164 Custom non-rank privileges require advanced-security. JCS-102171 Sequence could not be created and/or initialized for some reason. JCS-102169 Grantor cannot grant this privilege to the grantee as it is not grantable. JCS-102161 An error was encountered while evaluating a scheduling parameter. JCS-102143 Problem with related objects of the job definition. 1158 . JCS-102147 A parameter definition has a reserved name. JCS-102150 Grantor does not have the role with grantable rights. JCS-102170 The next value in the sequence could not be retrieved for some reason. JCS-102162 Internal error obtaining script engine for expression.Reference JCS-102138 Job files must have both a process server and a service. JCS-102163 An attempt was made to call setDirect on a sealed object. JCS-102141 The value of the registry entry must match the session user. JCS-102139 An exception related to recurrence actions on a job. JCS-102166 Grant created at a level that is not appropriate for the given level. JCS-102156 An attempt was made to change the scheduling settings on a job that has a recurrence pattern. JCS-102140 An attempt has been made to set both a Submit Frame and a Recurrence pattern on this Job. JCS-102149 Role-grants cannot be modified. JCS-102152 The related ImportRuleDefinition must support overriding. JCS-102188 The value provided for the given field is not contained in the list of values for this field. JCS-102183 More than one object shares the same sequence number. JCS-102192 A forbidden value field for this parameter type has been set. JCS-102198 Olson name is not known to system. JCS-102179 A security grant has been given to a subject that cannot receive grants. JCS-102201 Job actions are not licensed. JCS-102187 Transaction vetoed due to neither of two features being licensed. JCS-102189 The value provided for the given field is too large. JCS-102178 The string provided for the given field is too long. JCS-102194 Only chained jobs can be disabled. JCS-102182 Job must be assigned to a process-server. JCS-102175 Operation could not be performed because an object is no longer current. JCS-102185 Job cannot be resubmitted for some unknown reason. JCS-102195 Holding the job in its current status is forbidden. JCS-102212 Compilation failed. JCS-102184 Job cannot be restarted for some unknown reason. JCS-102199 Name of timezone matches another timezone's Olson name. JCS-102186 Transaction vetoed due to a feature not being licensed. JCS-102196 Job chain steps cannot be killed. JCS-102202 Invalid action source. JCS-102203 The behavior of the object prevents the action being performed.Reference JCS-102174 Process server services can only be added or deleted when the process server is not running. JCS-102200 Mandatory job parameter is missing a parameter mapping. JCS-102180 A timeout expired before an operation completed successfully. JCS-102177 A status handler is missing a required attribute for the given handler action. JCS-102190 The value provided for the given field is too small JCS-102191 A forbidden value field for this parameter has been set. JCS-102176 A status handler has an attribute that is forbidden for the given handler action. JCS-102181 Too many default ABAP clients have been defined for the SAP system. 1159 . JCS-102204 The table must have a mandatory column called Key JCS-102205 The specified column for this table is not nullable JCS-102206 The specified column for this table is a number JCS-102207 The specified column for this table is a date JCS-102208 The specified column is not allowed for this table JCS-102209 Data is required for a simple constraint. JCS-102193 A forbidden value field for this parameter direction has been set. JCS-102211 A BeforeDefinitionChange Trigger has vetoed the transaction. JCS-102197 Only executing jobs can be killed. JCS-102210 Renaming of the object is not permitted when attached to an SAP system. JCS-102222 The Object Definition for the Audited object was not defined. all mandatory parameters must have a default expression. JCS-102225 Attribute on a time window element is out of bounds and does not match the special value for "last". JCS-102236 An isolated SAP system cannot be created. another SAP system is already in this isolation group. JCS-102226 Isolation group creation prevented by license. JCS-102234 Job chain calls may not have a recurrence. JCS-102228 File component could not be located.Reference JCS-102213 An unexpected compiler exception occured. JCS-102245 When a Job is to be automatically submitted by a JobDefinitionWaitEvent. JCS-102231 An isolated SAP system cannot be created because two or more clients are defined for this SAP system. JCS-102217 The specified audit level is not allowed for this object type JCS-102218 ReportColumn Object Definition does not match the ObjectDefinition of the Report. JCS-102229 The transaction has been vetoed because it contains a non-unique order value. JCS-102235 Job chain calls may not have a recurrence. JCS-102215 Persist not allowed. JCS-102242 Query Filter Simple constraints can only be applied to the String data type. JCS-102237 The value provided for the client interface version was malformed. JCS-102214 Match compilation failed. JCS-102230 An isolated SAP system cannot be created in the GLOBAL partition. JCS-102216 Two fields are set that conflict with each other. 1160 . JCS-102221 Simple constraints cannot be applied to this data type. JCS-102219 Invalid overdue action. JCS-102238 A Mandatory JobDefinitionParameter has not been defined. JCS-102227 Maximum number of retries for branching the job definition was exceeded. All file content is retrieved via this component. JCS-102220 Invalid RELEntryPoint. JCS-102239 The JobDefinitionParameter type does not match the type defined in the Report. JCS-102243 An attempt was made to save an object into a different isolation group than the one that the user is currently logged in with. JCS-102223 The System Process Server cannot be a Process Server resource. JCS-102224 Invalid method signature for RELEntryPoint. JCS-102244 Parse error in job control rule job class field. JCS-102232 An isolated SAP system cannot be created because non-standard services exist in the current configuration. JCS-102241 The detail that the user tried to change is restricted. JCS-102240 The field that the user tried to change is restricted. JCS-102233 Job chain calls may not have a submit frame. method cannot be resolved. Overdue action must be either a status or an event to raise. JCS-102271 The requested member does not exist JCS-102272 The value could not be set. JCS-102276 A pattern (RegEx/GLOB) is invalid. JCS-102274 Cannot locate specified resource. JCS-102275 This exception is raised an error occurs when trying to generate an alert. JCS-102252 Cannot delete built-in custom library. JCS-102249 An unexpected exception occured during listener execution. JCS-102258 The job group defines too many jobs that must be presubmitted JCS-102259 The alert source has not defined a status it is valid for JCS-102260 Object type can never be persisted JCS-102261 Job groups for maintenance jobs cannot be stopped. JCS-102251 A step or call can only be deleted when its parent can be deleted. JCS-102266 An isolated SAP system cannot be created. JCS-102257 Job cannot be resubmitted. JCS-102255 The parent navigation bar of the group and item must be the same JCS-102256 Archive data may not be modified in this manner. JCS-102264 An attempt was made to create a R2W Catalog or Alias that already exists. JCS-102278 An existing TableDefinitionColumn can not become mandatory JCS-102279 A TableDefinitionColumn with the same ColumnName exists JCS-102280 A TableDefinitionColumn with the same DisplayOrder exists 1161 . JCS-102265 Isolation of an isolated SAP BAE connector would be violated. JCS-102254 A wrapped job can only de deleted if the corresponding wrapped job can be deleted. JCS-102277 At least one TableDefinitionColumn must be defined for a TableDefiniton. JCS-102247 A Mandatory JobDefinitionParameter has not been defined. JCS-102263 Transaction vetoed due to a custom feature not being licensed. JCS-102268 The GotoStep expression of the User Message Response couldn't be evaluated. JCS-102250 A step or call can only be deleted when its parent is in a final state. JCS-102262 Transaction vetoed due to violated custom license conditions.Reference JCS-102246 Submit frame attributes cannot be changed on a job that has been edited outside the submit frame. JCS-102270 A Precondition must have an expression or a time window. since it could not be cast to expected classtype JCS-102273 A wrapped job can only be modified if its job definition is clean. its default parameter values can be evaluated and the wrapping object has the isCreated status. JCS-102253 A wrapped job can only de deleted if the corresponding wrapped job can be seen. JCS-102267 Job Definition Parameters using the FILE datatype is not supported by the current JobDefinitionType. JCS-102248 None of the SAP interfaces are configured. JCS-102269 An Escalation or Address must be defined for an Alert Source. another SAP BAE connector is already in this isolation group. JCS-102291 The scheduling parameter with expression did not resolve to a DateTimeZone. JCS-103013 No value was specified for a required parameter. JCS-102286 An exception thrown when a has zero elements. JCS-102201 An attempt was made to delete an object that is still in use by another object. however this is invalid. and the file with the required name did not exist. JCS-102290 The scheduling parameter evaluated to a null DateTimeZone value. JCS-103011 A parameter was not found. JCS-102260 Wrapper for ForeignKeyViolationVetoWrapperExceptions. JCS-102294 Error creating equivalent object for job definition JCS-102200 An attempt was made to store an object in the database that would have violated uniqueness constraints. 1162 . Therefore no modifications are allowed. JCS Errors 103XXX (api-int) CODE Description JCS-103000 An action was performed on an object that is not possible. however the job did not exist. JCS-103001 This indicates that an error has occurred while trying to perform a query. JCS-103008 A request was made for a job. JCS-103005 Document data is invalid. JCS-102289 The scheduling parameter evaluated to a time window that does not exist. JCS-103014 An invalid value was specified for a parameter. a view privilege (or more) is required. JCS-103006 Root exception for reasons a job parameter is invalid. JCS-103003 Jobs can only be canceled prior to execution. JCS-102287 The time window expression is invalid. JCS-103009 An exception occurred with a parameter. JCS-103012 No value was specified for a required parameter. and the file with the required name did not exist.Reference JCS-102281 A required TableDefinitionColumn can not be defined while any related table contains data JCS-102282 SearchColumnName for can not be different then the SearchName derrived from the ColumnName JCS-102283 SearchKey for can not be different then the SearchName derrived from the Key JCS-102284 An attempt was made to map a parameter onto an out parameter. JCS-103002 Cancellation of jobs that are jobchain steps is not allowed. JCS-103007 A request was made for a file from a job. JCS-102288 The start time expression is invalid. JCS-103004 A request was made for a file from a job. JCS-103010 An error was encountered while retrieving a parameter mapping value. JCS-102292 Cannot see parent job of current job. JCS-102293 SchedulerSession is read only. JCS-102285 An exception thrown when a value of a specific field is invalid. JCS-103020 You cannot delete your own isolation group.Reference JCS-103015 The parameter contains invalid substitution variables. This is a specific exception to create a more accurate exception message for 'create'. JCS-103025 Unsupported format mask character. JCS-103041 This exception is raised when a required role is missing. JCS-103032 Inconsistent group sizes. JCS-103034 Invalid group separator. JCS-103019 Checker implementation expects key of a specific type. where either the object cannot be created in the new partition or the object cannot be removed from the old partition. JCS-103028 Preserve range character (*) must be used in a leading and/or trailing position. 1163 . JCS-103022 The scriptlet could not be executed. JCS-103039 The user has been designated as a super reader. JCS-103037 Attribute on a time window element is out of bounds and does not match the special value for "last". JCS-103023 An uncaught exception was encountered while executing a scriptlet. JCS-103029 Leading zero may only occur before optional digits. JCS-103026 Invalid format string or value. JCS-103030 Leading zero can only occur before optional digits. JCS-104001 An exception was thrown while processing the callback. This is not allowed. but it is not granted. JCS Errors 104XXX (api) CODE Description JCS-104000 A communal scheduler session factory has not been published yet. JCS-103016 Could not parse scriptlet definition. JCS-103038 The user has tried to do something and does not have enough privileges. JCS-103043 This exception is raised when a user tries to save an object in another partition. JCS-103027 Fraction must be in a trailing position. JCS-103021 The current user has no isolation group. JCS-103035 The user tried to create an object but does not have enough privileges. and has tried to call persist. JCS-103036 This exception is raised when a global privilege is required to perform an action. JCS-103044 The parameter in the mapping was not found on the job chain call job. JCS-103031 Inconsistent group separators. JCS-103024 An exception was encountered while setting up a scriptlet for execution. JCS-103042 Job validated OK. JCS-103040 This exception occurs when specific instances are 'null' to perform checkXXX security checks and thus the missing privilege is unknown. JCS-103033 Invalid group separator. JCS-103018 Resubmitting this job is prohibited. JCS-103017 Restarting this job is prohibited. JCS-104007 Unable to list directory contents because of a permanent remote exception. JCS-105002 AS/400 job failed exception. JCS-107001 Registration currently forbidden. JCS-104013 Invalid format string. JCS-104003 Unable to search job file because of a permanent remote exception. JCS-107003 A communal scheduler session factory has not been published yet.Reference JCS-104002 Base class for exceptions relating to exporting objects. JCS-104006 Remote login failed. JCS Errors 107XXX (cl-api) CODE Description JCS-107000 Duplicate component registration exception. JCS-104004 Search for job file failed. JCS Errors 105XXX (as400) CODE Description JCS-105000 AS/400 connection exception. JCS-105001 AS/400 security violation exception. JCS-104015 Constraint violated while submitting a job. JCS-105004 AS/400 event exception. 1164 . JCS-104014 The language is not available. JCS Errors 106XXX (audit) CODE Description JCS-106000 The transaction requires a reason to be defined to explain the modification. JCS-104008 List directory contents failed. JCS-104011 The user does not have access the requested job file content JCS-104012 We do not allow forecasting more than 5000 job groups. JCS Errors 108XXX (cl-impl) CODE Description JCS-108000 Registration of a component was attempted after the component lifecycle started. JCS-105003 AS/400 invalid parameter exception. JCS-104005 Unable to search job file because of a remote exception. JCS-104010 The specified reply was invalid. This is normally a temporary problem. JCS-107002 The component manager is currently unavailable. JCS-104009 Unable to list directory contents because of a remote exception. JCS-110004 This is the root exception for all problems relating to the value of a configuration entry. JCS-108008 No backend could retrieve the file. JCS-108003 No backend could retrieve the job-file. JCS-108004 An IO exception occurred accessing a local file. JCS-110010 Class given for configuration value cannot be loaded. but was accessed as one. JCS-110005 Missing configuration entry. JCS-110001 Base class for all configuration-related unchecked exceptions. JCS-110013 Value of boolean entry is invalid. but at least one backend reported a transient failure. JCS-108005 An IO exception occurred accessing a job-file. JCS-110008 Value of configuration entry is too high. JCS-108006 An IO exception occurred accessing a local file. JCS-110012 Value of configuration entry is not valid. JCS-110007 Value of configuration entry is not within the acceptable range. but the object returned is not of the expected type. JCS-108002 No backend could retrieve the job-file.Reference JCS-108001 JNDI bindings failed. JCS-108007 An IO exception occurred accessing a file. This indicates that the same request might succeed in the future. 1165 . JCS-110014 Configuration is not an enumeration. JCS-110006 Configuration entry should be a number and is not. JCS Errors 110XXX (configuration) CODE Description JCS-110000 Base class for all configuration-related checked exceptions. JCS-110011 Class given for configuration value does not inherit from the correct type. JCS-110002 This is the root exception for all problems relating to a configuration entry. JCS Errors 109XXX (cluster) CODE Description JCS-109000 This exception is thrown when a JNDI lookup succeeds. JCS-110003 This is the root exception for all problems relating to a configuration entry that should have been detected earlier. This indicates that the same request might succeed in the future. JCS-109002 Binding to the port for RedwoodMessaging failed because the port was already in use. all backends reported a permanent failure. JCS-108009 No backend could retrieve the file. JCS-109001 Lookup of an object returned null. all backends reported a permanent failure. but at least one backend reported a transient failure. JCS-110015 Value of configuration entry is too long. JCS-110009 Value of configuration entry is too low. JCS-108010 The Scheduler has not been configured and has no JNDI configuration. JCS-111013 A RunAs or RemoteRunAs field may only contain two subjects under certain conditions. JCS-111003 A running instance of the service could not be located. JCS-111004 A job is submitted on a Queue that has no ProcessServer that provides Resource. JCS-111016 No password found either via the Run As field or a Credential.Reference JCS Errors 111XXX (core) CODE Description JCS-111000 Problem with service class. JCS Errors 112XXX (db-init) CODE Description JCS-112000 The system can not run the system job because the user does not have the appropriate privileges. JCS-111002 Service class could not be instantiated. JCS-112002 The system can not run the system_isolation_setuser job because the registry entry could not be found. Processing is retried. JCS-111008 The recurrence pattern was changed on a job-group that has no modifiable jobs associated with it. JCS-111010 An attempt has been made to set both a Submit Frame and a Recurrence pattern on this Job. JCS-111005 The handler service has received an invalid message type. JCS-111011 The Job Router could not load a required related object from the database. JCS-112005 An input job-file could not be found. JCS-112004 An export rule-set could not be located. JobDefinitionType and Service that are required to run the Job. JCS-111017 An unexpected situation occurred in the JobGroupUpdater. 1166 . JCS-112006 An object that needs to be upgraded could not be found. JCS-112001 The system_isolation_setuser job could not find the user in the database. JCS-111015 A RemoteRunAs field may only be set for those job definition types and scheduler services that allow this. JCS-111007 The process server has no services. JCS-111006 The Job Router does not know about an object that the Job is trying to route onto. JCS-111001 Service class could not be located. JCS-112007 A system job definition could not be located. JCS-111014 A RunAs or RemoteRunAs field may not contain two subjects if the first subject has a particular modifier set. JCS-111009 The recurrence does not define any jobs. JCS-111012 A RunAs or RemoteRunAs field contains a value that results in invalid credentials. JCS-112003 An application could not be located. JCS-112025 An exception occurred when trying to upgrade the database schema. JCS-113005 The parent field could not be set using the supplied business key. JCS-113003 Writing is not supported by this object type. JCS-112021 An import rule-set was specified that could not be located. JCS-113011 Resolving a business key failed.Reference JCS-112008 Object or field definitions are not correctly initialized. and only during the configure phase. JCS-112027 The database schema is out of date and the scheduler is not configured to selfupgrade. JCS-113008 A nested object of the given type is not known. JCS-112015 Existing object field definitions were found that should not be present. that will only be thrown by the db-init component. JCS-112017 An import cannot complete due to unresolved references. JCS-112023 Base exception class for all Schema Initialization exceptions. JCS-113002 Reading is not supported by this object type. JCS-113010 An object with the same business key is already registered. only object field definitions can be transferred. The Schema Initialization component will never automatically update OpenSQL databases. JCS-113001 Relation {0} on {1} refers to {5}. but was marked for deletion. JCS-112011 A definition is required. JCS-112018 The wrong number of objects was found. JCS-112019 An invalid mode was specified for the upgrade job. JCS-112012 This is a special exception. JCS Errors 113XXX (export) CODE Description JCS-113000 A model reference cannot be read because it defines no business key. JCS-113009 Business key not for expected type of object. JCS-112026 The Open SQL schema is out of date. JCS-112014 Existing object definitions were found that should not be present. which defines no business key. JCS-112016 Job-definition has an invalid related object. JCS-112009 A field definition already exists but is a reference to the wrong type of object. 1167 . JCS-113006 The field could not be set using the supplied value. JCS-112024 The database schema could not be located in the database and the system is not configured to perform self initialization. JCS-112010 A field definition already exists but is of the wrong type. JCS-112022 An object that needs to be upgraded could not be found. JCS-113004 An unknown field was set for this type of object. JCS-112020 Not all job-files were cleanly deleted. JCS-112013 This exception indicates that one of the epoch initializers has failed. JCS-112028 An attempt was made to perform a field transfer on an object definition. JCS-113007 The field could not be set using the supplied value. but it needs to be defined in the same session. JCS-113032 Two parent objects maintain the same collection as nested objects but are not consistent. JCS-113050 Multiple keys could not be found during an import. JCS-114002 The value of a component in the URL cannot be parsed. JCS-113021 An import was performed. but has a different parent to the existing object. or is a duplicate. JCS-113014 An unknown error occurred during archival. JCS-113020 An exception occurred while trying to parse the import source. 1168 . but they in turn require this business-key.Reference JCS-113012 The object corresponding to this business key does not exist. JCS-113026 An override was applied to an object of the wrong type. JCS Errors 114XXX (infrastructure) CODE Description JCS-114000 Root exception for all exceptions where the request cannot be understood. JCS-113022 A written object does not have the business key it was declared to have. JCS-113029 An parameter override was applied where a parameter with the supplied name could not be found on the object. JCS-114006 A character encoding was missing from the JVM. either it's not allowed. did not contain any information. JCS-114003 Request is missing information. JCS-113023 The object being created does not match the type of its declared business key. JCS-113016 Archiver requires a business key for the object. JCS-113015 Export of object not supported. JCS-113031 An object was used. JCS-113017 Base class for exceptions relating to importing objects. JCS-113019 An exception occurred while trying to parse the import source. JCS-114007 Locating or reading the initial translation data failed. but no object was defined in the process. JCS-114005 A component was encountered that was not expected. JCS-113028 An override was applied with a null value for a RuleDefinition that needs this value. JCS-114008 Translation data for the given language could not be located. but the existing object could not be loaded. JCS-113018 An exception occurred while trying to parse the import source. JCS-114004 Request is empty. JCS-113013 The object for this business-key cannot be resolved without first resolving other objects. JCS-113027 An override was applied to a job definition that has no script. JCS-114001 A portion of the URL is malformed and cannot be parsed. JCS-114009 Translation data for the given language could not be read. JCS-113024 An object being created should replace an existing object. JCS-113025 An object is being replaced by the model writer. JCS-113030 An import action failed to execute when run as part of the override clauses. JCS-114016 Invalid escape-sequence encountered in translation text. JCS-116010 The platform agent returned an HTTP response code indicating failure. The message is classified as transient.Reference JCS-114010 An exception occurred during XML serialization. 1169 . JCS-116013 The agent is of a release that is too old to support system checks. auto update. JCS-116009 The platform agent restart failed. JCS-116003 An error occurred while processing the process server parameters while starting the service. JCS-114014 Translation text is invalid. the network returned an error. JCS Errors 116XXX (jobservice) CODE Description JCS-116000 A platform agent could not be initialized because it's already in use by another process-server. In particular. This is an internal error. JCS-116012 Failed to connect to platform agent. JCS-114017 The JNDIComponent has not be initialized and JNDILookup's cannot be performed. JCS-116001 The Job Runner could not be instantiated for some reason. JCS-116007 The platform agent is not configured for. OpenVMS process servers must have at least the DCL JobDefinitionType assigned and z/OS platform agents must have the JCL and only the JCL JobDefinitionType assigned. JCS-116011 Failed to connect to platform agent. JCS-116002 The Job Runner has had an error when executing the job. JCS-114011 Contents of SLIM file is invalid. JCS-116015 The system cannot find any job runner source script for the job definition type. or does not support. JCS-114018 General secure-storage exception. JCS-116004 The Job Runner could not create an output file JCS-116005 An error occurred during auto update JCS-116006 The latest version of the installer for the platform could not be found. JCS Errors 115XXX (jobchainservice) CODE Description JCS-115000 A new iteration of a step could not be created. the network returned an error. JCS-116014 The list of job definition types assigned to the process server do not match the capabilities of the agent. JCS-114013 A zero-length (empty) SLIM key was encountered. JCS-114015 Incomplete escape-sequence encountered at the end of translation text. JCS-114012 A specified key in a SLIM file is not allowed. JCS-116008 The platform agent update failed. JCS-114019 The repeater was aborted before the operation succeeded. JCS-117001 No mail server defined. JCS-119007 A session could not be created because a user could not be associated with it. JCS-119001 There is no known job-file that has the given unique identifier. JCS Errors 120XXX (ui) CODE Description JCS-120000 Base class for UIExceptions. JCS-119004 There is no known job that has the given identifier. JCS-119003 There is no known Trigger that has the given unique identifier. 1170 . JCS-119002 There is no known log-file for a Trigger that has the given unique identifier. JCS-119008 There is no known Document that has the given unique identifier. JCS-120003 The requested object is no longer available. JCS Errors 118XXX (security) CODE Description JCS-118000 Cannot instantiate any HTTP authentication provider. JCS-120001 Base class for UIRuntimeExceptions. JCS-120002 Base class for concurrent update exceptions. JCS-119005 There is no job-file with the given file-number. JCS-118001 Security exception JCS-118002 Exception creating a user JCS-118003 Exception creating a user JCS-118004 Exception importing security JCS-118005 Exception importing a user JCS-118006 Exception creating a role JCS-118007 Exception creating a role JCS-118008 Exception importing a role JCS-118009 No such isolation group exception JCS-118010 Invalid SystemId JCS Errors 119XXX (servlet) CODE Description JCS-119000 Root exception for all reasons a job-file cannot be located. JCS-119006 The specified object cannot be located.Reference JCS Errors 117XXX (mailservice-api) CODE Description JCS-117000 Invalid parameter for mail job. it has either been deleted or the security settings prevent viewing the object. likely transient in nature. JCS Errors 121XXX (module-r2w) CODE Description JCS-121000 The configuration could not be found to contact the watcher. JCS-120008 The object that needs to be acted upon does not have the named action. JCS-120014 The IntelliSearch is not supported for the ObjectDefinition. JCS-122003 Failure to retrieve the file content. JCS-122013 Failure to retrieve the directory content. it has either been deleted or the security settings prevent viewing the object. likely permanent in nature. JCS-122011 Failure to retrieve the job-file. likely permanent in nature. JCS-122008 The name of the object is invalid JCS-122009 Operation requires that the Job has a parent. JCS-120009 The data could not be decoded to the desired type. JCS-122005 A user that has been marked as inactive cannot login. JCS-120010 The SQL being validated contained an error. JCS-122012 License violation. JCS Errors 122XXX (model) CODE Description JCS-122000 A day has been entered that is out of the specified allowed range.Reference JCS-120004 Illegal type of the requested object. JCS-120005 The linked object is no longer available. but it does not. found a duplicate primary key. JCS Errors 122XXX (agent-api) CODE Description JCS-122000 Root exception for all exceptions where the request cannot be understood. likely permanent in nature. JCS-122001 The dirty list on the session is not empty. JCS-122001 The call is not supported. 1171 . JCS-120011 A user could not be created with UME. JCS-122004 Failure to retrieve the file content. JCS-122006 Cannot create more objects than the license allows. therefore the requested operation cannot be completed JCS-122002 The database is in an inconsistent state. JCS-122010 Failure to retrieve the job-file. JCS-120013 The host could not be detected. JCS-120012 The source version of Solution Manager is not valid. JCS-120007 The object that needs to be updated has been modified by another user. likely transient in nature. JCS-120006 A mandatory field is not being set. JCS-122007 The value for the given key is not valid. JCS-122038 Unable to persist. a retry may succeed. JCS-122029 Error during computing recurrence. JCS-122034 Invalid string literal. JCS-122044 An error was encountered while evaluating and/or applying a scheduling parameter. likely transient in nature. JCS-122020 The object is not attached to a session. This means that the object that includes the TimeWindow should set the TimeZone to use for the calculation of the TimeWindow. JCS-122043 An error was encountered while evaluating and/or applying a scheduling parameter. and cannot be used anymore. JCS-122037 The persist call did not update any rows in the database. JCS-122032 Baseclass for checked exceptions thrown by the API. JCS-122027 Period functions should implement the PeriodFunctionCalculator interface. JCS-122040 Baseclass for unchecked exceptions thrown by the API. JCS-122039 An exception occurred during the execution of a persistence layer method.Reference JCS-122014 Failure to retrieve the directory content. JCS-122016 No timezone could be found to calculate this TimeWindowElement. JCS-122017 The object could not be created since it would violate the object constraints. JCS-122036 Invalid enumeration value. JCS-122026 Internal error in a period function. JCS-122031 An error was encountered while evaluating the return-code mapping. JCS-122019 The object is already on the dirtylist in another subsession. JCS-122024 An error was encountered while evaluating a default parameter value. JCS-122015 Only clean JobDefinitions can be prepared. JCS-122023 A Parameter was set. JCS-122033 Unable to persist. but using the wrong type of data. JCS-122041 The scheduler API is currently unavailable. JCS-122025 Cannot raise event. isPendingEventsAllowed is false and the event is already raised. This exception will be thrown when prepare has been called on a JobDefinition that has been modified since being retrieved from the database. JCS-122028 Unable to configure and/or retrieve a low-level persistence factory. no operations are allowed on the object anymore. or a TimeZone must be set on the TimeWindow or TimeWindowElement. or that has not yet been persisted to the database. This is normally a temporary problem. JCS-122018 The object has been marked for deletion. JCS-122042 An error has occurred while trying to configure a Scheduler component. 1172 . JCS-122035 The string passed in does not represent a valid ObjectType. JCS-122030 Error in the recurrence pattern. JCS-122021 The object used for assignment is not from the same session as the object it is being assigned to JCS-122022 An import override rule could not be applied to an object. It must end with a }.Reference JCS-122045 An error occurred calculating the opening or closing of a time window. JCS-124012 Line number mapping is not open. JCS-124006 Source must start with a {. JCS-124011 Line number mapping is not allowed. JCS-122051 The report generation failed. JCS-124004 No source has been defined. JCS-122050 The object that was passed in is of an incorrect type. 1173 . JCS-124007 Importing or accessing classes is restricted to a predefined safe list of classes. however it failed. or because it has been previously modified. JCS Errors 123XXX (persistence) CODE Description JCS-123100 An attempt was made to update an object. JCS-122052 ProcessServers can never have multiple browsable ProcessServerServices. JCS-124010 Line number mapping failed with unended token. JCS-122053 The URL for the requested purpose is not supported. JCS-124001 Classes must extend the predefined Stub class where the Stub class is the name of the class with Stub appended to it. JCS-122054 No valid credential is found that can be used. JCS-122048 Time window {0} cannot be called with a NULL opening time. JCS-122049 An attempt was made to use an unlicensed feature. either because the object has been deleted. JCS-124009 Line number mapping failed with a duplicate end token. JCS-124003 The source cannot define an abstract class. JCS-124005 The import definition in the source is not valid. JCS-124014 No class has been defined in the source JCS-124015 Source has not be correctly terminated. JCS-124013 Line number mapping failed with an end token that does not match the range description. JCS-124002 Classes must extend the predefined Stub class where the Stub class is the name of the class with Stub appended to it. import or package statement. JCS Errors 124XXX (script-java) CODE Description JCS-124000 Validation of the RELEntryPoint failed because the method signature or class could not be found. JCS-122047 CalculateNextClose should only be called on an open time window. JCS-124008 Importing or accessing classes is restricted to a predefined safe list of classes. JCS-123101 An error was encountered while trying to parse the SQL statement. JCS-122046 Attribute on a time window element is out of bounds. JCS Errors 127XXX (rfcconnector) CODE Description JCS-127000 Illegal client number. JCS Errors 128XXX (extract-jco) CODE Description JCS-128000 Invalid SAP JCo Version has been found. JCS-129002 Invalid Oracle Applications program definition. This is usually the result of a missing system library dependency. JCS Errors 126XXX (iphone) CODE Description JCS-126000 The reply for an operator message was not in the expected format. JCS-129001 Invalid Oracle Applications request. JCS-128006 SAP JCo is not supported on the platform. JCS-128001 The SAP JCo installer file cannot be found. JCS-129003 Oracle Applications does not have a valid platform agent definition. JCS-128003 A catch all for unexpected errors when discovering the SAP JCo Version. 1174 . JCS-129004 Oracle Applications can not cancel the concurrent request that belongs to this job. JCS-128004 Insufficient permissions to find/install SAP JCo JCS-128005 The SAP JCo files could not be installed. JCS-126003 A push subscription could not be found. JCS-126001 An IO error occurred while receiving the reply for an operator message. JCS Errors 129XXX (oraapps-service) CODE Description JCS-129000 Service can't be started because the configuration contains errors. JCS-126002 The intended reply for an operator message could not be determined. JCS-128002 The SAP JCo classes could not be initialized. JCS-129005 Cronacle can't logon to Oracle Applications.Reference JCS Errors 125XXX (constraint) CODE Description JCS-125000 An attempt was made to submit a job where the parameter was longer than allowed. JCS-132003 ProcessServer does not serve the JDBC service. JCS Errors 132XXX (peoplesoft-service) CODE Description JCS-132000 Service can't be started because the configuration contains errors. The upgrade operation is not supported. because we have found an invalid remote id. JCS-132004 {0} credential for {3}user {1}@{2} not found. JCS Errors 130XXX (apns) CODE Description JCS-130000 The APNS proxy returned an error. JCS Errors 131XXX (oraohi-service) CODE Description JCS-131000 Service can't be started because the configuration contains errors. JCS-132001 JDBC parameter exception. JCS Errors 132XXX (jdbc-impl) CODE Description JCS-132000 Configuration Exception. JCS-129001 Invalid Oracle Applications responsibility definition. JCS Errors 132XXX (dynamicsax-service) CODE Description JCS-132000 Dynamics AX does not have a valid properties file definition.Reference JCS Errors 129XXX (oraapps) CODE Description JCS-129000 Invalid Oracle Applications user definition. JCS-130002 Could not locate key-store with certificate to contact APNS proxy. JCS-130001 The APNS proxy reported that push notifications are disabled for a subscription ID. JCS Errors 131XXX (dblayer-sql) CODE Description JCS-131000 Failed to upgrade the database. 1175 . JCS-131001 The cuurent job can't be processed by the OHI connector. JCS-132002 Could not find the ProcessServer with the provided name. JCS-136007 Object name is too long. JCS-136002 Product should be installed in Oracle. JCS-136003 Unable to check if database is Oracle. JCS-132002 PeopleSoft has found an error during passing the output file. 1176 . JCS-136001 Service runs on the wrong Process Server. JCS-134001 No approval response has been received for the published files. JCS-135001 R2W and Cronacle Server times are not within acceptible operating differences. JCS-136006 Runtime exception. JCS Errors 133XXX (iphone-public) CODE Description JCS-133000 An exception was raised while executing a client-supplied script. JCS Errors 136XXX (oraclejob-impl) CODE Description JCS-136000 Configuration Exception. JCS-134002 Failed to update Tab API URL configuration on the R2W Server JCS-134003 A unique credential cannot be determined from the username and endpoint provided. JCS-134004 Could not find the credential protocol with the given name JCS-134005 Could not find the R2WCatalog associated with the ProcessServer JCS-134006 Could not find the ProcessServer with the provided UniqueId JCS-134007 Failed to update Approval Callback URL configuration on the R2W Server JCS Errors 135XXX (publish) CODE Description JCS-135000 The destination folder is not an approvals folder and the file requires approval. JCS-136005 Run the {0}. The PL/SQL API needs to be upgraded. JCS-136009 Parameter has an invalid datatype JCS-136010 Unable to connect to database JCS-136011 Unable to create equivalent object. JCS Errors 134XXX (r2w-comm) CODE Description JCS-134000 Report2Web Communication exception. Synchronization of the server times is required.Reference JCS-132001 PeopleSoft does not have a valid properties file definition. JCS-136008 Cannot start the process server. JCS-136004 {0} credential for user {1}@{2} not found. Reference JCS-136012 Unable to load driver. JCS Errors 138XXX (api-plsql-install) CODE Description JCS-138000 Unable to load resource. as a typo can potentially cause havoc. JCS-137006 Message sequence out of order. Could not load the JDBC Driver from the classpath. Note The SAP CPS registry has little to do with the Microsoft Windows registry. JCS-137001 Unsupported version. JCS-138001 Unknown command. JCS-137004 Unhandled parameter type. JCS-137005 No such package. it is a central location for setting system-wide and user settings.system-wide configuration settings are stored here 1177 . JCS-137008 Missing signature. Could not locate the JDBC Driver from the classpath. Note Please take special care when editing the registry. JCS Errors 137XXX (api-plsql-impl) CODE Description JCS-137000 PL/SQL API listener has been shutdown unexpectedly. Registry Keys Use Registry keys can be set in the SAP CPS registry. JCS Errors 139XXX (bobj-service) CODE Description JCS-139000 An attempt was made to call the BOBJ report without the To field being set. which is available under Configuration > Registry. JCS-137003 Illegal frame type. The registry is split-up in two hives: • configuration . JCS-136013 Unable to find driver. JCS-137007 Not in autonomous transaction. JCS-137002 Pipe result was not zero. For example. SAP recommends to only change the number of threads when you are instructed to do so from SAP Customer Support Services.txt or . A change requires a restart of the web application. you may specify a value using the following registry key: /configuration/requestQueueSize/action aliases You can set aliases to make the built-in web services available via a proxy. Registry key /configuration/mail/AutoExtension=false Note that the settings are parsed in this order. to prevent users from attaching arbitrary files to emails. C:\temp could be the value of the registry key configuration/mail/AccessiblePath/temp. The key name should be the alias name of the web service and the value must be the actual hostname. Registry key /configuration/mail/AutoExtension/<Format_Partition>/<Format_Name>=false 2. bindAddress The address to which the communication port is bound. note that the name temp of the registry key has no significance to SAP CPS. The number of threads is set to 100 by default. you can specify the allowed directories under the following registry key: /configuration/mail/AccessiblePath The registry key does not exist by default and needs to be created. You can disable this by specifying one of the following registry keys: 1.user configuration settings are stored here Configuration Hive AccessiblePath You can attach files to email messages. for example. it is its value that will be used. By default this is the System Host Name. The bind address can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/<Cluster Instance Id>/<Cluster Node Id>/bindAddress 1178 . the default is true. You create aliases under the following registry key: /configuration/webservices/aliases AutoExtension SAP CPS appends extensions automatically to text files and HTML files.Reference • user. action You can configure the number of threads to be used to execute actions (also known as action workers). like job definition actions. If none are found.html extension. the first setting found is used. which do not already have a . make sure it is a fully qualified domain name. jobs in all final statuses adhere to the keep clause.1:50180/scheduler then its value needs to be changed to a hostname or IP address that can be used from other machines on the network. If it contains a value like http://localhost:50180/scheduler or http://127. These jobs are kept indefinitely as long as the KeepExpiration field on the job is not used. check SAP CPS can automatically check if a critical update has become available and warn you about it. This can be set in the following registry key: /configuration/update/check ContextURL The context url is used.0.Reference Alternatively the bind address for all nodes in an instance can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/<Cluster Instance Id>/bindAddress If both these values are set the more specific (Instance + Node) value is used. This can be set with the following registry key: /configuration/ContextURL This registry key is set on the first administrator login. This can be overridden by the registry key: 1179 .Completed • E . to generate permalinks. note that no spaces.Canceled • C . the order is not relevant. commas or semi-colons should be used. This can be set with the following registry key: /configuration/DefaultKeepStatus If this registry key is not set.0. Status codes for final job status • A . The registry key takes a succession of status codes.Killed • U .Error • K . DefaultKeepStatus Jobs that reach one of statuses defined by the ScriptKeepStatus are excluded from the keep clause of the job definition. among other things.Unknown Example value: KAUE DefaultPreSubmit The hard-coded default for the pre-submit count on the submit wizard is set to 10. /configuration/javatoolkit/SourceVersion /configuration/javatoolkit/TargetVersion jobhistory The scorecard will keep jobs for 365 days. several of the internal job chain components create JobNotes under different circumstances to store processing and/or error messages. an operator message is created if this key does not exist or is invalid. note that this is independent of keep clauses. The maximum value for this registry key is 5000. for example. On heavy-used systems with many jobs and/or operator messages. the source and target versions are set to Java 1.5 or higher. even jobs that have been deleted according to their keep clause. You set the user with the following registry key: /configuration/isolation_reader javatoolkit These registry keys allow you to set the compliance-level of Java code and are used as flags for the compiler. You can overrule this to create OperatorMessages instead by specifying the following registry key and setting it to OperatorMessage.4. By default this is set to 0. All other privileges this user may have are ignored. By default. which require Java 1. a special user can read everything. that is. the table can grow very large. This setting can be set using the following registry key: /configuration/history/jobhistory The registry key should be set to the number of days of job history you want the scorecard to take into account. filling in an invalid value will cause the scorecard to use all jobs. SAP recommends setting this registry to 365 days or less on very busy systems. This can be overridden. when you want to use enumerations. /configuration/jcs/JobChainMessageLocation Values: 1180 . JobChainMessageLocation By default. The id can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/instanceId isolation_reader In an isolated system.has read access to all objects in the repository. by default. instanceId This is a unique identifier for the cluster. This allows you to have two clusters on the same host. You should fill in a number (integer).Reference /configuration/jcs/recurrence/DefaultPreSubmit At every system startup. Name>. you can specify how many jobs are to be pre-submitted. Mobile Access You enable mobile access fromthe user interface. Oncethis has been done.Reference • JobNote . <JobFile.Name>.level Keys to configure job log level: /configuration/logging/Job/ByDefinition/<JobDefinition.Name>/<JobFile.level MaximumPreSubmit When you submit a job with a submit frame.the job chain engine creates OperatorMessages for messages KeepDisabled You can disable keep-clauses with the following registry key: /configuration/KeepDisabled Language The default language to use in the ui. You set the default language with the following registry key: /configuration/Language lockTimeoutThreshold /configuration/jcs/clustering/lockTimeoutThreshold The value is in seconds.Partition>/<JobDefinition.Name>/<JobFile.a registry key is created at the following location: /configuration/mobile/enable 1181 . when the user has no language defined. The default value is 300 seconds and will be used if this registry key is not set or its value is invalid.the job chain engine creates JobNotes for messages (default) • OperatorMessage .Name>=level /configuration/logging/Job/ByJobFileName/<JobFile. The maximumnumber can be specifedwith the following registry key: /configuration/jcs/recurrence/MaximumPreSubmit Note The system will vetoe any attempt to pre-submit 5000 jobs.Name>=level /configuration/logging/Job/ByType/<JobDefinitionType.Partition>/<JobDefinitionType. as this would have serious effects on performance. kenai. name This is used for display purposes (for example within the output of the System_Info job) for identifying a cluster.sun. The password can be set with the following registry key: /configuration/feed/feeds/operator_message/password Properties The defaults for the mail. 1182 . failure to understand a property correctly can cause issues if you override the default. The name can be changed with the following registry entry /configuration/boot/cluster/name ObjectLevelSecurityDisabled You can disable object-level security with the following registry key: /configuration/security/objects/Job/ObjectLevelSecurityDisabled Note SAP strongly recommends not specifying this registry key. as objects will become visible/editable to users who would normally not see them. and the Cluster Node Id via the following equation: Port Number = 10000 + (1000 * Cluster Instance Id) + 70 + (Cluster Node Id) On a default setup this will be 10071.html?com/sun/mail/smtp/package-summary.mail.connectiontimeout mail session properties are set to 10 seconds. port The port to which the communication is bound. By default it is CLUSTER.timeout and mail.smtp package [http://javamail. which can create havoc. You can override these and any other properties in the com.com/nonav/javadocs/index. the default SMTP port is set to 25 by default. Note that special caution must be taken when you set other properties. The port can be changed with the following registry entry /configuration/boot/cluster/<System Host Name>/<Cluster Instance Id>/<Cluster Node Id>/port password When you use the SAP CPS operator message client on Microsoft Windows. you can set a password as opposed to having the users log on with their account.html] using the following registry key.smtp.smtp.Reference Note You should use the user interface to enable and disable mobile access. By default this is determined from the Cluster Instance Id. you can set the following registry key to prevent your customers from accessing troubleshooting tools inside SAP CPS.changes to job definitions are ignored • latestVersion . This registry key. Runtime The number threads you want to allocate for performing runtime expiration calculations can be set with the following registry key: /configuration/requestQueueSize/runtime The default value is 20.smtp. the restart options displayed in the operator message ignore changes to job definitions. 1183 .restart options include restarting with latest version of the job definitions Note Changes take effect immediately.smtp. when set to an existing role.smtp. provided you select one of the available restart options that uses this functionality.customerprefix property. /configuration/jcs/jobchain/RestartVersion Possible values: • currentVersion .scheduler.redwood.port set to 587 role When you have the Hosting Module and you set the com. You set this registry key to latestVersion to use the latest version of the job definitions when you restart [part of] the job chain. The key can be found at this location: /configuration/update/release RestartVersion The RestartVersion registry key is used to control the behavior of Request Restart status handler operator messages.security.Reference /configuration/mail/Properties Example: • /configuration/mail/Properties/mail. /configuration/support/role Release The release registry key under the update node displays the current release of the software. By default. also governs who can see the default navigation bar.connectiontimeout set to 15 • /configuration/mail/Properties/mail.timeout set to 15 • /configuration/mail/Properties/mail. when a web application of amorerecentversion is deployed. selfupgrade The following registry key specifies if SAP CPS can upgrade itself.Reference Security The security mode isdisplayed in the following registry key: /configuration/security Note Only change this value if SAP support services ask you to do so. /configuration/selfupgrade Skip JCo for non-SAP Environments SAP CPS automatically tries to load SAP JCo drivers used for connecting to the ABAP stack of SAP instances. when the central SAP CPS server has been updated. The amountof concurrent updates can be specified with the following registrykey: /configuration/PlatformAgent/SimultaneousUpdates Note The default value is fine for most. you can specify how many concurrent reconnection attempts are made with the following registry key: /configuration/PlatformAgent/SimultaneousReconnections Note The default value is fine for most. If you have no SAP systems. Only change this value if SAP support services ask you to do so. 1184 . you can set this registry key to true. • /configuration/jco/skip . Only change this value if SAP support services ask you to do so. if not all scenari.skip the loading of SAP drivers Server The mail server (SMTP server) to use for sending email is set with the following registry key: /configuration/mail/Server SimultaneousReconnections When the connection has been interupted between a platform agent and the central server.forexample. if not all scenari. SimultaneousUpdates Platform agents can be updated automatically. the job chain is set to Completed. By default Redwood Messaging is used (Since M33.JMS Messaging for Redwood Platform (deprecated) • Standalone . it merely restricts the privileges a user has. The implementation can be changed with the following registry entry /configuration/boot/cluster/type The possible values are (Note: these values are case-sensitive): • RWM . Note that you must restart SAP CPS in order for this setting to become effective. The following table lists the values 1185 . The registry key /configuration/jcs/upload/UploadedFilesPath has been introduced to specify the location where uploaded files are saved. Visibility The visibility key and child keys are used to specify who can see which tabs and links in object editors. the default implementation • SAP . Disabled. The roles must be entered in ascending order starting with the role that should have the most limitations and ending with the most privileged role. or Ignored. When a job chain's last step reached status Skipped. UploadedFilesPath The default directory used for uploaded files is the current working directory.SAP JMS Messaging • RMI . M28 still only has clustering support on SAP using SAP JMS Messaging). this directory might not be accessible to all nodes in a cluster. You can also have the job chain status reflect the last executed step of the job chain.Reference ThreadPriority The dispatcher thread priority is set to a default of 8. The registry key that governs the default behavior: /configuration/jcs/jobchain/useLastExecutedStepStatus The registry key should be set to either true or false. type This is the implementation that is used to perform all clustering operations. it must be set to a comma-separated list of roles. However in certain circumstances the implementation should be changed. ignoring the three previous cases. This directory must be accessible to all nodes in the cluster.A non-clustered implementation designed as a Failsafe useLastExecutedStepStatus Job chains can reflect the status of the last step or that of the last executed step.10. You specify the levels in the /configuration/ui/visibility/Levels registry key. Note that this does not grant any additional privileges. The priority can be changed by setting the registry key: /configuration/jcs/dispatcher/ThreadPriority Valid values range from 1 to 10.Redwood Messaging. as well as their children (not shown).the fully qualified domain name of the archiving server • /configuration/Archiving/<server>/<RootDirectory> .the location of the root directory on the archiving server compressionlevel To speed-up the archival of job output you specify the ZipOutputStream compression-level (0-9) using the following registry key: 1186 . treated as levels from lowest to highest> Tabs/<ObjectType>/<TabName> <Minimum level to see this tab> Links/<ObjectType> <Minimum level to see New…/Edit… links next to fields for this object type> <Filled in by job definition as the translation of for ObjectType/TabName> The following registry keys. will be generated by the System_CreateEditScreenEntries ( see the Administration Guide ) job definition /configuration/ui/visibility/Levels /configuration/ui/visibility/Links/<object_type>/<tab_name> /configuration/ui/visibility/Tabs/<object_type>/<tab_name> Active Alerting-Related Registry Keys Active Alerting-related registry keys are stored under the configuration/Alerting node.Reference Key Value Description Levels <Comma separated list of roles. for the ProcessServer named 'PS_TEST' which is in the GLOBAL partition as follows: /configuration/requestQueueSize/GLOBAL/PS_TEST/ScriptService=20 Archiving Server-Related Registry Keys Archiving Server-Related registry keys are stored under the /configuration/archiving/ node.The default Reply for alert operator messages Worker Queues By default. which means that it can execute 100 concurrent jobs (job running in parallel). a process server has 100 worker queues. You can set the maximum number of worker queues using the registry: /configuration/requestQueueSize/<process_server_partition>/<process_server>/<service> You set the maximum workers for the ScriptService (redwoodscript) to 20.The default message for alert operator messages • /configuration/Alerting/Response . The following two are available: • /configuration/Alerting/Message . The following are available: • /configuration/archiving/<server> . Job control rules 2. • /configuration/sap/xbp/joblog/KilledMessages • /configuration/sap/<partition>. MSGNO.<SAPSystem>/DefaultJobQueue . ENTERDATE.default queue for all SAP systems when not specified in the job control rules.global setting for joblogs from all SAP systems .default queue for SAP system <Partition>.default queue for SAP system <Partition>. The evaluation order is as follows: 1. The order is fixed to ENTERTIME.<SAP system>/xbp/joblog/KilledMessages 1187 . Note that a process server restart is required when you set/change the value. MSGID. the specified codes in the log files of SAP jobs will force the job to Killed. Registry setting 3.<SAPSystem>/JobLogFormat/joblog . MSGID. • /configuration/sap/<Partition>. MSGTYPE.Reference /configuration/Archiving/compressionLevel SAP-Related Registry Keys DefaultJobQueue Override the parent job's queue using the following registry keys: • /configuration/sap/DefaultJobQueue . TEXT Field Description ENTERTIME Job log entry time ENTERDATE Date of entry into job log MSGID Message Class MSGNO Message Number MSGTYPE Message Type TEXT Message text KilledMessages If this registry key is set.<SAPSystem>. Parent job's queue JobLogFormat The following registry key specifies the fields of the SAP job log to retrieve.default queue for all SAP systems • /configuration/sap/<Partition>. MSGTYPE. An example value of such an entry for registry key /configuration/sap/JobLogFormat/joblog: ENTERTIME. TEXT. ENTERDATE.for a specific SAP system . MSGNO.<SAPSystem>. • /configuration/sap/JobLogFormat/joblog . out. registry key /configuration/sap/xbp/IgnoreApplicationReturnCode. IgnoreApplicationReturnCode If this registry key is set to true. • /configuration/sap/xbp/IgnoreApplicationReturnCode . the first setting found has precedence: 1. 00554. By default. only valid for the specified SAP system. registry key /configuration/sap/<Partition>. job definition parameter IGNORE_APPL_RC.only the SAP instance for which this registry key is defined is affected. The settings are processed in this order. 00663. 00671. See the system log 564 Job cancelled after system exception ERROR_MESSAGE 574 Job cancelled due to system shutdown 660 Session was deleted by system administrator 663 Work process re-started. This setting affects all SAP process servers.com/troubleshoot/bc/aba/sc/class_00] for a list of possible values and their meaning. session terminated 671 ABAP/4 processor: & BT Message class BT 608 Job status was manually set to Canceled See this site [http://sap-core. leave the <partition>. if you do not want to set this for all process servers. 00660.<SAPSystem>/xbp/IgnoreApplicationReturnCode .all SAP systems are affected • /configuration/sap/<Partition>. BT608 The following table lists the default codes: Value Reason 00 Message class 00 518 Job cancelled 554 Job also cancelled due to process termination. SAP CPS uses the application return code to determine the final status of the job. the application return code is ignored. leave the <partition>. 00564. for SAP systems in the GLOBAL partition. process server parameter SAP_IgnoreApplicationReturnCode. consider the SAP_IgnoreApplicationReturnCode ( see the Administration Guide ) process server parameter.<SAPSystem>/xbp/IgnoreApplicationReturnCode. 00574. for SAP systems in the GLOBAL partition. out. 4.Reference Default value: 00518. only valid for all jobs of this job definition 2. only valid for all jobs that run on the process server 3. valid for all SAPR3 jobs across all SAP systems Examples Registry key for SAP system PR1 in partition Global • /configuration/sap/PR1/xbp/IgnoreApplicationReturnCode Registry key for SAP system PR2 in partition MSLN_PR2 1188 . <SAPSystem>/bw/log/IgnoreError ReturnCodeOperatorMessages When return code mapping is performed.<SAPSystem>/xbp/ReturnCodeOperatorMessages 2. As long as the process is active in SAP.monitored BW chains are restartable.Reference • /configuration/sap/MSLN_PR2. operator messages are issued. the job will reach status Error as usual. The registry key path is as follows: /configuration/sap/<Partition>. monitored BW chains have the restart option set to (F)ailed. configuration/sap/xbp/ReturnCodeOperatorMessages 1189 . this can be overridden using the following registry keys: • /configuration/sap/bw/restart/RestartMode • /configuration/sap/<Partition. IgnoreError You ignore specific transient BW error messages that occur while a BW job is active by specifying a commaseparated list of error codes in the IgnoreError registry key. If you do not want these messages. the following errors are ignored: • RSM2 010 .monitored BW chains are restartable. RSM2047. When the BW job finishes with one of these errors.SAPSystem>/bw/restart/RestartMode Allowed values: • N . so those that were started in BW. only failed processes are shown (default) • A .PR2/xbp/IgnoreApplicationReturnCode RestartMode By default.Data loaded successfully. activate the DataStore object So the default value of the registry key is RSM2010. /configuration/sap/<Partition>. these errors will not cause the SAP CPS job to reach status Error. By default. BW chains started in CPS have a job definition parameter that defines the restart behavior. all processes are shown Note This applies only to monitored BW chains.monitored BW chains are not restartable • F . these errors should always be ignored for active BW jobs. you can set the following registry key to false: 1.Request still running • RSM2 047 . the use of transport files will not be possible regardless of the value of the registry key. However.0 synchronization confirms jobs that were seen by SAP CPS. If the values do not match the capabilities of the SAP system (for example. • /configuration/sap/<Partition>. there is no need to restart the process server.Reference SynchronizationMode Normally the synchronization mode is automatically selected based on the availability of the transport files and the XBP version.. while Redwood transports and XBP 3. the transport files might not have been installed correctly.0 synchronization • 2 .0 synchronization • 3 . In this case.use XBP 0. 1190 . • /configuration/sap/xbp/synchronization/SynchronizationMode • /configuration/sap/<Partition.use XBP 2. ViewerURL You specify the viewer URL for BusinessObjects Reports to be able to access them from within SAP CPS.<BOBJ System>/bobj/ViewerURL .0 synchronization confirms jobs that were seen by SAP CPS. sometimes there are situations where a particular method has advantages over the other. for example: XBP 2. 2 . 3.0 synchronization Normally the synchronization mode is automatically selected based on the availability of the transport files and the XBP version. Tip The value is used by the SAPR3 service as soon as it is detected.system-wide URL.SAPSystem>/xbp/synchronization/SynchronizationMode Allowed values: • T . 2 . sometimes there are situations where a particular method has advantages over the other. If the values do not match the capabilities of the SAP system (for example.use XBP 1. use of transports is set but no transports are installed) it will automatically select the next best synchronization mode among T. use of transports is set but no transports are installed) it will automatically select the next best synchronization mode among T.BusinessObjects system-specific URL (Note that you do not specify the partition for BusinessObjects residing in the GLOBAL partition).use transport files • 0 ..use XBP 3. while Redwood transports and XBP 3.. 3.0 do not do this. • /configuration/sap/bobj/ViewerURL . However. Note When the process server parameter SAP_UseTransports is set to false.0 do not do this..1 synchronization • 1 . for example: XBP 2. AdHocAlertSource An object which defines an alert that can be fired by a job definition to notify operators.cwr?id=${ID} For a Crystal Report job executed on a BOBJ system with J2EE URL http://bobj.masalan.cwr?id=1234 Platform Agent-Related Auto-update When the installation has a larger number of platform agents the system will serialize the process of sending the updated platform agent installer binaries. 1191 . the minimum is 7 days. ABAP program [SAP] A program written in the ABAP language. Functionality only available from Redwood Software. ExpirationNotification You can set when the license expiration warning starts warning about the approaching expiration. The number of simultaneous updates is governed by the registry key: /configuration/PlatformAgent/SimultaneousUpdates User Hive You usually use the options dialog to set registry keys in the user hive.Reference Example 1: /configuration/sap/bobj/ViewerURL=${URL}/${KIND}s/viewrpt. The default value is 28 days.masalan.com:8080/CrystalReports/viewrpt.com:8080 with the report id 1234 this would be automatically translated into: http://bobj. user/<username>/ui/configuration/ExpirationNotification Glossary A ABAP [SAP] ABAP is a programming language that the SAP R/3 software and later most other software by SAP AG was written in. the following keys need to be set manually. as these are quite large. Applications API Also known as BAE API. Audit Trail The log displaying audited events. Applications can send data. like a change to a job definition. There are at least two other names for the machine: • From 2000-2004 the machine was known as the IBM eServer iSeries (generally abbreviated as iSeries). B BAE [SAP] See Business Automation Enabler. 1192 . in a special SAP format called iDocs. Business Automation Enabler is only available for SAP CPS customers. to the SAP System by placing the files in this directory. The ABAP program RSBDCSUB reads the batch input folder and submits a new SAP job for every file it finds. When an operator does not respond to an alert in a timely fashion. Business Automation Enabler [SAP] Also known as BAE. Application An object used to group objects like job definitions and job chains. BAE objects are named SAP Inbound. Audit Rule An object that specifies which events.Reference AlertEscalation An object that defines escalation routes for alerts. It is an interface that allows SAP AS ABAP systems to connect and control SAP CPS. A proprietary API developed by Redwood Software B. In SAP CPS. A directory is designated in SAP as the Batch Input Folder. Functionality only available from Redwood Software. AS/400 [IBM] In SAP CPS the older names AS/400 and OS/400 are used to refer to the hardware and operating system as these are the names that have been in use longest. are to be audited.V. Batch Input Sessions [SAP] A special SAP job that processes incoming data. • Since 2004 the machine has been known as the IBM i5 and the operating system as i5/OS. for example the manager of the operator who failed to address the issue in time. together with SAP AG to allow connections from SAP AS ABAP to SAP CPS. alert escalations are used to notify other users. Constraints Constraints are conditions that IN values of job (definition) parameters must fulfill. a self contained unit in an R/3 system with separate master records and its own set of tables. Crystal Reports can also be imported and scheduled by SAP CPS. The monitoring information for your system landscape is collected by this system and displayed in the Structure Alert Monitor. An SAP Mandanten identified by a 3 digit (numeric) field in SAP CPS. Client [SAP] In SAP terminology. for example. Concurrent Manager [Oracle] The concurrent manager manages your concurrent requests in the Oracle Applications suite. 1193 . Context Menu A list of context sensitive actions that appears by right-clicking. quick menus or shortcut menus. monitoring and background jobs. CCMS Job [SAP] A background request in CCMS for the execution of one or more ABAP programs and/or repeating system commands. All concurrent programs that can be started from Oracle's web submit screen (for submitting concurrent programs) can also be scheduled by SAP CPS. Credential Protocol An object that defines a type of credential. Crystal Reports [SAP] SAP BusinessObjects can generate Crystal Reports which allow you to drill-down data. Different credential protocols are available for operating systems and databases. Credential An object used to store login information in a more secure and re-usable way. Also called pop-up menus.Reference C CCMS [SAP] The SAP Computer Center Management System (CCMS) is part of an SAP solution that provides common functionality such as user management. speed menus. CEN [SAP] The SAP monitoring architecture assumes that a system in your system landscape is the central monitoring system (CEN). for example.Reference D Document An object used to store documentation on specific objects or processes. Functionality only available from Redwood Software. Functionality only available from Redwood Software. SAP CPS has two types of events: job events (raised by jobs having specific job statuses or return codes) and file events (raised by files that are created or modified on the operating system). to log changes made to job definitions. for example. DataServices [SAP] SAP BusinessObjects allows you to schedule DataServices. for example. it refers to the system where authentication is done. It always contains a file in which all of the components belonging to the archive are described. File events require the Platform Agent Module. which can then be scheduled on platform agents. E EAR Enterprise Application Archive. ExportRuleSet An object used to store a set of rules to be used when you want to automate the export of objects. Further applications are necessary to enable the correct implementation of the applications contained in the archive after extraction. which means it can be a server. please check your license. Event An object that symbolises a raised event definition. Endpoint An endpoint is a device that is connected as part of a computer network. formally known as Data Integrator. EmailAlertGateway An object used to forward alerts by email. An EAR file is an archive of MIME type "application/zip" and can be extracted with any pack program. In SAP BusinessObjects. a database or an SMTP server. In credentials. these can be exported to shell scripts. 1194 . A file that contains a Web-based application. Dashboard The dashboard allows you to monitor one or more systems using graphs and dials. which interface to third-party solutions. It can be used for other purposes as well. Event Definition Jobs can wait for one or more events to happen before they start. to be used when objects are imported. Some users can access all isolation groups while others can only access one or more. 1195 . a process server creates a job record in the jobs table. J Job A job is a job definition that is submitted to the process server. GHI GRMG [SAP] You can use the Generic Request and Message Generator (GRMG) to monitor the availability of technical components and entire business processes. All job chain jobs in one step are executed directly (parallel processing) and process server waits until all job chain jobs get a final job status before proceeding with a next step (sequential processing). If you are familiar with SAP. this is controlled with roles. calculates the start time and set the job status to Scheduled. The job chain jobs are grouped into steps. Job Chain A job chain is a special job definition that has no command text and executes one or more job definitions (job chain jobs) in parallel or sequentially. iSeries [IBM] see AS/400 Isolation Group Isolation groups are used to isolate objects from specific users. i5/OS [IBM] see AS/400 ImportRuleSet An object used to store sets of rules. isolation groups isolate SAP client/instance combinations from each other allowing you to interact with only one at any given time. If you are familiar with SAP. a job is the equivalent of a one-step job in SAP. The format defines the type of output that the job generates or captures. GRMG is suitable both for technical monitoring and for application monitoring. a job chain is the equivalent of a multi-step job in SAP. In the Free of Charge version. Instance [SAP] An administrative unit that groups components of an SAP System.Reference F Format A format can be assigned to a job definition. When users request the execution of a script. or settings. The SAP System identification. Job Lock A job lock is used to prevent simultaneous execution of jobs. Completed. Job Id [SAP] A job id is a number that represents the id of a job in an SAP System. It is sometimes referred to as Job Id in some SAP Systems. 1196 . Hold. for example. A job definition consists of the command text to be executed and several runtime and scheduling controls. Overdue. JXBP Java External Background Processing is an interface to the JAVA stack of an SAP NetWeaver AS. or Killed. Error. There is also a job id in SAP CPS. QueueHold. which is SAP CPS specific and is the unique identifier of a job in an instance of SAP CPS. The process server checks every 15 minutes for trace files that should be deleted. Job Definition type An object that defines a type of job definition. Keep Until Keep Until is used to specify how long trace files for a specific process server should be kept. It is sometimes referred to as Job Count in some SAP Systems. LockWait. and so on. Running. Some job definitions do not need a source field. Job Execution SAP CPS determines when a job can be run according to the specified start date. EventWait. Canceled. A job is executed in a queue. Never. Queued. Job Status Indicates the current condition of a job.Reference Job Count [SAP] A job count is a number that represents the id of a job in an SAP System. Console. When the start time arrives. Waiting. time window. Deleting. It offers scheduling capabilities for Message-Driven Beans. K Keep Clause The conditions used to determine how many versions of the job output should be kept. Job Definition A job definition defines a process to be executed by the process server. such as Scheduled. this is specified in the job definition type. the process server creates a runner and executes the job. M Mass Activities [SAP] A special set of SAP transactions are used to define mass activities. Library An object used to store RedwoodScript code so that it can be easily re-used in other objects. Monitor An object which allows you to get information about the current state of a system. utilities and systems tools in separate packages. For each module. A mass activity run results in a moderate number of jobs can be processed in parallel. NO Node A node is a device that is connected as part of a computer network. then you are entitled to use the module. if this is set to true. Your license specifies which modules are available to you. A monitor node is an element of the monitor tree. MonitorAlertSource An object used to fire alerts from monitors. but avoids the large overheads of too many jobs. You can add multiple locks to a job definition to define which jobs can and cannot run together. License The license specifies which features are available to you in license keys. 1197 .<module_name> entry. MVS [IBM] See z/OS. These are called Modules. you have a Module.Reference L Lock Locks are used to make sure that specific jobs do not run concurrently. Module SAP CPS provides a number of ERP interfaces. This allows good resource usage of large computer systems with multiple CPUs. A leaf node in the monitor tree is a node that does not have any children. database or other application. com/notes and Redwood Notes at notes.com/<number> [http://:] Operator Message An object used to inform users or operators about an event. You schedule Oracle Health Insurance (OHI) workload with SAP CPS Oracle PeopleSoft See PeopleSoft. PeopleSoft An ERP platform from Oracle. PI [SAP] The PI interface allows you to connect to NetWeaver AS Java systems and control communication channels.sap.Reference Note Both SAP and Redwood use a note system to communicate important pieces of information to their customers. You can access SAP Notes at http://service. OS/390 [IBM] See z/OS. You schedule Oracle Applications workload with SAP CPS Oracle EBS See Oracle Applications. also known as Oracle EBS. Oracle Applications [Oracle] An ERP platform from Oracle. 1198 . PQ Partition An object used to store and isolate objects. You schedule PeopleSoft workload with SAP CPS Period Function A function used to calculate dates.redwood. OS/400 [IBM] See AS/400. Oracle Health Insurance An ERP platform specifically designed for the needs of health insurance companies. For example. when a process server is unable to start. A queue can be open or held. Some of these processes trigger an additional event.Reference Precondition Functions A precondition is a Boolean Redwood Expression Language function stored in the repository. 1199 . For example. and calendar recurrence is based on calendar dates. By assigning these resources to the job definition definitions. Resource A process server provides one or more resources. Error. R Recurrence Recurrence is used to request multiple executions of a script. Report An object that stores the settings required to generate a specific summary of a situation or status. if the outcome evaluates to null or false. Process Server Process servers are used to execute jobs. an HP LaserJet printer. such as an Oracle database. or a Windows environment. or Canceled) or changing the properties of a scheduled or queued job (such as its start time). While a queue is held. Queue Jobs are executed in queues. all jobs for these job definitions are executed by the appropriate process servers. no new jobs are started in the queue. structured recurrence and calendar recurrence. which in turn can start other processes. Process Chain A sequence of processes that are scheduled in the background to wait for a particular event. Rescheduling Restarting any job that has a final status (such as Completed. SAP CPS skips the step or job chain job and sets the job status to Skipped. Structured recurrence is based on a pattern. There are two types of job recurrence.Job Scheduling (BW-SCH) interface allows other systems to schedule Process Chains and InfoPackages in SAP BW. If the outcome of the function evaluates to true. SAP CPS proceeds with the step or job chain job. reports are frequently used to generate a monthly summary of all jobs that reached status Error. S SCH [SAP] The Business Information Warehouse . Submit Frame A submit frame is a cyclic calendar which forces a job to be executed repetitively. Trigger A trigger allows you to specify which actions to perform on an object at specific times. Scheduling Parameters A job definition can have a default queue and a priority. 1200 . for example every object that can must have the Application field set. Time Zones Time zones are areas of the Earth that have adopted the same standard time. A job calendar that defines the period of time during which a job or a queue can be active. for example.Reference Scheduler The scheduler is used to refer to the SAP CPS server. usually as Central Scheduler. Table Definition An object used to describe a table. Triggers are frequently used to enforce policies. for example. T Table An object used to store values. A time window consists of time intervals with either fixed run dates and times or rules such as the first working day of the month. and time zone shapes can be quite irregular because they usually follow the boundaries of states or countries. and rules. A time window is open whenever one of the time elements of this time window is open. When job definition execution is requested and a submit frame is used. like the columns of a table. Time Window A time window defines a time zone in which the job is allowed to be executed. allows you to generate dynamic reports. which can be scheduled by SAP CPS. The one hour separation is not always universal. or a combination of run dates and times. the corresponding job will be restarted automatically by a process server according to the frequency defined in the submit frame. Time zones are generally centered on meridians of a longitude (a multiple of 15 degrees) which makes neighboring time zones one hour apart. All time zones are defined relative to Coordinated Universal Time (UTC). UVW Web Intelligence [SAP] SAP BusinessObjects has a type of report named Web Intelligence. much like a table in a database or a spreadsheet in Microsoft Excel. These scheduling parameters define how the process server handles jobs after they are submitted. such as when an object is changed. z/OS [IBM] The software platform running on IBM Mainframe computers. and intercept jobs as well as raise and clear events in an SAP System. The variant concept also allows for extreme task differentiation. monitor. XBP [SAP] External Background Processing (BC-XBP) is an interface to the SAP CCMS Job Scheduling and Event Handling System. XMW [SAP] External Monitoring Write (BC-XMW or XMW) is an interface to the SAP CCMS monitoring infrastructure. edit. z/OS has had many names over the years. and another person does the scheduling of the ABAP program with the variant. XAL [SAP] The External Interface for Alert Management (BC-XAL or XAL) is an interface to the SAP CCMS monitoring infrastructure. zSeries [IBM] The name of the hardware platform. and update SAP Monitors. The idea behind a variant is that the parameter values change less often than batch jobs are run. currently named IBM System z. where one person determines the contents of the variant. It allows other systems to submit. they can be re-used.Reference XY Z Variant [SAP] A variant is a named object containing a set of valid parameter values that an ABAP program requires to do its work. has been named eServer zSeries. Only ABAP programs that require parameters require variants. 1201 . including MVS and OS/390. generally referred to as Mainframe. It allows other systems to retrieve monitor information from the SAP System. In other words. then zSeries for short. It allows other systems to create.