ATS Version 3.0 New/Enhanced features: * Ability to change the font in the console windows. * Ability to save the size and positions of the console windows within the ATS window. * Log Comments added through the dialog box will have a single asterisk preceding them in the log to indicate their source. * Date field on the define holidays screen accepts "0000" for the year. This indicates a recurring holiday and does not have to be re-entered each year. * Date field on the define holidays screen accepts the PLUS and MINUS keys to increment and decrement the displayed date by one day, respectively. * For each event, you can indicate whether or not the event should be reset for the dependent task when the task is run. * For File Modification events: * Control over what type of changes have to be made to a file to determine if the file has been changed, for ATS purposes, or not. Options include: Date, Time, Size, Read Only attribute, Hidden attribute, System attribute and Archived attribute. * Control over file availability requirements when determining if ATS should check to see if a file has been modified. Availability options include: Read, Write, Both or None. * New event type: Periodic. This event will automatically signal itself every n number of seconds, minutes, hours, days or weeks. You can define the time the event should occur the first time and after that, it will be signaled on a regular basis. * New event type: File Missing. If the defined file is missing, this event will signal itself. * Tasks: The task definitions screen has been changed to a notebook control. Separate pages include: Select, Names & Settings, Months, Dates & Times, Day of Week, Day of Month, Special Days, Session Type, Program Details and Dependencies. * You can specify the name of the Job Queue that a task should be run in. In addition, you can specify the priority within the queue that the task has in relation to other jobs that are in that queue. See the section on Job Queues. * You can indicate that a particular task is to be removed from the scheduler once the task is initiated by ATS. * New task definitions can be copied from existing ones. The new ones are exact copies of the existing one with the addition of a '$' character to the name. All characteristics, including dependencies are copied. * The Earliest and Latest Time that tasks can be allowed to run in has been enhanced to add seconds. This eliminates the problems with short running jobs. * The slider for the 'Last Business Day of the Month' under Special Days has been enhanced to allow for the selection of Holiday and Non-Holiday. * Windows and DOS tasks can be directly started by ATS. You no longer need to create and schedule a REXX program to start a Windows or DOS program. * You can specify 'Default' as the session type to start any defined task. * The available Replacement Variables for the task parameters can be selected and inserted directly from a list box on the same screen where you define the tasks program details. * For each defined dependency, you indicate whether or not you want the event reset for that task when the task is run. * The concepts of Job Queues has been introduced into ATS. You can now assign your tasks into different job queues to get better control over how and when each task will be run. The number of job queues that can be defined is limited only by DASD space (as is true for holidays, events and tasks). * For each job queue, you define how many scheduled tasks can be active in that queue at once. The range is 0 - 99. This allows you to 'throttle' the amount of jobs concurrently running even if all of their dependencies have been met. You can create a job queue that only allows one or two concurrent activetasks and assign all of your resource intensive tasks to it and then define another queue with 99 maximum active tasks and assign all other tasks to it. * For each job queue, you define at what OS/2 Priority level the tasks that are in it should be run at. * assuming the maximum number of queued tasks has been hit, queued tasks will be released based upon their priority within the queue (defined in the task definitions notebook) and then date/time that they were added to the queue. * As with tasks, you can create a new job queue by copying an existing one. * Job queues can be scheduled to be opened or closed with the same flexibility as scheduling tasks. If a job queue is closed or blocked (see below), eligible tasks will be added or not based upon the users preferences (see below). * Job queues can be blocked. That is, even if the job queue is scheduled to be opened, no tasks, defined to a blocked queue, will be initiated. * Queued tasks can be deleted from the queue. * The two System Configuration dialogs have been moved into a notebook control. In addition, four new pages have been added. The notebook pages are: Timers, Preferences I, Preferences II, Restart, Business Days and Snapshot. * A new ATS timer has been added. This timer determines how long an Independent Session started by ATS will stay in the Running Tasks Console Window. * The Preferences I screen has options to suppress the Watchdog warning, suppress on-line logging and suppress all logging. * If a job queue is busy or closed, the Preferences II screen allows you to set the action taken upon a task that has become eligible to be added to the queue. Options are: Ignore and don't reset the dependencies, Ignore and reset the dependencies or add the job to the queue. * Restart options indicate what information should be saved between ATS sessions. These include: the size and position of the ATS application window, the state, size and position of the ATS console windows, whether or not to restart interrupted tasks, whether or not to re-queue queued tasks. There are twoothers, but they might not make it into the release. * You can define what days of the week are valid business days for your company. * For the Log and Status Snapshots, you indicate the destination file and whether to replace or append the new information to the file. * Reports have been enhanced and a job queue report has been added. * You can set the fonts used in the console windows. * You can clear the on-line log console window. * Enhanced control over manually signaling and resetting events from the ATS user interface. * An event can be signaled for all dependent tasks. * An event can be signaled for a particular task. * All events for a task can be signaled. * An event can be reset for all dependent tasks. * An event can be reset for a particular task. * All events for a task can be reset. * Enhanced API set. The ATS API set has been enhanced to allow the user to control all aspects of ATS scheduling. In addition, setting and resetting of events, blocking and unblocking job queues, adding text entries to the ATS log, and querying the number of ATS initiated currently active tasks can all be performed from an API. Along with, and as a companion to, the API's we provide an OS/2executable program to perform all of these functions. Here is a list of the API's and related executable along with a brief description of their function: Executable API Function ATSSTOP ATSStop Causes an orderly shut down of ATS. ATSTOLOG ATSAddToLog Adds a text message to the ATS log. The message is prepended with a double asterisk "**" to indicate that it came from the API. ATS_SGNL ATSSignalEvent Signals an event globally, signals an event for a task or signals all events for a task. ATS_RSET ATSResetEvent Resets an event globally, resets an event for a task or resets all events for a task. ATS_HLDY ATSAddHoliday Defines a new holiday to ATS. ATS_HLDY ATSRemoveHoliday Deletes a previously defined holiday. ATS_EVNT ATSAddEvent Defines an event to ATS. ATS_EVNT ATSRemoveEvent Deletes a previously defined event. ATS_EVNT ATSModifyEvent Modifies the definition of a previously defined event. ATS_TASK ATSAddTask Defines a task to ATS. ATS_TASK ATSRemoveTask Deletes a previously defined task. ATS_TASK ATSModifyTask Modifies the definition of a previously defined task. ATS_JOBQ ATSAddJobQueue Defines a job queue to ATS. ATS_JOBQ ATSRemoveJobQueue Deletes a previously defined job queue. ATS_JOBQ ATSModifyJobQueue Modifies the definition of a previously defined job queue. ATS_LINK ATSAddTaskEventLink Defines a new link between a defined task and event. ATS_LINK ATSRemoveTaskEventLink Deletes a previously defined link between a defined task and event. ATS_BLKQ ATSBlockJobQueue Blocks or unblocks a job queue. ATS_FLSH ATSFlushQueue Removes all queued tasks from a job queue. ATS_FLSH ATSFlushTask Removes a particular task from a job queue. ATS_IDBD ATSIsDateBusinessDay Returns a flag indicating whether or not a particular date is a business day based upon defined holidays and weekly business days. ATS_TCNT ATSQueryActiveTaskCount Returns the number of currently active tasks initiated by ATS. ATSREORG Removes any free space from the ATS data file (ATS.DAT). ATS_MIG Migrates the ATS Version 2 data file (ATS.DAT) to be compatible with ATS Version 3. ATSInitTaskStruct Inititalizes with default values the structure used to create and modify tasks. ATSInitJobQStruct Inititalizes with default values the structure used to create and modify job queues.