+

WO1999012105A1 - System and method for processing date data for use with computer programs - Google Patents

System and method for processing date data for use with computer programs Download PDF

Info

Publication number
WO1999012105A1
WO1999012105A1 PCT/LV1997/000004 LV9700004W WO9912105A1 WO 1999012105 A1 WO1999012105 A1 WO 1999012105A1 LV 9700004 W LV9700004 W LV 9700004W WO 9912105 A1 WO9912105 A1 WO 9912105A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
year
decimal
format
extra
Prior art date
Application number
PCT/LV1997/000004
Other languages
French (fr)
Inventor
Juris Retenais
Original Assignee
Juris Retenais
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 Juris Retenais filed Critical Juris Retenais
Priority to PCT/LV1997/000004 priority Critical patent/WO1999012105A1/en
Publication of WO1999012105A1 publication Critical patent/WO1999012105A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/78Methods to solve the "Year 2000" [Y2K] problem

Definitions

  • the present invention relates to a system and method for processing date information using a computer.
  • the year data processing system of the present invention allows computer programs to store and manipulate year data spanning two centuries using a two- digit (or two place) symbolic representation.
  • the system of the present invention allows existing date-sensitive computer programs to operate beyond the year 1999 without requiring costly, application code modification.
  • a system aspect of the present invention includes an extended numeric character set having greater than 100 permutations when taken two times. Accordingly, the decimal value 100 can be represented under this extended character set as a two-digit (or two place) symbol.
  • a source of year input data to be processed by an application program is maintained in the format of two-digit extra-decimals selected from the extended character set.
  • An extra-decimal input converter translates year input data in two-digit extra- decimal format to year program data in binary integer format according to the rules of the extended numeric character set.
  • An extra-decimal output converter is also provided to translate year program data in binary integer format to year output data in two-digit extra- decimal format according to the rules of the extended character set .
  • the present system is well suited for use with application programs that maintain year data using only two digits.
  • a method aspect of the present invention creates a memory-efficient, backward and forward compatible system suitable for processing year data spanning two centuries using only a two-digit year representation.
  • year data to be processed are provided (via files, keyboard entry, etc.) in the form of two-digit extra-decimals with values selected from an extended numeric character set.
  • These year data are converted from two-digit extra-decimal format to binary integer format according to the rules of an extended numeric character set .
  • year data are processed in an computer program using conventional operations such as calculating, sorting, etc.
  • year data are converted from binary integer format to two- digit extra-decimal format according to the rules of the extended numeric character set.
  • a system modification method of the present invention includes expanding an allowable set of numeric data inputs in data input validation routines to accept numeric symbols of an extended numeric character set that is capable of representing decimal values greater than 99 using two digits, modifying numeric format conversion routines to convert year data from two-digit extra-decimals to binary integers according to the extended numeric character set, and modifying output routines to convert year data from binary integer format into two-digit extra-decimal format according to the extended numeric character set .
  • FIGURE 1 is a schematic block diagram illustrating the data flow in a conventional computer system
  • FIGURE 2 is a simplified flowchart illustrating the conversion of input decimal data in the form of coded characters to binary integers according to conventional computer systems
  • FIGURE 3 is a simplified flowchart illustrating the conversion of binary integers to two- digit decimals in the form of coded characters according to conventional computer systems
  • FIGURE 4 is a simplified flowchart illustrating the conversion of input decimal data in the form of binary coded decimals to binary integers according to conventional computer systems
  • FIGURE 5 is a simplified flowchart illustrating the conversion of binary integers to decimals in the form of binary coded decimals according to conventional computer systems
  • FIGURE 6 is a schematic block diagram of a computer system equipped with a date processing system according to the present invention
  • FIGURE 7 is a simplified flowchart illustrating the conversion of two-digit extra-decimals in the form of coded characters to binary integers according to the present invention
  • FIGURE 8 is a simplified flowchart illustrating the conversion of binary integers to two- digit extra-decimals as coded characters according to the present invention
  • FIGURE 9 is a simplified flowchart illustrating the conversion of two-digit extra-decimals in the form of binary coded decimals to binary integers according to the present invention.
  • FIGURE 10 is a simplified flowchart illustrating the conversion of binary integers to two- digit extra-decimals in the form of binary coded decimals according to the present invention. Description of Preferred Embodiments
  • Embodiments of the contemplated system and method illustrated in the FIGURES show computer hardware and software elements that are known in the art and that will be recognized by those skilled in the art as such. The detailed descriptions of such elements are not necessary to an understanding of the invention. Accordingly, such elements are herein represented only to the degree necessary to aid in an understanding of the present invention.
  • Computers perform arithmetic and logical operations on dates, like other numbers, in the form of binary integer variables. For example, the binary integer "1001001" has a decimal value of 73. To be useful of course, computers must read, output, and store numbers externally as decimals in the conventional arabic characters, 0 through 9.
  • ASCII American Standard Code for Information Interchange
  • ASCII ASCII
  • the characters 0 through 9 are assigned codes 48 through 57 (or “110000” through “111001” in binary) .
  • ASCII also includes codes for the letter symbols "A” through “Z” at 65 through 90 for upper case, and 97 through 122 for lower case.
  • the decimal value 73 becomes the code 55 for "7" and code 51 for "3 " .
  • EBCDIC Extended Binary Coded Decimal Interchange code
  • a binary coded decimal is a decimal notation in which the individual decimal digits are each represented by a 4-bit binary integer. Sippl, Charles J. and Sippl, Roger J. Eds. Computer Dictionary, Howard W. Sams & Company, Indianapolis, Indiana: 1980. p. 39.
  • the number 73 is represented as "0111 0011” , where "0011” corresponds to the binary value for 7, and "0011” corresponds to the binary value for 3.
  • numerics As used herein, the terms "numerics”, “numeric format”, and “numeric format variable” and their grammatical variations refer to data formats in which each decimal digit is stored individually. Binary coded decimals and coded characters are both covered by this definition for numeric format variables.
  • FIGURE 1 illustrates the data interconversion process for a conventional computer system 10.
  • Decimal data in the form of coded characters or binary coded decimals (including dates) are read into the computer program through the system software, where they are converted, if necessary, to binary integers.
  • application program 12 may receive input data from one or more external sources such as terminal 14, or data files 16. Data may also be provided directly in binary integer format from binary data files 17.
  • Input devices 14, 16 and 17 serve as representations of the various computer input devices available.
  • Application program 12 may also output data to various destinations. These may include terminal display 18, data files 20, binary data files 21, or printer 22. Output to binary data files 21 does not require conversion, as indicated. Output devices 18, 20, 21 and 22 serve as representations of the various computer output devices available.
  • system software depicted by boundary 24, includes conversion routines 26 and 28 for translating decimal numerics to binary integers and binary integers to decimal numerics, respectively.
  • system software includes operating system software, the standard routines provided by programming language compilers, device drivers and related multi-use programs or routines.
  • FIGURE 2 is a simplified flowchart illustrating such a coded character conversion for a two-digit decimal, as is used to represent year data as offsets.
  • two character digits in the form of character codes are read from input sources such as data files 16 or terminals 14.
  • the first character, (or tens-place character) is checked to determine if its in the range of decimal characters "0" through "9" (box 34) . If out-of-range, an error has occurred and is reported to application program 12 (box 36) . If the first character is in the decimal character range, the coded character is converted to its corresponding integer (box 38) .
  • the second character (or ones-place character) is checked to determine if its in the numeric range.
  • an out-of-range character such as a letter triggers an error report to application program 12 (box 42) .
  • the second character is in the range from 0 to 9, it is translated to an integer value, as represented in box 44.
  • the integer values for each character are added (box 46) , and the result returned to the application program 12 (box 48) .
  • the data are ready for manipulation by application program 12.
  • FIGURE 3 is a simplified flowchart illustrating such a conversion for a two-digit decimal in the form of coded characters.
  • Box 50 indicates the starting point, with a binary integer arriving from program 12.
  • the binary integer is checked to determine if it is appropriate for display and storage in two decimal digits (box 52) .
  • an integer value above 99 triggers an error report (box 54) because it cannot be represented by just two decimal characters.
  • Integers passing the error check at box 52 are divided into the tens-place component and the ones place component at boxes 56 and 58. These decimal components are translated into the respective ASCII character codes at boxes 60 and 62.
  • FIGURE 4 is a flowchart demonstrating a simplified routine for conversion of two-digit decimals in the form of binary coded decimals in a conventional computer system.
  • Box 66 indicates the reading of a two-digit binary coded decimal from data files 16. The value of the 1st digit (or tens-place digit) is checked to determine if it can be represented by standard arabic digits 0 through 9 (box 70) . If not, an error is reported to application program 12 at box 72.
  • FIGURE 5 is a simplified flowchart that demonstrates the conversion of binary integer data into two-digit decimals as binary coded decimals.
  • Box 82 indicates the starting point, where a result binary integer value is ready for conversion.
  • Box 84 tests the results integer to determine if it can be represented as a two-digit decimal. If not, an error is reported to application program 12 at box 86.
  • Results integers found to be in range are passed to boxes 88 and 90, where the first and second digits are calculated, respectively.
  • the resulting decimal digits are set for delivery to storage at box 92.
  • the date processing system of the present invention is an innovative modification of the conventional computer system and its conversion routines.
  • the system of the present invention allows existing, substantially unmodified application programs to handle two digit year data representing both the 20th and 21st centuries.
  • the present system includes an extended numeric character set having greater than 100 permutations when taken two times. Therefore, the available set of symbols is extended to include additional characters such that numbers over 99 can be represented by two-digits (or two positions) . Using such an extended numeric character set, the integer 110 can be represented by "B0", where the new symbol for 11 is B.
  • extra-decimal refers to numbers using an extended numeric character set such that only two-digits are required to represent decimal values above 99.
  • only the first (or tens-place digit) is afforded the extended numeric character set.
  • the tens-place digit being different from the standard arabic number symbols, users of the application programs can more quickly understand and adapt to the new numbering system.
  • the new, or extra, numeric symbols can be drawn from the list of available symbols under the character code of the computer systems .
  • Table I shows an extended numeric character set suitable for the present invention.
  • the number 100 is represented as A0 and the number 110 is represented as B0.
  • This extension permits application programs that maintain and display year data with only two digits by offsetting from 1900 to handle years spanning two centuries.
  • the year 2000 in the date January 1, 2000 is represented as 100.
  • this date could not be displayed or stored in data fields formatted for only two characters as in "01-Jan- ".
  • the date can be displayed as "01-Jan- A0", thereby avoiding an extensive overhaul of application programs.
  • Table II contains a sampling of the representation of various dates according to the present invention and using the extended numeric character set of Table I .
  • Binary coded decimals are limited in the decimal values that can be represented using two digits. Specifically, where only the tens-place digit is extended, the effective storage range is 159. This limited is dictated by the available range of the 4-bit integers: 0 to 15.
  • Table III shows an extended numeric character set suitable for the present invention and within these limitations.
  • the extra-numeric symbols suitable for forming an extended numeric character set are not limited to those shown in Tables I and III, but are merely illustrative.
  • terminal 14, data file 16, and binary data files 17 serve as a source of year input data to be processed by application program 12.
  • An extra-decimal input converter 94 translates year input data, which is in a two-digit extra-decimal format, to year program data in binary integer format according to the rules of the extended numeric character set .
  • Year input data from binary data files 17 is already in binary integer format and does not require conversion.
  • Year program data in binary integer format are manipulated (i.e. calculated or sorted) in application program 12.
  • Year program data designated for output by application program 12 are sent to extra-decimal output converter 96, where binary integers are translated to two-digit extra-decimals according to the extended numeric character set.
  • the data in two-digit extra- decimal format that are ready for output can be designated year output data.
  • year program data can be output directly to binary data files 21.
  • FIGURE 7 is a flowchart giving a simplified demonstration of the function of extra-decimal input converter 94 when applied to converting coded character data.
  • two extra-decimal digits in the form of character codes are read from input sources such as data files 16 or terminal 14.
  • the first character, (or tens-place character) is checked to determine if its a standard decimal numeric, i.e. in the range of characters "0" through “9” (box 100) . If the first character is a standard numeric, the coded character is converted to its corresponding integer (box 102) . If the first character is not a standard numeric, it is again compared to determine if it is within the extended numeric range, e.g. "A" through "J” (box 104) . If the first character is also outside this range, an error is reported to application program 12 (box 106) . Otherwise, the extended numeric is converted to an integer at box 108.
  • the second character (or ones- place character) is evaluated to determine if its in the standard numeric range .
  • a character outside the standard numeric range triggers an error report to application program 12 (box 112) .
  • the first character is translated to an integer value, as represented in box 114.
  • the integer values for each character are added (box 116) , and the result returned to the application program 12 (box 118) .
  • FIGURE 8 is a flowchart illustrating the function of extra-decimal output converter 96 when applied to coded characters.
  • Box 120 indicates the starting point, with a binary integer arriving from program 12. This result, or output, binary integer is first evaluated to determine if it is appropriate for display and storage in two extra-decimal digits under the extended numeric character set (box 122) . Where "A” through “J” serves as the extra numeric symbols, for example, an integer value up to 199 (“J9”) can be represented. Result integers greater than 199 trigger an error report to the application program (box 124) .
  • Result integers passing the error check at box 122 move to box 126, where the value of the first digit is calculated. The value of this number is next compared to determine whether standard numeric or extended numeric character symbols will be required (box 128) .
  • Integers above 9 are translated at box 130 and assigned character codes for symbols "A” through "J”.
  • Integers 9 and below are translated at box 132 and assigned their corresponding standard decimal character code.
  • the second character (or ones-place component) of the two-digit output integer is calculated at boxes 134 and 136 as indicated.
  • the resulting character codes, forming a two-digit extra-decimal, are set for output to terminal display 18, data files 20, or printer 22 (box 112) .
  • FIGURE 9 is a flowchart showing the function of extra-decimal input converter 94 applied to binary coded decimals.
  • two-digit extra-decimal in the form of binary coded decimals are read from data files 16.
  • the second digit i.e. the ones-place digit
  • the 1st digit (or tens-place digit) is allowed to exceed 9 in order to accommodate two-digit extra- decimals with values above 99, and thereby allowing it to represent offset year data above 1999.
  • the value of the first digit is used without modification to calculate the composite or full integer value at box 146. After calculation, the composite binary integer is returned to application program (box 148) .
  • FIGURE 10 is a flowchart for the corresponding conversion of binary integers to two-digit extra- decimals as binary coded decimals, a function of extra- decimal output converter 96.
  • the result binary integer year to be formatted is routed to box 152, where the first digit is calculated. If the first digit exceeds 15, the value cannot be stored in the 4- bit integers of binary coded decimals and an error is reported to application program at box 156.
  • box 154 is a validation step. If validated, the 2nd digit is calculated at box 158 and sent to box 160 for delivery to storage device 20.
  • the date processing systems of the present invention have several key features.
  • System software is well documented and permanently maintained, unlike most existing application software.
  • Second, the amount of software code that needs to be modified is small when compared to heretofore available year 2000 software solutions.
  • application data files do not require modification and data migration to implement the present invention, greatly reducing the overall cost.
  • a system modification method of the present invention includes expanding the allowable set of numeric data inputs in data input validation routines to accept numeric symbols of the extended numeric character set.
  • Numeric format conversion routines are also modified to convert year data from two-digit extra-decimals to binary integers according to the extended numeric character set.
  • output routines are modified so that they convert year data from binary integer format into two-digit extra-decimal format according to the extended numeric character set .
  • the output routines to be modified include write-to-file routines, write-to-display routines, print routines, and program-intercommunication routines .
  • Application programs operating in conjunction with the date processing system of the present invention can accurately operate beyond the year 2000.
  • terminal software could be modified to require specialized key-strokes such as control characters when entering year data in extra-decimal format.
  • key-strokes such as control characters
  • special or specially designed symbols may be selected and highlighted by blinking background, underlining, etc.
  • two-digit year data are commonly stored together with the month and/or day under various conventions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

