WO2006080913A1 - Report generating systems and methods - Google Patents

Report generating systems and methods Download PDF

Info

Publication number
WO2006080913A1
WO2006080913A1 PCT/US2005/002386 US2005002386W WO2006080913A1 WO 2006080913 A1 WO2006080913 A1 WO 2006080913A1 US 2005002386 W US2005002386 W US 2005002386W WO 2006080913 A1 WO2006080913 A1 WO 2006080913A1
Authority
WO
WIPO (PCT)
Prior art keywords
report
program code
data
generating program
pic
Prior art date
Application number
PCT/US2005/002386
Other languages
French (fr)
Inventor
Sanjay Kumar Pandey
Original Assignee
Efunds Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Efunds Corporation filed Critical Efunds Corporation
Priority to PCT/US2005/002386 priority Critical patent/WO2006080913A1/en
Publication of WO2006080913A1 publication Critical patent/WO2006080913A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Definitions

  • the present invention relates to methods and systems for automatically generating a report based on user input.
  • embodiments of the invention relate to generating program code (i.e., "instructions") that when executed generate a report based on data and formats provided by a user.
  • Some embodiments of the invention therefore provide a method of producing report- generating program code.
  • the method can include obtaining an indication as to a source of data to be included in a report generated by the execution of the report-generating program code; retrieving data from the source; obtaining formatting instructions for the data to be included in Attorney Docket No: 025213-9117
  • Another embodiment provides a system for producing report-generating program code.
  • the system can include interfacing means for obtaining an indication as to a source of data to be included in the report-generating program code and for obtaining formatting instructions for the data to be included in the report-generating program code.
  • the system can include retrieving means for retrieving the data from the source and producing means for producing the report-generating program code.
  • Additional embodiments provide a computer readable medium containing instructions for producing report-generating program code.
  • the instructions can include obtaining an indication as to a source of data to be included in the report-generating program code; retrieving data from the source; obtaining formatting instructions for the data to be included in the report- generating program code; and producing the report-generating program code based on the data and the formatting instructions.
  • FIG. 1 is a schematic illustration of a report generating system according to one embodiment of the invention.
  • FIG. 2 is a flow chart illustrating a method of producing report-generating program code according to one embodiment of the invention.
  • FIGS. 3-27 illustrate screen shots related to the steps of the method of FIG. 2.
  • embodiments of the invention include both hardware and electronic components or modules that, for purposes of discussion, may be illustrated and described as if the majority of the components were implemented solely in hardware.
  • the electronic based aspects of the invention may be implemented in software.
  • a plurality of hardware and software based devices, as well as a plurality of different structural components may be utilized to implement the invention.
  • the specific configurations illustrated in the drawings are intended to exemplify embodiments of the invention and that other alternative configurations are possible.
  • FIG. 1 is a schematic illustration of a report generating system 10 according to one embodiment of the invention.
  • the system 10 can include a report generator tool (hereinafter “tool") 20, a tool access point 30 (e.g., a workstation or a terminal), a report data storage medium (hereinafter “input medium”) 40, and a report-generating program code storage medium (hereinafter “output medium”) 50.
  • the tool 20 can be connected to the tool access point 30 by a connection 60.
  • the tool 20 can also be connected to the input medium 40 and the output medium 50 by connections 70 and 80, respectively. It should be understood that the connections 60, 70, and 80 can include wired and/or wireless connections.
  • connections 60, 70, and 80 can be part of a network, such as a local area network or the Internet. It should also be understood that, although shown as separate components, the tool access point 30 can be combined with tool 20. The tool access point 30 can also be combined with the input medium 40 and/or the output medium 50. The input medium 40 and the output medium 50 can also be Attorney Docket No: 025213-9117 WO
  • the input medium 40 and the output medium 50 can also each include multiple discrete storage mediums.
  • a user can use the tool access point 30 to request the production of report-generating program code from the tool 20.
  • the tool access point 30 (and any input devices included in the tool access point 30) obtains data source indications and formatting instructions from the user.
  • the tool access point 30 can display visual forms or prompts for requesting and obtaining data source indications and formatting instructions from the user. Visual screens that can be displayed by the tool access point 30 are illustrated in FIGS. 3-28 and described below.
  • the tool access point 30 can transmit the data source indications and the formatting instructions to the tool 20 via the connection 60.
  • the tool 20 can produce report-generating program code based on the data source indications and the formatting instructions.
  • the report- generating program code when executed, can generate a report including the data indicated by the data source.
  • the data included in the report can also be formatted based on the formatting instructions.
  • the tool 20 can also obtain the data indicated by the data source.
  • the tool 20 can access the input medium 40 to obtain the data.
  • the input medium 40 includes a database or a file.
  • the input medium 40 can also include a control card previously generated by the tool 20.
  • the control card can include the data.
  • the control card can also include formatting instructions, in some embodiments.
  • the formatting instructions can include instructions for configuring a report length. For example, the tool 20 can generate a report with up to approximately 9999 bytes.
  • the formatting instructions can also include instructions for configuring lines per page of the report. In some embodiments, 59 lines per page are generated by default if no specific lines per page formatting instructions are obtained.
  • the formatting instructions can include instructions specifying control breaks. For example, the tool 20 can provide 9 levels of control breaks.
  • the formatting instructions can include instructions for performing internal sorting. In some embodiments, the tool 20 can sort up to a maximum of approximately 9 keys.
  • instructions can include instructions for specifying the summation of field for control total, page total, and end of report total.
  • the formatting instructions can also include instructions for suppressing duplicate details fields and/or suppressing a summary at control.
  • the formatting instructions can include customization instructions.
  • the customization instructions can specify customized page heads with variables and text, customized control headings with variables and text, customized control footers, and customized end-of-the-report headers with variables and text.
  • the tool 20 can provide system fields that are associated with variables included in customizations.
  • the tool 20 can include system date and time fields that can be associated with variables included in customizations.
  • the tool 20 can include a restructured, extended executor configured to write an optimized, formatted and engineered program that, when executed, generates a report.
  • the tool 20 generates common business-orientated language ("COBOL") program code.
  • COBOL common business-orientated language
  • the tool 20 can provide the additional functionality of compiling and executing of the generated program code.
  • the tool 20 can also provide field level help and tutorials.
  • the tool 20 can also provide an on-line tool execution monitor.
  • the tool 20 can transmit the program code to the output medium 50.
  • the tool 20 can transmit the program code to the output medium 50 via the connection 80.
  • the user can retrieve the stored program code from the output medium 50 and can modify the program code.
  • the tool 20 can be configured to compile the program code to generate executable report-generating program code.
  • the tool 20 can be configured to store the executable report- generating program code in the output medium 50.
  • the tool 20 can also execute the executable report-generating program code and can store a generated report in the output medium 50.
  • FIG. 3 illustrates a "MAIN MENU" screen 105 according to one embodiment of the invention.
  • the tool 20 can include one or more tools Attorney Docket No: 025213-9117 WO
  • selecting the 'TOOL F option can provide a first tool that produces program code that generates reports of length up to approximately 132 pages.
  • Selecting 'TOOL IF option can provide a second tool that produces program code that generates more complex or lengthy reports.
  • the first tool can generate default program code to generate default reports and the second tool can generate customized program code.
  • the user can specify the report length and the number of lines per page. The user can also select the 'Tutorials' option to receive help with operating the tool 20.
  • the user can select (at 110) an indication of a source or type of data.
  • the data will be included in the report generated by executing the program code produced by the tool 20.
  • the tool access point 30 displays an input type specification menu that allows the user to select an indication of the source or type of data to be input to the program code.
  • FIG. 4 illustrates an "Input Type Specification Menu" screen 115 according to one embodiment of the invention.
  • the type of data can include a file, such as a virtual storage access method (“VSAM”) file or a queued sequential access method (“QSAM”) file.
  • the type of data can also include a query that, when executed, retrieves data from a database.
  • the type of data can also include a control card generated by the tool 20.
  • FIG. 5 illustrates a "Query Panel” screen 125 according to one embodiment of the invention.
  • the user can also enter a database table declaration generator.
  • the input medium 40 includes a database management system, such as DB2, and the user can input a description generator ("DCLGEN") of the specified SQL query that generates DB2 SQL data structures in COBOL programs.
  • DCLGEN description generator
  • the host variables must be selected serially (numeric) depending on the SQL query column sequence.
  • the user can also enter the dataset name (“DSN”) system name.
  • the tool 20 can execute the query to retrieve data from a database.
  • the tool 20 can transmit the results of executing the Attorney Docket No: 025213-9117 WO
  • FIG. 6 illustrates a "QUERY RESULT" screen 135 according to one embodiment of the invention.
  • the user can review the query results and can determine if the results include the intended report data.
  • FIG. 7 illustrates a "Host Variable and Other Specifications" screen 145 according to one embodiment of the invention.
  • the user can enter the DSN and member name where the previously-entered DCLGEN is stored.
  • the user can enter a program name and a source code DSN.
  • the program name will be assigned to the program code produced by the tool 20.
  • the source code DSN specifies the library name where source code is to be stored.
  • a user identification may be prefixed to the DSN to distinguish one user's code from another.
  • the user can specify whether he or she wants to add a record number. Entering a "Y" can add a sequence number in each detail record of the report. In some embodiments, size bytes are reserved for sequence number and only remaining bytes are available for details columns.
  • the user can specify whether the tool 20 should optimize the column headings and details. In some embodiments, the tool 20 can optimize the headings by automatically positioning the start and end positions of the column headings and detail. Entering 'N' for this option can allow the user to specify the start position and length of the column headings and details.
  • the user can specify whether the report should include a summary at the end of each page.
  • a separate screen or prompt is displayed to allow the user to write text and variables for the summary.
  • the user can also specify whether he or she wants to format an end-of-report summary.
  • a separate screen or prompt can be displayed for the user to specify text and variables to appear in the end-of-report summary.
  • the user can specify whether he or she wants to compile the source code or if he or she wants to compile the source code and run the related execution. If the user enters "Y" for the "Do You Want to Compile only” option or the "Do You Want to Compile & Run” option, as Attorney Docket No: 025213-9117 WO
  • FIG. 7 illustrates a "Compile and Run Specifications" screen 155 according to one embodiment of the invention.
  • the compilation related inputs can include a load library specification.
  • the user can specify the load library name where the load module is to be stored.
  • the compilation related input can include a database request module ("DBRM") library name where the DBRM is to be stored.
  • DBRM database request module
  • a user identification can be prefixed before the name.
  • the compilation related inputs can also include a plan name, hi some embodiments, if the plan name is blank, the program name will be assumed the same as the plan name.
  • the "Compile and Run Specifications" screen 155 can also obtain execution related inputs.
  • a separate screen can also be provided to obtain execution related inputs if the user enters "Y" for the "Do You Want to Compile & Run” option shown in FIG. 7.
  • FIG. 9 illustrates a "Field Selection Panel" screen 165 according to one embodiment of the invention.
  • the sequence numbers associated with each data field can be assigned based on the order that the data fields where selected by the query.
  • the user can use the screen 165 to make sure that the field order is the same as defined in the query. For not "NOT NULL" columns, the user can enter an "I” in an indicator field ("IND") with the same sequence number as the original data field.
  • IND indicator field
  • FIGS. 10- 13 illustrate a "Report Specifications" screen 175 according to one embodiment of the invention.
  • the report specifications can include a sequence number (“SN") that specifies the sequence number in which columns are to be displayed in the report.
  • the tool 20 can provide heading formatting options.
  • the user can specify standard text and variables in a heading.
  • the user can Attorney Docket No: 025213-9117 WO
  • the tool 20 can provide current date and time variables that the user can use in headings.
  • the user can enter one or more column headings for each data field. As shown in FIGS. 10-13, the user can specify a first, second, and third column heading. In some embodiments, if the first column heading is blank and the data field is selected to be included in the report, then a variable name will be inserted in the column heading.
  • the user can specify a sort key sequence number for each data filed.
  • the user can also specify a sort order of the key.
  • the sort order can be set to "A" ascending or "D" descending. In some embodiments, sort order is set to ascending by default.
  • the user can specify page break definitions for control breaks.
  • the user can set a page break with a new serial number and a new page number, a page break with a new page number only, a page break with no renumbering of page number or serial number, or no page break (only a control break).
  • the user can also specify a control order that specifies the control order in which fields are to be controlled. In some embodiments, the control order is a numeric number.
  • Control break heading entry space is also provided on the screen 175. The user can write text in the space.
  • the tool 20 can attach the data field name to the text in source code.
  • the user can specify the suppression of duplicate values in the report and the suppression of a summary on a control break when the report is printed.
  • the user can specify whether he or she wants a page break sum ("PBS") and/or a control break sum (“CBS”) printed on the report.
  • PBS page break sum
  • CBS control break sum
  • the user can enter a 'Y' to have an end of report sum (“ERS”) printed at the end of the report.
  • the tool will only generate sums when the data field is a numeric type data field.
  • the user can specify an edited picture clause to be displayed in the report.
  • the edited picture clause is in a COBOL format. In some embodiments, if an Attorney Docket No: 025213-9117 WO
  • the tool 20 assumes the field picture clause as specified in the file layout.
  • FIG. 14 illustrates another "Report Specifications" screen 185 that allows the user to specify the start position and the length of a column heading and details.
  • the tool 20 determines the length of the specified column heading and details, and places the value in the length field. In some embodiments, the tool 20 prohibits overlapping between column headings and/or details.
  • FIG. 15 illustrates a "Heading Layout Specifications" screen 195 according to one embodiment of the invention.
  • the user can mix text and variables.
  • all text (including spaces) start with a "+” sign and all variables start with a "&" sign.
  • All text and variables can end with a "+” sign or a "&” sign.
  • Each heading line can end with a "+” sign.
  • Variables in the heading can also be numbered.
  • the tool 20 can display a preview screen.
  • FIG. 16 illustrates a preview screen 205 according to one embodiment of the invention.
  • the user can view the preview screen 205 and can make adjustments to the text and variables included in the heading.
  • the preview screen 205 displays the heading as it will look in the actual report when generated.
  • FIG. 17 illustrates a "Header Field Selection Panel" screen 215 according to one embodiment of the invention.
  • the user can enter a variable number to relate with a specified variable.
  • the user can also enter a display picture clause for each variable.
  • the tool 20 assigns the display picture clause of the data field as defined in the file layout.
  • the user can also specify an end-of-report layout.
  • FIG. 18 illustrates a "End of Report Layout" screen 235 according to one embodiment of the invention.
  • the user can specify an end-of- report layout that includes text and variables.
  • the layout follows the same rules as specified above for distinguishing text from variables.
  • the tool 20 can generate a preview of the end of the report as specified in the layout.
  • FIG. 19 illustrates a "End of Report Summary Preview" screen 235.
  • the user can return to the "End of Report Layout" screen 225 to make changes to the layout based on the preview screen 235.
  • the user can also specify variable numbers and display picture clauses if the end-of- report layout specified by the user contains the variables, as described and illustrated above.
  • the tool 20 produces (at 240) the program code.
  • Sample program code according to one embodiment of the invention follows.
  • 502 IS LCP-P02. INPUT-OUTPUT SECTION. FILE-CONTROL .
  • EXEC SQL INCLUDE MYTEST END-EXEC .
  • EXEC SQL INCLUDE SQLCA END-EXEC .
  • INPUT PROCEDURE IS 25000-GENERATE-WORK-RCD OUTPUT PROCEDURE IS 30000 - PRODUCE-REPORT .
  • the tool 20 produces a control file in addition to the program code based on the entered values.
  • the tool 20 can store the control file in the output medium 50.
  • the program code is stored according to a program name specified by the user. If the program code is compiled and executed, the generated report can be stored in a Attorney Docket No: 025213-9117 WO
  • FIG. 20 illustrates an "Online Status" screen 245 according to one embodiment of the invention.
  • the screen 245 can display a time elapsed and a percent completed for preparing and processing the program code.
  • FIG. 22 illustrates a "Input File Layout Specification" screen 255 according to one embodiment of the invention.
  • the user can use the screen 255 to enter a DSN and member name that specifies the DSN and member where a file layout is stored.
  • the user can also enter a program name and a source code DSN.
  • the source code DSN can specify the library name where source code is to be stored. If the DSN does not have quotes, a user identification can be prefixed to the DSN name.
  • the user can also specify a file mode and VSAM file details.
  • the file mode specifies the file mode of the input file.
  • the default mode can be a fixed file mode.
  • the file mode specification can only be applicable to particular file types, such as QSAM file.
  • FIG. 23 illustrates an "Input FILE-CONTROL Specification" screen 265 according to one embodiment of the invention. The user can use the screen 265 to specify the organization, the access mode, the relative keys, and the alternate keys.
  • the user can use the screen 255 to specify whether he or she wants to add a record number. Entering a "Y" can add a sequence number in each detail record of the report. In some embodiments, size bytes are reserved for sequence number and only remaining bytes are available for details columns.
  • the user can specify whether the tool 20 should optimize the column headings and details. In some embodiments, the tool 20 can optimize the headings by automatically positioning the start and end positions of the column headings and detail. Entering "N" for this option can allow the user to specify the start position and length of the column headings and details.
  • the user can specify whether the report should include a summary at the end of each page.
  • a separate screen or prompt is displayed to allow the user to write text and variables for the summary.
  • the user can also specify whether he or she wants to format an end-of-report summary.
  • a separate screen or prompt can be displayed for the user to specify text and variables to appear in the end-of-report summary.
  • the user can specify whether he or she wants to compile the source code, or if he or she wants to compile the source code and run the related execution. If the user enters "Y" for the "Do You Want to Compile only” option or the "Do You Want to Compile & Run” option, as shown in FIG. 22, the user enters (at 150) compilation related inputs.
  • FIG. 24 illustrates a "Compile and Run Specifications" screen 275 according to one embodiment of the invention.
  • the compilation related inputs can include a load library specification. The user can specify the load library name where the load module is to be stored. In some embodiments, if the user entered 'Y' for the 'Do You Want to Compile & Run' option, the user specifies an input DSN.
  • FIG. 25 illustrates a "Field Selection Panel" screen 285 according to one embodiment of the invention. As shown in FIG. 25, to select a field, an "S" is entered next to the data field.
  • the user can specify report specifications (at 170) and a heading layout (at 180) as shown and described with respect to FIGS. 10-19.
  • the user can also specify an end-of-report layout.
  • the tool 20 then produces (at 240) the program code and stores the program code (and the compiled code and execution results). In some embodiments, the tool 20 displays the on-line monitoring screen, as shown in FIG. 20.
  • a third data type option can include a "3 CONTROL CARD AS INPUT” option.
  • the user can select the "3 CONTROL CARD AS INPUT” option from the "Input Type Specification Menu” screen 115 (as shown in FIG. 26). Selecting the "3 CONTROL CARD AS INPUT” allows the user to input the DSN of a previously-generated control card.
  • FIG. 27 illustrates a "Control Card Specifications" screen 295 according to one embodiment of the invention.
  • the user can use the screen 295 to specify the control card name.
  • the control card name is set or prepared by tool 20 when it is generated.
  • the user can also specify a control card DSN. If the DSN does not include quotes, a user identification is prefixed to the name.
  • the tool 20 After the user specifies the control card name and the control card DSN, the tool 20 produces (at 300) the program code and stores the program code (and the compiled code and execution results).
  • the tool 20 can also display the on-line monitoring screen as shown in FIG. 20.
  • the user can specify report specifications, a heading layout, and/or a report layout as shown and described with respect to FIGS. 10-20.

Abstract

Methods and systems for producing report-generating program code. A method can include obtaining an indication as to a source of data to be included in a report generated by the execution of the report-generating program code; retrieving data from the source; obtaining formatting instructions for the data to be included in the report-generating program code; and producing the report-generating program code based on the data and the formatting instructions.

Description

Attorney Docket No: 025213-9117 WO
REPORT GENERATING SYSTEMS AND METHODS
COPYRIGHT NOTICE
[0001] A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
[0002] Writing a program to generate a report can be a time consuming activity in almost all projects. Normally, a programmer spends extensive amounts of time coding, testing, and re- testing a report program. Often, the programmer may not find all of the errors or mistakes in a program. The programmer may also repeatedly include common errors in a report program, such as forgetting to initialize a record or forgetting to handle a "no input" record condition.
SUMMARY OF THE INVENTION
[0003] Conventional report writing tools often provide report programming assistance. However, conventional report generating tools often only generate the executable program code for the report program and do not provide the program code for a programmer to review and/or modify.
[0004] The present invention relates to methods and systems for automatically generating a report based on user input. In particular, embodiments of the invention relate to generating program code (i.e., "instructions") that when executed generate a report based on data and formats provided by a user.
[0005] Some embodiments of the invention therefore provide a method of producing report- generating program code. The method can include obtaining an indication as to a source of data to be included in a report generated by the execution of the report-generating program code; retrieving data from the source; obtaining formatting instructions for the data to be included in Attorney Docket No: 025213-9117
the report-generating program code; and producing the report-generating program code based on the data and the formatting instructions.
[0006] Another embodiment provides a system for producing report-generating program code. The system can include interfacing means for obtaining an indication as to a source of data to be included in the report-generating program code and for obtaining formatting instructions for the data to be included in the report-generating program code. The system can include retrieving means for retrieving the data from the source and producing means for producing the report-generating program code.
[0007] Additional embodiments provide a computer readable medium containing instructions for producing report-generating program code. The instructions can include obtaining an indication as to a source of data to be included in the report-generating program code; retrieving data from the source; obtaining formatting instructions for the data to be included in the report- generating program code; and producing the report-generating program code based on the data and the formatting instructions.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 is a schematic illustration of a report generating system according to one embodiment of the invention.
[0009] FIG. 2 is a flow chart illustrating a method of producing report-generating program code according to one embodiment of the invention.
[0010] FIGS. 3-27 illustrate screen shots related to the steps of the method of FIG. 2.
DETAILED DESCRIPTION
[0011] Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology Attorney Docket No: 025213-9117 WO
used herein is for the purpose of description and should not be regarded as limiting. The use of "including," "comprising" or "having" and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. The terms "mounted," "connected" and "coupled" are used broadly and encompass both direct and indirect mounting, connecting and coupling. Further, "connected" and "coupled" are not restricted to physical or mechanical connections or couplings, and can include electrical connections or couplings, whether direct or indirect.
[0012] In addition, it should be understood that embodiments of the invention include both hardware and electronic components or modules that, for purposes of discussion, may be illustrated and described as if the majority of the components were implemented solely in hardware. However, one of ordinary skill in the art, and based on a reading of this detailed description, would recognize that, in at least one embodiment, the electronic based aspects of the invention may be implemented in software. As such, it should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components may be utilized to implement the invention. Furthermore, and as described in subsequent paragraphs, the specific configurations illustrated in the drawings are intended to exemplify embodiments of the invention and that other alternative configurations are possible.
[0013] FIG. 1 is a schematic illustration of a report generating system 10 according to one embodiment of the invention. The system 10 can include a report generator tool (hereinafter "tool") 20, a tool access point 30 (e.g., a workstation or a terminal), a report data storage medium (hereinafter "input medium") 40, and a report-generating program code storage medium (hereinafter "output medium") 50. The tool 20 can be connected to the tool access point 30 by a connection 60. The tool 20 can also be connected to the input medium 40 and the output medium 50 by connections 70 and 80, respectively. It should be understood that the connections 60, 70, and 80 can include wired and/or wireless connections. The connections 60, 70, and 80 can be part of a network, such as a local area network or the Internet. It should also be understood that, although shown as separate components, the tool access point 30 can be combined with tool 20. The tool access point 30 can also be combined with the input medium 40 and/or the output medium 50. The input medium 40 and the output medium 50 can also be Attorney Docket No: 025213-9117 WO
combined as a single storage medium. The input medium 40 and the output medium 50 can also each include multiple discrete storage mediums.
[0014] A user can use the tool access point 30 to request the production of report-generating program code from the tool 20. In some embodiments, the tool access point 30 (and any input devices included in the tool access point 30) obtains data source indications and formatting instructions from the user. The tool access point 30 can display visual forms or prompts for requesting and obtaining data source indications and formatting instructions from the user. Visual screens that can be displayed by the tool access point 30 are illustrated in FIGS. 3-28 and described below.
[0015] The tool access point 30 can transmit the data source indications and the formatting instructions to the tool 20 via the connection 60. The tool 20 can produce report-generating program code based on the data source indications and the formatting instructions. The report- generating program code, when executed, can generate a report including the data indicated by the data source. The data included in the report can also be formatted based on the formatting instructions.
[0016] The tool 20 can also obtain the data indicated by the data source. The tool 20 can access the input medium 40 to obtain the data. In some embodiments, the input medium 40 includes a database or a file. The input medium 40 can also include a control card previously generated by the tool 20. In some embodiments, the control card can include the data. The control card can also include formatting instructions, in some embodiments.
[0017] The formatting instructions can include instructions for configuring a report length. For example, the tool 20 can generate a report with up to approximately 9999 bytes. The formatting instructions can also include instructions for configuring lines per page of the report. In some embodiments, 59 lines per page are generated by default if no specific lines per page formatting instructions are obtained. The formatting instructions can include instructions specifying control breaks. For example, the tool 20 can provide 9 levels of control breaks. The formatting instructions can include instructions for performing internal sorting. In some embodiments, the tool 20 can sort up to a maximum of approximately 9 keys. The formatting Attorney Docket No: 025213-9117 WO
instructions can include instructions for specifying the summation of field for control total, page total, and end of report total. The formatting instructions can also include instructions for suppressing duplicate details fields and/or suppressing a summary at control.
[0018] The formatting instructions can include customization instructions. The customization instructions can specify customized page heads with variables and text, customized control headings with variables and text, customized control footers, and customized end-of-the-report headers with variables and text. The tool 20 can provide system fields that are associated with variables included in customizations. For example, the tool 20 can include system date and time fields that can be associated with variables included in customizations.
[0019] The tool 20 can include a restructured, extended executor configured to write an optimized, formatted and engineered program that, when executed, generates a report. In some embodiments, the tool 20 generates common business-orientated language ("COBOL") program code. The tool 20 can provide the additional functionality of compiling and executing of the generated program code. The tool 20 can also provide field level help and tutorials. The tool 20 can also provide an on-line tool execution monitor.
[0020] After generating the report-generating program code, the tool 20 can transmit the program code to the output medium 50. The tool 20 can transmit the program code to the output medium 50 via the connection 80. In some embodiments, the user can retrieve the stored program code from the output medium 50 and can modify the program code.
[0021] The tool 20 can be configured to compile the program code to generate executable report-generating program code. The tool 20 can be configured to store the executable report- generating program code in the output medium 50. In some embodiments, the tool 20 can also execute the executable report-generating program code and can store a generated report in the output medium 50.
[0022] According to a method embodying the invention shown in FIG. 2, a user can select (at 100) a type of report. FIG. 3 illustrates a "MAIN MENU" screen 105 according to one embodiment of the invention. In some embodiments, the tool 20 can include one or more tools Attorney Docket No: 025213-9117 WO
that produce different types of program code for different types of reports. For example, selecting the 'TOOL F option can provide a first tool that produces program code that generates reports of length up to approximately 132 pages. Selecting 'TOOL IF option can provide a second tool that produces program code that generates more complex or lengthy reports. In some embodiments, the first tool can generate default program code to generate default reports and the second tool can generate customized program code. As shown in FIG. 3, the user can specify the report length and the number of lines per page. The user can also select the 'Tutorials' option to receive help with operating the tool 20.
[0023] After the user selects a type of report, the user can select (at 110) an indication of a source or type of data. The data will be included in the report generated by executing the program code produced by the tool 20. In some embodiments, the tool access point 30 displays an input type specification menu that allows the user to select an indication of the source or type of data to be input to the program code. FIG. 4 illustrates an "Input Type Specification Menu" screen 115 according to one embodiment of the invention. In some embodiments, the type of data can include a file, such as a virtual storage access method ("VSAM") file or a queued sequential access method ("QSAM") file. The type of data can also include a query that, when executed, retrieves data from a database. The type of data can also include a control card generated by the tool 20.
[0024] Selecting the ' 1 DATABASE AS INPUT' option allows the user to enter queries (at 120), such as standard query language ("SQL") queries. FIG. 5 illustrates a "Query Panel" screen 125 according to one embodiment of the invention. The user can also enter a database table declaration generator. In some embodiments, the input medium 40 includes a database management system, such as DB2, and the user can input a description generator ("DCLGEN") of the specified SQL query that generates DB2 SQL data structures in COBOL programs. In some embodiments, the host variables must be selected serially (numeric) depending on the SQL query column sequence. As shown in FIG. 5, the user can also enter the dataset name ("DSN") system name.
[0025] In some embodiments, after the user enters the query, the tool 20 can execute the query to retrieve data from a database. The tool 20 can transmit the results of executing the Attorney Docket No: 025213-9117 WO
query to the tool access point 30. The tool access point 30 can display the query results for the user. FIG. 6 illustrates a "QUERY RESULT" screen 135 according to one embodiment of the invention. The user can review the query results and can determine if the results include the intended report data.
[0026] The user can then specify (at 140) host and variable specifications. FIG. 7 illustrates a "Host Variable and Other Specifications" screen 145 according to one embodiment of the invention. In some embodiments, the user can enter the DSN and member name where the previously-entered DCLGEN is stored. The user can enter a program name and a source code DSN. The program name will be assigned to the program code produced by the tool 20. The source code DSN specifies the library name where source code is to be stored. In some embodiments, if a DSN does not have quests, then a user identification may be prefixed to the DSN to distinguish one user's code from another.
[0027] As shown in Fig. 7, the user can specify whether he or she wants to add a record number. Entering a "Y" can add a sequence number in each detail record of the report. In some embodiments, size bytes are reserved for sequence number and only remaining bytes are available for details columns. The user can specify whether the tool 20 should optimize the column headings and details. In some embodiments, the tool 20 can optimize the headings by automatically positioning the start and end positions of the column headings and detail. Entering 'N' for this option can allow the user to specify the start position and length of the column headings and details.
[0028] The user can specify whether the report should include a summary at the end of each page. In some embodiments, a separate screen or prompt is displayed to allow the user to write text and variables for the summary. The user can also specify whether he or she wants to format an end-of-report summary. A separate screen or prompt can be displayed for the user to specify text and variables to appear in the end-of-report summary.
[0029] The user can specify whether he or she wants to compile the source code or if he or she wants to compile the source code and run the related execution. If the user enters "Y" for the "Do You Want to Compile only" option or the "Do You Want to Compile & Run" option, as Attorney Docket No: 025213-9117 WO
shown in FIG. 7, the user enters (at 150) compilation related inputs. FIG. 8 illustrates a "Compile and Run Specifications" screen 155 according to one embodiment of the invention. The compilation related inputs can include a load library specification. The user can specify the load library name where the load module is to be stored. The compilation related input can include a database request module ("DBRM") library name where the DBRM is to be stored. In some embodiments, if the library name or the DBRM name does not have quotes, a user identification can be prefixed before the name.
[0030] The compilation related inputs can also include a plan name, hi some embodiments, if the plan name is blank, the program name will be assumed the same as the plan name.
[0031] In some embodiments, the "Compile and Run Specifications" screen 155 can also obtain execution related inputs. A separate screen can also be provided to obtain execution related inputs if the user enters "Y" for the "Do You Want to Compile & Run" option shown in FIG. 7.
[0032] After the user provides the host and variable specifications and the compilation related inputs (if necessary), the user can select (at 160) data fields to be included in the report. FIG. 9 illustrates a "Field Selection Panel" screen 165 according to one embodiment of the invention. As shown in FIG. 9, the sequence numbers associated with each data field can be assigned based on the order that the data fields where selected by the query. In some embodiments, the user can use the screen 165 to make sure that the field order is the same as defined in the query. For not "NOT NULL" columns, the user can enter an "I" in an indicator field ("IND") with the same sequence number as the original data field.
[0033] After selecting data fields, the user can enter (at 170) report specifications. FIGS. 10- 13 illustrate a "Report Specifications" screen 175 according to one embodiment of the invention. As shown in FIGS. 10-13, the report specifications can include a sequence number ("SN") that specifies the sequence number in which columns are to be displayed in the report.
[0034] For each column, the tool 20 can provide heading formatting options. In some embodiments, the user can specify standard text and variables in a heading. The user can Attorney Docket No: 025213-9117 WO
associate each variable with a data field or with a standard variable provided by the tool 20. For example, the tool 20 can provide current date and time variables that the user can use in headings.
[0035] To format report headings, the user can enter one or more column headings for each data field. As shown in FIGS. 10-13, the user can specify a first, second, and third column heading. In some embodiments, if the first column heading is blank and the data field is selected to be included in the report, then a variable name will be inserted in the column heading.
[0036] As also shown in FIG. 10-13, the user can specify a sort key sequence number for each data filed. The user can also specify a sort order of the key. The sort order can be set to "A" ascending or "D" descending. In some embodiments, sort order is set to ascending by default.
[0037] The user can specify page break definitions for control breaks. In some embodiments, the user can set a page break with a new serial number and a new page number, a page break with a new page number only, a page break with no renumbering of page number or serial number, or no page break (only a control break). The user can also specify a control order that specifies the control order in which fields are to be controlled. In some embodiments, the control order is a numeric number. Control break heading entry space is also provided on the screen 175. The user can write text in the space. The tool 20 can attach the data field name to the text in source code.
[0038] In some embodiments, the user can specify the suppression of duplicate values in the report and the suppression of a summary on a control break when the report is printed. The user can specify whether he or she wants a page break sum ("PBS") and/or a control break sum ("CBS") printed on the report. Furthermore, the user can enter a 'Y' to have an end of report sum ("ERS") printed at the end of the report. In some embodiments, the tool will only generate sums when the data field is a numeric type data field.
[0039] The user can specify an edited picture clause to be displayed in the report. In some embodiments, the edited picture clause is in a COBOL format. In some embodiments, if an Attorney Docket No: 025213-9117 WO
edited picture clause is not specified, the tool 20 assumes the field picture clause as specified in the file layout.
[0040] If the "Optimize Column" option was previously set to "N" (as shown in FIG. 7), the user can set a start position for a column heading and a length for the column heading. FIG. 14 illustrates another "Report Specifications" screen 185 that allows the user to specify the start position and the length of a column heading and details. In some embodiments, if the user does not specify a length, the tool 20 determines the length of the specified column heading and details, and places the value in the length field. In some embodiments, the tool 20 prohibits overlapping between column headings and/or details.
[0041] After the user specifies report specifications, the user can enter (at 190) a heading layout. FIG. 15 illustrates a "Heading Layout Specifications" screen 195 according to one embodiment of the invention. When entering a heading layout, the user can mix text and variables. In some embodiments, to distinguish text from variables, all text (including spaces) start with a "+" sign and all variables start with a "&" sign. All text and variables can end with a "+" sign or a "&" sign. Each heading line can end with a "+" sign. Variables in the heading can also be numbered.
[0042] After specifying a heading layout, the tool 20 can display a preview screen. FIG. 16 illustrates a preview screen 205 according to one embodiment of the invention. The user can view the preview screen 205 and can make adjustments to the text and variables included in the heading. In some embodiments, the preview screen 205 displays the heading as it will look in the actual report when generated.
[0043] If the heading layout specified by the user contains variables, the user can assign a variable number to each variable. FIG. 17 illustrates a "Header Field Selection Panel" screen 215 according to one embodiment of the invention. The user can enter a variable number to relate with a specified variable. The user can also enter a display picture clause for each variable. In some embodiments, if the user does not specify a display picture clause, the tool 20 assigns the display picture clause of the data field as defined in the file layout. Attorney Docket No: 025213-9117 WO
[0044] In some embodiments, the user can also specify an end-of-report layout. FIG. 18 illustrates a "End of Report Layout" screen 235 according to one embodiment of the invention. Using the same technique as for specifying a heading layout, the user can specify an end-of- report layout that includes text and variables. In some embodiments, the layout follows the same rules as specified above for distinguishing text from variables.
[0045] After specifying an end-of-report layout, the tool 20 can generate a preview of the end of the report as specified in the layout. FIG. 19 illustrates a "End of Report Summary Preview" screen 235. In some embodiments, the user can return to the "End of Report Layout" screen 225 to make changes to the layout based on the preview screen 235.
[0046] The user can also specify variable numbers and display picture clauses if the end-of- report layout specified by the user contains the variables, as described and illustrated above.
[0047] Once the heading formats have been specified, the tool 20 produces (at 240) the program code. Sample program code according to one embodiment of the invention follows.
SAMPLE PROGRAM CODE k -k ;
* PROGRAM NAME : DEMOl *
ID DIVISION. PROGRAM-ID . DEMOl . ENVIRONMENT DIVISION . CONFIGURATION SECTION . SPECIAL-NAMES .
C02 IS LCP-CH2
C03 IS LCP-CH3
C04 IS LCP-CH4
C05 IS LCP-CH5
C06 IS LCP-CH6
C07 IS LCP-CH7
C08 IS LCP-CH8
C09 IS LCP-CH9
ClO IS LCP-CHlO
CIl IS LCP-CHIl
C12 IS LCP-CH12
501 IS LCP-POl
502 IS LCP-P02. INPUT-OUTPUT SECTION. FILE-CONTROL .
SELECT S-SORTFILE
ASSIGN TO UT-S-SYSOOl . SELECT OUT-FILE Attorney Docket No: 025213-9117 WO
ASSIGN TO UT-S-REPORT . *
DATA DIVISION, FILE SECTION, FD OUT-FILE
RECORDING MODE IS F
BLOCK CONTAINS O RECORDS .
*
01 RPT .
05 PRINT-LINE PIC X (132 ) . *
SD S-SORTFILE . *
01 SORT-RECORD .
05 S-A PIC X (3 ) . 05 S-B PIC X (3 ) . 05 S-C PIC X (3 ) . 05 S-D PIC X (3 ) . 05 S-AMOUNT
PIC S9 (5 ) V9 (2 ) COMP-3. 05 S-FEES
PIC S9 (5) V9 (2 ) COMP-3. 05 S-DOT PIC X (IO ) . *
WORKING-STORAGE SECTION. *
01 SYS-YYYYMMDD-TIME . 05 SYS-YYYYMMDD .
10 SYS-CENTURY PIC X (2 ) . 10 SYS-YY PIC X (2 ) . 10 SYS-MM PIC 9 (2 ) . 10 SYS-DD PIC X (2 ) . 05 SYS-TIME-HHMMSS . 10 SYS-HHMMSS .
15 SYS-HH PIC X (2 ) . 15 SYS-MN PIC X (2 ) . 15 SYS-SS PIC X (2 ) . 10 SYS-HS PIC X (2 ) . 05 SYS-GMT PIC X (5 ) . 01 MMDDYY08.
05 SYS-MM PIC 9 (2 ) . 05 FILLER PIC X VALUE ' / ' • 05 SYS-DD PIC X (2 ) . 05 FILLER PIC X VALUE ' / ' • 05 SYS-YY PIC X (2 ) . 01 DDMMYY08.
05 SYS-DD PIC 9 (2 ) . 05 FILLER PIC X VALUE ' / ' • 05 SYS-MM PIC X (2 ) . 05 FILLER PIC X VALUE ' / ' . 05 SYS-YY PIC X (2 ) . 01 MMDDCCYYl0.
05 SYS-MM PIC 9 (2 ) .
05 FILLER PIC X VALUE ' / ' •
05 SYS-DD PIC X (2 ) . Attorney Docket No: 025213-9117 WO
05 FILLER PIC X VALUE ' / ' . 05 SYS-CENTURY PIC XX . 05 SYS-YY PIC X (2 ) . 01 DDMMCCYYl0.
05 SYS-DD PIC 9 (2 ) . 05 FILLER PIC X VALUE ' / ' . 05 SYS-MM PIC X (2 ) . 05 FILLER PIC X VALUE ' / ' • 05 SYS-CENTURY PIC XX . 05 SYS-YY PIC X (2 ) . 01 SYS-TIME-MMMDDYYYY . 05 SYS-TIME .
10 SYS-HH PIC X (2 ) .
10 FILLER PIC X VALUE ' . ' .
10 SYS-MN PIC X (2 ) .
10 FILLER PIC X VALUE ' . ' .
10 SYS-SS PIC X (2 ) . 05 FILLER PIC X VALUE SPACES . 05 SYS-MONTH PIC X (3 ) . 05 FILLER PIC X VALUE SPACES . 05 SYS-DD PIC X (2 ) . 05 FILLER PIC X VALUE ' , ' . 05 SYS-CENTURY PIC X (2 ) VALUE SPACES . 05 SYS-YY PIC X (2 ) . 01 SYS-TABLE-MONTH .
05 FILLER PIC X (36 ) VALUE
1 JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC ' . 01 SYS-TABLE-MONTH2 REDEFINES SYS-TABLE-MONTH .
05 SYS-MONTH-NAME PIC X (3 ) OCCURS 12 TIMES . *
77 RUN-DATE PIC X (20 ) .
77 SW-OVERPAGΞ PIC X VALUE 1 I ' .
77 SW-SEL-RCD PIC X VALUE SPACES .
77 SKIP-ADV PIC X VALUE SPACES .
77 W-HYPHEN PIC X ( 132 ) VALUE ALL ' - ' .
77 W-LNCT PIC S9 (4 ) COMP-3 VALUE +0.
77 W-PGCT PIC S9 (4 ) COMP-3 VALUE +0.
77 W-PROG-ID PIC X ( 8 ) VALUE 1 DEMOl 1.
77 LCP-ASA PIC X VALUE ' ' .
77 FIRST-TIME PIC X VALUE ' Y ' .
77 W-RECNO PIC S9 (4) COMP-3 VALUE +0.
77 W-PRV-A PIC X ( 3 ) VALUE SPACES .
77 W-PRV-B PIC X (3 ) VALUE SPACES .
77 W-PRV-C PIC X (3 ) VALUE SPACES .
77 W-PRV-D PIC X (3 ) VALUE SPACES .
77 W-TOTl-AMOUNT PIC S9 ( 5 ) V9 (2 ) COMP-3 VALUE 0.
77 W-TOTl-FEES PIC S9 (5 ) V9 (2 ) COMP-3 VALUE 0.
77 W-TOT2 -AMOUNT PIC S9 (5) V9 (2 ) COMP-3 VALUE 0.
77 W-TOT2 -FEES PIC S9 (5 ) V9 (2 ) COMP-3 VALUE 0.
77 W-TOT3 -AMOUNT PIC S9 (5) V9 (2 ) COMP-3 VALUE 0.
77 W-TOT3 -FEES PIC S9 (5 ) V9 (2 ) COMP-3 VALUE 0.
77 W-TOT4-AMOUNT PIC S9 (5) V9 (2 ) COMP-3 VALUE 0.
77 W-TOT4-FEES PIC S9 (5 ) V9 (2 ) COMP-3 VALUE 0.
77 A-CHG-FLAG PIC X VALUE 1 N' .
77 B-CHG-FLAG PIC X VALUE 1 N' . Attorney Docket No: 025213-9117 WO
77 C-CHG-FLAG PIC X VALUE ' N 1.
77 D-CHG-FLAG PIC X VALUE 1 N' .
77 W-GTOT-AMOUNT PIC S9 (5 ) V9 (2 ) COMP-3 VALUE 0.
77 W-GTOT-FEES PIC S9 (5) V9 (2) COMP-3 VALUE 0.
01 ERROR-MESSAGE .
02 ERROR-LEN PIC S9 (4 ) COMP VALUE +720.
02 ERROR-TEXT PIC X ( 72 ) OCCURS 10 TIMES INDEXED BY ERROR-INDEX . 77 ERROR-TEXT-LEN PIC S9 (9 ) COMP VALUE +72. *
01 W-DET-LINE .
05 DT-RECNO PIC ZZZZ9.
05 FILLER PIC X VALUE SPACES .
05 DT-A PIC X (3 ) .
05 FILLER PIC X (8 ) .
05 DT-B PIC X (3 ) .
05 FILLER PIC X (I) .
05 DT-C PIC X (3 ) .
05 FILLER PIC X (I ) .
05 DT-D PIC X (3 ) .
05 FILLER PIC X (I ) .
05 DT-AMOUNT PIC ZZ, ZZ9.99.
05 FILLER PIC X (I) .
05 DT-FEES PIC ZZ , ZZ9.99.
05 FILLER PIC X ( I) .
05 DT-DOT PIC X (IO ) . *
01 W-SUM-LINE .
05 FILLER PIC X (6) VALUE SPACES .
05 FILLER PIC X (3 ) .
05 FILLER PIC X (8) .
05 FILLER PIC X (3 ) .
05 FILLER PIC X (I ) .
05 FILLER PIC X (3 ) .
05 FILLER PIC X ( I) .
05 FILLER PIC X (3 ) .
05 FILLER PIC X ( I ) .
05 W-STOT-AMOUNT PIC ZZ , ZZ9.99.
05 FILLER PIC X (I) .
05 W-STOT-FEES PIC ZZ , ZZ9.99.
05 FILLER PIC X (I ) .
05 FILLER PIC X ( IO ) . *
01 W-END-OF-REPORT-LINEl .
05 FILLER PIC X (24 ) VALUE ' GRANT TOTAL OF AMOUNT : ' .
05 W-SGTOT-AMOUNT PIC ZZ , ZZ9.99.
05 FILLER PIC X (2 ) VALUE SPACES .
05 FILLER PIC X (6) VALUE ' FEES : ' .
05 W-SGTOT-FEES PIC ZZ , ZZ9.99. *
01 W-END-OF-REPORT-LINΞ2.
05 FILLER PIC X ( 18 ) VALUE ' ASIISTANT MANAGERl 1.
05 FILLER PIC X (37) VALUE SPACES .
05 FILLER PIC X (19) VALUE 'ASSISTANT MANAGER 2 ' .
05 FILLER PIC X (34 ) VALUE SPACES .
05 FILLER PIC X (7 ) VALUE ' MANAGER ' . Attorney Docket No: 025213-9117 WO
*
01 W- END-OF-REPORT-LINE4.
05 FILLER PIC X (24 ) VALUE 1 ( ) ' .
05 FILLER PIC X ( 30 ) VALUE SPACES .
05 FILLER PIC X (29 ) VALUE 1 ( ) ' •
05 FILLER PIC X (20 ) VALUE SPACES .
05 FILLER PIC X ( 20 ) VALUE 1 ( ) ' .
*
01 W- HEADl .
05 FILLER PIC X (36) VALUE SPACES . 05 FILLER PIC X (42 ) VALUE ' Report Making Company, Location1 05 FILLER PIC X (39) VALUE SPACES . 05 FILLER PIC X (5 ) VALUE ' PAGE : ' . 05 SC-W-PGCT PIC ZZZ9.
*
01 W- HEAD2.
05 FILLER PIC X (54 ) VALUE SPACES . 05 FILLER PIC X (14 ) VALUE ' REPORT AS ON 05 SC-DDMMYY08 PIC X ( 8 ) . 05 FILLER PIC X (51 ) VALUE SPACES .
* 01 W-COLHEADl .
05 FILLER PIC X (6) VALUE ' SN ' .
05 FILLER PIC X ( IO ) VALUE 1A HEADINGl
05 FILLER PIC X (D VALUE SPACE .
05 FILLER PIC X (D VALUE ' B 1.
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (D VALUE 1 C .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (D VALUE ' D ' .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (6 ) VALUE ' AMOUNT ' .
05 FILLER PIC X (4 ) VALUE SPACES .
05 FILLER PIC X (4 ) VALUE 1 FEES ' .
05 FILLER PIC X (δ) VALUE SPACES .
05 FILLER PIC X (3 ) VALUE ' DOT ' .
05 FILLER PIC X (8 ) VALUE SPACES .
01 W-COLHEAD2.
05 FILLER PIC X ( 6) VALUE SPACES .
05 FILLER PIC X ( IO ) VALUE ' A HEADING2
05 FILLER PIC X (D VALUE SPACE .
05 FILLER PIC X (D VALUE SPACES .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (D VALUE SPACES .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (D VALUE SPACES .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC x(6) VALUE SPACES .
05 FILLER PIC X (4 ) VALUE SPACES .
05 FILLER PIC X (4) VALUE SPACES .
05 FILLER PIC X (6) VALUE SPACES .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (8 ) VALUE SPACES . Attorney Docket No: 025213-9117 WO
01 W-COLHEAD3.
05 FILLER PIC X (6) VALUE SPACES .
05 FILLER PIC X (IO ) VALUE 'A HEADING3 '
05 FILLER PIC X (I ) VALUE SPACE .
05 FILLER PIC X (I) VALUE SPACES .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (I) VALUE SPACES .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (I) VALUE SPACES .
05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X (6) VALUE SPACES .
05 FILLER PIC X (4) VALUE SPACES .
05 FILLER PIC X (4 ) VALUE SPACES . 05 FILLER PIC X (6) VALUE SPACES . 05 FILLER PIC X (3 ) VALUE SPACES .
05 FILLER PIC X ( 8 ) VALUE SPACES .
01 W-COLDASH .
05 FILLER PIC X (5 ) VALUE i i
05 FILLER PIC X VALUE SPACE .
05 FILLER PIC X (IO ) VALUE ALL ' - '
05 FILLER PIC X (I ) VALUE SPACE .
05 FILLER PIC X (3 ) VALUE ALL ' -
05 FILLER PIC X ( I) VALUE SPACE .
05 FILLER PIC X (3 ) VALUE ALL ' - '
05 FILLER PIC X ( I ) VALUE SPACE . 05 FILLER PIC X (3 ) VALUE ALL ' - ' 05 FILLER PIC X (I) VALUE SPACE . 05 FILLER PIC X (9) VALUE ALL ' - ' 05 FILLER PIC X ( I) VALUE SPACE . 05 FILLER PIC X (9) VALUE ALL ' - ' 05 FILLER PIC X (I) VALUE SPACE . 05 FILLER PIC X (IO ) VALUE ALL ' - 05 FILLER PIC X ( I) VALUE SPACE .
EXEC SQL INCLUDE MYTEST END-EXEC . EXEC SQL INCLUDE SQLCA END-EXEC . EXEC SQL
DECLARE Cl CURSOR FOR
SELECT A, B, C, D, AMOUNT, FEES , DOT FROM
USR9103. MYTEST END-EXEC .
PROCEDURE DIVISION . 10000-ROOT SECTION . 11000-START .
*
PERFORM 20000-HOUSEKEEPING . 12000-PROCESS . *
SORT S-SORTFILE
ASCENDING KEY S-A ASCENDING KEY S-B ASCENDING KEY S-C ASCENDING KEY S-D Attorney Docket No: 025213-9117 WO
INPUT PROCEDURE IS 25000-GENERATE-WORK-RCD OUTPUT PROCEDURE IS 30000 - PRODUCE-REPORT .
13000-EOJ . *
MOVE ' E N D O F R E P O R T ' TO W-HYPHEN (54 : 25) . MOVE W-HYPHEN TO PRINT-LINE. MOVE '0' TO SKIP-ADV.
PERFORM 40000-WRITE-REPORT . *
EXEC SQL
CLOSE Cl END-EXEC . *
IF SQLCODE IS NOT = 0 CLOSE OUT-FILE
DISPLAY ' ***** CURSOR CLOSE ERROR ***** ' GO TO SQLERR-PARA. *
STOP RUN.
20000-HOUSEKEEPING SECTION. 21000-INITIAL .
*
MOVE FUNCTION CURRENT-DATE TO SYS-YYYYMMDD-TIME .
MOVE CORRESPONDING SYS-YYYYMMDD TO MMDDYYO8.
MOVE CORRESPONDING SYS-YYYYMMDD TO DDMMYYO8.
MOVE CORRESPONDING SYS-YYYYMMDD TO MMDDCCYYIO .
MOVE CORRESPONDING SYS-YYYYMMDD TO DDMMCCYYl0.
MOVE CORRESPONDING SYS-HHMMSS TO SYS-TIME .
MOVE SYS-MONTH-NAME (SYS-MM OF SYS-YYYYMMDD-TIME) TO SYS-MONTH
MOVE CORRESPONDING SYS-YYYYMMDD TO SYS-TIME-MMMDDYYYY .
MOVE SYS-TIME-MMMDDYYYY TO RUN-DATE .
DISPLAY ' RUN DATE ' RUN-DATE .
MOVE SPACES TO W-DET-LINE .
MOVE SPACES TO W-SUM-LINE .
EXEC SQL
OPEN Cl END-EXEC . *
IF SQLCODE IS NOT = 0
DISPLAY ' ***** CURSOR OPEN ERROR ***** ' GO TO SQLERR-PARA. *
OPEN OUTPUT OUT-FILE . *
20009-EXIT . EXIT . *
25000-GENERATE-WORK-RCD SECTION.
25100-READ-IN-REC .
*
EXEC SQL
FETCH Cl
INTO :A
, : B
, : C
, : D
, :AMOUNT :AMOUNT-IND
, : FEES : FEES-IND Attorney Docket No: 025213-9117 WO
, : DOT
END-EXEC . *
IF SQLCODE IS NOT = +0 AND SQLCODE IS NOT = +100
DISPLAY ' ***** CURSOR FETCH ERROR ***** * GO TO SQLERR-PARA ELSE
IF SQLCODE = +100 GO TO 25009-EXIT . *
25200- INPUT-PROCESS . *
INITIALIZE SORT-RECORD .
MOVE A TO S-A.
MOVE B TO S-B .
MOVE C TO S-C.
MOVE D TO S-D . IF AMOUNT-IND IS LESS THAN 0
NEXT SENTENCE ELSE
MOVE AMOUNT TO S-AMOUNT . IF FEES-IND IS LESS THAN 0
NEXT SENTENCE ELSE
MOVE FEES TO S-FEES .
MOVE DOT TO S-DOT . RELEASE SORT-RECORD . GO TO 25100-READ-IN-REC . *
25009-EXIT . EXIT . *
30000-PRODUCE-REPORT SECTION. 31000 -CHK-SORT .
IF SORT-RETURN NOT EQUAL ZERO
DISPLAY W-PROG-ID, 1 Ol . INVALID SORT ' STOP RUN. 32000-RETURN-SORT-RCD . *
RETURN S-SORTFILE AT END IF FIRST-TIME = 1 Y 1
PERFORM 50000-HEADINGS
MOVE > ***** NO RECORD ***** ' TO PRINT-LINE MOVE ' ' TO SKIP-ADV PERFORM 40000-WRITΞ-REPORT ELSE
MOVE 1 Y ' TO A-CHG-FLAG MOVE ' Y ' TO B-CHG-FLAG MOVE 1 Y ' TO C-CHG-FLAG MOVE ' Y' TO D-CHG-FLAG PERFORM 70000-CONTROL-BREAK-SUMMARY PERFORM 80000-END-OF-REPORT-SUMMARY END-IF
GO TO 30009-EXIT . *
IF FIRST-TIME = ' Y '
PERFORM 60000-CHECK-CONTROL-BREAK ELSE Attorney Docket No: 025213-9117 WO
PERFORM 60000-CHECK-CONTROL-BREAK
PERFORM 70000 -CONTROL-BREAK- SUMMARY . *
IF SW-OVERPAGE EQUAL 1 I '
MOVE ZEROS TO SW-OVERPAGE, W-LNCT PERFORM 50000-HEADINGS . *
IF FIRST-TIME = 1 Y '
MOVE 1 N1 TO FIRST-TIME .
ADD +1 TO W-RECNO .
MOVE W-RECNO TO DT-RECNO .
MOVE S-AMOUNT TO DT-AMOUNT
MOVE S-FEES TO DT-FEES
MOVE S-DOT TO DT-DOT
ADD S-AMOUNT TO W-TOTl-AMOUNT
W-TOT2-AMOUNT
W-TOT3 -AMOUNT
W-TOT4-AMOUNT
W-GTOT-AMOUNT ADD S-FEES TO W-TOTl-FEES
W-T0T2-FEES
W-T0T3 -FEES
W-T0T4-FEES
W-GTOT-FEES *
MOVE W-DET-LINE TO PRINT-LINE . *
PERFORM 40000-WRITE-REPORT . *
MOVE ' ' TO SKIP-ADV. MOVE SPACES TO W-DET-LINE . *
GO TO 32000-RETURN-SORT-RCD . *
30009-EXIT . EXIT . *
40000-WRITE-REPORT SECTION.
41000-WRITE .
*
MOVE SKIP-ADV TO LCP-ASA
PERFORM LCP-WRITE-POS-RPT THRU LCP-WRITE-END-RPT .
IF SKIP-ADV EQUAL ' 1 ' OR SKIP-ADV EQUAL '
ADD 1 TO W-LNCT . IF SKIP-ADV EQUAL ' 0 '
ADD 2 TO W-LNCT . IF W-LNCT GREATER 59
MOVE ' 1 ' TO SW-OVERPAGE .
* MOVE SPACES TO W-DET-LINE . *
40009-EXIT . EXIT .
*
50000-HEADINGS SECTION. 51000-HEAD . Attorney Docket No: 025213-9117 WO
ADD 1 TO W-PGCT . MOVE W-PGCT TO SC-W-PGCT . MOVE DDMMYYO8 TO SC-DDMMYYO8 . MOVE W-HEADl TO PRINT-LINE . MOVE ' 1 ' TO SKIP-ADV. PERFORM 40000-WRITE-REPORT . *
MOVE W-HEAD2 TO PRINT-LINE . MOVE ■ ■ TO SKIP-ADV. PERFORM 40000-WRITE-REPORT .
*
MOVE W-HYPHEN TO PRINT-LINE . MOVE ' ' TO SKIP-ADV. PERFORM 40000-WRITE-REPORT . *
IF W-COLHEADl IS NOT = ' '
MOVE W-COLHEADl TO PRINT-LINE MOVE ' O 1 TO SKIP-ADV PERFORM 40000-WRITE-REPORT . *
IF W-COLHEAD2 IS NOT = ' '
MOVE W-COLHEAD2 TO PRINT-LINE MOVE ' ' TO SKIP-ADV PERFORM 40000-WRITE-REPORT . *
IF W-COLHEAD3 IS NOT = ' '
MOVE W-COLHEAD3 TO PRINT-LINE MOVE ' ' TO SKIP-ADV PERFORM 40000-WRITE-REPORT . *
IF W-COLDASH IS NOT = ' '
MOVE W-COLDASH TO PRINT-LINE MOVE ' ' TO SKIP-ADV PERFORM 40000-WRITE-REPORT . *
MOVE 1 O 1 TO SKIP-ADV. *
50009-EXIT . EXIT . * δOOOO-CHECK-CONTROL-BREAK SECTION.
61000-CHECK-CONTROL-BREAK.
*
MOVE ' N' TO A-CHG-FLAG
B-CHG-FLAG
C-CHG-FLAG
D-CHG-FLAG
IF W-PRV-A IS NOT = S-A
MOVE ' 1 ' TO SW-OVERPAGE MOVE +0 TO W-PGCT W-RECNO MOVE 1 Y' TO A-CHG-FLAG ELSE IF W-PRV-B IS NOT = S-B
MOVE 1 I 1 TO SW-OVERPAGE MOVE +0 TO W-PGCT MOVE ' Y ' TO B-CHG-FLAG Attorney Docket No: 025213-9117 WO
ELSE
IF W-PRV-C IS NOT = S-C
MOVE ' 1 ' TO SW-OVERPAGE
MOVE 1 Y' TO C-CHG-PLAG ELSE IF W-PRV-D IS NOT = S-D
MOVE ' Y ' TO D-CHG-FLAG ELSE
NEXT SENTENCE
IF FIRST-TIME = 1 Y '
MOVE S-A TO DT-A W-PRV-A MOVE S-B TO DT-B W-PRV-B MOVE S-C TO DT-C W-PRV-C MOVE S-D TO DT-D W-PRV-D
*
60009-EXIT .. EXIT . *
70000 - CONTROL-BREAK- SUMMARY SECTION.
71000-CONTROL-BREAK-SUMMARY .
*
MOVE SPACES TO W-DET-LINE . *
IF D-CHG-FLAG IS = ' Y ' OR C-CHG-FLAG IS = ' Y ' OR B-CHG-FLAG IS = ' Y ' OR A-CHG-FLAG IS = 1 Y 1
MOVE S-D TO DT-D W-PRV-D
IF C-CHG-FLAG IS = 1 Y ' OR B-CHG-FLAG IS = 1 Y 1 OR A-CHG-FLAG IS = 1 Y 1
MOVE S-C TO DT-C W-PRV-C
IF B-CHG-FLAG IS = 1 Y ' OR A-CHG-FLAG IS = ' Y 1
STRING ' TOTAL OF B ' W-PRV-B
DELIMITED BY SIZE INTO W-SUM-LINE END-STRING *
MOVE W-HYPHEN TO PRINT-LINE MOVE ' 0 ' TO SKIP-ADV PERFORM 40000-WRITE-REPORT *
MOVE W-TOT2-AMOUNT TO W-STOT-AMOUNT
MOVE W-TOT2-FEES TO W-STOT-FEES
MOVE W-SUM-LINE TO PRINT-LINE
MOVE ' 0 ' TO SKIP-ADV
PERFORM 40000-WRITE-REPORT
INITIALIZE W-SUM-LINE
MOVE ZEROS TO W-TOT2 -AMOUNT W-TOT2-FEES
MOVE S-B TO DT-B W-PRV-B Attorney Docket No: 025213-9117 WO
IF A-CHG-FLAG IS = 1 Y '
STRING ' TOTAL OF A ' W-PRV-A
DELIMITED BY SIZE INTO W-SUM-LINE
END-STRING *
MOVE W-HYPHEN TO PRINT-LINE MOVE 1 O 1 TO SKIP-ADV PERFORM 40000-WRITE-REPORT *
MOVE W-TOTl-AMOUNT TO W-STOT-AMOUNT
MOVE W-TOTl-FEES TO W-STOT-FEES
MOVE W-SUM-LINE TO PRINT-LINE
MOVE 1 O ' TO SKIP-ADV
PERFORM 40000-WRITE-REPORT
INITIALIZE W-SUM-LINE
MOVE ZEROS TO W-TOTl-AMOUNT W-TOTl-FEES
MOVE S-A TO DT-A W-PRV-A
*
70009-EXIT . EXIT . *
80000-END-OF-REPORT-SUMMARY SECTION.
81000 -END-OF-REPORT-SUMMARY .
*
MOVE W-HYPHEN TO PRINT-LINE . MOVE 1 O 1 TO SKIP-ADV. PERFORM 40000-WRITE-REPORT . *
MOVE W-GTOT-AMOUNT TO W- SGTOT-AMOUNT . MOVE W-GTOT-FEES TO W-SGTOT-FEES . MOVE W-END-0F-REP0RT-LINE1 TO PRINT-LINE . MOVE 1 O 1 TO SKIP-ADV. PERFORM 40000-WRITE-REPORT . *
MOVE W-END-OF-REPORT-LINE2 TO PRINT-LINE . MOVE ' ' TO SKIP-ADV. PERFORM 40000-WRITE-REPORT . *
MOVE W-END-OF-REPORT-LINE4 TO PRINT-LINE .
MOVE • ' TO SKIP-ADV.
PERFORM 40000-WRITE-REPORT . * *
80009-EXIT . EXIT . *
LCP-WRITE-POS-RPT SECTION. *
EVALUATE LCP-ASA WHEN ' + '
WRITE RPT AFTER 0 LINE WHEN ' '
WRITE RPT AFTER ADVANCING 1 LINE WHEN ' 0 '
WRITE RPT AFTER ADVANCING 2 LINE WHEN ' - ' Attorney Docket No: 025213-9117 WO
WRITE RPT AFTER ADVANCING 3 LINE WHEN 1 I '
WRITE RPT AFTER ADVANCING PAGE WHEN ' 2 '
WRITE RPT AFTER ADVANCING LCP-CH2 WHEN ' 3 '
WRITE RPT AFTER ADVANCING LCP-CH3 WHEN ' 4 '
WRITE RPT AFTER ADVANCING LCP-CH4 WHEN ' 5 '
WRITE RPT AFTER ADVANCING LCP-CH5 WHEN ' 6 '
WRITE RPT AFTER ADVANCING LCP-CH6 WHEN ' 7 ' >
WRITE RPT AFTER ADVANCING LCP-CH7 WHEN ' 8 '
WRITE RPT AFTER ADVANCING LCP-CH8 WHEN ' 9 '
WRITE RPT AFTER ADVANCING LCP-CH9 WHEN 'A '
WRITE RPT AFTER ADVANCING LCP-CHlO WHEN 1 B '
WRITE RPT AFTER ADVANCING LCP-CHIl WHEN ' C '
WRITE RPT AFTER ADVANCING LCP-CH12 WHEN ' V'
WRITE RPT AFTER ADVANCING LCP-POl WHEN ' W '
WRITE RPT AFTER ADVANCING LCP-P02 WHEN OTHER
DISPLAY ' ASA CODE ERROR 1 END-EVALUATE . LCP-WRITE-END-RPT . EXIT . SQLERR-PARA SECTION.
CALL ' DSNTIAR ' USING SQLCA ERROR-MESSAGE ERROR-TEXT-LEN.
DISPLAY ERROR-TEXT (I )
DISPLAY ERROR-TEXT (2 )
DISPLAY ERROR-TEXT (3 )
DISPLAY ERROR-TEXT (4)
DISPLAY ERROR-TEXT (5)
DISPLAY ERROR-TEXT ( 6)
DISPLAY ERROR-TEXT (7 )
DISPLAY ERROR-TEXT (8 )
DISPLAY ERROR-TEXT O )
DISPLAY ERROR-TEXT (IO )
STOP RUN.
[0048] In some embodiments, the tool 20 produces a control file in addition to the program code based on the entered values. The tool 20 can store the control file in the output medium 50. In some embodiments, the program code is stored according to a program name specified by the user. If the program code is compiled and executed, the generated report can be stored in a Attorney Docket No: 025213-9117 WO
physical sequence file. A sample generated report according to one embodiment of the invention follows.
SAMPLE GENERATED REPORT
1 Report Making Company, Location
PAGE : 1 REPORT AS ON : 99/99/99
OSN A HEADINGl AMOUNT FEES DOT A HEADING2 A HEADING3
0 1 AlO BlO ClO DlO 9.17 9.04 2017- 02 - 18 2 D20 12.43 1.00 2028 - 03 - 16 3 68.03 7.84 2012- 07- 24 4 D30 63.42 1.72 2024-10- 11
5 D40 20.05 3.59 1960 - 08- 09
1 Report Making Company, Location
PAGE : 2 REPORT AS ON : 99/99/99
OSN A HEADINGl B C D AMOUNT FEES DOT
A HEADING2
A HEADING3
0 6 C20 DlO 32.25 1.00 1962-07-03
7 59.30 3.80 1988-08-07
8 D20 22.05 1.00 1973 -11-11
9 61.10 1.22 2031-12-29
10 D40 51.44 9.85 2012- 04-28
11 D50 25.84 7.30 2002-12-02
12 66.42 5.41 2005-11-18
13 38.42 5.67 1992-06-24
1 Report Making Company, Location
PAGE : 3 REPORT AS ON : 99/ 99/99
OSN A HEADINGl AMOUNT FEES DOT A HEADING2 A HEADING3
0 14 C30 D20 7. 00 8.75 1973- 04-21
15 D30 69 .76 1.89 1987- 09-21
16 D40 26 .48 2.62 1971- 02- 05
17 50 .65 1.90 2034- 11-25
18 D50 8. 61 9.99 1974-12-22
1 Report Making Company, Location
PAGE : 4 REPORT AS ON : 99/ 99/99 Attorney Docket No: 025213-9117 WO
OSN A HEADINGl AMOUNT FEES DOT A HEADING2 A HEADING3
0 19 C40 D20 37.76 7.64 2032 - 11- - 04 20 D30 41.11 4.02 1990 -12 - - 13 21 8.69 1.00 1980-03 - 18 22 D50 9.14 1.06 2018 - 10- 11
1 Report Making Company, Location
PAGE : 5 REPORT AS ON : 99/99/99
OSN A HEADINGl D AMOUNT FEES DOT A HEADING2 A HEADING3
0 23 C50 DlO 48.06 3.93 1964- 06-27
24 D20 48.57 6.85 2036- 03 - 01
25 D30 7.00 2.72 2047- 02-21
26 13.04 1.73 2010 - 07-22
27 D40 69.53 7.40 1967 - 07-20
28 39.27 7.37 1960 - 06- 16
29 D50 8.24 7.87 1966- 01-21
0
OTOTAL OF B BlO 1 , 022.83 135.18
1 Report Making Company, Location
PAGE : 1 REPORT AS ON : 99/99/99
OSN A HEADINGl D AMOUNT FEES DOT A HEADING2 A HEADING3
0 30 B20 ClO DlO 21.38 8.61 1966- 10-01
31 31.30 8.50 2004- 03 - 11
32 63.86 8.95 1972 - 07- 05
33 51.84 1.00 1977- 09- 03
34 D30 25.48 7.23 1963 - 12 - 19
35 D40 7.11 1.61 1980- 03-22
36 D50 37.11 1.00 1968 - 05- 18
37 51.51 7.10 2005- 08 - 09
38 65.68 6.54 1955- 12 -26
1 Report Making Company, Location
PAGE : 2 REPORT AS ON : 99/99/99
OSN A HEADINGl AMOUNT FEES DOT A HEADING2 A HEADING3
0 39 C20 D30 64.54 5.69 1957-09-07 Attorney Docket No: 025213-9117 WO
40 48.70 8.57 1986- 09- 01 41 D40 8.36 4.71 2029- 09- 06 42 41.94 1.95 1982 - 03 - 06 43 10.75 8.05 2005-11- 01 44 27.79 7.33 1996- 11-24 45 D50 21.83 2.08 2009- 04- 12 46 17.06 1.00 1964- 09- 02
1 Report Making Company, Location
PAGE : 3 REPORT AS ON : 99/99/99
OSN A HEADINGl B C D AMOUNT FEES DOT
A HEADING2
A HEADING3
0 47 C30 DlO 45.16 2.93 2013-10-30
48 9.22 6.45 2045-10-26
49 24.84 1.00 2032-11-24
50 D50 19.95 2.67 2049-02-24
51 63.37 8.23 2037-06-28
52 66.04 9.55 1957-06-27
1 Report Making Company, Location
PAGE : 4 REPORT AS ON : 99/99/99
OSN A HEADINGl B C D AMOUNT FEES DOT
A HEADING2
A HEADING3
0 53 C40 DlO 14.31 2.80 2006- 07-25
54 33.72 3.04 1975-10- 14
55 D20 8.79 1.86 1982 - 03 -20
56 D40 20.32 7.10 1989- 12 -25
1 Report Making Company, Location
PAGE : 5 REPORT AS ON : 99/ 99/ 99
OSN A HEADINGl B C D AMOUNT FEES DOT
A HEADING2
A HEADING3
0 57 C50 DlO 7.00 6.96 2043-09-23
58 D20 51.56 6.91 2049-09-09
59 7.00 3.56 2003- 04- 09
60 8.51 1.00 1955-10-11
61 D30 10.34 7.16 2023 -10-15
OTOTAL OF B B20 986.37 161.14
1 Report Making Company, Location
PAGE : 1 REPORT AS ON : 99/99/99 Attorney Docket No: 025213-9117 WO
OSN A HEADINGl D AMOUNT FEES DOT A HEADING2 A HEADING3
0 62 B30 ClO DlO 8. 19 2 .79 2021-11-14
63 D40 30 .52 4 .42 2040- 04- 13
64 D50 7. 53 7 .62 2028 - 04- 16
1 Report Making Company, Location
PAGE : 2 REPORT AS ON : 99/99/99
OSN A HEADINGl B D AMOUNT FEES DOT A HEADING2 A HEADING3
0 65 C20 DlO 33.73 1.25 2016- 01-20
66 48.50 6.24 1958-10-09
67 13.66 4.65 1959- 01- 06
68 41.56 3.44 2036-12-28
69 29.75 5.35 2037- 02 - 03
70 D20 25.53 7.26 2037- 06- 11
71 D30 55.31 1.32 1993 - 06- 03
72 D40 47.20 8.68 2014- 07-25
73 D50 8.68 4.35 1999- 06- 13
74 46.96 3.48 2047- 04-22
75 20.89 1.90 1978- 11-28
1 Report Making Company, Location
PAGE : 3 REPORT AS ON : 99/99/99
OSN A HEADINGl B D AMOUNT FEES DOT A HEADING2 A HEADING3
0 76 C30 DlO 32.86 9.75 2031- 05-22
77 53.14 9.91 2039- 11- 08
78 D40 58.54 5.25 1995- 12 - 16
79 D50 21.77 1.00 1999- 11-23
1 Report Making Company, Location
PAGE : 4 REPORT AS ON : 99/99/' 99
OSN A HEADINGl B D AMOUNT FEES DOT A HEADING2 A HEADING3
0 80 C40 DlO 48.27 9.81 1965- 03- 15
81 D20 15.67 6.47 1991- 03 -23
82 21.54 1.00 1977- 01- 01
83 D40 46.33 6.86 2022- 04-20
84 24.40 6.66 1981- 10-21 Attorney Docket No: 025213-9117 WO
85 D50 38.88 5.19 2033-02-27
1 Report Making Company, Location
PAGE : 5 REPORT AS ON : 99/99/99
OSN A HEADINGl B D AMOUNT FEES DOT A HEADING2 A HEADING3
0 86 C50 DlO 9.93 00 2021-06-06 87 15.50 48 1970-11-29
88 D20 8.71 8.31 1958-09-08 89 35.55 1.8S 2007-03-14
90 D30 22.86 4.57 2004-12-08
91 D40 9.72 1.99 1991-11-10
92 D50 34.55 3.98 1960-02- 16
0 •
OTOTAL OP B B30 916.23 157.84
Q .
OTOTAL OF A AlO 2 , 925.43 454.16
1 Report Making Company, Location
PAGE : 1 REPORT AS ON : 99/99/99
OSN A HEADINGl B C D AMOUNT FEES DOT A HEADING2 A HEADING3
0 1 A20 BlO ClO DlO 7.00 7.96 1957-07-15
OTOTAL OF B BlO 7.00 7.96
OTOTAL OF A A20 7.00 7.96
0 GRAND TOTAL OF AMOUNT : 2 , 932.43 FEES : 462.12
ASIISTANT MANAGERl ASSISTANT MANAGER 2 MANAGER
( ) ( ) ( )
0 E N D O F R E P O R T
[0049] While the program code is being produced (and compiled and executed, if applicable), the tool 20 can display an on-line monitoring screen. FIG. 20 illustrates an "Online Status" screen 245 according to one embodiment of the invention. The screen 245 can display a time elapsed and a percent completed for preparing and processing the program code.
[0050] Rather than selecting the "1 DATABASE AS INPUT" option, the user can select the "2 FILE AS INPUT" option from the "Input Type Specification Menu" screen 115 shown in FIG. 21 to specify that the data is contained in a file. Selecting the "2 FILE AS INPUT Attorney Docket No: 025213-9117 WO
OPTION" allows the user to specify (at 250) a file and a file format or layout. FIG. 22 illustrates a "Input File Layout Specification" screen 255 according to one embodiment of the invention. The user can use the screen 255 to enter a DSN and member name that specifies the DSN and member where a file layout is stored. The user can also enter a program name and a source code DSN. The source code DSN can specify the library name where source code is to be stored. If the DSN does not have quotes, a user identification can be prefixed to the DSN name.
[0051] The user can also specify a file mode and VSAM file details. In some embodiments, the file mode specifies the file mode of the input file. The default mode can be a fixed file mode. The file mode specification can only be applicable to particular file types, such as QSAM file.
[0052] If the user enters "Y" for the "VSAM File Details" option, as shown in FIG. 22, the user can supply (at 260) further file details. FIG. 23 illustrates an "Input FILE-CONTROL Specification" screen 265 according to one embodiment of the invention. The user can use the screen 265 to specify the organization, the access mode, the relative keys, and the alternate keys.
[0053] As shown in FIG. 22, the user can use the screen 255 to specify whether he or she wants to add a record number. Entering a "Y" can add a sequence number in each detail record of the report. In some embodiments, size bytes are reserved for sequence number and only remaining bytes are available for details columns. The user can specify whether the tool 20 should optimize the column headings and details. In some embodiments, the tool 20 can optimize the headings by automatically positioning the start and end positions of the column headings and detail. Entering "N" for this option can allow the user to specify the start position and length of the column headings and details.
[0054] The user can specify whether the report should include a summary at the end of each page. In some embodiments, a separate screen or prompt is displayed to allow the user to write text and variables for the summary. The user can also specify whether he or she wants to format an end-of-report summary. A separate screen or prompt can be displayed for the user to specify text and variables to appear in the end-of-report summary. Attorney Docket No: 025213-9117 WO
[0055] The user can specify whether he or she wants to compile the source code, or if he or she wants to compile the source code and run the related execution. If the user enters "Y" for the "Do You Want to Compile only" option or the "Do You Want to Compile & Run" option, as shown in FIG. 22, the user enters (at 150) compilation related inputs. FIG. 24 illustrates a "Compile and Run Specifications" screen 275 according to one embodiment of the invention. The compilation related inputs can include a load library specification. The user can specify the load library name where the load module is to be stored. In some embodiments, if the user entered 'Y' for the 'Do You Want to Compile & Run' option, the user specifies an input DSN.
[0056] After the user provides the host and variable specifications and the compilation related inputs (if necessary), the user can select (at 160) data fields. The selected data fields can be processed (at 240) in order to prepare a report. FIG. 25 illustrates a "Field Selection Panel" screen 285 according to one embodiment of the invention. As shown in FIG. 25, to select a field, an "S" is entered next to the data field.
[0057] After the user selects data fields, the user can specify report specifications (at 170) and a heading layout (at 180) as shown and described with respect to FIGS. 10-19. The user can also specify an end-of-report layout. The tool 20 then produces (at 240) the program code and stores the program code (and the compiled code and execution results). In some embodiments, the tool 20 displays the on-line monitoring screen, as shown in FIG. 20.
[0058] A third data type option can include a "3 CONTROL CARD AS INPUT" option. The user can select the "3 CONTROL CARD AS INPUT" option from the "Input Type Specification Menu" screen 115 (as shown in FIG. 26). Selecting the "3 CONTROL CARD AS INPUT" allows the user to input the DSN of a previously-generated control card.
[0059] After selecting the "3 CONTROL CARD AS INPUT" option, the user specifies (at 290) control card specification. FIG. 27 illustrates a "Control Card Specifications" screen 295 according to one embodiment of the invention. The user can use the screen 295 to specify the control card name. In some embodiments, the control card name is set or prepared by tool 20 when it is generated. The user can also specify a control card DSN. If the DSN does not include quotes, a user identification is prefixed to the name. Attorney Docket No: 025213-9117 WO
[0060] After the user specifies the control card name and the control card DSN, the tool 20 produces (at 300) the program code and stores the program code (and the compiled code and execution results). The tool 20 can also display the on-line monitoring screen as shown in FIG. 20. In some embodiments, the user can specify report specifications, a heading layout, and/or a report layout as shown and described with respect to FIGS. 10-20.
[0061] Various features and advantages of the invention are set forth in the following claims.

Claims

Attorney Docket No: 025213-9117 WOCLAIMS
1. A method of producing report-generating program code, the method comprising:
obtaining an indication as to a source of data to be included in a report generated by the execution of the report-generating program code;
retrieving data from the source;
obtaining formatting instructions for the data to be included in the report-generating program code; and
producing the report-generating program code based on the data and the formatting instructions.
2. The method of claim 1 and further comprising producing the report-generating program code including common business-orientated language code.
3. The method of claim 1 and further comprising obtaining an indication as to whether the source of the data includes at least one of a database, a file, and a control card.
4. The method of claim 1 and further comprising obtaining a standard query language select statement.
5. The method of claim 4 and further comprising executing the standard query language select statement to obtain the data from a database.
6. The method of claim 1 and further comprising obtaining the name of a file including the data.
7. The method of claim 6 and further comprising obtaining a format of the file.
8. The method of claim 6 and further comprising retrieving the data from the file.
9. The method of claim 1 and further comprising displaying the data. Attorney Docket No: 025213-9117 WO
10. The method of claim 9 and further comprising obtaining an indication as to a subset of the data to be included in a report generated by executing the report-generating program code.
11. The method of claim 1 and further comprising providing report heading formatting instructions.
12. The method of claim 11 and further comprising providing report heading formatting instructions including a variable.
13. The method of claim 12 and further comprising associating the variable with the data or a standard variable.
14. The method of claim 1 and further comprising storing the report-generating program code in a storage medium.
15. The method of claim 1 and further comprising allowing a user to modify the report- generating program code.
16. The method of claim 1 and further comprising generating executable report-generating program code from the report-generating program code.
17. The method of claim 16 and further comprising storing the executable report-generating program code in a storage medium.
18. The method of claim 16 and further comprising executing the executable report- generating program code.
19. The method of claim 1 and further comprising providing a tutorial.
20. The method of claim 1 and further comprising displaying a monitoring screen.
21. The method of claim 20 and further comprising displaying a time elapsed and a percent completed. Attorney Docket No: 025213-9117 WO
22. A system for producing report-generating program code, the system comprising:
interfacing means for obtaining an indication as to a source of data to be included in the report-generating program code and for obtaining formatting instructions for the data to be included in the report-generating program code;
retrieving means for retrieving the data from the source; and
producing means for producing the report-generating program code.
23. The system of claim 22 wherein the report-generating program code includes common business-orientated language code.
24. The system of claim 22 wherein the source of the data includes at least one of a database, a file, and a control card.
25. The system of claim 22 wherein the interfacing means obtains a standard query language select statement.
26. The system of claim 25 and further comprising executing means for executing the standard query language select statement to obtain the data from a database.
27. The system of claim 22 wherein the interfacing means obtains a name of a file including the data.
28. The system of claim 27 wherein the interfacing means obtains a format of the file.
29. The system of claim 27 wherein the retrieving means retrieves the data from the file.
30. The system of claim 22 and further comprising display means for displaying the data.
31. The system of claim 30 wherein the interfacing means obtains an indication as to a subset of the data to be included in a report generated by executing the report-generating program code.
32. The system of claim 22 wherein the interfacing means obtains report heading formatting instructions. Attorney Docket No: 025213-9117 WO
33. The system of claim 32 wherein the interfacing means obtains report heading formatting instructions including a variable.
34. The system of claim 33 wherein the interfacing means associates the variable with at least one of the data and a standard variable.
35. The system of claim 22 and further comprising storing means for storing the report- generating program code in a storage medium.
36. The system of claim 22 and further comprising modifying means for allowing a user to modify the report-generating program code.
37. The system of claim 22 and further comprising compiling means for generating executable report-generating program code.
38. The system of claim 37 and further comprising storing means for storing the executable report-generating program code in a storage medium.
39. The system of claim 37 and further comprising execution means for executing the executable report-generating program code.
40. The system of claim 22 and further comprising help means for providing a tutorial.
41. The system of claim 22 and further comprising display means for providing a monitoring screen.
42. The system of claim 41 and further comprising display means for displaying a time elapsed and a percent completed.
Attorney Docket No: 025213-9117 WO
43. A computer readable medium containing instructions for producing report-generating program code, the instructions comprising:
obtaining an indication as to a source of data to be included in the report-generating program code;
retrieving data from the source;
obtaining formatting instructions for the data to be included in the report-generating program code; and
producing the report-generating program code based on the data and the formatting instructions.
44. The computer readable medium of claim 43 and further comprising producing the report- generating program code including common business-orientated language code.
45. The computer readable medium of claim 43 and further comprising obtaining an indication as to whether the source of the data includes at least one of a database, a file, and a control card.
46. The computer readable medium of claim 43 and further comprising obtaining a standard query language select statement.
47. The computer readable medium of claim 46 and further comprising executing the standard query language select statement to obtain the data from a database.
48. The computer readable medium of claim 43 and further comprising obtaining a name of a file including the data.
49. The computer readable medium of claim 48 and further comprising obtaining a format of the file.
50. The computer readable medium of claim 48 and further comprising retrieving the data from the file. Attorney Docket No: 025213-9117 WO
51. The computer readable medium of claim 43 and further comprising displaying the data.
52. The computer readable medium of claim 51 and further comprising obtaining an indication as to a subset of the data to be included in a report generated by executing the report- generating program code.
53. The computer readable medium of claim 43 and further comprising providing report heading formatting instructions.
54. The computer readable medium of claim 53 and further comprising providing report heading formatting instructions including a variable.
55. The computer readable medium of claim 54 and further comprising associating the variable with at least one of the data and a standard variable.
56. The computer readable medium of claim 43 and further comprising storing the report- generating program code in a storage medium.
57. The computer readable medium of claim 43 and further comprising allowing a user to modify the report-generating program code.
58. The computer readable medium of claim 43 and further comprising generating executable report-generating code from the report-generating program code.
59. The computer readable medium of claim 58 and further comprising storing the executable report-generating program code in a storage medium.
60. The computer readable medium of claim 58 and further comprising executing the executable report-generating program code.
61. The computer readable medium of claim 43 and further comprising providing a tutorial.
62. The computer readable medium of claim 43 and further comprising displaying a monitoring screen. Attorney Docket No: 025213-9117 WO
63. The computer readable medium of claim 62 and further comprising displaying a time elapsed and a percent completed.
PCT/US2005/002386 2005-01-26 2005-01-26 Report generating systems and methods WO2006080913A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2005/002386 WO2006080913A1 (en) 2005-01-26 2005-01-26 Report generating systems and methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2005/002386 WO2006080913A1 (en) 2005-01-26 2005-01-26 Report generating systems and methods

Publications (1)

Publication Number Publication Date
WO2006080913A1 true WO2006080913A1 (en) 2006-08-03

Family

ID=36740823

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/002386 WO2006080913A1 (en) 2005-01-26 2005-01-26 Report generating systems and methods

Country Status (1)

Country Link
WO (1) WO2006080913A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11377622B2 (en) 2018-01-19 2022-07-05 The Procter & Gamble Company Liquid detergent compositions comprising alkyl ethoxylated sulfate surfactant

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055369A (en) * 1997-05-06 2000-04-25 Hitachi Software Engineering Co., Ltd. Apparatus for visual programming with screen flow
US6233583B1 (en) * 1998-09-10 2001-05-15 International Business Machines Corporation Report generator for use within a lotus notes database system
US6467079B1 (en) * 1999-03-30 2002-10-15 International Business Machines Corporation Report program language source code translation to object-oriented language source code which emulates report program language behavior
US6801229B1 (en) * 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US6817010B2 (en) * 2000-12-27 2004-11-09 International Business Machines Corporation Monitoring messages during execution of a message flow
US6829348B1 (en) * 1999-07-30 2004-12-07 Convergys Cmg Utah, Inc. System for customer contact information management and methods for using same
US20050149617A1 (en) * 2001-11-26 2005-07-07 Objectworld Communications Corp. Graphical interface based software for creating communication service agents
US20050273420A1 (en) * 2004-04-16 2005-12-08 Lenin Subramanian Method and system for customizable homepages for network-based auctions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055369A (en) * 1997-05-06 2000-04-25 Hitachi Software Engineering Co., Ltd. Apparatus for visual programming with screen flow
US6233583B1 (en) * 1998-09-10 2001-05-15 International Business Machines Corporation Report generator for use within a lotus notes database system
US6467079B1 (en) * 1999-03-30 2002-10-15 International Business Machines Corporation Report program language source code translation to object-oriented language source code which emulates report program language behavior
US6829348B1 (en) * 1999-07-30 2004-12-07 Convergys Cmg Utah, Inc. System for customer contact information management and methods for using same
US6817010B2 (en) * 2000-12-27 2004-11-09 International Business Machines Corporation Monitoring messages during execution of a message flow
US6801229B1 (en) * 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US20050149617A1 (en) * 2001-11-26 2005-07-07 Objectworld Communications Corp. Graphical interface based software for creating communication service agents
US20050273420A1 (en) * 2004-04-16 2005-12-08 Lenin Subramanian Method and system for customizable homepages for network-based auctions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11377622B2 (en) 2018-01-19 2022-07-05 The Procter & Gamble Company Liquid detergent compositions comprising alkyl ethoxylated sulfate surfactant

Similar Documents

Publication Publication Date Title
US6434554B1 (en) Method for querying a database in which a query statement is issued to a database management system for which data types can be defined
US5634121A (en) System for identifying and linking domain information using a parsing process to identify keywords and phrases
US7725501B1 (en) System and method for rapid database application deployment and use
US6964010B1 (en) Formatted-item list control
US5950190A (en) Dynamic, self-modifying graphical user interface for relational database applications
US6502233B1 (en) Automated help system for reference information
US6305008B1 (en) Automatic statement completion
US5732274A (en) Method for compilation using a database for target language independence
US7231396B2 (en) Data abstraction layer for a database
DE19900500A1 (en) Generation of compatible orders for a build to order computer system
US6341359B1 (en) Self-diagnosing and self correcting data entry components
US20020029377A1 (en) System and method for developing test cases using a test object library
US7523077B2 (en) Knowledge repository using configuration and document templates
US8555263B2 (en) System and method for code automation
US20070283325A1 (en) Quality inspector tool
US5933634A (en) Mock-up method and mock-up control system for displaying pseudo operation
US20100145985A1 (en) Document management apparatus, method, and program
US6570591B1 (en) Visual syntax builder for space vehicle control
US6907434B2 (en) Message analysis tool
US20030182287A1 (en) Interface for an electronic spreadsheet and a database management system
US6993518B2 (en) Method and system for systematically diagnosing data problems in a database
US7308457B1 (en) Method and apparatus for providing customized filters to restrict datasets retrieved from a database
WO2008141117A1 (en) Materials, operations and tooling interface and methods for managing a remote production facility
JP3606484B2 (en) Database device
US7305411B2 (en) Methods, systems, and storage mediums for expanding the functionality of database applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase

Ref document number: 05712027

Country of ref document: EP

Kind code of ref document: A1