<?xml version='1.0' encoding='UTF-8' ?>
<!-- Created by UNIFACE - (C) Compuware Corporation -->
<UNIFACE release="8.4" xmlengine="1.0">
<TABLE xmlns:UFORM="UFORM.DICT">
<DSC name="UFORM" model="DICT" system="S" pseudo ="73" level="1" noupdate="0"
 rbk="0" ffsql="0" transnr="0" segsize="0" ufocc="1000" charset=".U">
<FLD name="UTIMESTAMP" seqno="1" type="E" level="2" pack="0" scale="0" length="15"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UCOMPSTAMP" seqno="2" type="E" level="2" pack="0" scale="0" length="15"
 pointer="0" inum="0" ufocc="0" />
<FLD name="ULABEL" seqno="3" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="1" ufocc="0" mandatory="yes" idxnum="1" idxsnr="101" />
<FLD name="FTYP" seqno="4" type="S" level="2" pack="0" scale="0" length="4"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UVERS" seqno="5" type="S" level="2" pack="0" scale="0" length="12"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UDESCR" seqno="6" type="U" level="2" pack="0" scale="0" length="25"
 pointer="0" inum="0" ufocc="0" />
<FLD name="FHEAD" seqno="7" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="VMAAT" seqno="8" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="HMAAT" seqno="9" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UCOLOR" seqno="10" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="WVPOS" seqno="11" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="WHPOS" seqno="12" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="WVSIZ" seqno="13" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="WHSIZ" seqno="14" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="CLRSCRN" seqno="15" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UBORDER" seqno="16" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="RIBIN" seqno="17" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="0" ufocc="0" />
<FLD name="RIBOT" seqno="18" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="0" ufocc="0" />
<FLD name="MOVABLE" seqno="19" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="VIDEOINVERSE" seqno="20" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="VIDEOBRIGHT" seqno="21" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="VIDEOUNLINE" seqno="22" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="VIDEOBLINK" seqno="23" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UPANEL" seqno="24" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="0" ufocc="0" />
<FLD name="POSPANEL" seqno="25" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UPULL" seqno="26" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="0" ufocc="0" />
<FLD name="HIDESTACK" seqno="27" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TEMPLATENAME" seqno="28" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="1" ufocc="0" idxnum="2" idxsnr="1" />
<FLD name="UINHERIT" seqno="29" type="B" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="LIBRAR" seqno="30" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UTRANSACT" seqno="31" type="S" level="2" pack="0" scale="0" length="8"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TPLACTUAL" seqno="32" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|E,0,0,0,,0,0,0,,"/>
<FLD name="CONSTRAINTS" seqno="33" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|F,0,0,0,,0,0,0,,"/>
<FLD name="INIT" seqno="34" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|3,0,0,0,,0,0,0,,"/>
<FLD name="CLEAR" seqno="35" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|4,0,0,0,,0,0,0,,"/>
<FLD name="RETRIEVE" seqno="36" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|5,0,0,0,,0,0,0,,"/>
<FLD name="RECORD" seqno="37" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|6,0,0,0,,0,0,0,,"/>
<FLD name="STORE" seqno="38" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|7,0,0,0,,0,0,0,,"/>
<FLD name="DELET" seqno="39" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|8,0,0,0,,0,0,0,,"/>
<FLD name="ACCEPT" seqno="40" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|9,0,0,0,,0,0,0,,"/>
<FLD name="QUIT" seqno="41" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|:,0,0,0,,0,0,0,,"/>
<FLD name="MENU" seqno="42" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|;,0,0,0,,0,0,0,,"/>
<FLD name="INTKEY" seqno="43" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|&lt;,0,0,0,,0,0,0,,"/>
<FLD name="SPRINT" seqno="44" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|=,0,0,0,,0,0,0,,"/>
<FLD name="EPRINT" seqno="45" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|&gt;,0,0,0,,0,0,0,,"/>
<FLD name="ASYNC" seqno="46" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|?,0,0,0,,0,0,0,,"/>
<FLD name="GENERAL" seqno="47" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|@,0,0,0,,0,0,0,,"/>
<FLD name="FORMPIC" seqno="48" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|R,0,0,0,,0,0,0,,"/>
<FLD name="HEADER" seqno="49" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|U,0,0,0,,0,0,0,,"/>
<FLD name="LISTING" seqno="50" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|W,0,0,0,,0,0,0,,"/>
<FLD name="PERF" seqno="51" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|S,0,0,0,,0,0,0,,"/>
<FLD name="PROTO" seqno="52" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|T,0,0,0,,0,0,0,,"/>
<FLD name="TITLE" seqno="53" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|Y,0,0,0,,0,0,0,,"/>
<FLD name="WINPROP" seqno="54" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|D,0,0,0,,0,0,0,,"/>
<FLD name="FRLF" seqno="55" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|V,0,0,0,,0,0,0,,"/>
<FLD name="FRGF" seqno="56" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|X,0,0,0,,0,0,0,,"/>
<FLD name="SFUNC" seqno="57" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|N,0,0,0,,0,0,0,,"/>
<FLD name="HTMLPROP" seqno="58" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|O,0,0,0,,0,0,0,,"/>
<FLD name="USCONTAINED" seqno="59" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|A,0,0,0,,0,0,0,,"/>
<FLD name="UEXECDEF" seqno="60" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|B,0,0,0,,0,0,0,,"/>
<FLD name="UPOPUP" seqno="61" type="S" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|G,0,0,0,,0,0,0,,"/>
<FLD name="UML_DATA" seqno="62" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|H,0,0,0,,0,0,0,,"/>
<FLD name="HTML_CMPPROP" seqno="63" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|C,0,0,0,,0,0,0,,"/>
<FLD name="HTML_FORMAT" seqno="64" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|I,0,0,0,,0,0,0,,"/>
<FLD name="HTML_STYLES" seqno="65" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|J,0,0,0,,0,0,0,,"/>
<FLD name="HTML_HOOK_H" seqno="66" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|K,0,0,0,,0,0,0,,"/>
<FLD name="HTML_HOOK_B" seqno="67" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|L,0,0,0,,0,0,0,,"/>
<FLD name="HTML_HOOK_E" seqno="68" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|M,0,0,0,,0,0,0,,"/>
<FLD name="HTML_BODYHOOK" seqno="69" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|P,0,0,0,,0,0,0,,"/>
<FLD name="HTML_CMPCLASS" seqno="70" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|Q,0,0,0,,0,0,0,,"/>
<FLD name="GETSTATE" seqno="71" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|Z,0,0,0,,0,0,0,,"/>
<FLD name="SETSTATE" seqno="72" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|[,0,0,0,,0,0,0,,"/>
<FLD name="UNOSTATE" seqno="73" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|\,0,0,0,,0,0,0,,"/>
<FLD name="CMP_EXT" seqno="74" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|],0,0,0,,0,0,0,,"/>
<FLD name="UCTRIGGERS" seqno="75" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|^,0,0,0,,0,0,0,,"/>
<FLD name="UACCESSPATH" seqno="76" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|_,0,0,0,,0,0,0,,"/>
<FLD name="USPLITPROP" seqno="77" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|`,0,0,0,,0,0,0,,"/>
<FLD name="TPLACTUAL2" seqno="78" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|a,0,0,0,,0,0,0,,"/>
<FLD name="USTATEMANAGEDBY" seqno="79" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|b,0,0,0,,0,0,0,,"/>
</DSC>
<OCC>
<UFORM:UTIMESTAMP>2005-04-13T22:02:37.00</UFORM:UTIMESTAMP>
<UFORM:UCOMPSTAMP>2007-11-30T13:58:06.00</UFORM:UCOMPSTAMP>
<UFORM:ULABEL>SYF_CALENDAR</UFORM:ULABEL>
<UFORM:UVERS>DEF1.06</UFORM:UVERS>
<UFORM:UDESCR>Calendar</UFORM:UDESCR>
<UFORM:WVPOS>0</UFORM:WVPOS>
<UFORM:WHPOS>0</UFORM:WHPOS>
<UFORM:WVSIZ>0</UFORM:WVSIZ>
<UFORM:WHSIZ>0</UFORM:WHSIZ>
<UFORM:CLRSCRN>N</UFORM:CLRSCRN>
<UFORM:UBORDER>N</UFORM:UBORDER>
<UFORM:MOVABLE>Y</UFORM:MOVABLE>
<UFORM:UPANEL>AP_CALENDAR</UFORM:UPANEL>
<UFORM:HIDESTACK>N</UFORM:HIDESTACK>
<UFORM:UINHERIT>F</UFORM:UINHERIT>
<UFORM:LIBRAR>GLOBAL</UFORM:LIBRAR>
<UFORM:UTRANSACT>0</UFORM:UTRANSACT>
<UFORM:INIT>params
	date $INPUT_DATE$ : IN
	date $OUTPUT_DATE$ : OUT
endparams

if($input_date$ = 0)
$input_date$ = ""
endif
if($input_date$ = "")
	$YEAR$ = $date[y]
else
	$YEAR$=$input_date$[y]
endif
call BUILD_CALENDAR($YEAR$)

edit

;accept out of the calendar and pass back the chosen date.
$OUTPUT_DATE$ = $DATE$
</UFORM:INIT>
<UFORM:CLEAR>;clear/e "dummy"
;call CREATE_MONTHS

;$prompt = year.dummy</UFORM:CLEAR>
<UFORM:ACCEPT>;exit(0)
$DATE$ = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
return(0)</UFORM:ACCEPT>
<UFORM:QUIT><B>;if user has quit out w/out picking a date then just return the </B>
<B>;date you entered in to the proc.</B>
if ($OUTPUT_DATE$ = "")
   $OUTPUT_DATE$ = $INPUT_DATE$
endif
exit(1)</UFORM:QUIT>
<UFORM:MENU>debug</UFORM:MENU>
<UFORM:INTKEY>debug</UFORM:INTKEY>
<UFORM:GENERAL>entry CREATE_MONTHS        ; create an entry for each month
	
	clear/e "dummy2"
	
	name.dummy2 = $text(january)
	
	creocc "dummy2",-1
	name.dummy2 = $text(february)
	
	creocc "dummy2",-1
	name.dummy2 = $text(march)
	
	creocc "dummy2",-1
	name.dummy2 = $text(april)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(may)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(june)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(july)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(august)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(september)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(october)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(november)
	
	
	creocc "dummy2",-1
	name.dummy2 = $text(december)
	
end ; CREATE_MONTHS
;==============================================================================
entry BUILD_CALENDAR
	params
		numeric pi_Year    : IN
	endparams
	variables
		date    lv_Date
		numeric lv_Year, lv_Month, lv_Day, v_year, v_length, v_test
		numeric lv_DayOfWeek, v_month, v_week, v_day, v_counter
		numeric v_keep, v_thisyear
	endvariables
	
	call CREATE_MONTHS
	
	;lv_Date    = $date("01/01/%%pi_Year")    ; get first day of the year
	
	;lv_Year    = pi_Year
	setocc "dummy2",1            ; start at month 1
	setocc "dummy3",1                ; start at week 1
	
	;while (lv_Year = year.dummy)
	;set the 'year' field' to apropriate year.
	YEAR.DUMMY = $YEAR$
	;Keep a note of current year we are in just in case year hopping occurs.
	;($date holds today's date).
	if($input_date$ ="")
		v_year = $date[y]
	else
		v_year = $input_date$[y]
	endif
	;creates a calendar for each specific year.
	lv_Date    = $date("01/01/%%pi_year")
	;note that lv_year is used for processing purposes so should be set
	;to initial value.
	lv_Year = pi_year
	while (lv_Year = pi_year)
		
		lv_Day       = lv_Date[D]        ; extract day
		lv_DayOfWeek = lv_Date[A]        ; extract day-of-week
		week_no.dummy3 = lv_Date[W]        ; extract week number
		
		;make a note of today's date on the calendar for 
		;prompt purposes at end.
		if (pi_year = v_year) 
			if ($INPUT_DATE$ = "")
				if (lv_date = $date)
					$month$ = lv_month
					$week$ = $curocc(dummy3)
					$day$ = lv_dayofweek
				endif
			else
				if ($INPUT_DATE$ != "")
					if (lv_date = $INPUT_DATE$)
						$month$ = lv_month
						$week$ = $curocc(dummy3)
						$day$ = lv_dayofweek
					endif
				endif
			endif
		else
			$month$ = ""
			$week$ = ""
			$day$ = ""
		endif
		
		; set day number into day-of-week for current week
		selectcase lv_DayOfWeek
			case 1
				monday.dummy3    = lv_Day
			case 2
				tuesday.dummy3   = lv_Day
			case 3
				wednesday.dummy3 = lv_Day
			case 4
				thursday.dummy3  = lv_Day
			case 5
				friday.dummy3    = lv_Day
			case 6
				saturday.dummy3  = lv_Day
			case 7
				sunday.dummy3    = lv_Day
		endselectcase
		
		; after day 7 increment to following week
		;only create a new occurrence of week if month has not changed.
		;Therefore, moved further down in logic.
		;   if (lv_DayOfWeek = 7) creocc "dummy3",-1
		
		lv_Date  = lv_Date + 1d        ; increment date by 1 day
		
		lv_Month = lv_Date[M]        ; extract month
		
		; check for change of month
		if (lv_Month != $curocc(dummy2))
			setocc "dummy2",lv_Month    ; next month
			setocc "dummy3",1        ; start at week 1
			lv_Year  = lv_Date[Y]     ; extract year
		else
			if (lv_DayOfWeek = 7) creocc "dummy3",-1
		endif
		
	endwhile
	
	;get todays date and colour it green because
	;logic below exits at various points so at this point, it will
	;be executed always - just after the calendar has been built.
	v_thisyear = $date[Y]
	if ($YEAR$ = v_thisyear)
		v_day = $date[D]
		if ($CHOSEN_DAY$ != "")
			v_keep = $CHOSEN_DAY$
		endif
		$CHOSEN_DAY$ = v_day
		v_month = $date[M]
		setocc "dummy2", v_month
		v_counter = 1
		setocc "dummy3", v_counter
		while ($status &gt; 0)
			call SET_DAY
			if ($status = 2)
				;although uniface may not prompt on today's date, for example, 
				;detailing on a date field which already has a date in it (in this
				;scenario, today's date should be highlighted green but focus will
				;be on the initial date value of the date field we have focus on),
				;uniface will still process today's date via a prompt command.
				field_video $TODAYS_DAY$, "COL=2"
				break
			endif
			v_counter = v_counter + 1
			setocc "dummy3", v_counter
		endwhile
		$CHOSEN_DAY$ = v_keep
	endif
	
	setocc "dummy2", 1
	
	;if user is skipping years (YEAR_MORE, YEAR_LESS) or skipping 
	;months (FORWARD, BACKWARD).
	if ($YEAR_MORE$ | $YEAR_LESS$ | $FORWARD$ | $BACKWARD$)
		if ($YEAR_MORE$ | $YEAR_LESS$)
			$YEAR_MORE$ = "F"
			$YEAR_LESS$ = "F"
			setocc "DUMMY2", $CHOSEN_MONTH$
		else
			if ($FORWARD$)
				$FORWARD$ = "F"
				setocc "DUMMY2", 1
			else
				$BACKWARD$ = "F"
				setocc "DUMMY2", -1
			endif
		endif
		;   setocc "DUMMY3", -1
		;   v_length = $status
		;   setocc "DUMMY3", 1
		v_counter = 1
		setocc "DUMMY3", v_counter
		while ($status &gt; 0)
			call SET_DAY
			if ($status = 2) break
			v_counter = v_counter + 1
			setocc "DUMMY3", v_counter
		endwhile
		return(1)
	endif
	
	;if user is entering the calendar via a date field (BACKWARD = F).
	;if user is entering the calendar via back tabbing from months ie, 
	;January 2003 back to December 2002 (BACKWARD = T).
	;if server date not set the $month$ = "", $week$ = "" and $day$ = "", in this
	;case set user on first day of first month of specified year.
	if ($month$ = "" | $week$ = "" | $day$ = "")
		lv_Date = $date("01/01/%%pi_year")
		$month$ = 1
		$week$ = 1
		$day$ = lv_date[A]
	endif
	if ($BACKWARD$ = "F")
		setocc "dummy2", $month$
		setocc "dummy3", $week$
		selectcase $day$
			case 1
				$prompt = monday.dummy3   
			case 2
				$prompt = tuesday.dummy3
			case 3
				$prompt = wednesday.dummy3 
			case 4
				$prompt = thursday.dummy3
			case 5
				$prompt = friday.dummy3 
			case 6
				$prompt = saturday.dummy3 
			case 7
				$prompt = sunday.dummy3   
		endselectcase
	else
		$BACKWARD$ = "F"
		setocc "dummy2", -1
		setocc "dummy3", 1
		call PROMPT
	endif
	
	
end ; BUILD_CALENDAR
;==============================================================================

entry TAB
	params 
		string p_field : IN
	endparams
	variables
		numeric v_month
	endvariables
	
	selectcase p_field
		case "MONDAY"
			if (TUESDAY.DUMMY3 != "")
				$prompt = "TUESDAY.DUMMY3"
			else
				if ($curocc(dummy3) = 1)
					call VALIDATE_FIRST_WEEK("MONDAY")
					return
				endif
				v_month = $curocc(dummy2) + 1
				setocc "DUMMY2", v_month
				;we are at the last occurrence.
				if ($status &lt; 0)
					return(-1)
				endif
				setocc "DUMMY3", 1
				call PROMPT
			endif                  
		case "TUESDAY"
			if (WEDNESDAY.DUMMY3 != "")
				$prompt = "WEDNESDAY.DUMMY3"
			else
				if ($curocc(dummy3) = 1)
					call VALIDATE_FIRST_WEEK("TUESDAY")
					return
				endif
				v_month = $curocc(dummy2) + 1
				setocc "dummy2", v_month
				;we are at the last occurrence.
				if ($status &lt; 0)
					return(-1)
				endif
				setocc "DUMMY3", 1
				call PROMPT
			endif                  
		case "WEDNESDAY"
			if (THURSDAY.DUMMY3 != "")
				$prompt = "THURSDAY.DUMMY3"
			else
				if ($curocc(dummy3) = 1)
					call VALIDATE_FIRST_WEEK("WEDNESDAY")
					return
				endif
				v_month = $curocc(dummy2) + 1
				setocc "dummy2", v_month
				;we are at the last occurrence.
				if ($status &lt; 0)
					return(-1)
				endif
				setocc "DUMMY3", 1
				call PROMPT
			endif                  
		case "THURSDAY"
			if (FRIDAY.DUMMY3 != "")
				$prompt = "FRIDAY.DUMMY3"
			else
				if ($curocc(dummy3) = 1)
					call VALIDATE_FIRST_WEEK("THURSDAY")
					return
				endif
				v_month = $curocc(dummy2) + 1
				setocc "dummy2", v_month
				;we are at the last occurrence.
				if ($status &lt; 0)
					return(-1)
				endif
				setocc "DUMMY3", 1
				call PROMPT
			endif                  
		case "FRIDAY"
			if (SATURDAY.DUMMY3 != "")
				$prompt = "SATURDAY.dummy3"
			else
				if ($curocc(dummy3) = 1)
					call VALIDATE_FIRST_WEEK("FRIDAY")
					return
				endif
				v_month = $curocc(dummy2) + 1
				setocc "dummy2", v_month
				;we are at the last occurrence.
				if ($status &lt; 0)
					return(-1)
				endif
				setocc "dummy3", 1
				call PROMPT
			endif                  
		case "SATURDAY"
			if (SUNDAY.dummy3 != "")
				$prompt = "SUNDAY.dummy3"
			else
				v_month = $curocc(dummy2) + 1
				setocc "dummy2", v_month
				;we are at the last occurrence.
				if ($status &lt; 0)
					return(-1)
				endif
				setocc "dummy3", 1
				call PROMPT
			endif                  
		case "SUNDAY"
			if ($curocc(dummy3) != 6)
				setocc "dummy3", $curocc(dummy3) + 1
				if ($status &gt; 0)
					call PROMPT
				endif
				if ($status &lt; 0)
					call NEXT_MONTH
				endif
			else
				v_month = $curocc(dummy2) + 1
				setocc "dummy2", v_month
				;we are at the last occurrence.
				if ($status &lt; 0)
					return(-1)
				endif
				setocc "dummy3", 1
				call PROMPT
			endif                  
	endselectcase
	
end ; TAB

;=============================================================================

entry PREV_TAB
	params 
		string   p_field : IN
	endparams
	variables
		numeric v_month
	endvariables
	
	selectcase p_field
		case "SUNDAY"
			if (SATURDAY.dummy3 != "")
				$prompt = "SATURDAY.dummy3"
			else
				if ($curocc(dummy3) = 5 | $curocc(dummy3) = 6)
					while ($status != 1)
						call VALIDATE_PREV("SUNDAY")
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
							$SKIPPED_WEEK$ = "T"
						endif
					endwhile
				else
					if ($curocc(dummy2) = 1)
						return(-1)
					endif
					v_month = $curocc(dummy2) - 1
					setocc "dummy2", v_month
					setocc "dummy3", -1
					while ($status &gt; 0)
						call PREV_PROMPT
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				endif
			endif                  
		case "SATURDAY"
			if (FRIDAY.dummy3 != "")
				$prompt = "FRIDAY.dummy3"
			else
				if ($curocc(dummy3) = 5 | $curocc(dummy3) = 6)
					while ($status != 1)
						call VALIDATE_PREV("SATURDAY")
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				else
					if ($curocc(dummy2) = 1)
						return(-1)
					endif
					v_month = $curocc(dummy2) - 1
					setocc "dummy2", v_month
					setocc "dummy3", -1
					while ($status &gt; 0)
						call PREV_PROMPT
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				endif                  
			endif
		case "FRIDAY"
			if (THURSDAY.dummy3 != "")
				$prompt = "THURSDAY.dummy3"
			else
				if ($curocc(dummy3) = 5 | $curocc(dummy3) = 6)
					while ($status != 1)
						call VALIDATE_PREV("FRIDAY")
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				else
					if ($curocc(dummy2) = 1)
						return(-1)
					endif
					v_month = $curocc(dummy2) - 1
					setocc "dummy2", v_month
					setocc "dummy3", -1
					while ($status &gt; 0)
						call PREV_PROMPT
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				endif                  
			endif
		case "THURSDAY"
			if (WEDNESDAY.dummy3 != "")
				$prompt = "WEDNESDAY.dummy3"
			else
				if ($curocc(dummy3) = 5 | $curocc(dummy3) = 6)
					while ($status != 1)
						call VALIDATE_PREV("THURSDAY")
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				else
					if ($curocc(dummy2) = 1)
						return(-1)
					endif
					v_month = $curocc(dummy2) - 1
					setocc "dummy2", v_month
					setocc "dummy3", -1
					while ($status &gt; 0)
						call PREV_PROMPT
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				endif                  
			endif
		case "WEDNESDAY"
			if (TUESDAY.dummy3 != "")
				$prompt = "TUESDAY.dummy3"
			else
				if ($curocc(dummy3) = 5 | $curocc(dummy3) = 6)
					while ($status != 1)
						call VALIDATE_PREV("WEDNESDAY")
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				else
					if ($curocc(dummy2) = 1)
						return(-1)
					endif
					v_month = $curocc(dummy2) - 1
					setocc "dummy2", v_month
					setocc "dummy3", -1
					while ($status &gt; 0)
						call PREV_PROMPT
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				endif                  
			endif
		case "TUESDAY"
			if (MONDAY.dummy3 != "")
				$prompt = "MONDAY.dummy3"
			else
				if ($curocc(dummy3) = 5 | $curocc(dummy3) = 6)
					setocc "dummy3", $curocc(dummy3) - 1
					call PREV_PROMPT
				else
					if ($curocc(dummy2) = 1)
						return(-1)
					endif
					v_month = $curocc(dummy2) - 1
					setocc "dummy2", v_month
					setocc "dummy3", -1
					while ($status &gt; 0)
						call PREV_PROMPT
						if ($status &lt; 0)
							setocc "dummy3", $curocc(dummy3) - 1
						endif
					endwhile
				endif                  
			endif
		case "MONDAY"
			if ($curocc(dummy3) &gt; 1)
				setocc "dummy3", $curocc(dummy3) - 1
				call PREV_PROMPT
			else
				if ($curocc(dummy2) = 1)
					return(-1)
				endif
				v_month = $curocc(dummy2) - 1
				setocc "dummy2", v_month
				setocc "dummy3", -1
				while ($status &gt; 0)
					call PREV_PROMPT
					if ($status &lt; 0)
						setocc "dummy3", $curocc(dummy3) - 1
					endif
				endwhile
			endif                  
	endselectcase
end ; PREV_TAB

;=============================================================================

entry PROMPT
	
	if (MONDAY.dummy3 != "")
		$prompt = MONDAY.dummy3
	else
		if (TUESDAY.dummy3 != "")
			$prompt = TUESDAY.dummy3
		else
			if (WEDNESDAY.dummy3 != "")
				$prompt = WEDNESDAY.dummy3
			else
				if (THURSDAY.dummy3 != "")
					$prompt = THURSDAY.dummy3
				else
					if (FRIDAY.dummy3 != "")
						$prompt = FRIDAY.dummy3
					else
						if (SATURDAY.dummy3 != "")
							$prompt = SATURDAY.dummy3
						else
							if (SUNDAY.dummy3 != "")
								$prompt = SUNDAY.dummy3
							else
								return(-1)
							endif    
						endif
					endif
				endif
			endif
		endif
	endif
	
end ; PROMPT

;============================================================================

entry PREV_PROMPT
	
	if (SUNDAY.dummy3 != "")
		$prompt = SUNDAY.dummy3
	else
		if (SATURDAY.dummy3 != "")
			$prompt = SATURDAY.dummy3
		else
			if (FRIDAY.dummy3 != "")
				$prompt = FRIDAY.dummy3
			else
				if (THURSDAY.dummy3 != "")
					$prompt = THURSDAY.dummy3
				else
					if (WEDNESDAY.dummy3 != "")
						$prompt = WEDNESDAY.dummy3
					else
						if (TUESDAY.dummy3 != "")
							$prompt = TUESDAY.dummy3
						else
							if (MONDAY.dummy3 != "")
								$prompt = MONDAY.dummy3
							else
								return(-1)
							endif    
						endif
					endif
				endif
			endif
		endif
	endif
	
end ; PREV_PROMPT

;============================================================================

entry NEXT_MONTH
	variables
		numeric v_month
	endvariables
	
	v_month = $curocc(dummy2) + 1
	setocc "dummy2", v_month
	setocc "dummy3", 1
	call PROMPT
	
end ; NEXT_MONTH

;=============================================================================

entry VALIDATE_FIRST_WEEK
	params
		string p_day : IN
	endparams
	
	selectcase p_day
		case "MONDAY"
			if (WEDNESDAY.dummy3 != "")
				$prompt = WEDNESDAY.dummy3
				return(1)
			else
				if (THURSDAY.dummy3 != "")
					$prompt = THURSDAY.dummy3
					return(1)
				else
					if (FRIDAY.dummy3 != "")
						$prompt = FRIDAY.dummy3
						return(1)
					else
						if (SATURDAY.dummy3 != "")
							$prompt = SATURDAY.dummy3
						else
							if (SUNDAY.dummy3 != "")
								$prompt = SUNDAY.dummy3
							endif
						endif
					endif
				endif
			endif
		case "TUESDAY"
			if (THURSDAY.dummy3 != "")
				$prompt = THURSDAY.dummy3
			else
				if (FRIDAY.dummy3 != "")
					$prompt = FRIDAY.dummy3
				else
					if (SATURDAY.dummy3 != "")
						$prompt = SATURDAY.dummy3
					else
						if (SUNDAY.dummy3 != "")
							$prompt = SUNDAY.dummy3
						endif
					endif
				endif
			endif
		case "WEDNESDAY"
			if (FRIDAY.dummy3 != "")
				$prompt = FRIDAY.dummy3
			else
				if (SATURDAY.dummy3 != "")
					$prompt = SATURDAY.dummy3
				else
					if (SUNDAY.dummy3 != "")
						$prompt = SUNDAY.dummy3
					endif
				endif
			endif
		case "THURSDAY"
			if (SATURDAY.dummy3 != "")
				$prompt = SATURDAY.dummy3
			else
				if (SUNDAY.dummy3 != "")
					$prompt = SUNDAY.dummy3
				endif
			endif
		case "FRIDAY"
			if (SUNDAY.dummy3 != "")
				$prompt = SUNDAY.dummy3
			endif
	endselectcase
	
end ; VALIDATE_FIRST_WEEK

;============================================================================

entry VALIDATE_PREV
	params
		string p_field : IN
	endparams
	
	if ($SKIPPED_WEEK$ = "F")
		selectcase p_field
			case "SUNDAY"
				if (SATURDAY.dummy3 != "")
					$prompt = SATURDAY.dummy3
					return(1)
				else
					if (FRIDAY.dummy3 != "")
						$prompt = FRIDAY.dummy3
						return(1)
					else
						if (THURSDAY.dummy3 != "")
							$prompt = THURSDAY.dummy3
							return(1)
						else
							if (WEDNESDAY.dummy3 != "")
								$prompt = WEDNESDAY.dummy3
								return(1)
							else
								if (TUESDAY.dummy3 != "")
									$prompt = TUESDAY.dummy3
									return(1)
								else
									if (MONDAY.dummy3 != "")
										$prompt = MONDAY.dummy3
										return(1)
									else
										return(-1)
									endif
								endif
							endif
						endif
					endif
				endif
			case "SATURDAY"
				if (FRIDAY.dummy3 != "")
					$prompt = FRIDAY.dummy3
					return(1)
				else
					if (THURSDAY.dummy3 != "")
						$prompt = THURSDAY.dummy3
						return(1)
					else
						if (WEDNESDAY.dummy3 != "")
							$prompt = WEDNESDAY.dummy3
							return(1)
						else
							if (TUESDAY.dummy3 != "")
								$prompt = TUESDAY.dummy3
								return(1)
							else
								if (MONDAY.dummy3 != "")
									$prompt = MONDAY.dummy3
									return(1)
								else
									return(-1)
								endif
							endif
						endif
					endif
				endif 
			case "FRIDAY"
				if (THURSDAY.dummy3 != "")
					$prompt = THURSDAY.dummy3
					return(1)
				else
					if (WEDNESDAY.dummy3 != "")
						$prompt = WEDNESDAY.dummy3
						return(1)
					else
						if (TUESDAY.dummy3 != "")
							$prompt = TUESDAY.dummy3
							return(1)
						else
							if (MONDAY.dummy3 != "")
								$prompt = MONDAY.dummy3
								return(1)
							else
								return(-1)
							endif
						endif
					endif
				endif
			case "THURSDAY"
				if (WEDNESDAY.dummy3 != "")
					$prompt = WEDNESDAY.dummy3
					return(1)
				else
					if (TUESDAY.dummy3 != "")
						$prompt = TUESDAY.dummy3
						return(1)
					else
						if (MONDAY.dummy3 != "")
							$prompt = MONDAY.dummy3
							return(1)
						else
							return(-1)
						endif
					endif
				endif
			case "WEDNESDAY"
				if (TUESDAY.dummy3 != "")
					$prompt = TUESDAY.dummy3
					return(1)
				else
					if (MONDAY.dummy3 != "")
						$prompt = MONDAY.dummy3
						return(1)
					else
						return(-1)
					endif
				endif
		endselectcase
	else
		$prompt = SUNDAY.dummy3
		$SKIPPED_WEEK$ = "F"
		return(1)
	endif
end ; VALIDATE_PREV

;=============================================================================

entry SET_DAY
	
	if (MONDAY.dummy3 = $CHOSEN_DAY$) 
		$TODAYS_DAY$ = "MONDAY"
		$prompt = MONDAY.dummy3
		return(2)
	else
		if (TUESDAY.dummy3 = $CHOSEN_DAY$)
			$TODAYS_DAY$ = "TUESDAY"
			$prompt = TUESDAY.dummy3
			return(2)
		else
			if (WEDNESDAY.dummy3 = $CHOSEN_DAY$)
				$TODAYS_DAY$ = "WEDNESDAY"
				$prompt = WEDNESDAY.dummy3
				return(2)               
			else
				if (THURSDAY.dummy3 = $CHOSEN_DAY$)
					$TODAYS_DAY$ = "THURSDAY"
					$prompt = THURSDAY.dummy3
					return(2)
				else
					if (FRIDAY.dummy3 = $CHOSEN_DAY$)
						$TODAYS_DAY$ = "FRIDAY"
						$prompt = FRIDAY.dummy3
						return(2)
					else
						if (SATURDAY.dummy3 = $CHOSEN_DAY$)
							$TODAYS_DAY$ = "SATURDAY"
							$prompt = SATURDAY.dummy3
							return(2)
						else
							if (SUNDAY.dummy3 = $CHOSEN_DAY$)
								$TODAYS_DAY$ = "SUNDAY"
								$prompt = SUNDAY.dummy3
								return(2)
							endif
						endif
					endif
				endif
			endif
		endif
	endif
	
end ; SET_DAY

;===========================================================================</UFORM:GENERAL>
<UFORM:FORMPIC><BIN>1A</BIN>#1E#345#415#515#845#932768#2DUMMY.TEMPLATE<BIN>1A</BIN>                   <BIN>1A</BIN>#1A#311#43#51#89#91#:1<BIN>1A</BIN>
        <BIN>1A</BIN>#1F#310#41#916384#2YEAR_LESS<BIN>1A</BIN>  <BIN>1A</BIN>#1L#34#41#2LABEL_1#L$text(year)<BIN>1A1A</BIN>#1F#35#41#920992#:15872#2YEAR<BIN>1A</BIN>  <BIN>1A</BIN>#1F#310#41#916384#2YEAR_M<CR/>
ORE<BIN>1A</BIN>

   <BIN>1A</BIN>#1F#36#41#916384#2BACKWARD<BIN>1A</BIN>  <BIN>1A</BIN>#1E#328#412#512#828#932768#&gt;N#2DUMMY2.MARKETING<BIN>1A</BIN> <BIN>1A</BIN>#1F#324#41#916384#2NAME<BIN>1A</BIN>   <BIN>1A</BIN>#1F#36<CR/>
#41#916384#2FORWARD<BIN>1A</BIN>

      <BIN>1A</BIN>#1L#35#41#2LABEL_3#L$text(mon)<BIN>1A</BIN> <BIN>1A</BIN>#1E#324#49#59#84#932768#2DUMMY3.MARKETING<BIN>1A</BIN> <BIN>1A</BIN>#1F#33#41#916384#2MONDAY<BIN>1A</BIN>
      <BIN>1A</BIN>#1L#35#41#2LABEL_4#L$text(tue)<BIN>1A</BIN>  <BIN>1A</BIN>#1F#33#41#916384#2TUESDAY<BIN>1A</BIN>
      <BIN>1A</BIN>#1L#35#41#2LABEL_5#L$text(wed)<BIN>1A</BIN>  <BIN>1A</BIN>#1F#33#41#916384#2WEDNESDAY<BIN>1A</BIN>
      <BIN>1A</BIN>#1L#35#41#2LABEL_6#L$text(thu)<BIN>1A</BIN>  <BIN>1A</BIN>#1F#33#41#916384#2THURSDAY<BIN>1A</BIN>
      <BIN>1A</BIN>#1L#35#41#2LABEL_7#L$text(fri)<BIN>1A</BIN>  <BIN>1A</BIN>#1F#33#41#916384#2FRIDAY<BIN>1A</BIN>
      <BIN>1A</BIN>#1L#35#41#2LABEL_8#L$text(sat)<BIN>1A</BIN>  <BIN>1A</BIN>#1F#33#41#916384#2SATURDAY<BIN>1A</BIN>
      <BIN>1A</BIN>#1L#35#41#2LABEL_9#L$text(sun)<BIN>1A</BIN>  <BIN>1A</BIN>#1F#33#41#916384#2SUNDAY<BIN>1A</BIN>

      <BIN>1A</BIN>#1L#35#41#AR#2LABEL_2#L$text(week)<BIN>1A</BIN>  <BIN>1A</BIN>#1F#33#41#916384#2WEEK_NO<BIN>1A</BIN></UFORM:FORMPIC>
<UFORM:LISTING>Function:			CALENDAR

Description:		Produce a calendar for a specified year.

Author:			Tony Marston

Date Written		21-02-96

Current Version:		1.0.0

Update History:

Date		Updated By		Details</UFORM:LISTING>
<UFORM:TITLE>Calendar</UFORM:TITLE>
<UFORM:WINPROP>CAPTION=<GLD>;</GLD>CANRESIZE=<GLD>;</GLD>CANICONIZE=<GLD>;</GLD>CANZOOM=<GLD>;</GLD>CANCLOSE=<GLD>;</GLD>SYSMENU=<GLD>;</GLD>IMAGE=<GLD>;</GLD>MODAL=<GLD>;</GLD>ATTACHED=<GLD>;</GLD>UTYPE=<GLD>;</GLD>DIRE<CR/>
CTION=<GLD>;</GLD>SPLIT=</UFORM:WINPROP>
</OCC>
</TABLE>
<TABLE xmlns:UXGROUP="UXGROUP.DICT">
<DSC name="UXGROUP" model="DICT" system="S" pseudo ="73" level="1" noupdate="0"
 rbk="0" ffsql="0" transnr="0" segsize="0" ufocc="1000" charset=".U">
<FLD name="UTIMESTAMP" seqno="1" type="E" level="2" pack="0" scale="0" length="15"
 pointer="0" inum="0" ufocc="0" />
<FLD name="ULABEL" seqno="2" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="1" ufocc="0" mandatory="yes" idxnum="1" idxsnr="101" />
<FLD name="UBASE" seqno="3" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="1" ufocc="0" mandatory="yes" idxnum="1" idxsnr="102" />
<FLD name="UFORM" seqno="4" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="2" ufocc="0" mandatory="yes" idxnum="1,2" idxsnr="103,1" />
<FLD name="UVERS" seqno="5" type="S" level="2" pack="0" scale="0" length="12"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UDESCR" seqno="6" type="U" level="2" pack="0" scale="0" length="25"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_BORD" seqno="7" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_INDB" seqno="8" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_DBMS" seqno="9" type="S" level="2" pack="0" scale="0" length="3"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_UPD" seqno="10" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_MINL" seqno="11" type="N" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_MAXL" seqno="12" type="N" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_MINR" seqno="13" type="N" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_MAXR" seqno="14" type="N" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TPLGINTF" seqno="15" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_INTF" seqno="16" type="S" level="2" pack="0" scale="0" length="64"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TEMPLATENAME" seqno="17" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UINHERIT" seqno="18" type="B" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TPLACTUAL" seqno="19" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|X,0,0,0,,0,0,0,,"/>
<FLD name="GETOCC" seqno="20" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|3,0,0,0,,0,0,0,,"/>
<FLD name="PUTOCC" seqno="21" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|4,0,0,0,,0,0,0,,"/>
<FLD name="DELOCC" seqno="22" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|5,0,0,0,,0,0,0,,"/>
<FLD name="LCK" seqno="23" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|6,0,0,0,,0,0,0,,"/>
<FLD name="UNLOCK" seqno="24" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|7,0,0,0,,0,0,0,,"/>
<FLD name="GETSEGM" seqno="25" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|8,0,0,0,,0,0,0,,"/>
<FLD name="ADDOCC" seqno="26" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|9,0,0,0,,0,0,0,,"/>
<FLD name="DELOCCR" seqno="27" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|:,0,0,0,,0,0,0,,"/>
<FLD name="ENDMOD" seqno="28" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|;,0,0,0,,0,0,0,,"/>
<FLD name="DOC" seqno="29" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|&lt;,0,0,0,,0,0,0,,"/>
<FLD name="DETAIL" seqno="30" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|=,0,0,0,,0,0,0,,"/>
<FLD name="CREOCC" seqno="31" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|&gt;,0,0,0,,0,0,0,,"/>
<FLD name="MENU" seqno="32" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|?,0,0,0,,0,0,0,,"/>
<FLD name="FINDOCC" seqno="33" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|@,0,0,0,,0,0,0,,"/>
<FLD name="ERROR" seqno="34" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|A,0,0,0,,0,0,0,,"/>
<FLD name="GENERAL" seqno="35" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|B,0,0,0,,0,0,0,,"/>
<FLD name="STARTMOD" seqno="36" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|C,0,0,0,,0,0,0,,"/>
<FLD name="FLIST" seqno="37" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|S,0,0,0,,0,0,0,,"/>
<FLD name="BREAK" seqno="38" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|T,0,0,0,,0,0,0,,"/>
<FLD name="VLDE" seqno="39" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|D,0,0,0,,0,0,0,,"/>
<FLD name="VLDK" seqno="40" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|E,0,0,0,,0,0,0,,"/>
<FLD name="UPOPUP" seqno="41" type="S" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|F,0,0,0,,0,0,0,,"/>
<FLD name="UISBCLASS" seqno="42" type="B" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|G,0,0,0,,0,0,0,,"/>
<FLD name="UISASSOC" seqno="43" type="B" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|H,0,0,0,,0,0,0,,"/>
<FLD name="U_OBJSVC" seqno="44" type="S" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|N,0,0,0,,0,0,0,,"/>
<FLD name="U_SVCUSE" seqno="45" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|O,0,0,0,,0,0,0,,"/>
<FLD name="HTML_ENTPROP" seqno="46" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|I,0,0,0,,0,0,0,,"/>
<FLD name="HTML_TABTYPE" seqno="47" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|J,0,0,0,,0,0,0,,"/>
<FLD name="HTML_ENTHK_B" seqno="48" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|K,0,0,0,,0,0,0,,"/>
<FLD name="HTML_ENTHK_E" seqno="49" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|L,0,0,0,,0,0,0,,"/>
<FLD name="HTML_OCCHK_B" seqno="50" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|M,0,0,0,,0,0,0,,"/>
<FLD name="HTML_OCCHK_E" seqno="51" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|P,0,0,0,,0,0,0,,"/>
<FLD name="HTML_ENTCLASS" seqno="52" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|Q,0,0,0,,0,0,0,,"/>
<FLD name="U_GLAB" seqno="53" type="S" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|R,0,0,0,,0,0,0,,"/>
<FLD name="UEOINTERFACE" seqno="54" type="S" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|U,0,0,0,,0,0,0,,"/>
<FLD name="UECINTERFACE" seqno="55" type="S" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|V,0,0,0,,0,0,0,,"/>
<FLD name="UEOOPERS" seqno="56" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|W,0,0,0,,0,0,0,,"/>
<FLD name="UECOPERS" seqno="57" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|Y,0,0,0,,0,0,0,,"/>
<FLD name="UEOTRIGGERS" seqno="58" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|Z,0,0,0,,0,0,0,,"/>
<FLD name="UECTRIGGERS" seqno="59" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|[,0,0,0,,0,0,0,,"/>
<FLD name="UGEOMETRY" seqno="60" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|\,0,0,0,,0,0,0,,"/>
<FLD name="UWIDGETTYPE" seqno="61" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|],0,0,0,,0,0,0,,"/>
<FLD name="UWIDGETCREATE" seqno="62" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|^,0,0,0,,0,0,0,,"/>
<FLD name="PRLO" seqno="63" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|_,0,0,0,,0,0,0,,"/>
<FLD name="PSLO" seqno="64" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|`,0,0,0,,0,0,0,,"/>
<FLD name="PRSO" seqno="65" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|a,0,0,0,,0,0,0,,"/>
<FLD name="PSSO" seqno="66" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|b,0,0,0,,0,0,0,,"/>
<FLD name="UPARENT" seqno="67" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|c,0,0,0,,0,0,0,,"/>
</DSC>
<OCC>
<UXGROUP:UTIMESTAMP>2005-04-04T12:26:48.00</UXGROUP:UTIMESTAMP>
<UXGROUP:ULABEL>DUMMY</UXGROUP:ULABEL>
<UXGROUP:UBASE>TEMPLATE</UXGROUP:UBASE>
<UXGROUP:UFORM>SYF_CALENDAR</UXGROUP:UFORM>
<UXGROUP:UVERS>DEF1.06</UXGROUP:UVERS>
<UXGROUP:U_BORD>N</UXGROUP:U_BORD>
<UXGROUP:U_INDB>N</UXGROUP:U_INDB>
<UXGROUP:U_UPD>Y</UXGROUP:U_UPD>
<UXGROUP:UINHERIT>F</UXGROUP:UINHERIT>
<UXGROUP:DELOCCR>return(-1)</UXGROUP:DELOCCR>
<UXGROUP:DOC>activate $instancename.communicate("HELP","","")</UXGROUP:DOC>
<UXGROUP:CREOCC>return(-1)</UXGROUP:CREOCC>
</OCC>
<OCC>
<UXGROUP:UTIMESTAMP>2005-04-04T12:26:48.00</UXGROUP:UTIMESTAMP>
<UXGROUP:ULABEL>DUMMY2</UXGROUP:ULABEL>
<UXGROUP:UBASE>MARKETING</UXGROUP:UBASE>
<UXGROUP:UFORM>SYF_CALENDAR</UXGROUP:UFORM>
<UXGROUP:UVERS>DEF1.06</UXGROUP:UVERS>
<UXGROUP:U_BORD>N</UXGROUP:U_BORD>
<UXGROUP:U_DBMS>XXX</UXGROUP:U_DBMS>
<UXGROUP:U_UPD>Y</UXGROUP:U_UPD>
<UXGROUP:UINHERIT>F</UXGROUP:UINHERIT>
<UXGROUP:GETOCC>read</UXGROUP:GETOCC>
<UXGROUP:PUTOCC>write</UXGROUP:PUTOCC>
<UXGROUP:DELOCC>delete</UXGROUP:DELOCC>
<UXGROUP:LCK>lock
if ($status = -10) reload</UXGROUP:LCK>
<UXGROUP:DELOCCR>return(-1)</UXGROUP:DELOCCR>
<UXGROUP:DOC>activate $instancename.communicate("HELP","","")</UXGROUP:DOC>
<UXGROUP:CREOCC>return(-1)</UXGROUP:CREOCC>
<UXGROUP:FINDOCC>retrieve/o
if ($status &lt; 0)
   if ($status=-15) message $text(2202) ;Multiple hits:in foreign entity
   if ($status=-14) message $text(2205) ;Multiple hits:not in foreign entity
   if ($status=-11) message $text(2009) ;Occurrence currently locked
   if ($status=-7)  message $text(2006) ;Duplicate key
   if ($status=-4)  message $text(2003) ;Cannot open table or file
   if ($status=-3)  message $text(2002) ;Exceptional I/O error
   if ($status=-2)  message $text(2200) ;Key not found:in foreign entity
