IP Library Granted Patent US 8,707,279
Granted Patent B2
US 8,707,279 · App. 11/383,696 · Granted Apr 22, 2014

Method and apparatus for executing stored code objects in a database

Inventor: John K. Vincent (Richmond, CA)
Assignee: CA, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,707,279
App. No.
11/383,696
Granted
Apr 22, 2014
Kind
B2
Abstract

A system, method and database development tool are disclosed for automatically generating parameters for use in executing a stored code object in a data base, by parsing source code derived nom existing data base code which represents the stored code object, wherein the parameters may represent complex data types.

Claims (83)

1. A method for executing a program according to a computer-executable medium, comprising:

generating an executable string operable to execute a program stored in a database by:

parsing source code corresponding to the program stored in the database to identify one or more parameter declarations for the program;

retrieving parameter information associated with the one or more parameter declarations from a catalog, wherein the one or more parameter declarations include one or more complex data types that are each associated with a plurality of sub-parameters;

constructing one or more variable declaration statements and one or more variable initialization statements using the one or more parameter declarations and the parameter information, wherein a complex variable declaration for a complex data type is constructed by converting a complex parameter declaration extracted from the source code to a complex variable declaration and appending an initialization statement for each of the plurality of sub-parameters corresponding to the complex data type; and

generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements, wherein the executable string is operable to call the program stored in the database; and

executing the executable string to call the program stored in the database, wherein executing the executable string comprises displaying output parameter values.

2. The method of claim 1 , wherein the parameter information comprises one or more parameter types.

3. The method of claim 1 , further comprising:

receiving a selection of the program;

generating a template for entering one or more input parameter values based on the selection of the program; and

prompting for entry of each of the one or more input parameter values using the template, wherein executing the executable string to call the program stored in the database further comprises utilizing the entered one or more input parameter values.

4. The method of claim 1 , wherein generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements comprises:

generating a first portion of the executable string, the first portion comprising the one or more variable declaration statements, wherein the one or more variable declaration statements establish one or more variables; and

generating a second portion of the executable string, the second portion comprising the one or more variable initialization statements, wherein the one or more variable initialization statements initialize the one or more variables.

5. The method of claim 1 , further comprising:

reverse engineering the program to yield the source code corresponding to the program stored in the database.

6. The method of claim 1 , wherein the executable string further comprises an executable block of code generated and executed in a single testing operation without compiling the executable block of code, and the executable block of code is discarded after completion of the single testing operation.

7. A system for executing a program according to a computer-executable medium, comprising:

a database operable to store data; and

a server comprising memory and one or more central processing units (CPUs) coupled to the database and operable to:

generate an executable string operable to execute a program stored in a database by:

parsing source code corresponding to the program stored in the database to identify one or more parameter declarations for the program;

retrieving parameter information associated with the one or more parameter declarations from a catalog, wherein the one or more parameter declarations include one or more complex data types that are each associated with a plurality of sub-parameters;

constructing one or more variable declaration statements and one or more variable initialization statements using the one or more parameter declarations and the parameter information, wherein a complex variable declaration for a complex data type is constructed by converting a complex parameter declaration extracted from the source code to a complex variable declaration and appending an initialization statement for each of the plurality of sub-parameters corresponding to the complex data type; and

generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements, wherein the executable string is operable to call the program stored in the database; and

execute the executable string to call the program stored in the database, wherein executing the executable string comprises displaying output parameter values.

8. The system of claim 7 , wherein the parameter information comprises one or more parameter types.

9. The system of claim 7 , the server further operable to:

receive a selection of the program;

generate a template for entering one or more input parameter values based on the selection of the program; and

prompt for entry of each of the one or more input parameter values using the template, wherein executing the executable string to call the program stored in the database further comprises utilizing the entered one or more input parameter values.

10. The system of claim 7 , wherein generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements comprises:

generating a first portion of the executable string, the first portion comprising the one or more variable declaration statements, wherein the one or more variable declaration statements establish one or more variables; and

generating a second portion of the executable string, the second portion comprising the one or more variable initialization statements, wherein the one or more variable initialization statements initialize the one or more variables.

11. The system of claim 7 , the server further operable to:

reverse engineer the program to yield the source code corresponding to the program stored in the database.

12. The system of claim 7 , wherein the executable string further comprises an executable block of code generated and executed in a single testing operation without compiling the executable block of code, and the executable block of code is discarded after completion of the single testing operation.

13. A computer program comprising logic embodied on a non-transitory computer readable medium, the logic operable, when executed by a processor, to:

generate an executable string operable to execute a program stored in a database by:

parsing source code corresponding to the program stored in the database to identify one or more parameter declarations for the program;

retrieving parameter information associated with the one or more parameter declarations from a catalog, wherein the one or more parameter declarations include one or more complex data types that are each associated with a plurality of parameters;

constructing one or more variable declaration statements and one or more variable initialization statements using the one or more parameter declarations and the parameter information, wherein a complex variable declaration for a complex data type is constructed by converting a complex parameter declaration extracted from the source code to a complex variable declaration and appending an initialization statement for each of the plurality of sub-parameters corresponding to the complex data type; and

generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements, wherein the executable string is operable to call the program stored in the database; and

execute the executable string to call the program stored in the database, wherein executing the executable string comprises displaying output parameter values.

14. The logic of claim 13 , wherein the parameter information comprises one or more parameter types.

15. The logic of claim 13 , the logic further operable to:

receive a selection of the program;

generate a template for entering one or more input parameter values based on the selection of the program; and

prompt for entry of each of the one or more input parameter values using the template, wherein executing the executable string to call the program stored in the database further comprises utilizing the entered one or more input parameter values.

16. The logic of claim 13 , wherein generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements comprises:

generating a first portion of the executable string, the first portion comprising the one or more variable declaration statements, wherein the one or more variable declaration statements establish one or more variables; and

generating a second portion of the executable string, the second portion comprising the one or more variable initialization statements, wherein the one or more variable initialization statements initialize the one or more variables.

17. The logic of claim 13 , the logic further operable to:

reverse engineer the program to yield the source code corresponding to the program stored in the database.

18. The logic of claim 13 , wherein the executable string further comprises an executable block of code generated and executed in a single testing operation without compiling the executable block of code, and the executable block of code is discarded after completion of the single testing operation.

19. A method for executing a program according to a computer-executable medium, comprising:

receiving a selection of a program;

generating a template for entering one or more input parameter values based on the selection of the program; and

prompting for entry of each of the one or more input parameter values using the template;

generating an executable string operable to execute a program stored in a database by:

reverse engineering the program to yield the source code corresponding to the program stored in the database;

parsing source code corresponding to the program in the database to identify one or more parameter declarations for the program;

retrieving one or more parameter types associated with the one or more parameter declarations from a catalog, wherein the one or more parameter declarations include one or more complex data types that are each associated with a plurality of sub-parameters;

constructing one or more variable declaration statements and one or more variable initialization statements using the one or more parameter declarations and the one or more parameter types, wherein a complex variable declaration for a complex data type is constructed by converting a complex parameter declaration extracted from the source code to a complex variable declaration and appending an initialization statement for each of the plurality of sub-parameters corresponding to the complex data type; and

generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements, wherein the executable string is operable to call the program stored in the database; and

executing the executable string to call the program stored in the database utilizing the one or more input parameter values, wherein executing the executable string comprises displaying output parameter values.

20. A method for executing a subprogram according to a computer-executable medium, comprising:

generating a template for entering one or more input parameter values based on a subprogram stored in a database; and

generating an anonymous block operable to execute the subprogram stored in the database by:

reverse engineering the subprogram to yield source code corresponding to the subprogram stored in the database;

parsing the source code corresponding to the subprogram stored in the database to identify one or more parameter declarations for the subprogram, wherein the one or more parameter declarations include one or more complex data types that are each associated with a plurality of sub-parameters;

establishing one or more variable declaration statements using the one or more parameter declarations, wherein a complex variable declaration for a complex data type is constructed by converting a complex parameter declaration extracted from the source code to a complex variable declaration and appending an initialization statement for each of the plurality of sub-parameters corresponding to the complex data type; and

generating the anonymous block using the one or more variable declaration statements; and

executing the subprogram in the database using the anonymous block utilizing the one or more entered input parameter values.

21. The method of claim 20 , wherein the executable string further comprises an executable block of code generated and executed in a single testing operation without compiling the executable block of code, and the executable block of code is discarded after completion of the single testing operation.

22. A system for executing a program according to a computer-executable medium, comprising:

means for generating an executable string operable to execute a program stored in a database, the means for generating further comprising:

means for parsing source code corresponding to the program stored in the database to identify one or more parameter declarations for the program;

means for retrieving parameter information associated with the one or more parameter declarations from a catalog, wherein the one or more parameter declarations include one or more complex data types that are each associated with a plurality of parameters;

means for constructing one or more variable declaration statements and one or more variable initialization statements using the one or more parameter declarations and the parameter information, wherein a complex variable declaration for a complex data type is constructed using means for converting a complex parameter declaration extracted from the source code to a complex variable declaration and means for appending an initialization statement for each of the plurality of sub-parameters corresponding to the complex data type; and

means for generating the executable string using the one or more variable declaration statements and the one or more variable initialization statements, wherein the executable string is operable to call the program stored in the database; and

means for executing the executable string to call the program stored in the database, wherein executing the executable string comprises means for displaying output parameter values.

Assignments (4)
MERGER Recorded Feb 5, 2014
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 032143/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2007
From: VINCENT, JOHN K.
To: PLATINUM TECHNOLOGY, INC.
Reel/Frame 019925/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2007
From: PLATINUM TECHNOLOGY, INC.
To: PLATINUM TECHNOLOGY IP, INC.
Reel/Frame 019925/0927 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2007
From: PLATINUM TECHNOLOGY IP, INC.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 019926/0087 →
Continuity (3)
Continuation 09602441 · Jun 23, 2000
Continuation 09219253 · Dec 22, 1998
Related Publication 20060195829A1 · Aug 31, 2006