Y2K Site Map | Terms of Use | Problem | Steps | Certification | Briefings | Compliance | Solutions | BIOS | Test & Evaluation | Cost


The following Y2K material has been kept available by MITRE for historical purposes only and has not been updated unless noted.

MITRE - Y2K - Y2K Solutions: Search Keywords
Y2K Solutions: Suggested Search Keywords


Keywords are used to seed many Y2K date searching approaches. These differ for the language and libraries involved, but many sets have a common core. For COBOL, these are listed in the Most Common COBOL Keywords below. Sometimes extensive lists give too many matches, so, initially, shorter lists are often recommended. These may be too restrictive, so additional items can be suggested based on the environment. See Other COBOL Keywords if needed for other potential keywords upon which to scan. For most languages, a combined set is listed in the Common Keywords below. For DB systems, a suggested set is listed in DB Keywords below.

When scanning source code for date or year references, you may have to experiment to determine the proper amount of flexibility needed for your system. If you abbreviate the keyword too much, you will capture many hits that are not date-related; if you do not abbreviate enough, you will exclude date hits that you intended to capture. See Refining Your Search for recommendations on scanning for keywords.

COBOL Keywords
The following is a list of the most common date- or year-related keywords to search for in COBOL source code:

YEARYRYYYYYYYOB
DATEDTEDOBDT*DAT*
MMDDYYMM/DD/YYYYMMDDYYMM MMDDYYYY
YY/MM/DDYYDDDDDDYYYYYY/MM/DD
FISCALFYCCYYCCYYMMDD
CENTURYCC *CENT *CEN * CENTRY
JULIANJULGREGGREGORIAN
WHEN-COMPILED
EIBDATE (CICS)FORMATTIME (CICS)
ASKTIME (CICS)
CURRENT-DATE
* Many of the above keywords have the potential to capture non-date-related references; however, the ones with the asterisks are expected to identify many non-date-related references.

Other Keywords
Try these other related "words" if needed:

after, asof, as-of, before, begin, cal, calendar, clndr, cntry (could be century or country, however), cur, curr, current, cymd, day, day-of-week (COBOL/370&VS COBOL II), days, eff, effective, end, finish, first, from, frm, fye, horizon, last, leap, mdy, mo, modayr, mon, month, mos, mth, m/d/y, m-d-y, parm, post, roman, start, stop, sys-date, sysdte, through, thru, today, week, weeks, wk, wkly, wks, years, yrs, ytd (but may be $ field), yyddd, ymd, yymmdd, yyyymmdd, yymmm.

Refining Your Search
Some keywords are embedded in other words or may exist in another variation. You must understand precise patterns of the code to make the search work for your system. You can refine your search by employing different variations:

Bear in mind that if you narrow the search too much, you can exclude desired date-related words; e.g., statements that also contain date-related words or date-related words prefixed or suffixed by hyphens or spaces. If you extend your search too much, you may capture nonrelated references. A proper balance tailored to your system leads to a meaningful and comprehensive search.

Most Common Keywords
On most systems:
after, asof, as-of, before, begin, cal, calendar, ccyy, ccyymmdd, cen, century, clndr, cur, curr, current, cymd, date, day, days, dob, dt, dte, eff, effective, end, finish, first, fiscal, from, frm, fy, fye, greg, gregorian, horizon, jul, julian, last, leap, mdy, mmddyy, mmddyyyy, mo, modayr, mon, month, mos, mth, mm/dd/yy, m/d/y, m-d-y, post, roman, start, stop, sysdate, sysdte, through, thru, today, week, weeks, wk, wkly, wks, year, years, yr, yrs, yy, yyddd, ymd, yymmdd, yyyymmdd, yymmm, '00/00/00','12/31/99' ,'19','1999'
DB Keywords
Keywords to search for in DB code:
after, asof, as-of, before, begin, cal, calendar, ccyy, ccyymmdd, cen, century, clndr, cur, curr, current, cymd, date, day, days, dob, dt, dte, eff, effective, end, finish, first, fiscal, from, frm, fy, fye, greg, gregorian, horizon, jul, julian, last, leap, mdy, mmddyy, mmddyyyy, mo, modayr, mon, month, mos, mth, mm/dd/yy, m/d/y, m-d-y, post, roman, start, stop, sysdate, sysdte, through, thru, today, week, weeks, wk, wkly, wks, year, years, yr, yrs, yy, yyddd, ymd, yymmdd, yyyymmdd, yymmm, '00/00/00' ,'12/31/99', '19' or '99'

We will start a list of suggested words for individual systems as follows, and add to it as suggested (e.g., using the Solutions submission form).

Clipper Code Keywords
A list of "words" - keywords to search for in Clipper code:

     SET DATE ...    Sets the global date display format, might be "dd/mm/yy"
     CTOD()     Converts Char string in global format to Date
     DTOC()     Date to Char in global format
     SET EPOCH TO 1940 Sets a window for dates
        'dd/mm/39' is 2039 STR('expr',2) where 'expr' might be a year number
     "19" and '1900'    in year manipulation
There are others such as "yyyy", cmonth(), cdow(), dow(), that should not affect the Y2K problem.

AS/400 Keywords
A list of "words" - keywords to search for on the AS/400:
     *FILE, *PGM, and *DTAARA, as well as *QRYDFN, *CMD, *JOBD, & *MENU.



For further information directly related to Year 2000 issues, please contact Year2000@mitre.org