else
   if ($status=1)   message $text(2201) ;Key not found:foreign entity w/WRITE UP
   if ($status=2)   ;One occurrence found in foreign entity
      retrieve/e
      if ($status &lt; 0) message $text(2002);I/O error detected
   endif
   if ($status=3)   message $text(2203) ;Occurrence un-removed
   if ($status=4)   message $text(2204) ;Key found:occurrence repositioned
endif
return ($status)
</UXGROUP:FINDOCC>
<UXGROUP:ERROR>; Include a block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; if ($error = 0139)
;    putmess $text(0139)
;    return (-1)
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXGROUP:ERROR>
<UXGROUP:VLDK>findkey $entname, $curkey

SelectCase $status
Case 0               ; key not found
   if ($foreign)     ; non existing key in up entity
      return(-1)     ; only if Write Up trigger not filled  
   endif
Case 1               ; key found on Component
   if (!$foreign)    ; duplicate key in down entity
      return(-1)     
   endif
Case 2               ; key found in DBMS
   if (!$foreign)    ; duplicate key in down entity
      return(-1)     
   endif
EndSelectCase

return(0)

</UXGROUP:VLDK>
<UXGROUP:UISBCLASS>F</UXGROUP:UISBCLASS>
<UXGROUP:UISASSOC>F</UXGROUP:UISASSOC>
<UXGROUP:U_SVCUSE>N</UXGROUP:U_SVCUSE>
<UXGROUP:HTML_ENTPROP>U_OCCTABLE=0<GLD>;</GLD>U_USEFIELDS=1<GLD>;</GLD>U_ATLEASTONE=1<GLD>;</GLD>U_STARTOCC=1<GLD>;</GLD>U_MAXOCC=</UXGROUP:HTML_ENTPROP>
<UXGROUP:HTML_TABTYPE>1</UXGROUP:HTML_TABTYPE>
</OCC>
<OCC>
<UXGROUP:UTIMESTAMP>2005-04-04T12:26:48.00</UXGROUP:UTIMESTAMP>
<UXGROUP:ULABEL>DUMMY3</UXGROUP:ULABEL>
<UXGROUP:UBASE>MARKETING</UXGROUP:UBASE>
<UXGROUP:UFORM>SYF_CALENDAR</UXGROUP:UFORM>
<UXGROUP:UVERS>DEF1.06</UXGROUP:UVERS>
<UXGROUP:U_BORD>N</UXGROUP:U_BORD>
<UXGROUP:U_INDB>N</UXGROUP:U_INDB>
<UXGROUP:UINHERIT>F</UXGROUP:UINHERIT>
<UXGROUP:GETOCC>read</UXGROUP:GETOCC>
<UXGROUP:PUTOCC>write</UXGROUP:PUTOCC>
<UXGROUP:DELOCC>delete</UXGROUP:DELOCC>
<UXGROUP:LCK>lock
if ($status = -10) reload</UXGROUP:LCK>
<UXGROUP:DELOCCR>return(-1)</UXGROUP:DELOCCR>
<UXGROUP:DOC>activate $instancename.communicate("HELP","","")</UXGROUP:DOC>
<UXGROUP:CREOCC>return(-1)</UXGROUP:CREOCC>
<UXGROUP:FINDOCC>retrieve/o
if ($status &lt; 0)
   if ($status=-15) message $text(2202) ;Multiple hits:in foreign entity
   if ($status=-14) message $text(2205) ;Multiple hits:not in foreign entity
   if ($status=-11) message $text(2009) ;Occurrence currently locked
   if ($status=-7)  message $text(2006) ;Duplicate key
   if ($status=-4)  message $text(2003) ;Cannot open table or file
   if ($status=-3)  message $text(2002) ;Exceptional I/O error
   if ($status=-2)  message $text(2200) ;Key not found:in foreign entity
