Browse Prior Art Database

Dynamic Creation of Edit Statements to Undo the Action of General- Purpose File Editing Systems

IP.com Disclosure Number: IPCOM000034217D
Original Publication Date: 1989-Jan-01
Included in the Prior Art Database: 2005-Jan-27
Document File: 5 page(s) / 22K

Publishing Venue

IBM

Related People

Meissner, GL: AUTHOR

Abstract

A file update system was created to edit or patch files released in a field product. The system principally uses three statements to do this edit. They are: 1) modify a record of the file, 2) insert a new record into the file, and 3) delete a record from the file. The edit statements are packaged in a file (called a patch) and shipped to sites with the product installed. On that site a program applies these patches to the original file. During this process, it is desirable to build another patch file that will reverse the effect of the original patch so that the change can be completely undone if required. To do this, a method of dynamically building another file (called a backout patch) was devised. This backout patch will contain information to completely undo the original action.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 20% of the total text.

Page 1 of 5

Dynamic Creation of Edit Statements to Undo the Action of General- Purpose File Editing Systems

A file update system was created to edit or patch files released in a field product. The system principally uses three statements to do this edit. They are: 1) modify a record of the file, 2) insert a new record into the file, and 3) delete a record from the file. The edit statements are packaged in a file (called a patch) and shipped to sites with the product installed. On that site a program applies these patches to the original file. During this process, it is desirable to build another patch file that will reverse the effect of the original patch so that the change can be completely undone if required. To do this, a method of dynamically building another file (called a backout patch) was devised. This backout patch will contain information to completely undo the original action. It is built using the same three statement types (modify, insert and delete) so that the same program that applied the original patch can undo it by applying the backout patch. Background: The update language used is designed to be flexible. It is a language that is intended to be instructions to an editing program to update a file. This must be done automatically by a machine without human intervention. Still, the language is written by people so a free form, flexible form is desirable. As such, it is largely built around keywords. Most edit statements consist of a keyword that identifies the type of statement (INSERT or DELETE for example) and data or other information that describes what the statement should do. In particular, data to be compared, inserted or deleted from a line of the target file is called a "string". Strings of data may be coded on the statements as either hexadecimal digits ('F3E9'), or written directly on the statement (3Z). Hexadecimal digits must be used for those cases where there is no printable character to represent the data required. A MODIFY statement will use two strings.

The first is called the BEFORE string. It identifies the data to be replaced by the second string, called the AFTER string. The BEFORE string is located on the target record, the BEFORE string is removed, and the AFTER string is inserted in its place. Because the BEFORE and AFTER strings may be different lengths, a MODIFY statement may result in the record becoming shorter or longer. In addition, the MODIFY statement contains the record number of the file to modify. Optionally, an offset into the record may be coded that tells where to find the BEFORE string on that record. If no offset is coded, the first occurrence of the BEFORE string on the record will be changed. The entire operation involves finding the line to modify, searching for the BEFORE string, removing it, and then putting in the AFTER string. The INSERT and DELETE statements will add or remove entire records and thus, will change the total record count of the file. A DELETE statement contains...