Data processing apparatus

Abstract: All data are uniformly and automatically processed in a data processing system. An input record is trans­ formed into a record having a uniform format. All file formats are unified. A desired records is read out from a file and transformed into a arbitray format. Data input processing, a file update processing, and data output processing are designed to process data indepen­ dently, uniformly, and automatically. A process content to be performed by each of the data input, file update, and data output processings is designated by a simple data item such as a record keyword and a data word.

Description: The present invention relates to a data processing apparatus for performing input, update, and output processing operation for a file and to a respective data processing method. A conventional data processing apparatus including a computer stores files in a disk unit, for example, and updates the files in accordance with input record data. Companies in various industrial sectors are introducing computers, and the contents of files and input records are different depending on the industry sectors. Even in a same industrial sector, a line of business generally differs depending on the specific nature of the particular business. Accordingly, the contents of files, and records to be input or to be output from the files, are variously different. In order to deal with the situation described above, in a conventional data processing apparatus, a system is designed to correspond to various particular input records, files, and output records. Accordingly, programs are designed and prepared individually to deal with the particular input records, files, and output records. In each case, the program is designed in a program language. More specifically, in response to data input from an input section, a data processor performs a set of processing operations such as reading a record to be updated from a file, performing arithmetic and logical operations for the record, and rewriting the record in the file. A program must be described in a program language so as to execute the set of processing operations each time a record is input. As described above, in a conventional data processing apparatus, various programs must be prepared dedicated for each line of business of various industrial sectors. In designing a file management system for managing files, an update program for updating a file must be designed. A structure of a record in a file and word positions in a record are fixedly allocated in a memory. Furthermore, the respective files have different record structures. For this reason, a program for updating a record in a file in accordance with an input data, must be designed to be adapted for the particular record structure. Such program design is troublesome and time consuming. In addition, each firm or company generally requires a large number of different types of files, and therefore is obliged to design, individually, a large number of programs corresponding to the respective files. Furthermore, each firm uses a large number of types of business slips or forms, including, for example, order-acceptance slips, sales slips, purchase slips, and transfer slips of traveling-expense statement of accounts, credit slips, and the like. Throughout the following description, such slips, forms, records, etc. are referred to as "slips" for ease of designation. In general, each firm or company has its own input record formats for the above various types of slips. Accordingly, an input processing program must be individually designed in correspondence with the various types of slips of the respective users. Therefore, a great deal of labor and time is required to design the individual system satisfying the requirements of each user. Furthermore, each program is described to have a set of procedures of inputting, updating, and outputting of a file. Therefore, when the contents of files or input or output records are updated for a change of the line of business and the like, a large number of modifications are required for each program. Such modifications for an entire system are not easily accomplished, and in some cases, a system must be redesigned. An object of the present invention is to provide a data processing system which can uniformly and automatically process all the data, and which can correspond to data processing operations of various industrial sectors and lines of business without requiring generating of individual user's specific programs. This object is solved by the subject mutter of claims 1 and 6. This invention can be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which: Fig. 1 is a view showing an overall arrangement of a data processing apparatus according to the present invention; Fig. 2 is a view for explaining an operation of input processing unit 12; Fig. 3 is a view for explaining an operation of basic record generating unit 13; Fig. 4 is a view for explaining an operation of update record generating unit 14; Figs. 5A and 5B are views showing storage statuses of update records in update record memory 23; Figs. 6A and 6B are views showing storage statuses of files in file memory 24; Fig. 7 is a flowchart for explaining an operation of file update processing unit 15; Fig. 8 is a view showing a specific example of records in file memory 24; Fig. 9 is a view explaining a code system of a commodity code; Fig. 10 is a view showing an example of a designation data in output record designation memory 26; Figs. 11(a), 11(b), and 11(c) show storage statuses of output records in generated record memory 21, and Fig. 12 is a flowchart for explaining an operation of output record generating unit 25; Fig. 13 is a view showing a specific example of records stored in generated record memory 21; Figs. 14A - 14C are views showing storage statuses of records stored in file memory 24; Fig. 15 is a view showing an example of a designation data stored in output format designation memory 28, and Figs. 16A - 16E are views for explaining the contents of the respective designation data; Fig. 17 is a flowchart showing an operation of output processing unit 27, and Figs. 18A - 18D show print statuses of output data; Fig. 19 shows a partially enlarged print status; Fig. 20 is a view showing another example of the designation data stored in output format designation memory 28; Fig. 21 is a flowchart showing another operation of output processing unit 27; Figs. 22 and 23 are views showing print statuses of output data; and An embodiment of the present invention will now be described with reference to Figs. 1 through 20. Fig. 1 shows an overall arrangement of a data processing apparatus according to the present invention. Input unit 11 inputs slip data and the like, and comprises setting keys for preliminarily setting various designation data, numeric keys for inputting data, and function keys and the like. Input processing unit 12, basic record generating unit 13, update record generating unit 14, and file update processing unit 15 are connected in tandem to input unit 11. Input record designation memory 16, basic record designation memory 17, update record designation memory 18, and update memory 19 are connected to input processing unit 12, basic record generating unit 13, update record generating unit 14, and file update record processing unit 15, respectively. Furthermore, generated record memory 21, basic record memory 22, update record memory 23, and file memory 24 are connected to input processing unit 12, basic record generating unit 13, update record generating unit 14, and file update processing unit 15, respectively. Predetermined data from input unit 11 are set in input record designation memory 16, basic record designation memory 17, and update record designation memory 18, respectively. The details of the respective designation data are described later. Input record designation memory 16 stores the correspondence between word Nos. and word contents of a record to be generated and the word contents. The word contents represents an "input word", an "index word", a "calculation word" and the like. Basic record designation memory 17 stores the correspondence between the respective word Nos. of a basic record to be described later and the respective word Nos. of a record stored in generated record memory 21. Update record designation memory 18 stores data representing the correspondence between the respective words of an update record comprising a single or a plurality of record keywords and data words, and the respective words of a basic record. Furthermore, memory 18 stores a file keyword designating a file to be updated and data designating the contents of the update. Input processing unit 12 processes the data input from input unit 11 in accordance with the word contents stored in input record designation memory 16, writes a record corresponding to the set word No. in generated record memory 21, and starts basic record generating unit 13 after one record has been written in memory 21. Basic record generating unit 13 transforms the generated record written in generated record memory 21 into a basic record in accordance with the contents stored in basic record designation memory 17, and writes the transformed record in basic record memory 22. Further, basic record generating unit 13 starts update record generating unit 14 after completing the writing, in basic record memory 22, of basic records corresponding to a single slip which amounts to a single or a plurality of records. Update record generating unit 14 generates an update record from a basic record in accordance with the contents set in update record designation memory 18, and writes the update record in update record memory 23. The update record to be written in update record memory 23 comprises a file keyword, a single or a plurality of record keywords, contents of update, and data words. File update processing unit 15 is activated in response to an update-record-generating completion instruction from update record generating unit 14, or an update designation instruction from input device 11 when a batch processing is performed. Unit 15 updates the records within a corresponding file stored in file memory 24, using update memory 19 and in accordance with the file keyword and the record keywords in the update record. Update memory 19 comprises a random access memory (RAM), for example, and has areas of A, B, and C used as a work memory, respectively. A group of records each comprising a single or a plurality of record keywords and data words are stored by file and in the order of the keyword, in file memory 24. The respective records stored in file memory 24 are read out by output record generating unit 25. Output record designation memory 26 is connected to output record generating unit 25. Output record designation memory 26 prestores designation data for generating the output record, for example a file keyword, retrieval condition, generated word, word contents, and the like, from input unit 11. Output record generating unit 25 is activated in response to an output designation instruction from input unit 11, generates a record in accordance with the contents set in output record designation memory 26, and writes the record in generated record memory 21. The record stored in generated record memory 21 is read out by output processing unit 27, output into a predetermined position with a predetermined format in accordance with the designation data preliminarily set in output form designation memory 28, and then printed or displayed on an output unit such as a printer or a display unit. An operation of the above-described embodiment will now be described. The respective word data in an input record based on a slip and the like are input from input unit 11, and are then supplied to input processing unit 12. Upon receiving the data, input processing unit 12 refers to the designation data stored in input record designation memory 16 as shown in Fig. 2, processes the input respective word data in the order of the word No., and in accordance with the word contents "W1, W2, ..., Wn (input, index, calculation and the like)" corresponding to word No. "I1, I2, ..., In", and sequentially writes the processed results in generated record memory 21 as the word data "m1, m2, ..., mn". When the word contents is an "input word", unit 12 sets the input word data in a word position corresponding to the word No., in generated record memory 21. When the word content is an "index word", unit 12 refers to an incorporated index memory (not shown), transforms the input word data, e.g., a code data into a character data, and sets the character data in a position corresponding to the word No. of record memory 21. When the word contents is a "calculation word", unit 12 executes a calculation formula of the words and stores the calculation result in the corresponding word position in generated record memory 21. The calculation formula is defined by using the word Nos. For example, when the word contents "W3" is defined by "I1 × I2", unit 12 reads the word data "m1" and "m2" represented by word No. "I1" and "I2" from generated record memory 21 and multiplies them. Word data "m3" representing the multiplied value is stored in a position of input word No. "I3" in generated record memory 21. As described above, input processing unit 12 performs processing operations corresponding to the respective word contents stored in input record designation memory 16, and upon completion of storing all the data in one record into generated record memory 12, it activates basic record generating unit 13. Basic record generating unit 13 is activated in response to an instruction from input processing unit 12, and generates a basic record based on a record stored in generated record memory 12 in accordance with the designation data stored in basic record designation memory 17. More specifically, basic record designation memory 17 shown in Fig. 3 stores designation data representing a correspondence between respective word Nos. "I1, I2, ..., In" in generated record memory 21 and respective word Nos. "S1, S2, ..., Sn" in basic record memory 22. Basic record generating unit 13 arranges the respective word data "m1, m2, ..., mn" in a record stored in generated record memory 21 in the order designated by the designation data stored in basic record designation memory 17 and then stores them in memory 17. Alternatively, unit 13 generates a specific word defined by the type of the input record, and stores the word in basic record memory 22. For example, as shown in Fig. 3, when word Nos. "I2, I4, I5, ..., I7" in the generated record are set to be correspond to the word Nos. "S1, S2, S3, ..., Sn" in the basic record, basic record generating unit 13 arranges the word data in generated record memory 21 in the order of "m2, m4, m5, ..., m7", and then stores the word data in basic record memory 22 as a basic record. As described above, basic record generating unit 13 generates the basic records for a single slip each comprising a single or a plurality of basic records, and then writes the generated records in basic record memory 22. When an input indication data indicating a completion of inputting data for a single slip is input to basic record generating unit 13 through input processing unit 12, unit 13 activates update record generating unit 14. Update record generating unit 14 updates the basic records stored in basic record memory 22 to generate update records in accordance with the designation data from update record designation memory 18, and then writes the updated records in update record memory 23. Update record designation memory 18 preliminarily stores, as shown in Fig. 4, data designating word No. of the basic record indicating a single or a plurality of record keywords and data words, update contents, and a file name to be updated. For example, designation data 18-1 designates "total", "F2", "S2, S3", and "S5, S6, S1, S4" as the update contents, the file keyword, the record keyword, and the data word, respectively. In this case, two record keywords are designated. Furthermore, designation data 18-2 designates "total", "F3", "S1", and "S13, S14" as the update contents, file keyword, record keyword, and data word, respectively. In this case, a single record keyword is designated. The update contents in the designation data designates any one of "addition", "deletion", "total", "correction", and "addition and total". Update record generating unit 14 generates the update record from the basic record stored in basic record memory 22 in accordance with the designation data. For example, unit 14 generates update record 23-1 having "total", "F2", "m4, m5", and "m1, m9, m2, m6" as the update contents, file keyword, record keyword, and data word, respectively. Other update records are similarly generated and stored in update record memory 23. The respective words of the update record stored in update record memory 23 are divided by delimiters "," and ";", and the respective update records are divided by delimiter "(". Each update record has a variable length. In each of the update records, record delimiter "(" is followed by words indicating the "update contents", "file keyword", and "record keyword". The record keyword comprises a single or a plurality of words which are individually divided by delimiter ",". Further, delimiter ";" is followed by data words. Fig. 5A shows an update record having the "update contents" of one word. However, the update record may have the "update contents" as shown in Fig. 5B. More specifically, as shown in Fig. 5B, when the update content is total, a sign "+" or "-" indicating "addition" or "subtraction" is appended to the words to be totaled. If the update contents is "correction", a sign "*" is appended to the data word to be corrected. If it is the "deletion", the update record may have only the record keyword without appending the data words. If it is "addition", the record keyword and the data word to be added are added in the update record. In other words, if the update record comprises only a file keyword and the record keyword(s), the update contents means "deletion". Upon a file update processing, if file update processing unit 15 finds, in file memory 24, no record having a record keyword identical to the record keyword of the update record, the update processing means "addition". On the contrary, if unit 15 finds the record in file memory 24, it checks the data word whether "+", "-" or "*" is appended thereto. If "+" or "-" is appended to the data word, unit 15 determines that the update contents means "total". If "*" is appended to the data word, it determines that the update contents means "correction". Thus, unit 15 can perform the corresponding processing operation on a file to be updated. File memory 24 stores, as shown in Fig. 6A, a number of records each comprising the record keywords and the data words in the order of the file keywords and the records in a file are arranged in the order of the record keywords. In Fig. 6A, " ", "(", ",", and ";" represent a file delimiter, a record delimiter, a word delimiter, and a delimiter indicating a record keyword and a data word. Further, "F1", "F2", ... represent file keywords, and "m" indicates a variable data comprising bytes corresponding to the length of an effective data. Each word and record in file memory 24 has only packed transaction data. In each file, the number of record keywords in the respective records are identical. Files F1 and F2 have three and two record keywords, respectively. In the example of Fig. 6A, delimiter ";" is used between a record keyword and a data word. However, a predetermined number of words from the beginning of a record may be defined as a keyword. In this case, file update processing unit 15 may be designed to recognize a predetermined number of words from the beginning of the record as the keyword. Further, each file may have a different number of record keywords by preliminarily storing in a memory the number of record keywords for every file. Fig. 6B shows another record format stored in file memory 24. A single or a plurality of words divided by a first delimiter "." from the beginning of a record represent a record keyword. For example, in file F1, "m, m, m." are the record keywords. The record keywords "m, m, m." are further divided individually by another delimiter ",". The words following the first delimiter "." represent data words. These data words are individually divided by delimiter ".". Although, a record keyword is normally displaced in the beginning of a record, it may be displaced in any position within the record unless it is preliminarily fixed. File update processing unit 15 is activated in response to an instruction from update record generating unit 14 or an update designation instruction from input unit 11, and executes the file update processing shown in a flowchart of Fig. 7. More specifically, unit 15 sorts the update records in update record memory 23 in the order of the file keyword and in the order of the record keyword in the file. (step A1 in Fig. 7) Unit 15 then reads out all the update records having an identical file keyword from memory 23, and writes them in area A of update memory 19. (step A2). Further, unit 15 reads out all file the records having the corresponding file keyword from file memory 24 and writes them in area B of update memory 19. (step A3) Unit 15 sequentially compares the record keywords of the records stored in areas A and B in update memory 19, and updates a record in area B corresponding to an update record in area A in accordance with the update contents of the update record. (step A4) The updated records or the records in area B which have not been updated are written in area C in update memory 19 in the order of the keywords, for example with the keywords in ascending or descending numerical order, as desired. When the update processing for the records stored in areas A and B is completed, the updated records stored in area C of update memory 19 are written in a new area in file memory 24. (step A5) Then, it is determined whether the update processing of the update records corresponding to all the file keywords stored in update record memory 23 has been completed. (step A6) If the processing has not been completed, unit 15 returns to step A2 and performs the update processing for the update records corresponding to the remaining file keywords. When the update processing in steps A2 through A6 is repetitively performed for all the update records in memory 23, the file update processing is completed. The update processing in step A4 wherein the update record is updated in accordance with the update contents will now be described. If the update contents indicates the "addition", records to be added having record keywords and data words in the update record are inserted, in the order of the record keywords, in the records which are read out from file memory 24 and stored in area B of update memory 19. In case of "deletion", records in area B which are coincident with the record keyword in the update record are deleted. In this case, by designating only the upper word of the record keyword, or the upper digit of the record keyword, all the records in area B which are coincident with the designation can also be deleted. When the update contents is "total", among the data words of the respective records in area B which are coincide with the record keyword, the data designated by the data word of the update record is added to the corresponding word. If the data word in the update record is negative, the data is subtracted from the corresponding word. When the update contents is "correction", among the words of the respective records in area B which coincide with the record keyword in the update record, the words corresponding to the data words in the update record are corrected to become the word data designated by the data word in the update record. When the update contents is "addition and total", if the records which coincide with the record keyword in the update record exist in area B, a similar operation as "total" is performed, and if no such records exist, a similar operation such as "addition" is performed. As described above, the records input by input unit 11 are updated for each of the corresponding files in file memory 24. An example of a file stored in file memory 24 is shown in Fig. 8. In Fig. 8, the start word in each record designated by word No. "01" is a record keyword, and more specifically an item code is stored as the record keyword. Words designated by word No. "11", "12", ... in each of the records are data words in which "a unit price", "amount" and the like are stored. Each word comprises a variable length data. Each word is divided by a word delimiter code ",", and a record delimiter code "(" is inserted in the beginning of the record. The records are arranged in ascending order of the record keywords and are packed and stored in a memory without providing any space such as a leading zero. The item code used as a record keyword in each record has a code system shown in Fig. 9. For example, item codes "111", "112", ... denotes "watch A", "watch B", and the like. The item codes shown in Fig. 9 also represents "large classification" and "medium classification". The uppermost and the upper two digits in each item code represent the large classification and the medium classification, respectively. For example, "11" and "12" represent a "watch" and a "clock", respectively. Further, "1" and "2" of the uppermost digit in each item code represent a "watch" and a "pocket calculator", respectively. More specifically, the codes used as the record keyword of the item codes and the like are weighted corresponding to the large classification, medium classification and the like in the order from the upper to lower digits in each code. When a record has a plurality of record keywords, they are weighted sequentially from the first to the last digit. A code used as the record keyword comprises a variable length data. When an item code for a new item name "watch Ba" is set between item codes "112" and "113", the item code for the new item may be set as "1121". Therefore, the addition of a new record can be facilitated. The record keywords can be weighted from the last to the first digit, or in any other desired order. As described above, file memory 24 stores records corresponding to an item code, but stores no records regarding the large and medium classification. Further, each record has no word data corresponding to "a total amount". These records and word data are arbitrarily generated by output record generating unit 25 as described below. Fig. 10 shows an example of the designation data in output record designation memory 26. Fig. 12 is a flow chart showing an operation of output record generating unit 25. In accordance with the designation data in output record designation memory 26, an output record as shown in Fig. 13 is generated from a record in file memory 24 and stored in generated record memory 21. An operation of generating the output record will now be described. Output record designation memory 26 stores a file keyword and a retrieval condition as a designation data for retrieving and reading a predetermined file and record from file memory 24. Furthermore, memory 26 stores output record generating words with its word contents. Furthermore, in order to generate the output record corresponding to the weight of the record keyword, memory 26 (see Fig. 10) stores designation data of generating renit 3 (renit means a record unit), generating renit 2, and generating renit 1. The output record generating word can designate an arbitrary number of words constituting an output record. In this example, word Nos. ".1", ".2", and ".3" of the output record generating word correspond to "a01 > 1", "a01 > 2", and "a01 < 3", respectively. The "a" of the word contents of "a01 > 1" represents a record (a source record) retrieved and read out from file memory 24, and "a01" represents a word of word No. "01" of the source record. Output records can be collected or sorted at an arbitrary classification or totalizing level by using the upper record keyword portion (i.e., upper level digits), and the output records having various levels can be collected and totaled. Fig. 10 shows an example of collecting the output records up to level three. Each sorting or collecting level is called a "renit" (an abbreviation of a record unit). Generation renit 3 designates an output record with a lowest level generated from the source record. Generation renit 2 designates output records collected at an upper level from the output records generated under the designation of generation renit 3. Generation renit 1 designates output records collected at further upper level generated from the output records generated under the designation of generation renit 2. A record keyword of an output record of generation renit 3 comprises three words designated by the word contents corresponding to generation word ".1", ".2", and ".3". A record keyword of an output record of generation renit 2 comprises two words designated by word contents ".1" and ".2". Similarly, a record keyword of an output record of generation renit 1 comprises one word designated by the word content ".1". For example, since the record keyword of generation renit 3 comprises word contents "a01 > 1", "a01 > 2", and "a01 > 3" corresponding to ".1", ".2", and ".3", the first word ".1" of the record keyword is set a first digit of the word data of word No. "01" of the source record. Similarly, the second word is set the second digit of the word data of word No. "01". Furthermore, the third word is set the remaining digits of the word data of word No. "01". The "b" of word contents "b.1/T" represents an output record, and "b.1" designates to read out the word data of word No. ".1" of the output record. Accordingly, word contents "b.1/T" set corresponding to generation word "11" is a designation data for reading out the word data of word No. ".1" of the output record, further reading out the corresponding data from table memory T (not shown) and sets the readout data as the word data of word No. "11" of the output record of generation renit 1. More specifically, an item name corresponding to an item code read out from word ".1" is read out from table memory T and written in an output record as the word data of word No. "11". Generation word 11 corresponding to generation renit 2 is set to have word content "b.1&b.2/T". This word content designates that respective word data of word Nos. ".1" and ".2" of the output record are combined, and a data corresponding to the combined data is read out from table memory T, and the read out data is used as the word data of word No. "11" of the output record of generation renit 2. The word No. "11" of the output record of generation renit 3 is set "a01/T" as the word content. In this case, a data corresponding to the word data of word No. "11" is read out from table memory T and the read out data is stored as the word data of word No. "11". As described above, when "1" is designated in the respective generation renits corresponding to generation words "12", "13", "14", and so on, the word data are generated in accordance with the respective word contents. Note that "C1" of the generation word is a console word which is used for temporarily storing a generated word, and for performing a calculation between renits in accordance with the temporarily stored word. An operation of output record generating unit 25 will now be described with reference to the flowchart shown in Figs. 11(a) through 11(c) and 12. Prior to the processing shown in the flowchart, assume that records having a designated file keyword and retrieval condition (for example, a condition of a specified word having a specified value or more, and the like) are read out from file memory 24 and stored in generated record memory 21. In the following example, assume that all the records in the file shown in Fig. 8 are read into generated record memory 21. In step B1 of Fig. 12, output record generating unit 25 reads out from output record designation memory 26 a designation data of renit n having a lowest level, e.g., of renit 3 in the example of Fig. 10, and generates the respective word data of the output record in accordance with the designation data. For example, unit 25 generates an output record "1, 1, 1, watch A, 1000, 50, 500000, ," from a source record "111, 1000, 50, ...." in file memory 24 shown in Fig. 8. At this time, the word of word No. "15" in the output record is not generated. Similarly, unit 25 generates, in accordance with the designation data of renit 3, the output records from all the source records, and then writes them in generated record memory 21. In step B2, unit 25 sorts the output records in the order of the record keyword. If unit 25 finds a plurality of output records having an identical record keyword, it totals up the respective data words in the output records to generate a single output record. Unit 25 thus generates an output record corresponding to renit 3 and stores it in generated record memory 21 as output record file f3 as shown in Fig. 11(a). In step B3, unit 25 determines the presence or absence of a designation data regarding next renit. If the presence of the designation data is determined, unit 25 generates an output record in accordance with the designation data corresponding to renit 2 in output record designation memory 26. For example, in generation word No. "13" and "14", "1" indicating "totals up" to upper-level renit is designated, unit 25 totals up the word data of word Nos. 13 and 14 of the output record or renit 3, and sets the totaled word as the word data of word Nos. "13" and "14" of the output record of renit 2. In step B5, unit 25 performs a calculation within a renit. For example, unit 25 stores word data of word No. "14" generated in renit 2 in console word "C1". Unit 25 performs processings of steps B3 through B5 in accordance with the designations of the respective renits to generate and store in generated record memory 21 output record files f2 and f1 according to the respective renits, as shown in Figs. 11B and 11C. If absence of renit next to be designated is determined in step B3, unit 25 moves to step B6 to perform a calculation between renits. For example, unit 25 computes a ratio of a word generated in generation renit 2, e.g. console word "C1" to a word of word No. "15" of the output record of generation renit 3. This ratio may be a ratio of profit to sales. Unit 25 stores the computation result in generated record memory 21 as the corresponding word data of the respective records of generation renit 3. In step B7, unit 25 rearranges all the output records in generated record memory 21 in the order of the renits. More specifically, unit 25 rearranges all the output records in ascending order based on the record keywords within word ".1", ".2", and ".3" of the output record. The result of the rearrangement is shown in Fig. 12. In this example, output records are rearranged in ascending order of the renits. However, the output records may be rearranged in descending order or in a designated order of the renits. In the example described above, the output records of the upper level renits are generated in accordance with the designation data in output record designation memory 26. However, the records corresponding to the upper-level renits may be preliminarily stored in file memory 24. In this case, when the generation of the update record is designated in update record designation memory 18, a record keyword corresponding to the upper-level renit may be designated in memory 18. In accordance with the designated record keyword, update record generating unit 14 may generate the update record corresponding to the upper-level renit. In this case, records corresponding to the upper-level renit are generated in file memory 24 as shown in Fig. 14A due to the update processing of file update processing unit 15 to be described later. In Fig. 14A, each word of word Nos. "01", "02", and "03" is a record keyword. The respective records are arranged and stored in the order of the record keywords. Figs. 14B and 14C show another storage formats of the records shown in Fig. 14A. In Fig. 14B, a data designating a level of a renit is stored in word No. "01", and a keyword in the renit is stored in word No. "02". Fig. 14C shows an example wherein a plurality of types of record delimiters are provided corresponding to the respective renit levels. Figs. 13 and 14A - 14C are shown to include a space data in order to clarify the correspondence between a word No. and a word data. However, no space data is included when the word No. and the data word are actually stored in a memory. More specifically, word data having variable length data are divided by the delimiters and packed in a memory. Each record generated in generated record memory 21 as described above is necessarily transformed into a basic record due to the processing of basic record generating unit 13 so that files in file memory 24 can be reupdated by update record generating unit 14 and file update processing unit 15. Further, each record generated in generated record memory 21 is read out by output processing unit 27, and displayed or printed out by output unit 29 together with field-framing lines designating a form and the like, in accordance with the designation data in output from designation memory 28. An output processing of the form will now be described. Fig. 15 shows an example of a designation data in output form designation memory 28. Word Nos. and field-framing lines to be output corresponding to the output records of the respective renits are designated. The beginning of the field-framing line is designated by X and Y coordinates corresponding to a screen of one page to be displayed or printed. The length of the line in a horizontal or vertical direction is designated by a length in X direction (in the right direction) and by a length in Y direction (in the left direction) from the beginning of the line, respectively. A line type is designated corresponding to each of top, bottom, left, and right edges. Line types of "0", "1", "2", "3", "4", "5",... denote a thick line, a medium thick line, a thin line, a dotted line, an alternate long and short dash line,..., respectively. For example, line type "1010" designates that the top edge is represented by the thick line; the bottom edge is not represented; the left edge is represented by a thick line; and the right edge is not represented, respectively. Fig. 15 shows an example of the designation data. As shown in Fig. 15, a reference value Y2 of the respective output record is set in Y coordinate corresponding to "S" of column "renit". Reference value Y2 designates an output position of a first line in a page. In this case, each output record corresponds to each line in the page. A field-framing line form is set in portion "M" of column renit. Fig. 16A shows a field-framing line form of one line in a title portion wherein the top and left edges are output with a thin line in a position determined by the beginning point (X4, Y1) and length (ℓ4, m) corresponding to an output of word data of word No. "1", the top, left, and right edges are output with a thin line in a position determined by the beginning point (X5, Y1) and length (ℓ5, m), and these field-framing lines of word data of word Nos. "1" and "2" are combined. Fig. 16B shows a field-framing line form of one line of the output record of renit 1 wherein the top and left edges are output in a thick line in a position determined by the beginning (X1, Ym) and length (ℓ1, m) corresponding to the output of the word data of word No. "11" of the output record, the top and left edges are output in thick and thin lines, respectively in a position determined by the beginning (X4, Ym) and length (ℓ4, m) corresponding to the output of the word data of word No. "14", the top and right edges are output in a thick line and the left edges are output in a thin line, in a position determined by the beginning (X5, Ym) and length (ℓ5, m) corresponding to the output of the word data of word No. "13", and the those field-framing lines are combined. Note that Yn in Y coordinate represents a value which is successively updated by an amount of length m in Y direction based on reference value Y2 of the field-framing line form of one line. For example, when data are printed on fifth line, Yn is represented as Yn = Y2 + 5 × m. Similarly, the field-framing line forms as shown in Figs. 16C through 16D are output in accordance with the designation data of the respective renits. The field-framing line form of Fig. 16E which is set corresponding to "R" in column renit represents a completion form which is output after no output records exist or immediately before changing to a new page. The field-framing line form of Fig. 16E is used to output a delimitation of the forms within a page. A word data output with the field-framing line is read out from an output record in generated record memory 21 corresponding to the designated word No. in output form designation memory 28. The read out word data is arranged in a form determined by the output position of the field-framing line form of word unit which are set corresponding to the respective words. A word type designates a print form of a word data to be printed in the field-framing line form of the word unit. For example, it designates whether word data are printed right or left justified with respect to the field-framing line form of word unit, or to print each character of word data with proportional justification within the field-framing line form. The word type further designates a size of a character, and the the like. The description of the contents of the word type is omitted in Fig. 15. An operation of output processing unit 27 will now be described with reference to a flowchart in Fig. 17. In step C1, output processing unit 27 prints, as shown in Fig. 18A, the field-framing line form of title M preliminarily designated in output form designation memory 28, and word data designated by word Nos. "1" and "2", e.g., characters such as "amount", "quantity". Note that the word data of the title is preliminarily set. In step C2, unit 27 reads out the first output record from generated record memory 21, and in steps C3, reads out, from output form designation memory 28, the designation data of the renit corresponding to the renit of the output record, generates an output record of word data designated by the respective word No. of the designation data, together with field-framing lines corresponding to the respective word Nos., and then outputs the generated the output record of word data to output unit 29. Fig. 18B shows a print state of the output record. As shown in Fig. 18B, word data of word Nos. "11", "14", and "13" in the first record in generated record memory 21 in Fig. 13 are printed together with the field-framing lines. Steps C2 and C3 are repeated until all the output records in generated record memory 21 are output. As a result, print outputs as shown in Figs. 18C and 18D are obtained. In step C4, when unit 27 detects that no other output records exist, it reads out from output form designation memory 28 the field-framing lines of the completion form which has been preliminarily designated in memory 28, and prints field-framing lines. In this case, a thick line having a length corresponding to a horizontal field-framing line and line type of renit 1 is printed. In the designation of the print position of the field-framing line in output form memory 28, Y coordinates of the respective beginning points can be obtained only by designating as a reference value the output position Y2 of the first record. To obtain the Y coordinates of the respective beginning points, thereafter, unit 27 successively updates, in step C3 the reference value by an amount of length m in Y direction of a line. When unit 27 outputs the field-framing line in a new page, it resets the Y coordinate data to the reference value Y2, and updates the Y coordinate data each time one-line printing is completed. Similarly, the designation of the print position of the data can be performed only be designating the output position of the first output record as a reference value. In the above example, the outputs of the respective word data and the field-framing lines surrounding the four edges of the respective word data has been described. However, the outputs of a record data for one line and the field-framing lines surrounding the four edges of the record data can also be designated in a lump, i.e., in a record unit. More specifically, the output position of the record data and the output position of the field-framing lines surrounding four edges of the record data are set in output form memory 28. Output processing unit 27 outputs the record data and the field-framing line data in positions designated by the designation data in memory 28. The output position of the respective data in Y direction is automatically updated by an amount of length of one line in Y direction based on the output position of the first record in a page every time one line of data are printed. When vertical field-framing lines delimiting the respective words in a record for one line are necessarily output, the output position and the line types of the respective field-framing lines are designated. Further, by differentiating the output positions and the line types of the field-framing lines for every renits of the record data, the printed form is easy to see since the respective data are arranged in units of renit. In order to designate this, the output positions or the types of the field-framing lines of the records for every renit can be set in output form designation memory 28. In step C3 of Fig. 17, unit 25 prints data and the field-framing lines. In this case, unit 27 prints word data corresponding to the field-framing lines of a word unit in a position in the neighborhood of the bottom field-framing line. Fig. 16 shows a partially enlarged view of printed result shown in Figs. 18A through 18D. In Fig. 19, gap H between word data and the top field-framing line and gap L between the word data and bottom field-framing line has a relation of H : L = 2 : 1. Although this ratio is most preferable for printing data, a relation of H > L will be satisfactory. In order to print data in accordance with the above relation, unit 27 computes, in step C3, H = (p-g) × 2/3, L = (p-g)/3 where p represents a length of field-framing line for one line in Y direction, and q represents a length of a character pattern of a word data in the longitudinal direction. The data p and q are set in a designation data in output form designation memory 28. Thus, unit 27 outputs data in accordance with the computed H and L. In the print example shown in Fig. 18D, an operation of printing record data of a single page has been described. An operation of printing a plurality of pages due to increased record data will now be described. Fig. 20 shows a designation data in output form designation memory 28 when printing a plurality of pages. In place of completion form "R" shown in Fig. 15, "R1", "R2", and "R3" are provided. The remaining designation data are identical with those shown in Fig. 15, and therefore are omitted in Fig. 20. "R1" through "R3" are completion forms corresponding to renits 1 through 3, respectively. Fig. 21 is a flow chart for explaining a processing operation of output processing unit 27. This processing operation comprises the flowchart shown in Fig. 15 and an operation of printing a plurality of pages. Steps C1 through C5 in Fig. 21 are identical to steps C1 through C5 in Fig. 17, except that in step C3 in Fig. 21, a type of renit of the record data to be printed is preliminarily stored in output processing unit 27. In step C5, output unit 27 prints a completion form corresponding to "R1" in output form designation memory 28. Output processing unit 27 determines whether a record data to be printed next exist. If it exists, unit 27 moves to step C6 and determines whether data can be printed in a predetermined print area of a sheet. More specifically, unit 27 determines whether a page change is required. If no page change is determined, unit 27 returns to step C2. If a page change is determined, unit 27 executes step C7. More specifically, unit 27 reads the next record data from generated record memory 21 in step C7. In step C8, unit 27 compares the renit of the record data which has been printed in step C3 with the renit of the record data to be printed next which has been read out in step C7. If the renit of the record data which has been printed is larger than the renit of the record data to be printed next, unit 27 executes step C9. On the other hand, if the renit of the printed record data is smaller or equal to than the renit of the record data to be printed next, unit 27 executes step C10. In step C9, unit 27 reads out from output form designation memory 28 in Fig. 17 and prints the completion form corresponding to the renit of the next record data. In step C10, unit 27 prints the completion form corresponding to the renit of the record data which has been printed in step C3. More specifically, if the renit of the next record data is smaller than the renit of the previous printed record data, i.e., if the record data to be printed in the first line of the succeeding page is a record data designating an upper total level, unit 27 prints the completion form of the same renit as that of this record data. As a result, it can be clearly shown that the record data of the lower total level which has been printed in the bottom line of the page are completed within this page. In step C11, unit 27 performs a processing operation of changing a page such as resetting Y coordinate data to a reference value Y2, and then returns to step C1. In a processing of step C2 immediately after changing a page, the record data for the first line of the page have already been read out in step C7, and the record data are not read out again. Figs. 22 and 23 show printed examples wherein Fig. 22 shows a print example of a first page, and Fig. 23 shows a print example of a second page. A record data in the bottom line in page 1 is a record data of renit 3, and a record data in the top line in the second page is a record data of renit 2. As shown in this example, the print format of the completion format clearly shows that the three lines from the bottom of the first page are the record data of renit 3, and the print of the record data is completed within the first page. A printed material spanned over a plurality of pages can easily be recognized depending on lengths 7, 8, and 9 of the completion form to be printed on the bottom line in the first page shown in Fig. 22. More specifically, it can easily be recognized whether the record data having a same collection level are printed over a next page, and the type of the renit of the record data for the top line of the next page. In the examples described above, record data are printed for every other line. When the record data are displayed on a CRT and the like, or printed on a page printer which prints data in a page unit, the record data are written in a page memory of one page for every other line. In this case, the changing of the length of the completion form is useful. Further, in the above embodiment a single slip is output for one page. When a plurality of slips are parallelly output in a page, the changing of the length of the completion forms is also applied to outputting the field-framing line form for the record data in the bottom line of the slip and the record data, in the top position of the succeeding slip.