else
   if ($status=1)   message $text(2201) ;Key not found:foreign entity w/WRITE UP
   if ($status=2)   ;One occurrence found in foreign entity
      retrieve/e
      if ($status &lt; 0) message $text(2002);I/O error detected
   endif
   if ($status=3)   message $text(2203) ;Occurrence un-removed
   if ($status=4)   message $text(2204) ;Key found:occurrence repositioned
endif
return ($status)
</UXGROUP:FINDOCC>
<UXGROUP:ERROR>; Include a block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; if ($error = 0139)
;    putmess $text(0139)
;    return (-1)
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXGROUP:ERROR>
<UXGROUP:VLDK>findkey $entname, $curkey

SelectCase $status
Case 0               ; key not found
   if ($foreign)     ; non existing key in up entity
      return(-1)     ; only if Write Up trigger not filled  
   endif
Case 1               ; key found on Component
   if (!$foreign)    ; duplicate key in down entity
      return(-1)     
   endif
Case 2               ; key found in DBMS
   if (!$foreign)    ; duplicate key in down entity
      return(-1)     
   endif
EndSelectCase

return(0)

</UXGROUP:VLDK>
<UXGROUP:UISBCLASS>F</UXGROUP:UISBCLASS>
<UXGROUP:UISASSOC>F</UXGROUP:UISASSOC>
<UXGROUP:HTML_ENTPROP>U_OCCTABLE=0<GLD>;</GLD>U_USEFIELDS=1<GLD>;</GLD>U_ATLEASTONE=1<GLD>;</GLD>U_STARTOCC=1<GLD>;</GLD>U_MAXOCC=</UXGROUP:HTML_ENTPROP>
<UXGROUP:HTML_TABTYPE>1</UXGROUP:HTML_TABTYPE>
</OCC>
</TABLE>
<TABLE xmlns:UXFIELD="UXFIELD.DICT">
<DSC name="UXFIELD" model="DICT" system="S" pseudo ="73" level="1" noupdate="0"
 rbk="0" ffsql="0" transnr="0" segsize="0" ufocc="1000" charset=".U">