An improved date processing system for use with computer application programs comprises an extended numeric character set for representing offset dates greater than 99 using only two digits, a source of year data to be processed, an extra-decimal input converter for converting extra-decimals to binary integers, and an extra-decimal output converter for translating binary integers to two-digit extra-decimals. The present system is implemented on conventional computer systems by modifying decimal-to-binary integer conversion and binary integer-to-decimal conversion routines to use an extended numeric character set and by expanding the allowable set of numeric inputs and outputs in validation routines to accept values of the extended numeric character set. Convention computer systems are further enhanced by defining specialized control-key sequences for entry of extended numeric symbols.

Description

SYSTEM AND METHOD FOR PROCESSING DATE DATA FOR USE WITH COMPUTER PROGRAMS
Technical Field of the Invention
The present invention relates to a system and method for processing date information using a computer.
More particularly, it relates to a computer system for processing dates covering centuries using a two-digit year representation.
Background of the Invention Computer programs have been used successfully to track and process date-sensitive information since the 1960s. Early computer systems were severely limited in memory and disk storage, however. This resource constraint led early programmers to develop memory- saving schemes for representing various types of data, including dates. Accordingly, years were often represented and stored as offsets of 1900 because this required storage of only two digits. For example, 1972 would be stored as "72" and 1906 as "06". Two-digit year data were commonly stored together with the month and/or day under various conventions. For example, 9311 or 1193 for November 1993 and 931102 or 110293 for November 2, 1993.
Programmers applied this offset approach under the assumption that the affected application computer programs would be replaced before the year 2000, when 1900 and 2000 would become indistinguishable as "00" when using the offset scheme. Being still useful and efficient, many of these programs have not been retired as anticipated, however. Therefore, many active computer applications stand in danger of failure. This pending failure has been labelled the year 2000 problem or the turn-of-the-century problem.
Efforts at overcoming the year 2000 problem are reflected in various comprehensive program conversion procedures. A widely used approach calls for conversion of all two-digit year data to four-digit year data. U.S. Patent No. 5,630,118 to Shaughnessy, for example, relates to such a 2 -digit year to 4 -digit year conversion. As asserted therein, customized date processing subroutines are inserted into application program code at each point in which date data are being processed. These subroutines can process dates in either an old, 2 -digit format, or a new, 4 -digit format, with a format code dictating the correct type of processing. As stated, this approach allows a multi- program, multi-file set or applications to be upgraded one program at a time.
The drawbacks associated with this solution are numerous. All year data fields in existing databases require reformatting. Such complete conversion requires extensive program recoding as well as data file reformatting. Furthermore, such code conversion is not suitable for automated source code modifiers because there is no systematic way of identifying every point within the application where dates are processed. Therefore, programmers must undertake the conversion and perform extensive testing to validate their work. An alternate solution involves further offsetting or shifting year data. For example, U.S. Patent No. 5,600,836 to Alter calls for providing a date conversion program or subroutine between application programs and data input and storage systems . The conversion program shifts all year data by a set number of years before and after processing. For example, the year datum read into an application from a file as "07" for the year 2007 is shifted back 20 years to 1987 before processing. Conversely, year data to be stored or printed are first shifted forward by 20 years. This and other conventional techniques suffer from one or more additional drawbacks as follows: excessive modification of application program code (a mainly manual, error-prone undertaking) ; extensive file reformatting and data migration; costly, comprehensive testing procedures; and substantial risk of undetected errors in the application program code. Furthermore, the work associated with these conventional solutions is time consuming and expensive. Thus, there continues to be a need for a cost- efficient, error-limiting solution to the year 2000 software problem. Specifically, it would be desirable to allow existing application programs to process dates beyond December 31, 1999 without modification. Summary of the Invention
The year data processing system of the present invention allows computer programs to store and manipulate year data spanning two centuries using a two- digit (or two place) symbolic representation. Notably, the system of the present invention allows existing date-sensitive computer programs to operate beyond the year 1999 without requiring costly, application code modification.
A system aspect of the present invention includes an extended numeric character set having greater than 100 permutations when taken two times. Accordingly, the decimal value 100 can be represented under this extended character set as a two-digit (or two place) symbol. A source of year input data to be processed by an application program is maintained in the format of two-digit extra-decimals selected from the extended character set. An extra-decimal input converter translates year input data in two-digit extra- decimal format to year program data in binary integer format according to the rules of the extended numeric character set. An extra-decimal output converter is also provided to translate year program data in binary integer format to year output data in two-digit extra- decimal format according to the rules of the extended character set . The present system is well suited for use with application programs that maintain year data using only two digits.
A method aspect of the present invention creates a memory-efficient, backward and forward compatible system suitable for processing year data spanning two centuries using only a two-digit year representation. For example, year data to be processed are provided (via files, keyboard entry, etc.) in the form of two-digit extra-decimals with values selected from an extended numeric character set. These year data are converted from two-digit extra-decimal format to binary integer format according to the rules of an extended numeric character set .
Once converted to binary integer format, the year data are processed in an computer program using conventional operations such as calculating, sorting, etc. After processing by an application program, year data are converted from binary integer format to two- digit extra-decimal format according to the rules of the extended numeric character set.
The date processing system and method of the present invention can be implemented without modifying application program code and without additional data storage space . Only the system software of a computer system requires modification in order to implement the present invention. Specifically, a system modification method of the present invention includes expanding an allowable set of numeric data inputs in data input validation routines to accept numeric symbols of an extended numeric character set that is capable of representing decimal values greater than 99 using two digits, modifying numeric format conversion routines to convert year data from two-digit extra-decimals to binary integers according to the extended numeric character set, and modifying output routines to convert year data from binary integer format into two-digit extra-decimal format according to the extended numeric character set .
Brief Description of the Drawings In the drawings,
FIGURE 1 is a schematic block diagram illustrating the data flow in a conventional computer system;
FIGURE 2 is a simplified flowchart illustrating the conversion of input decimal data in the form of coded characters to binary integers according to conventional computer systems;
FIGURE 3 is a simplified flowchart illustrating the conversion of binary integers to two- digit decimals in the form of coded characters according to conventional computer systems;
FIGURE 4 is a simplified flowchart illustrating the conversion of input decimal data in the form of binary coded decimals to binary integers according to conventional computer systems;
FIGURE 5 is a simplified flowchart illustrating the conversion of binary integers to decimals in the form of binary coded decimals according to conventional computer systems; FIGURE 6 is a schematic block diagram of a computer system equipped with a date processing system according to the present invention;
FIGURE 7 is a simplified flowchart illustrating the conversion of two-digit extra-decimals in the form of coded characters to binary integers according to the present invention;
FIGURE 8 is a simplified flowchart illustrating the conversion of binary integers to two- digit extra-decimals as coded characters according to the present invention;
FIGURE 9 is a simplified flowchart illustrating the conversion of two-digit extra-decimals in the form of binary coded decimals to binary integers according to the present invention;
FIGURE 10 is a simplified flowchart illustrating the conversion of binary integers to two- digit extra-decimals in the form of binary coded decimals according to the present invention. Description of Preferred Embodiments
While this invention is susceptible to embodiment in many different forms, this specification and the accompanying drawings disclose only preferred forms as examples of the invention. The invention is not intended to be limited to the embodiments so described, however. The scope of the invention is identified in the appended claims.
Embodiments of the contemplated system and method illustrated in the FIGURES show computer hardware and software elements that are known in the art and that will be recognized by those skilled in the art as such. The detailed descriptions of such elements are not necessary to an understanding of the invention. Accordingly, such elements are herein represented only to the degree necessary to aid in an understanding of the present invention.
Computers perform arithmetic and logical operations on dates, like other numbers, in the form of binary integer variables. For example, the binary integer "1001001" has a decimal value of 73. To be useful of course, computers must read, output, and store numbers externally as decimals in the conventional arabic characters, 0 through 9.
This dual operation is accomplished, in part, by use of a character code, and routines for interconversion between binary integers and their corresponding character codes. A character code widely- used in computer systems is the American Standard Code for Information Interchange (ASCII) . Under ASCII, the characters 0 through 9 are assigned codes 48 through 57 (or "110000" through "111001" in binary) . ASCII also includes codes for the letter symbols "A" through "Z" at 65 through 90 for upper case, and 97 through 122 for lower case. Using the ASCII character code, the decimal value 73 becomes the code 55 for "7" and code 51 for "3 " .
Another commonly used character code is the Extended Binary Coded Decimal Interchange code (or EBCDIC) , which assigns 0 through 9 to codes 240 through 249.
The binary-decimal dual operation is also accomplished, in part, by routines for interconversion between binary integers and their corresponding binary coded decimals (BCD) . A binary coded decimal is a decimal notation in which the individual decimal digits are each represented by a 4-bit binary integer. Sippl, Charles J. and Sippl, Roger J. Eds. Computer Dictionary, Howard W. Sams & Company, Indianapolis, Indiana: 1980. p. 39. As a binary coded decimal, the number 73 is represented as "0111 0011" , where "0011" corresponds to the binary value for 7, and "0011" corresponds to the binary value for 3.
As used herein, the terms "numerics", "numeric format", and "numeric format variable" and their grammatical variations refer to data formats in which each decimal digit is stored individually. Binary coded decimals and coded characters are both covered by this definition for numeric format variables.
FIGURE 1 illustrates the data interconversion process for a conventional computer system 10. Decimal data in the form of coded characters or binary coded decimals (including dates) are read into the computer program through the system software, where they are converted, if necessary, to binary integers. Specifically, application program 12 may receive input data from one or more external sources such as terminal 14, or data files 16. Data may also be provided directly in binary integer format from binary data files 17. Input devices 14, 16 and 17 serve as representations of the various computer input devices available.
Application program 12 may also output data to various destinations. These may include terminal display 18, data files 20, binary data files 21, or printer 22. Output to binary data files 21 does not require conversion, as indicated. Output devices 18, 20, 21 and 22 serve as representations of the various computer output devices available.
The system software, depicted by boundary 24, includes conversion routines 26 and 28 for translating decimal numerics to binary integers and binary integers to decimal numerics, respectively. As used herein, the term "system software" includes operating system software, the standard routines provided by programming language compilers, device drivers and related multi-use programs or routines.
If computer system 10 used the ASCII coded character system for example, a keyboard entry of "8" at terminal 14 results in conversion routine 26 receiving a character code 56, the ASCII code for the symbol "8". If the "56" is to be used in a calculation, it is first translated to a binary integer, 0001000.
FIGURE 2 is a simplified flowchart illustrating such a coded character conversion for a two-digit decimal, as is used to represent year data as offsets. At box 32, two character digits in the form of character codes are read from input sources such as data files 16 or terminals 14. The first character, (or tens-place character) is checked to determine if its in the range of decimal characters "0" through "9" (box 34) . If out-of-range, an error has occurred and is reported to application program 12 (box 36) . If the first character is in the decimal character range, the coded character is converted to its corresponding integer (box 38) . At box 40, the second character (or ones-place character) is checked to determine if its in the numeric range. Here again, an out-of-range character such as a letter triggers an error report to application program 12 (box 42) . If the second character is in the range from 0 to 9, it is translated to an integer value, as represented in box 44. The integer values for each character are added (box 46) , and the result returned to the application program 12 (box 48) . Now in binary integer format, the data are ready for manipulation by application program 12.
Binary integers generated for output by the application program 12 are converted by conversion routine 28 before being sent to display 18 or data files 20. FIGURE 3 is a simplified flowchart illustrating such a conversion for a two-digit decimal in the form of coded characters. Box 50 indicates the starting point, with a binary integer arriving from program 12. The binary integer is checked to determine if it is appropriate for display and storage in two decimal digits (box 52) . Specifically, an integer value above 99 triggers an error report (box 54) because it cannot be represented by just two decimal characters. Integers passing the error check at box 52 are divided into the tens-place component and the ones place component at boxes 56 and 58. These decimal components are translated into the respective ASCII character codes at boxes 60 and 62. The resulting character codes are set for delivery to terminal display 18, data files 20, or printer 22 (box 64) . As noted above, year data can also be stored in the form of binary coded decimals. FIGURE 4 is a flowchart demonstrating a simplified routine for conversion of two-digit decimals in the form of binary coded decimals in a conventional computer system. Box 66 indicates the reading of a two-digit binary coded decimal from data files 16. The value of the 1st digit (or tens-place digit) is checked to determine if it can be represented by standard arabic digits 0 through 9 (box 70) . If not, an error is reported to application program 12 at box 72. If the value of the 1st digit is; in the normal range, the value of the 2nd digit is checked in the same way (box 74) . If the 2nd digit is out of range, an error is reported (box 76) . If validated by passing the tests of box 70 and 74, the full binary integer value of the two-digit binary coded decimal is calculated at box 78 and then returned to application program 12 at box 80.
FIGURE 5 is a simplified flowchart that demonstrates the conversion of binary integer data into two-digit decimals as binary coded decimals. Box 82 indicates the starting point, where a result binary integer value is ready for conversion. Box 84 tests the results integer to determine if it can be represented as a two-digit decimal. If not, an error is reported to application program 12 at box 86. Results integers found to be in range are passed to boxes 88 and 90, where the first and second digits are calculated, respectively. The resulting decimal digits are set for delivery to storage at box 92. The date processing system of the present invention is an innovative modification of the conventional computer system and its conversion routines. The system of the present invention allows existing, substantially unmodified application programs to handle two digit year data representing both the 20th and 21st centuries.
The present system includes an extended numeric character set having greater than 100 permutations when taken two times. Therefore, the available set of symbols is extended to include additional characters such that numbers over 99 can be represented by two-digits (or two positions) . Using such an extended numeric character set, the integer 110 can be represented by "B0", where the new symbol for 11 is B.
The resulting numeric format can properly be labelled an "extra-decimal" format. As used herein, the term "extra-decimal" refers to numbers using an extended numeric character set such that only two-digits are required to represent decimal values above 99.
In a preferred embodiment, only the first (or tens-place digit) is afforded the extended numeric character set. With only the tens-place digit being different from the standard arabic number symbols, users of the application programs can more quickly understand and adapt to the new numbering system.
The new, or extra, numeric symbols can be drawn from the list of available symbols under the character code of the computer systems . Table I shows an extended numeric character set suitable for the present invention.
TABLE I Extended Numeric Character Set
Numeric Value Numeric Value
Symbol Decimal (binary) Symbol Decimal (binary)
0 0 (00000000) A 10 (00001010)
1 1 (00000001) B 11 (00001011)
2 2 (00000010) C 12 (00001100)
3 3 (00000011) D 13 (00001101)
4 4 (00000100) E 14 (00001110)
5 5 (00000101) F 15 (00001111)
6 6 (00000110) G 16 (00010000)
7 7 (00000111) H 17 (00010001)
8 8 (00001000) I 18 (00010010)
9 9 (00001001) J 19 (00010011)
The letters "A" through "J" are of course available in both ASCII and EBCDIC.
According to the extended numeric character set of Table I, the number 100 is represented as A0 and the number 110 is represented as B0.
This extension, or extra-decimal representation, permits application programs that maintain and display year data with only two digits by offsetting from 1900 to handle years spanning two centuries. As an offset from 1900, the year 2000 in the date January 1, 2000 is represented as 100. Using conventional computer systems, this date could not be displayed or stored in data fields formatted for only two characters as in "01-Jan- ". Using the present system, however, the date can be displayed as "01-Jan- A0", thereby avoiding an extensive overhaul of application programs. Table II contains a sampling of the representation of various dates according to the present invention and using the extended numeric character set of Table I .
TABLE II Sample of Dates Using The Extended Numeric Character Set
Standard Date Offset Date
March 4, 2011 03/04/B1
June 13, 1906 06/13/06
August 18, 2009 18-Aug-A9
August 17, 2025 August 17, 'C5
Binary coded decimals are limited in the decimal values that can be represented using two digits. Specifically, where only the tens-place digit is extended, the effective storage range is 159. This limited is dictated by the available range of the 4-bit integers: 0 to 15.
Table III shows an extended numeric character set suitable for the present invention and within these limitations.
TABLE III
Alternate Extended Numeric Character Set
Numeric Value Numeric Value Symbol Decimal (binary) Symbol Decimal (binary)
0 0 (00000000) 8 8 (00001000) 1 1 (00000001) 9 9 (00001001) 2 2 (00000010) ~ 10 (00001010) 3 3 (00000011) 1 11 (00001011) 4 4 (00000100) @ 12 (00001100) 5 5 (00000101) # 13 (00001101) 6 6 (00000110) $ 14 (00001110) 7 7 (00000111) % 15 (00001111) The extended numeric character set of Table III is equally available for use as coded characters . Table IV gives the same dates presented in Table II according to the extended numeric character set of Table III.
TABLE IV
Sample of Dates Using The
Numeric Character Set Of Table III Standard Date Offset Date March 4, 2011 03/04/11
June 13, 1906 06/13/06 August 18, 2009 18-Aug-~9 August 17, 2025 August 17, ' @5
The extra-numeric symbols suitable for forming an extended numeric character set are not limited to those shown in Tables I and III, but are merely illustrative. Referring now to computer system 11 of FIGURE 6 and with special reference to the processing of year data, terminal 14, data file 16, and binary data files 17 serve as a source of year input data to be processed by application program 12. An extra-decimal input converter 94 translates year input data, which is in a two-digit extra-decimal format, to year program data in binary integer format according to the rules of the extended numeric character set . Year input data from binary data files 17 is already in binary integer format and does not require conversion.
Year program data in binary integer format are manipulated (i.e. calculated or sorted) in application program 12. Year program data designated for output by application program 12 are sent to extra-decimal output converter 96, where binary integers are translated to two-digit extra-decimals according to the extended numeric character set. The data in two-digit extra- decimal format that are ready for output can be designated year output data. Alternatively, year program data can be output directly to binary data files 21.
FIGURE 7 is a flowchart giving a simplified demonstration of the function of extra-decimal input converter 94 when applied to converting coded character data. At box 98, two extra-decimal digits in the form of character codes are read from input sources such as data files 16 or terminal 14. The first character, (or tens-place character) is checked to determine if its a standard decimal numeric, i.e. in the range of characters "0" through "9" (box 100) . If the first character is a standard numeric, the coded character is converted to its corresponding integer (box 102) . If the first character is not a standard numeric, it is again compared to determine if it is within the extended numeric range, e.g. "A" through "J" (box 104) . If the first character is also outside this range, an error is reported to application program 12 (box 106) . Otherwise, the extended numeric is converted to an integer at box 108.
At box 110, the second character (or ones- place character) is evaluated to determine if its in the standard numeric range . A character outside the standard numeric range triggers an error report to application program 12 (box 112) . Otherwise, the first character is translated to an integer value, as represented in box 114. The integer values for each character are added (box 116) , and the result returned to the application program 12 (box 118) .
FIGURE 8 is a flowchart illustrating the function of extra-decimal output converter 96 when applied to coded characters. Box 120 indicates the starting point, with a binary integer arriving from program 12. This result, or output, binary integer is first evaluated to determine if it is appropriate for display and storage in two extra-decimal digits under the extended numeric character set (box 122) . Where "A" through "J" serves as the extra numeric symbols, for example, an integer value up to 199 ("J9") can be represented. Result integers greater than 199 trigger an error report to the application program (box 124) .
Result integers passing the error check at box 122 move to box 126, where the value of the first digit is calculated. The value of this number is next compared to determine whether standard numeric or extended numeric character symbols will be required (box 128) . Integers above 9 are translated at box 130 and assigned character codes for symbols "A" through "J". Integers 9 and below are translated at box 132 and assigned their corresponding standard decimal character code.
The second character (or ones-place component) of the two-digit output integer is calculated at boxes 134 and 136 as indicated. The resulting character codes, forming a two-digit extra-decimal, are set for output to terminal display 18, data files 20, or printer 22 (box 112) .
As noted above, numerics can also be stored in the form of binary coded decimals. FIGURE 9 is a flowchart showing the function of extra-decimal input converter 94 applied to binary coded decimals. At box 140, two-digit extra-decimal in the form of binary coded decimals are read from data files 16. The second digit (i.e. the ones-place digit) is tested or validated to ensure that it is within the 0 to 9 range (box 142) . If not, an error is reported to application program 12 (box 144) .
The 1st digit (or tens-place digit) is allowed to exceed 9 in order to accommodate two-digit extra- decimals with values above 99, and thereby allowing it to represent offset year data above 1999. The value of the first digit is used without modification to calculate the composite or full integer value at box 146. After calculation, the composite binary integer is returned to application program (box 148) .
FIGURE 10 is a flowchart for the corresponding conversion of binary integers to two-digit extra- decimals as binary coded decimals, a function of extra- decimal output converter 96. At box 150, the result binary integer year to be formatted is routed to box 152, where the first digit is calculated. If the first digit exceeds 15, the value cannot be stored in the 4- bit integers of binary coded decimals and an error is reported to application program at box 156.
Accordingly, box 154 is a validation step. If validated, the 2nd digit is calculated at box 158 and sent to box 160 for delivery to storage device 20.
The date processing systems of the present invention have several key features. First, the software modifications required to implement the present invention occur at the system software level and not at the application program level. System software is well documented and permanently maintained, unlike most existing application software. Second, the amount of software code that needs to be modified is small when compared to heretofore available year 2000 software solutions. Furthermore, application data files do not require modification and data migration to implement the present invention, greatly reducing the overall cost.
Specifically, a system modification method of the present invention includes expanding the allowable set of numeric data inputs in data input validation routines to accept numeric symbols of the extended numeric character set. Numeric format conversion routines are also modified to convert year data from two-digit extra-decimals to binary integers according to the extended numeric character set. Finally, output routines are modified so that they convert year data from binary integer format into two-digit extra-decimal format according to the extended numeric character set . The output routines to be modified include write-to-file routines, write-to-display routines, print routines, and program-intercommunication routines . Application programs operating in conjunction with the date processing system of the present invention can accurately operate beyond the year 2000. For use, computer operators need only be trained to recognize and enter year data in the extended numeric format such as A0 or 10/Ol/BO. Nonetheless, various aids to computer users for the entry and display of year data in the extended numeric format are contemplated. For example, terminal software could be modified to require specialized key-strokes such as control characters when entering year data in extra-decimal format. For ease in reading the display of extended numeric characters as dates, special or specially designed symbols may be selected and highlighted by blinking background, underlining, etc. As noted above, two-digit year data are commonly stored together with the month and/or day under various conventions. For example, A311, 11A3 , Nov-A3 or A3-Nov for November 2003 and A31102, 1102A3, A3-Nov-02, or 02-Nov-A3 for November 2, 2003. The present invention applies to all conventions for representing dates in which the year was stored in the form of a two- digit numeric. Furthermore, application programs that included "hard-coded" centuries as in "19"xx, are also compatible with the date processing systems of the present invention. Numerous variations and modifications of the embodiments described above may be effected without departing from the spirit and scope of the novel features of the invention. It is to be understood that no limitations with respect to the specific system illustrated herein are intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.

