Technical Abstract

Stitch-in-Time Data Integrity Software is an iSeries-based utility that easily and independently determines which user made what changes when to user-selected database files, and how those changes were accomplished. It records the data changes to these data files without any changes to files or programs and provides for analysis and reporting of these changes. Stitch-in-Time is easy to use because it leverages the database analyst's knowledge of an organization's database, without requiring knowledge of the complex process of journaling. Stitch-in-Time is independent because it utilizes operating system level features which cannot be circumvented, and makes no changes to any system or applications programs or objects.
 
 
Observation
 

Stitch-in-Time allows personnel to specify any number of data files for independent observation. Observation is the automatic and separate recording of any and all changes made to the specified data file. The journaling facilities built in to the operating system are used to accomplish this observation, but knowledge and understanding of journaling is not required.

Observation can be specified to span a user-defined time frame. After a file is added to the list of observed files, the monitoring element of Stitch-in-Time can begin and end the periods of observation automatically, or the user can optionally control this manually. This automatic monitor capability allows for automation of the journaling facilities built-in to Stitch-in-Time while allowing the user to limit the burden that this process places on the system, and requires no further interaction with the user.

Note: Good judgment and reasonable systems knowledge is needed to make wise decisions about what files to select for observation.

Master files, system parameter files, and files containing business process rules are excellent choices. The number of critical content changes to these kinds of files is typically modest; therefore, the DASD consumed by the Stitch-in-Time observation is also likely to be very modest.

On the other hand, it may not be wise to select an inventory transaction file for observation. The value of instructing Stitch-in-Time to observe the flood of new records in this kind of file would be quite low. Typically, transaction file records already include more than adequate information about the source of each new record.

 
Storage Space Consumed
 

Stitch-in-Time is very frugal in its use of CPU time and disk space and has been designed to utilize and maintain the smallest possible journal receiver size. It manages its own journal receivers automatically without user involvement, removing journal receivers as they reach their factory-set ceiling size, thus requiring no more than a single journal receiver.

Stitch-in-Time also works with user created journals, assumes the user has procedures in place to manage them and does nothing to interfere with their use. In fact, Stitch-in-Time will not allow a Stitch-in-Time user to stop observation (journaling) on a file for which journaling was defined elsewhere. Just as importantly, while Stitch-in-Time uses the journal data included in user-managed journals, the user is free to switch journals, delete them, or any other journal process without interfering with Stitch-in-Time's functionality, with the exception being that if journaling of a file is stopped by some other process, it is also stopped within Stitch-in-Time.

Stitch-in-Time intercepts all journal entries for each observed file and stores them in a Data Audit file designated for each observed file. This allows Stitch-in-Time to utilize both internal journals and journals created outside of Stitch-in-Time's control without inhibiting the purpose and use you're your installation may have for those outside journals.

 
 
The Data Audit file
 

When an observed file is actively being observed, Stitch-in-Time invokes a separate task which intercepts and formats the journal entries, storing them in the Data Audit file. The Data Audit file is thus the repository for all data analysis on the observed file and could grow increasingly larger on a daily basis. Stitch-in-Time provides both automatic and manual methods that allow user control on the size and content of the Data Audit file for each observed file.

When a file is specified for observation, the user may designate any field(s) in the file to be ignored for data content change. It is recognized that more than a few changes happen regularly and often to database files, but those changes are less likely to require later analysis for tracking.

For example, a Customer Master may contain a field that is a running total of open Customer Order value. On any regular business day, this field may be the only field content in the observed Customer Master that actually changes as orders are accepted and shipped. However, observation of this file would record at least two entries for every update that occurred to this file, multiplied by each update that occurred during the day, and these changes would also be recorded in the Data Audit file, taking up disk storage space.

Stitch-in-Time includes a regularly scheduled batch process to save DASD. That batch process reviews the Data Audit file to eliminate unnecessary Data Audit records. A record is considered unnecessary if the changes it has captured are limited to nothing more than changes to fields which have been designated "ignore."

  Let's use a Customer Master file example to illustrate this. Let's say that the Stitch-in-Time user designated only one field in the Customer Master file as "ignore" --- the "Order Value" field.
     
  Now, if a Data Audit record was found that included a change to the
    "Customer Name" field and the "Order Value" field, that record would not be removed as part of the automatic batch process.
   
  However, if another Data Audit record included a change to only the
    "Order Value" field, then that record would be removed as part of the automatic batch process.

This batch process then reduces the size of the Data Audit file for each observed file and this batch process is launched on a regular basis without user intervention.

To further increase opportunities to reduce storage space consumed by the Data Audit file, Stitch-in-Time provides another method that allows the user to separately remove any and all records from the Data Audit file for any observed file and includes the capability of selecting by journal entry values, such as User, Date and Time, program name, etc.

 
 
Audit Analysis and Reports
 

Any time after file observation has begun, the user can define one or more audit reports for an observed file.

Audit definition is the interactive process whereby the user selects one or more fields from the observed file for investigation for data content change and cause that change to be included in a printed audit report. Selecting field(s) for investigation informs Stitch-in-Time that you want to create a report that will display all occurrences (within the date and time ranges and other selection criteria specified) when the value of the designated field(s) changed, by whatever means. The Stitch-in-Time utility would select and print only those audit file records that contained evidence of a change to the investigated fields, including in the report only those fields selected for inclusion.

The Data Audit file is processed chronologically in sequence as the images were created, reviewing the selected fields for changes in content. When a change in content is found, the before-change image and after-change image of the fields selected for inclusion in the analysis report would be printed for the user to review. The following information is also printed on the analysis report for each content change discovery:

  Other fields which were selected for report inclusion (these are the fields
    that were not selected for inspection, just for inclusion in the report)
     
  the precise date and time the change occurred
   
  the ID of the user who executed the change
   
  the name of the job/program the user employed to perform the change
     
  The relative record number of the record changed
     
  A short description of the nature of the change
     

Note: Modifications to physical files can have a broader scope than just changing the content of a field; examples would include:

  moving or renaming a file
     
  clearing or deleting a file or members
     
  addition/deletion of members
   
  deleting a record
   
  file redefinitions (like field redefinitions)
   
  switching the journaling function on or off
     

Modifications of this genre are also traced by Stitch-in-Time and alerts about those changes are automatically included in Stitch-in-Time analysis reports.

     
Subsystem
 
Most of the functionality and features of Stitch-in-Time described above takes place in a separate batch subsystem designed for Stitch-in-Time use only. This subsystem is where the automatic monitoring element executes and also supports all tasks required by Stitch-in-Time, such as: the interception and recording of all journal entries for observed files, automated Data Audit removal procedures, and Audit Report creation and execution.
 
 

How to learn more about Stitch-in-Time software

Unbeaten Path International has developed this Bells & Whistles® utility for the AS/400 and questions can be directed to our company as follows:

Toll free North America: (888) 874-8008
International voice line: (262) 681-3151

e-mail: upi@execpc.com