<FLD name="UTIMESTAMP" seqno="1" type="E" level="2" pack="0" scale="0" length="15"
 pointer="0" inum="0" ufocc="0" />
<FLD name="ULABEL" seqno="2" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="1" ufocc="0" mandatory="yes" idxnum="1" idxsnr="101" />
<FLD name="GRP" seqno="3" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="2" ufocc="0" mandatory="yes" idxnum="1,2" idxsnr="102,1" />
<FLD name="UBASE" seqno="4" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="2" ufocc="0" mandatory="yes" idxnum="1,2" idxsnr="103,2" />
<FLD name="UFORM" seqno="5" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="3" ufocc="0" mandatory="yes" idxnum="1,2,3" idxsnr="104,3,1" />
<FLD name="U_TLAB" seqno="6" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UVERS" seqno="7" type="S" level="2" pack="0" scale="0" length="12"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UDESCR" seqno="8" type="U" level="2" pack="0" scale="0" length="25"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_DTYP" seqno="9" type="S" level="2" pack="0" scale="0" length="2"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_INDB" seqno="10" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TPLLAY" seqno="11" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="0" ufocc="0" />
<FLD name="LAYOUTMOD" seqno="12" type="S" level="2" pack="0" scale="0" length="128"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TPLSYN" seqno="13" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="0" ufocc="0" />
<FLD name="SYNTAXMOD" seqno="14" type="S" level="2" pack="0" scale="0" length="192"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TPLINTF" seqno="15" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="0" ufocc="0" />
<FLD name="INTERFACEMOD" seqno="16" type="S" level="2" pack="0" scale="0" length="64"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TABSTOP" seqno="17" type="N" level="2" pack="10" scale="0" length="2"
 pointer="0" inum="0" ufocc="0" />
