Hi David,
Here is a tcl-script I made to add the date/time stamp to the original filename. You can choose how the datetime-stamp needs to look like.
######################################################################
# Name: orbis_addYYYYMMDDHHMMtoFilename
# Purpose: Set filename to DRIVERCTL metadata for file or fileset protocol
# Format: sourcethreadname_YYYYMMDDHHMM
#
# Results in files containing all messages per source thread/per day
# Example usage: For resend/storing purposes.
# UPoC type: tps
# Args: tps keyedlist containing the following keys:
# MODE run mode (”start”, “run” or “time”)
# MSGID message handle
# ARGS user-supplied arguments:
# DATESTRING Format of date to be used; default “%Y%m%d%H%M”
# DEBUG optional default 0. if 1 provides more output
#
# Returns: tps disposition list:
# CONTINUE of all messages
#
# Note: Preserves all other settings in DRIVERCTL if any, such as DIR or APPEND
#
proc orbis_addYYYYMMDDHHMMtoFilename { args } {
global HciConnName
keylget args MODE mode ;# Fetch mode
keylget args CONTEXT ctx
keylget args ARGS uargs
set debug 0 ; keylget uargs DEBUG debug
set datestring “%Y%m%d%H%M”; keylget uargs DATESTRING datestring
set module “[lindex [info level 0] 0]/$HciConnName/$ctx/$mode”
set dispList {}
switch -exact — $mode {
start {
# Perform special init functions.
}
run {
# ‘run’ mode always has a MSGID; fetch and process it
keylget args MSGID mh
set driver [msgmetaget $mh DRIVERCTL]
set fileset “”
keylget driver FILESET fileset
set filename “”
keylget fileset OBFILE filename
if {[string length $filename] > 0} {
if {$debug > 0} {
echo “Originele filenaam: ”
}
set dot [string last . $filename]
set naam [string range $filename 0 [expr $dot-1]]
set extensie [string range $filename [expr $dot+1] end]
} else {
set naam “no_name”
set extensie “nul”
}
set date [clock format [clock seconds] -format $datestring]
set filename “${naam}_${date}.${extensie}”
if {$debug > 0} {
echo “Out filenaam: ”
}
keylset driverctl FILESET.OBFILE $filename
msgmetaset $mh DRIVERCTL $driverctl
lappend dispList “CONTINUE $mh”
}
time {
# Timer-based processing
# N.B.: there may or may not be a MSGID key in args
}
shutdown {
# Doing some clean-up work
}
default {
error “Unknown mode ‘$mode’ in $module”
}
}
return $dispList
}
You can add this script to the TPS Outbound Data of an outbound file(set) thread.
Zuyderland Medisch Centrum; Heerlen/Sittard; The Netherlands