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 PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims description 19
- 238000004590 computer program Methods 0.000 title claims description 10
- 238000006243 chemical reaction Methods 0.000 claims abstract description 30
- 238000010200 validation analysis Methods 0.000 claims abstract description 5
- 238000004883 computer application Methods 0.000 abstract description 2
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000002715 modification method Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/78—Methods 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
Description
Claims
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)
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 |
-
1997
- 1997-09-03 WO PCT/LV1997/000004 patent/WO1999012105A1/en active Application Filing
Patent Citations (4)
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)
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 |