Claims

I CLAIM:
1. A system to process two-digit year data for use with a computer program, said system comprising: an extended numeric character set having greater than 100 permutations when taken two times; a source of year input data to be processed by said program, said year input data being in a two-digit extra-decimal format and being selected from said extended numeric character set; an extra-decimal input converter for translating said year input data in said two-digit extra-decimal format to year program data in a binary integer format according to said extended numeric character set; and an extra-decimal output converter for translating said program data in said binary integer format to year output data in said two-digit extra-decimal format according to said extended numeric character set. 2. A system according to claim 1 wherein said extended numeric character set is represented by the following table of numeric symbols and corresponding integer values :
Numeric Symbols Integer Values 0 0
1 1
2 2
3 3
4 4 5 5
6 6
A 10 B 11
C 12
D 13
E 14
F 15 G 16
H 17
I 18
J 19
3. A system according to claim 1 wherein said year input data in said two-digit extra-decimal format are coded characters that conform to the ACSII standard.
4. A system according to claim 1 wherein said year input data in said two-digit extra-decimal format are coded characters that conform to the EBCDIC standard.
5. A system according to claim 1 wherein said year input data in said two-digit extra-decimal format are binary coded decimals . 6. A system according to claim 5 wherein said extended numeric character set is represented by the following table of numeric symbols and corresponding integer values : Numeric Symbols Integer' Values
0 0
1 1
2 2 3 3
4 4
5 5
6 6
7 7 8 8
9 9
10
! 11
@ 12 # 13
$ 14
% 15
7. A method for processing year data spanning two centuries for use with a computer program, said method comprising: providing year data to be processed in a format of two-digit extra-decimals selected from an extended numeric character set; converting said year data from said two-digit extra-decimal format to a binary integer format according to said extended numeric character set; processing said year data in said computer program; and converting said year data from said binary integer format to said two-digit extra-decimal format according to said extended numeric character set .
8. The method in accordance with claim 7 wherein the step of providing year data to be processed is selected from the group of steps consisting essentially of accepting input from an input device, reading input from a data disk file, and a combination thereof .
9. A method for adapting computer systems to process year date data spanning two centuries in the format of two-digit extra-decimals, said method comprising: expanding an allowable set of numeric data inputs in data input validation routines to accept numeric symbols according to an extended numeric character set, said extended numeric character set having greater than 100 permutations when taken two times; modifying numeric format conversion routines to convert said year date data from said format of two- digit extra-decimal to a format of binary integer according to said extended numeric character set; modifying output routines to convert said year date data from said format of binary integer to said format of two-digit extra-decimal.
10. The method in accordance with claim 9 wherein said output routines can be selected from the group consisting essentially of write-to-file routines, write-to-display routines, print routines, and program- intercommunication routines.
PCT/LV1997/000004 1997-09-03 1997-09-03 System and method for processing date data for use with computer programs WO1999012105A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/LV1997/000004 WO1999012105A1 (en) 1997-09-03 1997-09-03 System and method for processing date data for use with computer programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/LV1997/000004 WO1999012105A1 (en) 1997-09-03 1997-09-03 System and method for processing date data for use with computer programs

