
FUNCTION d_type
PRIVATE tdate, rdate, d_place, y_place
PRIVATE sep, cur_cent, rvalue

rvalue = ''                   &&  empty return value
cur_cent = set('century') = 'ON'  &&  current status
SET CENTURY OFF               &&  set century off
tdate = ctod('06-06-06')      &&  our working date
rdate = dtoc(tdate)           &&  turn it to char
sep = substr(rdate,3,1)       &&  separator

rdate = dtoc(tdate+1)
d_place = d_locate(rdate)

rdate = dtoc(tdate+365)
y_place = d_locate(rdate)

DO CASE
  CASE sep = '.'
    IF y_place = 1
      rvalue = 'ANSI'
    ELSE
      rvalue = 'GERMAN'
    ENDIF
  CASE sep = '/'
    IF d_place = 2
      rvalue = 'AMERICAN'
    ELSE
      IF y_place = 1
        rvalue = 'JAPAN'
      ELSE
        rvalue = 'BRITISH'
      ENDIF
    ENDIF
  CASE sep = '-'
    IF d_place = 2
      rvalue = 'USA'
    ELSE
      rvalue = 'ITALIAN'
    ENDIF
ENDCASE

IF cur_cent
  SET CENTURY ON
ENDIF

RETURN rvalue

********

FUNCTION d_locate
PARAMETERS dstring
PRIVATE dstring, rvalue

***  tells where the changes were made

DO CASE
  CASE substr(dstring,1,2) # '06'
    rvalue = 1    
  CASE substr(dstring,4,2) # '06'
    rvalue = 2
  OTHERWISE
    rvalue = 3
ENDCASE

RETURN(rvalue)

********

