Document composition from parts inventory4730252Abstract A document preparation program for use in connection with a word processing facility includes a succinct identification and listing of designated parts of a memorandum or document, each unique part having access to an associated file which contains the basic text and formatting controls for that particular part. The user of the program may readily assemble a document from the parts inventory displayed on a master screen by mere cursor reference or by keying the name of designated parts and have the newly created document displayed, or printed in most cases without reference to additional screens. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
__________________________________________________________________________
M3TOTFGSCRIPTAlV 132 TRUNC=132 SIZE=18 LINE=0 COL=1 ALT=4
====>
...+....1....+....2....+....3....+....4....+....5....+....6....
===== * * * TOP OF FILE * * *
===== .* Leave the single quotes, but delete any extra "<->".
===== .* You may replace all this with ":to.tag", if desired,
===== .* in which case "tag" must be in a "NAMES" file you have
===== .* accessed.
===== .* Ignore the line four lines below that begins with ":TX."
===== .se a=`T. F. Galvin`
===== .se b=`15-11-50`
===== .se c=`Irving, Tx`
===== :tx.`&a ` `&b ` `&c `
===== * * * END OF FILE * * *
1=NUON2=NOFF3=SPLIT4=FOR5=BACK6=JOIN7=UP108=DO109=TAB10=<-11=->12=FILE
__________________________________________________________________________
In the present example, the operator moves the cursor to the lines labelled ".se a=", ".se b=" and ".se c=" and inputs data as shown above within the single quote marks. The format of the file screen may also be varied depending upon the application and the particular organization in which the program is operating. After inputting the particular data, the user will push the PF12 key which activates the "FILE" command to save the input information in a file which may subsequently be accessed by cursor reference to the initials placed in column C3 when the file was created. The PF12 function also returns the user to the main menu. At that time it is noted that the initials originally typed in C3 now appear in C4 at row 5 indicating that a file has been created having those initials and may be accessed in the future for memoranda sent to the same individual. With reference to the functional flow of FIG. 2, when the master screen is displayed at block 29, the program checks to determine whether the operator wishes to exit the program at block 31 which will occur if the operator depresses the PF1 function key "QUIT". Whenever the PF1 key is depressed, the program will terminate at 33 and return to the next level of program control (i.e. "VM"). If the PF1 key has not been depressed, the program checks to see if the cursor select function has been invoked at 35, such as would occur if an operator had positioned the cursor in one of the fields of columns C4-C13 and activated any key. If the cursor select function has been elected, the program moves the selected field to the "SELECTIONS" column, i.e. from one of the columns C4-C13 to column C3 as shown at block 37. Thereafter, the program either gets or edits the selections on the screen at block 39 depending upon whether or not the cursor select function was invoked at block 35. The program then checks for errors at block 41, and if there are no errors, the program restores the "SELECTIONS" list at block 45 and continues to scan for inputs as shown in FIG. 3 beginning with B2 off-page connector 47. In the event errors existed at block 41 error messages are moved to the screen at block 43 before the "SELECTIONS" list is restored at block 45. After having created the first "TO" file, the user may continue to build the document parts inventory by positioning the cursor under the first character blank of C3 in R7 document being created. In the present example, the document is unclassified and accordingly the word "NONE" is inserted in that space. Assuming the user wanted the current date to appear as the date of the memorandum, the user would then proceed to the first space in C3 across from R9 which is the identifier for the "FROM" part of the memo. Here, the user would insert his own initials, or if a secretary is typing a memo, the initials of the person requesting the memo. Again, insuring that the cursor is in one of the four spaces of the R9-C3 field, the user would again push the PF8 "XEDIT" key, and the program would display another file screen for input from the operator. The "FROM" file screen as shown below solicits the full name of the sender to be shown on the memorandum as well as the particular address of the sender and possibly his phone number and VM/ID or other relevant information.
__________________________________________________________________________
M3FRRVWSCRIPTAlV 132 TRUNC=132 SIZE=14 LINE=0 COL=1 ALT=0
====>
...+....1....+....2....+....3....+....4....+....5....+....6....
===== * * * TOP OF FILE * * *
===== .* Enter your name immediately after ":name." on line 9.
===== .* Enter your phone extension in place of "xxxx" on line 9.
===== .* Enter your title & dept. name after ":dept." on line 10.
===== .* Enter your location and int. zip after ":zip." (line 11.)
===== .* Enter your electronic address after ":mail." (line 12.)
===== .* Enter the way you sign your name after ":sig." on line 13.
===== .* Enter your initials after ":init./" on line 14.
===== :from.
===== :name.Robert V. Wilder :phone.214-556-5491, T/L 641-5491
===== :dept.Patent Attorney/Dallas Patent Operations
===== :zip.MS 15-11-50, PO Box 152750, Irving, Texas 75015-2750
===== :mail.DALHQICI(WILDER)
===== :sig.Robert V. Wilder
===== :init./rvw
===== * * * END OF FILE * * *
1=NUON2=NOFF3=SPLIT4=FOR5=BACK6=JOIN7=UP108=DO109=TAB10=<-11=->12=FILE
__________________________________________________________________________
After having input that information, the operator pushes the PF12 key to file away that information and return the user to the master menu screen. Thereafter, that file may be accessed by positioning the cursor under the initials which created that file and pushing the PF8 key or merely "selected" for a subsequent memo by positioning the cursor as noted and pushing the "ENTER" key. The user will then normally create a subject file "SUBJ" by inputting a subject file identifier of up to four characters in R10 at C3. Again positioning the cursor under that field the operator would push the PF8 key and the particularly identified subject file screen would appear as shown below with all blanks to be completed as necessary by the user. The user would then key in the full subject as it would appear on the document and press PF12 to file that input and return the user to the main menu.
__________________________________________________________________________
M3SBTMCL SCRIPTAlV 132 TRUNC=132 SIZE=4 LINE=0 COL=1 ALT=4
====>
...+....1....+....2....+....3....+....4....+....5....+....6....
===== * * * TOP OF FILE * * *
===== .* Each line of a subject block must start with ":subj.".
===== .* Modify or delete the following lines as desired.
===== :subj.Trademark Report.
===== * * * END OF FILE * * *
1=NUON2=NOFF3=SPLIT4=FOR5=BACK6=JOIN7=UP108=DO109=TAB10=<-11=->12=FILE
__________________________________________________________________________
In like manner, the user identifies and inputs to create a "REF" file and the remaining files as shown in FIG. 1. It should be noted that the editor functions include devices by which new paragraphs may be added and new lines may be added if the predetermined file space is not sufficient for the text of the memo body. An exemplary "BODY" file screen is shown below.
__________________________________________________________________________
M3BORPTMSCRIPTAlV 132 TRUNC=132 SIZE=20 LINE=0 COL=1 ALT=20
====>
...+....1....+....2....+....3....+....4....+....5....+....6....
===== * * * TOP OF FILE * * *
===== .* If you don't need them, delete these ten comment lines.
===== .* (A comment line is one that starts with ".*" column 1.)
===== .* Add memo body below line 12.If you don't want ragged
===== .* right margin, change ".ju off" to ".ju on" on line 11 below.
===== .* Formatting tags::p.=paragraph, :ol.=begin ordered list,
===== .* :eol.=end ordered list, :ul.=begin unordered list,
===== .* :eul.=end unordered list, :sl.=begin simple list,
===== .* :esl.=end simple list.
===== .* Use starter set tags freely.Save this file frequently.
===== :body.
===== .ju off
===== :p.This is the first sentence in a sample paragraph.
===== This is the second sentence in the first sample paragraph.
===== :p.This is the second sample paragraph.
===== :ol.
===== :li.This is list item 1 in a sample ordered list.
===== :li.This is list item 2 in a sample ordered list.
===== :li.This is list item 3 in a sample ordered list.
===== :eol.
===== * * * END OF FILE * * *
1=NUON2=NOFF3=SPLIT4=FOR5=BACK6=JOIN7=UP108=DO109=TAB10=<-11=->12=FILE
__________________________________________________________________________
The listing capability, which is part of the formating control, appears on the body file screen and allows a user to insert data items which will automatically be numbered in appropriate order. It should be noted that certain of the document parts categories shown in the second column C2 cannot be changed by pushing the PF8 key, i.e. several of the document parts have no associated file. For example, the classification line at row 7 contains one of the three predesignated "classifications" and if a different "classification" is required that input is entered on the master menu in row 7 beginning at column C8 rather than being entered in an associated file screen. The PF1 key when pushed returns the user to the originating program from which the document parts or memo parts program was accessed. PF2 "CHECK SPELLING", allows the user of the memo parts program to access that function in the basic VM program. The PF3 key "VIEW MEMO" allows a user to view the entire memo after it has been created before it is sent to the printer. In that connection, it should be noted that after a user creates the first memorandum using the system, the PF 3 key may then be actuated at which time a message would appear in a lower right hand corner of the master screen advising the operator that the memo is being collected together from the selected parts. After a very short delay the memo as created appears on the screen for the user to visually proofread. That process occurs each time the "VIEW MEMO" PF3 or print functions PF5 or PF6 are invoked, i.e., a new memo is collected from the parts which have been inserted in the "SELECTIONS" column C3. The PF4 key "SCROLL LIST" is used by an operator to scroll file designations which have been created but do not appear on the screen in columns C4-C13 because of screen space limitations. PF5 "PRINT A DRAFT COPY" assembles the document and prints it at the designated printer in draft format but does not "Log" the document into the "Log" file. PF6 "PRINT A FINAL COPY" causes the designated printer to print a copy of the created document in a final format and automatically creates a summary of the document and saves the summary in the "Log" file as hereinbefore explained. When it is desired to erase any of the files for any reason, the user will position the cursor in one of the columns C4 through C13 which is to be erased and then hit the ENTER key. That process will move the particularly identified file to the "SELECTIONS" column C3 at which time the user would press the PF7 ERASE key. As a safety measure a message then appears warning the user that another depression of the PF7 key will erase the file at which time the user can complete the deletion by pushing the PF7 key once again. As hereinbefore noted, the PF8 "XEDIT" key is used to add or delete information from the screen files and the PF9 SCROLL LOG FORWARD and PF10 SCROLL LOG BACKWARD keys are used to move from summary to summary in the "Log" file and change the list of "SELECTIONS" (C3) accordingly. PF11 VIEW LOG is used to display the 1st screen of the "Log" file from the master menu. The PF12 HELP key is used to display the instructions with regard to the use of the memo parts program. It should be noted that as new parts are created, they are automatically added to the blank spaces in columns C4 through C13 and saved for future access. The "SELECTIONS" column C3 will always show the particular document parts selected for the most recently created document or a document from the "Log" file, and when new parts are to be designated, the user may type over the identifying characters appearing in column C3 without destroying the contents of the previous file, i.e. the file identification always appears as one of the files in columns C4 through C13 in addition to column C3 which indicates only that it has been selected for a current document. With reference to FIGS. 3 and 4, the program functions invoked by the PF keys are illustrated in detail. As shown in those figures, the program is interrupt-oriented so that in the event none of the function keys are actuated, the program continues to cycle through the decision blocks associated with the function keys returning to the off page connector A1 and merge point 9 shown in FIG. 2. In the event the program determines that the ERASE function has been invoked by an actuation of the PF7 key at block 49, the program next determines whether the PF7 key has been actuated for the first or second time at 57. After one actuation a flag is set at block 59 so that the second actuation of the PF7 key is effective to erase the designated file as indicated at block 61. If the PF7 key has only been depressed once, the flag is set at block 59 and the program recycles, displays a message to the operator as hereinbefore noted, and is effective to detect a second actuation on the next scan. If the program makes a determination that the function key PF3 "VIEW MEMO" has been actuated as shown in decision block 51, and the memo has not been built as determined at 63, the selected parts are concatenated at 65 and formatted at 67 to be displayed to the user at 71. If the memo had already been assembled as shown in the "SELECTIONS" column C3, the program insures that the memo has been formatted at 69 before displaying the memo to the user at 71. In the event the memo had not previously been formatted, it is formatted at 67 before being displayed. The program then returns to the merge point 9 shown on FIG. 2. As shown in decision block 53, the program is effective to initiate the print routine in the event the function keys PF5 "PRINT A DRAFT COPY" or PF6 "PRINT A FINAL COPY" have been actuated. If either key has been actuated, and the memo has not been built as determined at 73, the selected parts are concatenated at 75 and formatted at 77 for printing at 81. In the event the memo had previously been built, the program goes directly from the "memo built" decision block 73 to the "memo formatted" block 79. In the event the memo had not previously been formatted, it is then formatted at 77 prior to being printed at 81. The difference between the "PRINT A FINAL COPY" function key PF6 and the "PRINT A DRAFT COPY" function PF5 is illustrated by the subroutine including the decision block 83 and the "update log" process indicated at 85. The appearance of the memo being printed will be the same regardless of which key had been actuated. However, if the memo being printed is a final draft as determined at 83, the "Log" file is updated at 85 for future reference before the program returns to the merge point 9. If the user desires to print only a rough draft, the "Log" file is not updated and after the rough draft is printed, the program then returns to the merger point 9 and continues to cycle for the detection of actuated function keys. If neither of the "print" function keys PF5 or PF6 have been actuated, the program continues its scanning process as shown by the off-page connector C3. In FIG. 4, the off-page connector C3 is connected to a "check spelling" decision block 87. That routine corresponds to the function key PF2 which, when actuated would effect a display of the file in connection with a "spell checker" routine. That routine is part of the underlying word processing code and similar routines are well known in the art. Accordingly, the details of the "check spelling" routine will not be elaborated upon at this point. The next function scanned for selection is the "scroll log" function shown at decision block 89 and corresponding to the actuation of either of the function keys PF9 "SCROLL LOG FORWARD" or PF10 "SCROLL LOG BACKWARD". In the event the "scroll log" or update function keys are actuated, the program will either refresh or update the selections list with the next three summary entries of the "Log" file or the previous summary entries of the "Log" file depending upon which function key is actuated by the user. It should be noted that the "scroll log" function is available only after a user has first created multiple document summaries in the "Log" file by executing the "Print a Final Copy" function. The order of the decision blocks 49, 51, 53, and 87-97 are of no particular significance in the present example since the program continues to scan for user inputs. Rather, the functions themselves together with the routines disclosed and the interrelationships among the routines and functions should be noted. The function key PF12 "HELP" invokes a help routine as shown in decision block 91 which is effective to display a help file at 103 containing specific instructions on the operation of the memo parts inventory or interface program. As hereinbefore noted, the operator may actuate function key PF11 "VIEW LOG" in which case decision block 93 leads the program to display the "Log" file of part combinations for the memos previously selected and printed in final form as shown at 105. In the present disclosure, all of the routines which lead to off-page connector "C1" are returned to FIG. 2 where the master menu is displayed and the screen has not received operator input which requires master menu updating. Those programs or routines which lead to off-page connector A1 are returned to the merge point 9 in the program shown on FIG. 2 to accomplish a refreshing or updating of the master menu to include operator inputs before displaying the master menu. The actuation of function key PF8 "XEDIT" is detected by the decision block 95 which leads to a subsequent determination of whether or not the operator is creating a new part as shown by decision block 107. In the event the operator is creating a new part as indicated by the fact that there is no file associated with the initials or characters in the field in which the cursor is located when the function key is actuated, then a blank file is processed at 109 for display to the operator and subsequent operator input. In the event the operator is recalling a previously created file, then the program recalls the existing part file at 111 to display to the operator at 29 (FIG. 2) to receive operator input regarding the modification of the previously created file. An editing function, which processes any operator input, is also part of a pre-existing word processing program underlying the present code and is well known in the art. The actuation of function key PF4 "SCROLL LIST" is detected at decision block 97. As hereinbefore noted, that function is effective to scroll the lists of short identifiers which are saved by the present program but may not be displayed on the master menu screen because of the size limitation of the screen. For example, the "TO" memo part in the present embodiment includes space for three rows of ten columns each, or 30 files for which short identifiers may be displayed on the screen. The program will receive additional short identifiers which may not be displayed on the screen but may be selectively displayed with the "SCROLL LIST" function. In the event that function key PF4 is actuated, the program determines whether or not the cursor is in a valid screen area at 113 in which case the next short identifier will be accessed at 115 and appear in the appropriate screen area. It should be noted that the cursor must be in a valid area on the screen for the implementation of the "SCROLL LIST" function, i.e., the cursor must be in one of the fields appearing in columns C4-C13 which can be accessed so that the program has input regarding which displayed group of short identifiers is to be scrolled. If, for example, the cursor is in the "DATE" field when the PF4 function key is actuated, an error message will be presented to the operator as shown at 117 and the program will return to the merge point 9 shown in FIG. 2. With the present invention it can be seen that through the use of carefully designed menus and sequential decision logic functions, documents may be created very readily by mere reference to document parts previously created and stored in the system. Although the present disclosure illustrates a preferred exemplary embodiment of the document parts inventory program, it is understood that the invention may be implemented in various other forms and in different applications and will provide an improved and more efficient communication and work flow resource in many environments. The flow charts presented herein are written in a general high-level pseudocode which can be readily translated into any high level language. The actual language and programs required to implement the functions described herein depend on the particular system in which the present invention is implemented. The specific programs for the implemented systems are considered to be within the ability of the programmer having ordinary skill in the art after having reviewed the present specification, and the present disclosure is made in order to enable implementation of the present invention in the myriad of languages and systems presently available for various applications. Although the present invention has been described in the context of a preferred embodiment, it will be readily apparent to those skilled in the programming art that modifications and variations can be made therein without departing from the scope of the present invention as defined in the following claims. The embodiments of the present invention in which an exclusive property or privilege is claimed are defined as follows.
|
Same subclass Same class Consider this |
||||||||||