Publications (1)

Publication Number Publication Date
WO1999012105A1 true WO1999012105A1 (en) 1999-03-11

Family

ID=19736678

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/LV1997/000004 WO1999012105A1 (en) 1997-09-03 1997-09-03 System and method for processing date data for use with computer programs

Country Status (1)

Country Link
WO (1) WO1999012105A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600836A (en) * 1995-11-14 1997-02-04 Turn Of The Century Solution, Inc. System and method for processing date-dependent information which spans one or two centuries
US5630118A (en) * 1994-11-21 1997-05-13 2000, Inc. System and method for modifying and operating a computer system to perform date operations on date fields spanning centuries
WO1997033240A1 (en) * 1996-03-08 1997-09-12 Adamchick J David Method and apparatus for converting computer software and databases for the year 2000
WO1997036222A1 (en) * 1996-03-26 1997-10-02 Decao Mao Two-digit hybrid radix year numbers for year 2000 and beyond

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630118A (en) * 1994-11-21 1997-05-13 2000, Inc. System and method for modifying and operating a computer system to perform date operations on date fields spanning centuries
US5600836A (en) * 1995-11-14 1997-02-04 Turn Of The Century Solution, Inc. System and method for processing date-dependent information which spans one or two centuries
WO1997033240A1 (en) * 1996-03-08 1997-09-12 Adamchick J David Method and apparatus for converting computer software and databases for the year 2000
WO1997036222A1 (en) * 1996-03-26 1997-10-02 Decao Mao Two-digit hybrid radix year numbers for year 2000 and beyond

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"8-CHARACTER ALPHAMERIC KEY FOR EACH SECOND IN ANY CENTURY", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 32, no. 9A, 1 February 1990 (1990-02-01), pages 490/491, XP000083150 *
GLASS R L: "SOME BRAINSTORMING THOUGHTS ABOUT THE DATE CRISIS PROBLEM", MANAGING SYSTEM DEVELOPMENT, vol. 16, no. 7, July 1996 (1996-07-01), pages 7/8, XP000617903 *

