Abstract:
A script generating system includes a data dictionary adapted to include table structure data. A database management system runs a script generator, which includes a plurality of user defined templates. Activation of the script generator utilizes built-in macros within the database management system and extracts the table structure data. Responsively, one of the templates manipulates the table structure data to generate a script.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates generally to script generators, and more particularly, to a script generator for automating system administration operations.  
         BACKGROUND ART  
         [0002]    As is well known, computer scripts, also referred to as macros or batch files, are lists of commands that can be executed without user interaction. A script language is a simple programming language with which a programmer can write scripts. Examples thereof include BASIC, C, C++, COBOL, FORTRAN, ADA, and PASCAL. Each language has a unique set of key words (words that it particularly understands) and a special syntax organizing program instructions. A script generator generates either a complete computer program written in a prescribed programming language or a portion thereof.  
           [0003]    Previously, to avoid writing a complete program or a complete script, a programmer would start a project by either reusing some previous code that was similar to the current project request or by going to a repository of standard templates. The programmer then proceeds with the time consuming task of replacing mirrored code with new variables. A single project may take a programmer hours or even days to complete, depending on how much rework must be done on the acquired code.  
           [0004]    The disadvantages associated with current script generating techniques have made it apparent that a new technique to generate script in such a manner to minimize required user input, or reworking of previously written code. The new technique should facilitate the writing of code by automatically updating old or previously used code. The present invention is directed to these ends.  
         SUMMARY OF THE INVENTION  
         [0005]    The present invention provides a method for automating system administration operations for use as a script generator. The present invention also provides a system for implementing the script generator.  
           [0006]    In accordance with one aspect of the present invention, a script generating system includes a data dictionary adapted to include table structure data. A database management system runs a script generator, which includes a plurality of user defined templates. Activation of the script generator utilizes built-in macros within the database management system and extracts the table structure data. Responsively, one of the templates manipulates the table structure data to generate a script.  
           [0007]    In accordance with another aspect of the present invention, a method for generating a script includes running a built-in macro for RBDMS architecture dictionary retrieval, and extracting table structure data from a RBDMS architecture dictionary. The table structure data is then converted into an alternate programming language file layout and arranged within a predefined template. Ultimately, a script is generated from the predefined template.  
           [0008]    One advantage of the present invention is that it takes the manual effort of script building, maintenance of database structures and automates it. A further advantage is that the present invention allows programmers to build personalized collections of local templates. Additional advantages and features of the present invention will become apparent from the description that follows and may be realized by the instrumentalities and combinations particularly pointed out in the appended claims, taken in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0009]    For a more complete understanding of the present invention, reference will now be made to the embodiments illustrated in greater detail in the accompanying figures and described below by way of examples of the invention wherein:  
         [0010]    [0010]FIG. 1 is a schematic view of the script generator for automating system administration operations in accordance with one embodiment of the present invention; and  
         [0011]    [0011]FIG. 2 is a logic flow diagram of a method for automating system administration operations in accordance with another embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0012]    The present invention is illustrated with respect to a script generator for automating system administration operations particularly suited to data management. The present invention is, however, applicable to various other uses that may require system administration operations, as will be understood by one skilled in the art.  
         [0013]    Referring to FIG. 1, a system for automating system administration operations (script generating system  10 ), including a script generator  12 , is illustrated in accordance with one embodiment of the present invention. The system  10  also includes a host server  14 , a database  16 , a remote server  18 , and a database generator  20 , all of which are electrically coupled together.  
         [0014]    The host server  14  may include the database  16 , the script generator  12 , and the database generator  20 , or alternately the host server  14  may be a remote unit from any or all of the aforementioned components.  
         [0015]    The script generator  12  may be included within the server  14  or alternately included in a separate unit. The script generator  12  includes a number of templates  22 . The script generator  12  is designed such that the templates  22  may be edited, deleted, or stored in a different of permanent storage unit. The script generator  12  ideally runs on a relational database management system (RDBMS) or database management system (DBMS), and may incorporate data architectures, such as Teradata  
         [0016]    The script generator  12  includes Teradata in one embodiment of the present invention. Teradata is a database management system (DBMS) created by NCR Corporation. It includes both custom hardware and custom software. A Teradata DBMS is useful because it can handle more than 1 terabyte of data, which is why it is used a lot in very large scale data warehousing applications. Essentially, Teradata is a parallel architecture used to efficiently store, retrieve, and process large volumes of data.  
         [0017]    The script generator  12  may include a DBMS, which is a computer program (or more typically, a suite of them) designed to manage a database, a large set of structured data, and run operations on the data requested by numerous users. Typical examples of DBMS uses include: accounting, human resources, and customer support systems. An alternate embodiment of the present invention includes an RDBMS, which is a type of DBMS that stores data in the form of related tables.  
         [0018]    The templates  22  are stored within the script generator  12 . Examples of the templates  22  include an auto load feature to auto load a specific file, a create duplicate copy from a dictionary table layout to generate a backup copy for editing of either the original or the duplicate, a multi-load delete to include a delete that works off a separate file whereby a parallel connection between the two files can result in a parallel deletion of data within the files, a template for collecting statistics on columns and upfront optimizations, a template with a syntax that purges data from a table or other template thereby allowing two templates to link together, a template including the secondary index that allows storing of data on a table or removing data on a table for a separate fast load procedure then reincorporating the data, a template to replace or update the template with a new template, and a template to clean or filter out data. Important to note is that numerous other templates may be designed and incorporated in a system embodied herein.  
         [0019]    These templates  22  generate error-free scripts for an infinite number of table structures by incorporating and manipulating dictionary information from the dictionary  15 . The script generator  12  also allows users at remote terminals  18  to download the templates  22  and generate new templates or user-defined templates using predefined variables, such as the ones used in the templates  22 . The templates  22  may also call other templates into the templates  22  as variables, thereby allowing the user to quickly assemble repetitive, complex script logic solely from dictionary information.  
         [0020]    The database dictionary  20 , which may be a Teradata data dictionary, as most other RDBMS architectures are, holds information regarding table structures (i.e. column names, data types, formatting, default values, primary index, secondary index, column statistics, views, etc.). By utilizing built-in macros for dictionary retrieval, dictionary information can be obtained instantly on all table structures. Once retrieved, this dictionary information is then manipulated using the aforementioned predefined templates  22  to generate error-free scripts  16 .  
         [0021]    In one embodiment of the present invention, the remote server  18  receives information from the database  16 , and a user applies the database information to various programs, such as inventory reports. In an alternate embodiment, the user designs templates on the remote server  18  and extracts dictionary information for use in the templates. The remote server  18  may include an alternate script generator or may be linked to the script generator  12 .  
         [0022]    Referring to FIG. 2, a logic flow diagram of a method for automating system administration operations is illustrated. Logic starts in operation block  102  where a programmer creates templates  22  using information from the database dictionary  20 .  
         [0023]    In operation block  104 , either the programmer or a user at a remote terminal  18  chooses the database type with which to run one of the templates  22 . In operation block  106 , the desired procedure is selected, and various templates  22  for implementing the procedure are incorporated within the procedure script.  
         [0024]    In operation block  108 , the procedure is displayed in its entirety. In operation block  110 , the procedure is FTPd (file transfer protocol) to various systems requiring the procedure or aspects of the procedure. In operation  112 , the procedure is run on either the server  14  or a remote server  18 .  
         [0025]    In operation, the method for generating a script  16  includes running a built-in macro for RBDMS architecture dictionary retrieval, and extracting table structure data from a RBDMS architecture dictionary  20 . The table structure data is then converted into an alternate programming language file layout, such as COBOL, and arranged within a predefined template  22 . Ultimately, a script is generated from the predefined template  22 .  
         [0026]    From the foregoing, it can be seen that there has been brought to the art a new script generating system  10 . It is to be understood that the preceding descriptions of various embodiments are merely illustrative of some of the many specific embodiments that represent applications of the principles of the present invention. Numerous and other arrangements would be evident to those skilled in the art without departing from the scope of the invention as defined by the following claims.