*DEFINE GET_EXT_DATE *. *. Given an ISO 8601 date in internal format (YYYYMMDD), this routine *. returns the site-standard externally formatted date. This site-standard *. date format is specified by the SITE_DATE_FORMAT and SITE_DATE_SEP_CHAR *. in element GWTS-CONFIG/SGS. *. *. Input parameters: *. Note: this routine works for both values of NEW_PROCESS$ (i.e., *. it interprets the input parameters appropriately). *. [#1] = date in ISO 8601 internal format (YYYYMMDD); optional; *. if omitted, current date ([DATE$,1,5,1]) will be used. *. *. Output: *. If [#1] is exactly 8 digits *. EXT_DATE = character variable in the site-standard format. *. Else *. ERRCNT$ is incremented (and an error message printed). *. Endif *. *. Programming Note: *. Variables internal to this routine contain double-underscores ('__') *. and are *REMOVEd prior to returning. *. *. *SET ISO__IN = '[DATE$,1,5,1]' . default is current date *. *IF NEW_PROCESS$ IS SET *IF [#,PROCESS_LEVEL$,1,1,LEN$] <> 0 . if date supplied by caller *SET ISO__IN = '[#,PROCESS_LEVEL$,1,1]' *ENDIF *ELSE *IF [#1] . if date supplied by caller *SET ISO__IN = '[#1]' *ENDIF *ENDIF *. *IF [*ISO__IN,NLEN$] = 8 *IF [SITE_DATE_SEP_CHAR,1,1,1,LEN$] = 1 AND ; [SITE_DATE_SEP_CHAR,1,1,1,ANLEN$] = 0 *SET SEP__CHAR = '[SITE_DATE_SEP_CHAR,1,1,1]' *ELSE *SET SEP__CHAR = '-' . use default *ENDIF *IF [SITE_DATE_FORMAT,1,1,1,UCSTR$] = ISO *SET EXT_DATE = '[*ISO__IN,LSTR$,4][*SEP__CHAR][*ISO__IN,SUBSTR$,5,2]' *SET EXT_DATE = '[*EXT_DATE][*SEP__CHAR][*ISO__IN,RSTR$,2]' *ELSEIF [SITE_DATE_FORMAT,1,1,1,UCSTR$] = USA *SET EXT_DATE = '[*ISO__IN,SUBSTR$,5,2][*SEP__CHAR][*ISO__IN,RSTR$,2]' *SET EXT_DATE = '[*EXT_DATE][*SEP__CHAR][*ISO__IN,LSTR$,4]' *ELSEIF [SITE_DATE_FORMAT,1,1,1,UCSTR$] = GBR *SET EXT_DATE = '[*ISO__IN,RSTR$,2][*SEP__CHAR][*ISO__IN,SUBSTR$,5,2]' *SET EXT_DATE = '[*EXT_DATE][*SEP__CHAR][*ISO__IN,LSTR$,4]' *ELSE . SGS missing or invalid *. Use ISO date format seperated by minus signs ... *SET EXT_DATE = '[*ISO__IN,LSTR$,4]-[*ISO__IN,SUBSTR$,5,2]-[*ISO__IN,RSTR$,2]' *ENDIF *ELSE *DISPLAY 'Error (GET_EXT_DATE): input date not exactly 8 digits' *SET ERRCNT$ = ERRCNT$ + 1 *ENDIF *. *REMOVE VARIABLE ISO__IN *REMOVE VARIABLE SEP__CHAR *. *ENDDEFINE,E