<FLD name="WIDGETTYPE" seqno="18" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="0" ufocc="0" />
<FLD name="TEMPLATENAME" seqno="19" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UINHERIT" seqno="20" type="B" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="STARTMOD" seqno="21" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|3,0,0,0,,0,0,0,,"/>
<FLD name="ENDMOD" seqno="22" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|4,0,0,0,,0,0,0,,"/>
<FLD name="NEXTFLD" seqno="23" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|5,0,0,0,,0,0,0,,"/>
<FLD name="PREVFLD" seqno="24" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|6,0,0,0,,0,0,0,,"/>
<FLD name="ENCRYPT" seqno="25" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|7,0,0,0,,0,0,0,,"/>
<FLD name="DECRYPT" seqno="26" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|8,0,0,0,,0,0,0,,"/>
<FLD name="DOC" seqno="27" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|9,0,0,0,,0,0,0,,"/>
<FLD name="DETAIL" seqno="28" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|:,0,0,0,,0,0,0,,"/>
<FLD name="MENU" seqno="29" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|;,0,0,0,,0,0,0,,"/>
<FLD name="ERROR" seqno="30" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|&lt;,0,0,0,,0,0,0,,"/>
<FLD name="UFORMAT" seqno="31" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|=,0,0,0,,0,0,0,,"/>
<FLD name="DEFORMAT" seqno="32" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|&gt;,0,0,0,,0,0,0,,"/>
<FLD name="GENERAL" seqno="33" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|?,0,0,0,,0,0,0,,"/>
<FLD name="GETFOCUS" seqno="34" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|@,0,0,0,,0,0,0,,"/>
<FLD name="VCHANGED" seqno="35" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|A,0,0,0,,0,0,0,,"/>
<FLD name="WIDGETCREATE" seqno="36" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|O,0,0,0,,0,0,0,,"/>
<FLD name="VALLAB" seqno="37" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|P,0,0,0,,0,0,0,,"/>
<FLD name="INITVALUE" seqno="38" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|Q,0,0,0,,0,0,0,,"/>
<FLD name="TPLACTUAL" seqno="39" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|X,0,0,0,,0,0,0,,"/>
<FLD name="VLDF" seqno="40" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|B,0,0,0,,0,0,0,,"/>
<FLD name="UPOPUP" seqno="41" type="S" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|C,0,0,0,,0,0,0,,"/>
<FLD name="UISOBJID" seqno="42" type="B" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|D,0,0,0,,0,0,0,,"/>
<FLD name="HTML_FLDPROP" seqno="43" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|E,0,0,0,,0,0,0,,"/>
<FLD name="HTML_CTRLTYPE" seqno="44" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|F,0,0,0,,0,0,0,,"/>
<FLD name="HTML_HOOK_B" seqno="45" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|G,0,0,0,,0,0,0,,"/>
<FLD name="HTML_HOOK_M" seqno="46" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|H,0,0,0,,0,0,0,,"/>
<FLD name="HTML_HOOK_E" seqno="47" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|I,0,0,0,,0,0,0,,"/>
<FLD name="HTML_LBLHK_B" seqno="48" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|J,0,0,0,,0,0,0,,"/>
<FLD name="HTML_LBLHK_E" seqno="49" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|K,0,0,0,,0,0,0,,"/>
<FLD name="HTML_FLDCLASS" seqno="50" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|L,0,0,0,,0,0,0,,"/>
<FLD name="HTML_LBLCLASS" seqno="51" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|M,0,0,0,,0,0,0,,"/>
<FLD name="UFOPERS" seqno="52" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|N,0,0,0,,0,0,0,,"/>
<FLD name="UFTRIGGERS" seqno="53" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|R,0,0,0,,0,0,0,,"/>
<FLD name="UGEOMETRY" seqno="54" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|S,0,0,0,,0,0,0,,"/>
<FLD name="USCOPE" seqno="55" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|T,0,0,0,,0,0,0,,"/>
<FLD name="UFORMATS" seqno="56" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|U,0,0,0,,0,0,0,,"/>
<FLD name="UHINTERFACE" seqno="57" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|V,0,0,0,,0,0,0,,"/>
</DSC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>BACKWARD</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY</UXFIELD:GRP>
<UXFIELD:UBASE>TEMPLATE</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>S</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>B</UXFIELD:U_INDB>
<UXFIELD:INTERFACEMOD>C6</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>COMMANDBUTTON</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:DETAIL>variables
   numeric v_counter
