       
proc APSUpdateUseLog {filename mode} {
        global env
        set tmpfile /tmp/[APSTmpString].$env(USER)
        set tmpexten [APSTmpString]
        set fout [open $tmpfile w]
        puts $fout {SDDS1}
        puts $fout {&column name=YearUsed type=long &end} 
        puts $fout {&column name=MonthUsed type=long &end} 
        puts $fout {&column name=DayUsed type=long &end} 
        puts $fout {&column name=HourUsed type=float &end} 
        puts $fout {&column name=JulianDayUsed type=long &end} 
        puts $fout {&column name=TimeStamp type=string format_string=%28s &end} 
        puts $fout {&column name=Mode type=string format_string=%12s &end}  
        puts $fout {&column name=User type=string format_string=%10s &end} 
        puts $fout {&data mode=ascii no_row_counts=1 &end} 
        set timeString [exec date +%y:%m:%d:%H:%M:%S:%j]
        set TimeStamp [exec date]
        scan $timeString "%d:%d:%d:%d:%d:%d:%d" YearUsed MonthUsed DayUsed Hour Min Sec JDayUsed
        if {$YearUsed<1995} {
                if {$YearUsed>94} {
                        set YearUsed [expr $YearUsed+1900]
                } else {
                        set YearUsed [expr $YearUsed+2000]
                        }
                }
        set HourUsed [expr $Hour+($Min+$Sec/60.0)/60.0]
        puts $fout "$YearUsed $MonthUsed $DayUsed $HourUsed $JDayUsed \"$TimeStamp\" $mode $env(USER)" 
        close $fout
        if {[file exists $filename]} {
                exec sddscombine $tmpfile $filename -merge -overwrite $filename.$tmpexten
                exec mv $filename.$tmpexten $filename
        } else {
                exec mv $tmpfile $filename
                }
        }
        