Similar Documents

Publication Publication Date Title
US6219831B1 (en) Device and method for converting computer programming languages
US5630118A (en) System and method for modifying and operating a computer system to perform date operations on date fields spanning centuries
US5668989A (en) Two-digit hybrid radix year numbers for year 2000 and beyond
US5450545A (en) Generation of rules-based computer programs using data entry screens
US5956510A (en) Apparatus and method for revising computer program code
US10241987B2 (en) Method and system for editing text with a find and replace function leveraging derivations of the find and replace input
AU648253B2 (en) Document generation apparatus and methods
US5808889A (en) System and method for identifying and correcting computer operations involving two digit year dates
US20080127136A1 (en) Software build system, software build method, and recording medium storing software build program
WO2000042527A1 (en) Implementing extended numeric range within a two-digit software representation
WO1999012105A1 (en) System and method for processing date data for use with computer programs
JPH04286029A (en) Source program converter
US6668373B1 (en) System, apparatus and method for expanding the range of decimal numbers of any length in existing data bases and computer programs
Hubbell Sams teach yourself Cobol in 24 hours
JPH07334528A (en) Term dictionary management device
GB2243005A (en) Generating a database system
EP0348563A1 (en) A system and method for generating program object modules
Standard et al. HP COBOL
IE62339B1 (en) A database generating apparatus
Mende Software Development for SAP R/3®: Data Dictionary, ABAP/4, Interfaces, With diskette
Kühnhauser et al. Discover ABAP
Kroszynski The CAD* I software tools
EP0910013A2 (en) Date manipulation system
MacDonald Learning the Visual Basic. NET Language
Diamond et al. Microsoft Office Access 2007 VBA

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: US

Ref document number: 1998 945572

Date of ref document: 19980608

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP KR LV US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 08945572

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1999516631

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载