endvariables

if ($curocc(dummy2) &gt; 1)
   setocc "dummy2", $curocc(dummy2) - 1
   if ($status &gt; 0)
<B>   </B>   v_counter = 1
   <B>   </B>setocc "dummy3", v_counter
   <B>   </B>while ($status &gt; 0)
      <B>   </B>call SET_DAY
      <B>   </B>if ($status = 2) break
      <B>   </B>v_counter = v_counter + 1
      <B>   </B>setocc "dummy3", v_counter
   <B>   </B>endwhile
<B>   </B>   <B>;Note - if user has highlighted the 31st of the present month he has</B>
<B>      ;       focus on then he may scroll backward to a month which may only </B>
<B>      ;       have 30 days which may cause problems. Therefore, in this </B>
<B>      ;       scenario, the last day of the month will be highlighted.</B>
<B>      </B>if ($status &lt; 0)
         call PREV_PROMPT
      endif
<B>;Instead of prompting on the 1st day of each month, prompt on </B>
<B>;the date picked by user, ie, 14th of each month etc. (see above).</B>
<B>;This behaviour should be consistent for all command buttons on form,</B>
<B>;to scroll along months and scroll each respective year.</B>
<B>;</B>      if ($curocc(dummy2) = $MONTH$)
<B>;</B>         setocc "dummy3", $WEEK$
<B>;</B>      else
<B>;</B>         setocc "dummy3", 1
<B>;</B>      endif
<B>;</B>      call PROMPT
   endif
