Для вашего типичного пакетного задания с самостоятельной отправкой важно, по крайней мере, удалить версию перед повторной отправкой, чтобы получить текущую версию. Вот пример использования F$ELEMENT (гораздо проще, чем F$PARSE :-).
$ redo = "submit/log/noprint/noti/queue=" + -
f$getqui("DISPLAY_QUEUE","QUEUE_NAME","*","THIS_JOB")
$ restart = "tomorrow + 07:00:00" ! First daily run, Alter as needed.
$ if time.lts."12:00" then restart = "17:00:00" ! Second daily run, Alter as needed.
$ redo /after="''restart'"/para=("''p1'","''p2'","''p3'") 'f$elem(0,";",f$environment("procedure"))
Затем, как отправитель/изменитель командного файла, вы решаете, будет ли уже запланированный следующий запуск использовать новую версию или текущую версию, КОТОРАЯ ЗАПОМНЯЕТСЯ ЧЕРЕЗ ИДЕНТИФИКАТОР ФАЙЛА, а не его имя. Если вы хотите немедленно начать использовать новую версию, просто используйте
$ COPY /OVER my-script.com ;-1 /LOG
%COPY-I-OVERLAY, MY-SCRIPT.COM;35 being overwritten
%COPY-S-COPIED, MY-SCRIPT.COM;36 copied to MY-SCRIPT.COM;35 (5 blocks)
Привет, Хайн
person
Hein
schedule
01.05.2014
f$environment( "PROCEDURE" )
) в разделителе версий (;) в командеSUBMIT
. Первоначально поставленная в очередь процедура будет продолжать выполняться, но в следующий раз будет запущена более новая версия. - person HABO   schedule 01.05.2014