#!/bin/sh  
# \
exec oagtclsh "$0" "$@"

# Input files: ../DataLogging/SRInjection.mon.template
#              ../DataLogging/SRInjection.mon.misc
#
# Output file: ../DataLogging/SRInjection.mon


set auto_path [linsert $auto_path 0  /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]
APSStandardSetup

set recordFile /home/helios/oagData/pvdata/iocRecNamesOAG.sdds
for {set sector 0} {$sector<41} {incr sector} {
    # sectoru is the unformatted sector value.
    exec sddsprocess ../DataLogging/SRInjection.mon.template ../DataLogging/SRInjection.sector.$sector \
      -reedit=column,ControlName,%/<sector>/[format %02ld $sector]/%/<sectoru>/$sector/ \
      -reedit=column,ReadbackName,%/<sector>/[format %02ld $sector]/%/<sectoru>/$sector/
    lappend fileList ../DataLogging/SRInjection.sector.$sector
}

if [catch {eval exec sddscombine $fileList ../DataLogging/SRInjection.mon.misc \
             -merge -pipe=out  \
             | sddsprocess -pipe -print=col,ControlType,pv \
             -edit=col,rec_name,ControlName,S?/./D | \
             sddssort -column=rec_name -pipe | \
             sddsxref -pipe $recordFile -match=rec_name -nowarning -reuse | \
             sddsconvert -pipe -delete=col,rec_name -ascii -delete=parameter,NumberCombined | \
             sddssort -pipe -column=ControlName -numeric -unique | \
             sddsprocess -pipe=in ../DataLogging/SRInjection.mon \
             -print=parameter,InstallLocation,/home/helios/oagData/monitoring/SRInjection/SRInjection.mon \
             -print=column,Provider,ca \
             -print=column,ExpectNumeric,y,type=character \
             -print=column,ExpectFieldType,scalar \
             -define=column,ExpectElements,1,type=long} result] {
    puts stderr "error: $result"
    exit 1
}

eval file delete $fileList