else
   $BACKWARD$ = "T"
   clear/e "DUMMY"
   $YEAR$ = $YEAR$ - 1
   call BUILD_CALENDAR($YEAR$)
endif
</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:INITVALUE>&lt;&lt;&lt;</UXFIELD:INITVALUE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_BUTTON</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>FORWARD</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY</UXFIELD:GRP>
<UXFIELD:UBASE>TEMPLATE</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>S</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>B</UXFIELD:U_INDB>
<UXFIELD:INTERFACEMOD>C6</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>COMMANDBUTTON</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:DETAIL>variables
   numeric v_counter
endvariables

setocc "dummy2", $curocc(dummy2) + 1
if ($status &gt; 0)
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
      call SET_DAY
      if ($status = 2) break
      v_counter = v_counter + 1
      setocc "dummy3", v_counter
   endwhile
   <B>;Note - if user has highlighted the 31st of the present month he has</B>
<B>   ;       focus on then he may scroll forward to a month which may only </B>
<B>   ;       have 30 days which may cause problems. Therefore, in this </B>
<B>   ;       scenario, the last day of the month will be highlighted.</B>
   if ($status &lt; 0)
      call PREV_PROMPT
   endif
<B>;Instead of prompting on the 1st day of each month, prompt on </B>
<B>;the date picked by user, ie, 14th of each month etc. (see above).</B>
;   if ($curocc(dummy2) = $MONTH$)
;      setocc "dummy3", $WEEK$
;   else
;      setocc "dummy3", 1
;   endif
;   call PROMPT
else
   clear/e "DUMMY"
   $FORWARD$ = "T"
   $YEAR$ = $YEAR$ + 1
   call BUILD_CALENDAR($YEAR$)
endif
</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:INITVALUE>&gt;&gt;&gt;</UXFIELD:INITVALUE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_BUTTON</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>FRIDAY</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>EDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>variables
   date v_date
endvariables

;field_video $fieldname, "DEF"

v_date = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
if (v_date = $date)
   field_video $fieldname, "COL=2"
else
   field_video $fieldname, "DEF"
endif
</UXFIELD:ENDMOD>
<UXFIELD:NEXTFLD>call TAB($fieldname)</UXFIELD:NEXTFLD>
<UXFIELD:PREVFLD>call PREV_TAB($fieldname)</UXFIELD:PREVFLD>
<UXFIELD:DETAIL>macro "^accept"</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

if (@$fieldname != "")
   $CHOSEN_MONTH$ = $curocc(DUMMY2)
   $CHOSEN_DAY$ = @$fieldname
   field_video $fieldname, "COL=25"
   set $fieldcheck($fieldname)
else
   setocc "dummy2", $CHOSEN_MONTH$
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
<B>   </B>   call SET_DAY
      if ($status = 2) break
   <B>   </B>   v_counter = v_counter + 1
         setocc "dummy3", v_counter
   endwhile
endif
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>DBLCLK=DETAIL</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>MONDAY</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED,OVS</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>EDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>variables
   date v_date
endvariables

;field_video $fieldname, "DEF"

v_date = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
if (v_date = $date)
   field_video $fieldname, "COL=2"
else
   field_video $fieldname, "DEF"
endif
</UXFIELD:ENDMOD>
<UXFIELD:NEXTFLD>call TAB($fieldname)</UXFIELD:NEXTFLD>
<UXFIELD:PREVFLD>call PREV_TAB($fieldname)</UXFIELD:PREVFLD>
<UXFIELD:DETAIL>macro "^accept"</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
   date v_date
endvariables

if (@$fieldname != "")
   $CHOSEN_MONTH$ = $curocc(DUMMY2)
   $CHOSEN_DAY$ = @$fieldname
   field_video $fieldname, "COL=25"
   set $fieldcheck($fieldname)
else
   setocc "dummy2", $CHOSEN_MONTH$
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
<B>   </B>   call SET_DAY
      if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
   endwhile
endif
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>DBLCLK=DETAIL</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>NAME</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY2</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>S</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>CTR</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED,NPR</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C40</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>NOEDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

setocc "dummy2", $CHOSEN_MONTH$
v_counter = 1
setocc "dummy3", v_counter
while ($status &gt; 0)
<B>   </B>call SET_DAY
   if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
endwhile
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>FONT=combo</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>SATURDAY</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>EDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>variables
   date v_date
endvariables

;field_video $fieldname, "DEF"

v_date = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
if (v_date = $date)
   field_video $fieldname, "COL=2"
else
   field_video $fieldname, "DEF"
endif
</UXFIELD:ENDMOD>
<UXFIELD:NEXTFLD>call TAB($fieldname)</UXFIELD:NEXTFLD>
<UXFIELD:PREVFLD>call PREV_TAB($fieldname)</UXFIELD:PREVFLD>
<UXFIELD:DETAIL>macro "^accept"</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

if (@$fieldname != "")
   $CHOSEN_MONTH$ = $curocc(DUMMY2)
   $CHOSEN_DAY$ = @$fieldname
   field_video $fieldname, "COL=25"
   set $fieldcheck($fieldname)
else
   setocc "dummy2", $CHOSEN_MONTH$
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
<B>   </B>   call SET_DAY
      if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
   endwhile
endif
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>DBLCLK=DETAIL</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>SUNDAY</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>EDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>variables
   date v_date
endvariables

;field_video $fieldname, "DEF"

v_date = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
if (v_date = $date)
   field_video $fieldname, "COL=2"
else
   field_video $fieldname, "DEF"
endif
</UXFIELD:ENDMOD>
<UXFIELD:NEXTFLD>call TAB($fieldname)</UXFIELD:NEXTFLD>
<UXFIELD:PREVFLD>call PREV_TAB($fieldname)</UXFIELD:PREVFLD>
<UXFIELD:DETAIL>macro "^accept"</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

if (@$fieldname != "")
   $CHOSEN_MONTH$ = $curocc(DUMMY2)
   $CHOSEN_DAY$ = @$fieldname
   field_video $fieldname, "COL=25"
   set $fieldcheck($fieldname)
else
   setocc "dummy2", $CHOSEN_MONTH$
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
<B>   </B>   call SET_DAY
      if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
   endwhile
endif
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>DBLCLK=DETAIL</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>THURSDAY</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>EDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>variables
   date v_date
endvariables

;field_video $fieldname, "DEF"

v_date = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
if (v_date = $date)
   field_video $fieldname, "COL=2"
else
   field_video $fieldname, "DEF"
endif
</UXFIELD:ENDMOD>
<UXFIELD:NEXTFLD>call TAB($fieldname)</UXFIELD:NEXTFLD>
<UXFIELD:PREVFLD>call PREV_TAB($fieldname)</UXFIELD:PREVFLD>
<UXFIELD:DETAIL>macro "^accept"</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

if (@$fieldname != "")
   $CHOSEN_MONTH$ = $curocc(DUMMY2)
   $CHOSEN_DAY$ = @$fieldname
   field_video $fieldname, "COL=25"
   set $fieldcheck($fieldname)
else
   setocc "dummy2", $CHOSEN_MONTH$
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
<B>   </B>   call SET_DAY
      if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
   endwhile
endif
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>DBLCLK=DETAIL</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>TUESDAY</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>EDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>variables
   date v_date
endvariables

;field_video $fieldname, "DEF"

v_date = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
if (v_date = $date)
   field_video $fieldname, "COL=2"
else
   field_video $fieldname, "DEF"
endif
</UXFIELD:ENDMOD>
<UXFIELD:NEXTFLD>call TAB($fieldname)</UXFIELD:NEXTFLD>
<UXFIELD:PREVFLD>call PREV_TAB($fieldname)</UXFIELD:PREVFLD>
<UXFIELD:DETAIL>macro "^accept"</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

if (@$fieldname != "")
   $CHOSEN_MONTH$ = $curocc(DUMMY2)
   $CHOSEN_DAY$ = @$fieldname
   field_video $fieldname, "COL=25"
   set $fieldcheck($fieldname)
else
   setocc "dummy2", $CHOSEN_MONTH$
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
<B>   </B>   call SET_DAY
      if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
   endwhile
endif
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>DBLCLK=DETAIL</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>WEDNESDAY</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>EDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>variables
   date v_date
endvariables

;field_video $fieldname, "DEF"

v_date = $date("%%$CHOSEN_DAY$%%%/%%$CHOSEN_MONTH$%%%/%%$YEAR$%%%")
if (v_date = $date)
   field_video $fieldname, "COL=2"
else
   field_video $fieldname, "DEF"
endif
</UXFIELD:ENDMOD>
<UXFIELD:NEXTFLD>call TAB($fieldname)</UXFIELD:NEXTFLD>
<UXFIELD:PREVFLD>call PREV_TAB($fieldname)</UXFIELD:PREVFLD>
<UXFIELD:DETAIL>macro "^accept"</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

if (@$fieldname != "")
   $CHOSEN_MONTH$ = $curocc(DUMMY2)
   $CHOSEN_DAY$ = @$fieldname
   field_video $fieldname, "COL=25"
   set $fieldcheck($fieldname)
else
   setocc "dummy2", $CHOSEN_MONTH$
   v_counter = 1
   setocc "dummy3", v_counter
   while ($status &gt; 0)