Claims: A data processing apparatus including input means for inputting a record comprising words, input record storage means for storing an input record, file storage means for storing a plurality of records, and outputting means for outputting a record, characterized in that there are provided: update designation data storage means (18) for storing designation data for transforming an input record into an update record, the designation data comprising data for designating a record keyword, data for designating a data word, a file keyword and data for designating the contents of an update word; update record generating means (14, Fig. 4) for extracting words serving as the record keyword and the data word from the input record stored in said input record storage means (21), in accordance with the designation data in said update designation data storage means, and for generating an update record comprising the extracted record keyword, the extracted data word, the file keyword, and the designated update word; update record storage means (23) for storing the generated update record; update processing means (15, 19, Fig. 7) for reading out the generated update record from said update record storage means, and for performing a processing of a type corresponding to data of the update word in the generated update record, on the records in the file stored in said file storage means (24) and designated by the record keyword; and in that the generated update record includes an update word designating the type of the processing. A data processing apparatus according to claim 1, characterized in that the update word stored in said update record storage means includes any of addition, deletion, correction, and totalization of records, in accordance with data designating the contents of the update word stored in said designation data storage means; and said update processing means including means (15, 19, A4 of Fig. 7) for detecting the update word of the update record read out from said update record storage means, and for performing any of addition, deletion, correction and totalization on the records in said file storage means, in accordance with the detected update word. A data processing apparatus according to claim 1, characterized in that said update processing means includes: means (15, 19, A1 of Fig. 7) for sorting a plurality of update records stored in said update record storage means using, as a sort keyword, the file keyword, record keyword and update word; and means (15, 19, A2-A5 of Fig. 7) for reading out the records in said file storage means and performing any of addition, deletion, correction, and totalization of records in accordance with data of the update word of the update record, in the sorted order, after the completion of the sorting by said sorting means. A data processing apparatus according to claim 1, characterized in that there are further provided: output record designating means (26, Fig. 10) for designating a record to be read out from said file storage means, and for designating a word arrangement of the read-out record; output record generating means (25, Fig. 12, Figs. 11(a)-11(c)) for reading out the designated record from said file storage means and for generating an output record from the respective words of the read-out designated record; output record storage means (21, Fig. 13) for storing the generated output record; form storage means (28, Fig. 15, Figs. 16A-16E) for storing a form of the output records; form control means (27, 29, Fig. 17, Figs. 18A-18D) for appending the form in said form storage means to the output record read out from said output record storage means and for supplying the output record to which the form is appended, to said output means; and designation data input means (11) for inputting designation data to said update designation data storage means, to said output record designation means, and to said form storage means, respectively. A data processing apparatus according to claim 4, characterized in that said update processing means (15, 19) further comprises means for arranging and writing the respective records of a file, including the updated record into said file storage means, by files and in accordance with the record keywords, after the update record is updated. A data processing method including inputting a record comprising words, storing an input record, storing records by file, and outputting a record, comprising the steps of: forming each record in said files from a record keyword and a data word, and said records being classified by files, each record being stored according to its record keyword; designating designation data for transforming an input record into an update record, the designation data comprising data for designating a record keyword of an input record, data for designating a data word of an input record, data for designating a file keyword, and an update data designating the contents of an update word; extracting from said input record, a word serving as a record keyword, and a word serving as a data word, in accordance with said designated designation data; and generating an update record including the extracted keyword, the extracted data word, the contents of the update data and the designated file keyword, reading out said stored update record; and performing a processing operation corresponding to the contents of the update word in the read out update record, on a record in a given file designated by the file keyword and the record keyword of the read out update record. A data processing method according to claim 6, characterized in that: the update word in an update record comprises any of an addition of a record, a deletion of a record, a correction of a record, and a totalization of a record; and said step of performing said processing operation includes detecting the update word in said read out update record, and performing on the record of said given file any of addition, deletion, correction, and totalization operations, in accordance with said detected update word. A data processing method according to claim 6, characterized in that said step of performing said processing operation includes: sorting said stored update records in the order of the file keyword, in the order of the record keyword, and in the order of the update word; and continuously updating, in the sorted order, records of respective files. A data processing method according to claim 6, characterized in that: said stored update records and said records of respective files are divided by a record delimiter; and each word of said stored update records and said records of respective files comprises variable-length data divided by a word delimiter. A data processing method according to claim 9, characterized in that one of said stored update record and said records of respective files, includes one of a keyword delimiter and a given number of words from the beginning of the record, discriminating the record keyword and data word. A data processing method according to claim 6, characterized by the further steps of: designating a record to be extracted from said stored records, and designating a correspondence between respective words in the extracted record and respective words in an output record; reading out from said stored records, the record designated to be extracted; generating an output record having a new word structure from the words in the read-out record, in accordance with said designated correspondence; and storing the generated output record. A data processing method according to claim 11, characterized by the further steps of: designating framing data for framing at least one of the output record, and a reference output position for the framing data; and outputting, in response to outputting said at least one of said stored output record, said designated frame data, at a position based on the reference output position so as to surround said at least one of the output records, and updating said reference output position each time said at least one of the output records is output, thereby outputting a number of frame data corresponding to a number of output records. A data processing method according to claim 6, characterized in that each word in said generated update record comprises variable-length data divided by a word delimiter, and each update record is individually divided by a record delimiter. A data processing method according to claim 13, characterized in that said generated update record includes an identifier for discriminating a record keyword and a data word by one of a keyword delimiter and a number of words from the beginning of the record. A data processing method according to claim 6, characterized by the further steps of: storing records comprising a first set of records each of which comprises a record keyword and a data word, and a second set of records obtained by totaling records of the first set of records having a common record keyword portion, the second set of records having record keywords corresponding to said common record keyword portion; and said step of generating an update record includes generating an update record having record keyword corresponding to said common record keyword portion when the designation data in said update designation data includes a designation data designating the common record keyword portion. A data processing method according to claim 15, characterized in that said record keywords having a plurality of digits, and said common record keyword portion comprises at least one upper significant digit.

Inventors: KASHIO TOSHIO, KASHIO, TOSHIO, KASHIO, TOSHIO PATENT DEP.DEVELOPMENT DIV. HAMURA
Applicants: CASIO COMPUTER CO LTD, CASIO COMPUTER COMPANY LIMITED
Application year: 1989
Main classification: G06F17
IPC codes: G06F17