<B>   </B>   call SET_DAY
      if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
   endwhile
endif
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>DBLCLK=DETAIL</UXFIELD:WIDGETCREATE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>WEEK_NO</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY3</UXFIELD:GRP>
<UXFIELD:UBASE>MARKETING</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:LAYOUTMOD>NIN</UXFIELD:LAYOUTMOD>
<UXFIELD:SYNTAXMOD>NED,NPR</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>C20</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>NOEDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:GETFOCUS>variables
   numeric v_counter
endvariables

setocc "dummy2", $CHOSEN_MONTH$
v_counter = 1
setocc "dummy3", v_counter
while ($status &gt; 0)
<B>   </B>call SET_DAY
   if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
endwhile
</UXFIELD:GETFOCUS>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>YEAR</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY</UXFIELD:GRP>
<UXFIELD:UBASE>TEMPLATE</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>N</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>N</UXFIELD:U_INDB>
<UXFIELD:SYNTAXMOD>MAN</UXFIELD:SYNTAXMOD>
<UXFIELD:INTERFACEMOD>N4</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>NOEDITBOX</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:ENDMOD>;if ($empty(dummy3))
;   call BUILD_CALENDAR(@$fieldname)
;endif</UXFIELD:ENDMOD>
<UXFIELD:DETAIL>call BUILD_CALENDAR(@$fieldname)
</UXFIELD:DETAIL>
<UXFIELD:GETFOCUS>;message/hint "Enter year, then &lt;detail&gt; to produce calendar"
variables
   numeric v_counter
endvariables

setocc "dummy2", $CHOSEN_MONTH$
v_counter = 1
setocc "dummy3", v_counter
while ($status &gt; 0)
<B>   </B>call SET_DAY
   if ($status = 2) break
   <B>   </B>v_counter = v_counter + 1
      setocc "dummy3", v_counter
endwhile
</UXFIELD:GETFOCUS>
<UXFIELD:WIDGETCREATE>FRAME=F</UXFIELD:WIDGETCREATE>
<UXFIELD:HTML_CTRLTYPE>U_INPUT</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>YEAR_LESS</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY</UXFIELD:GRP>
<UXFIELD:UBASE>TEMPLATE</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>S</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>B</UXFIELD:U_INDB>
<UXFIELD:INTERFACEMOD>C8</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>COMMANDBUTTON</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:DETAIL>$YEAR_LESS$ = "T"
clear/e "DUMMY"
$YEAR$ = $YEAR$ - 1
call BUILD_CALENDAR($YEAR$)</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:WIDGETCREATE>VSIZE=100</UXFIELD:WIDGETCREATE>
<UXFIELD:INITVALUE>&lt;&lt;&lt;</UXFIELD:INITVALUE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_BUTTON</UXFIELD:HTML_CTRLTYPE>
</OCC>
<OCC>
<UXFIELD:UTIMESTAMP>2003-09-23T09:22:36.00</UXFIELD:UTIMESTAMP>
<UXFIELD:ULABEL>YEAR_MORE</UXFIELD:ULABEL>
<UXFIELD:GRP>DUMMY</UXFIELD:GRP>
<UXFIELD:UBASE>TEMPLATE</UXFIELD:UBASE>
<UXFIELD:UFORM>SYF_CALENDAR</UXFIELD:UFORM>
<UXFIELD:UVERS>DEF1.06</UXFIELD:UVERS>
<UXFIELD:U_DTYP>S</UXFIELD:U_DTYP>
<UXFIELD:U_INDB>B</UXFIELD:U_INDB>
<UXFIELD:INTERFACEMOD>C8</UXFIELD:INTERFACEMOD>
<UXFIELD:WIDGETTYPE>COMMANDBUTTON</UXFIELD:WIDGETTYPE>
<UXFIELD:UINHERIT>F</UXFIELD:UINHERIT>
<UXFIELD:DETAIL>$YEAR_MORE$ = "T"
clear/e "DUMMY"
$YEAR$ = $YEAR$ + 1
call BUILD_CALENDAR($YEAR$)

</UXFIELD:DETAIL>
<UXFIELD:ERROR>; Include an "else" block like the one shown below at the end of any 
; Proc written in this trigger.
; . . .
; else
;    message $text("%%$error") 
;    return (-1)
; endif
</UXFIELD:ERROR>
<UXFIELD:INITVALUE>&gt;&gt;&gt;</UXFIELD:INITVALUE>
<UXFIELD:UISOBJID>F</UXFIELD:UISOBJID>
<UXFIELD:HTML_FLDPROP>SYNC=1</UXFIELD:HTML_FLDPROP>
<UXFIELD:HTML_CTRLTYPE>U_BUTTON</UXFIELD:HTML_CTRLTYPE>
</OCC>
</TABLE>
<TABLE xmlns:UXREGS="UXREGS.DICT">
<DSC name="UXREGS" model="DICT" system="S" pseudo ="73" level="1" noupdate="0"
 rbk="0" ffsql="0" transnr="0" segsize="0" ufocc="0" charset=".U">
<FLD name="UTIMESTAMP" seqno="1" type="E" level="2" pack="0" scale="0" length="15"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_STAT" seqno="2" type="S" level="2" pack="0" scale="0" length="4"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_TYPE" seqno="3" type="S" level="2" pack="0" scale="0" length="2"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_FORMLIB" seqno="4" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="2" ufocc="0" mandatory="yes" idxnum="1,3" idxsnr="101,1" />
<FLD name="U_NAME" seqno="5" type="S" level="2" pack="0" scale="0" length="32"
 pointer="0" inum="2" ufocc="0" mandatory="yes" idxnum="1,2" idxsnr="102,1" />
<FLD name="UVERS" seqno="6" type="S" level="2" pack="0" scale="0" length="12"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UDESCR" seqno="7" type="U" level="2" pack="0" scale="0" length="25"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_DTYP" seqno="8" type="S" level="2" pack="0" scale="0" length="2"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_LAYOUT" seqno="9" type="S" level="2" pack="0" scale="0" length="46"
 pointer="0" inum="0" ufocc="0" />
<FLD name="U_DOC" seqno="10" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|3,0,0,0,,0,0,0,,"/>
<FLD name="USCOPE" seqno="11" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|4,0,0,0,,0,0,0,,"/>
<FLD name="UHINTERFACE" seqno="12" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|5,0,0,0,,0,0,0,,"/>
</DSC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>BACKWARD</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>B</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>CHOSEN_DAY</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>N</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>CHOSEN_MONTH</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>N</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>DATE</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>D</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>DAY</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>N</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>FORM_VERSION</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>S</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>FORWARD</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>B</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>INPUT_DATE</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>D</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>MONTH</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>N</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>NOTES_DISPLAY</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>S</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>OUTPUT_DATE</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>D</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>SKIPPED_WEEK</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>B</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>TODAYS_DAY</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>S</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>WEEK</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>N</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>YEAR</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>N</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>YEAR_LESS</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>B</UXREGS:U_DTYP>
</OCC>
<OCC>
<UXREGS:UTIMESTAMP>2003-09-23T09:22:36.00</UXREGS:UTIMESTAMP>
<UXREGS:U_FORMLIB>SYF_CALENDAR</UXREGS:U_FORMLIB>
<UXREGS:U_NAME>YEAR_MORE</UXREGS:U_NAME>
<UXREGS:UVERS>DEF1.06</UXREGS:UVERS>
<UXREGS:U_DTYP>B</UXREGS:U_DTYP>
</OCC>
</TABLE>
<TABLE xmlns:USOURCE="USOURCE.DICT">
<DSC name="USOURCE" model="DICT" system="S" pseudo ="73" level="1" noupdate="0"
 rbk="0" ffsql="0" transnr="0" segsize="0" ufocc="500" charset=".U">
<FLD name="UTIMESTAMP" seqno="1" type="E" level="2" pack="0" scale="0" length="15"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UCOMPSTAMP" seqno="2" type="E" level="2" pack="0" scale="0" length="15"
 pointer="0" inum="0" ufocc="0" />
<FLD name="USTAT" seqno="3" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="USUB" seqno="4" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="2" ufocc="0" mandatory="yes" idxnum="1,2" idxsnr="101,1" />
<FLD name="UVAR" seqno="5" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="2" ufocc="0" mandatory="yes" idxnum="1,2" idxsnr="102,2" />
<FLD name="ULABEL" seqno="6" type="S" level="2" pack="0" scale="0" length="16"
 pointer="0" inum="1" ufocc="0" mandatory="yes" idxnum="1" idxsnr="103" />
<FLD name="ULAN" seqno="7" type="S" level="2" pack="0" scale="0" length="3"
 pointer="0" inum="1" ufocc="0" mandatory="yes" idxnum="1" idxsnr="104" />
<FLD name="MSGTYPE" seqno="8" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UVERS" seqno="9" type="S" level="2" pack="0" scale="0" length="12"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UDESCR" seqno="10" type="U" level="2" pack="0" scale="0" length="25"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UVPOS" seqno="11" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UHPOS" seqno="12" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UVSIZ" seqno="13" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UHSIZ" seqno="14" type="S" level="2" pack="0" scale="0" length="6"
 pointer="0" inum="0" ufocc="0" />
<FLD name="AUTHORIZ" seqno="15" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UCLASS" seqno="16" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="LOCREF" seqno="17" type="S" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UCONFIRM" seqno="18" type="B" level="2" pack="0" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UAUDIO" seqno="19" type="N" level="2" pack="10" scale="0" length="1"
 pointer="0" inum="0" ufocc="0" />
<FLD name="UCOMMENT" seqno="20" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",0,0,0,,1,0,1,{&gt;,0,0,0,,"/>
<FLD name="UTEXT" seqno="21" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,1,{?,0,0,0,,0,0,0,,"/>
<FLD name="UWLEVEL" seqno="22" type="U" level="2" pack="128" scale="0" length="0"
 pointer="0" inum="0" ufocc="0" varinfo=",1,0,2,{@|3,0,0,0,,0,0,0,,"/>
</DSC>
</TABLE>
</UNIFACE>

