!Sked.NewPick % % move through the numbered records of reserved for this phone % determine the next scheduled pickup time % _Sked.Phone text "Numbers\" ofconn ^ exec$ % % check for any duplication of pickup number % _Sked.Mode !Sked.HoldMode "Before " &_Sked.Date &" " &_Sked.Slot &" " &_Sked.Mode &" " &_Sked.Docket dup logs pop empty !Sked.Kx 0 !Sked.Jx % % mark time past the latest possible sched date and use now as low limit % Time.Now dup !Sked.High _Sked.Future + "d" Time.Add !Sked.Low % % check each schedule record against the prior values % _Sked.Phone &"_???.txt" !wilder "Numbers\" ofconn empty { nextfile ? dup noext 3 right !Sked.Jx execing _Sked.Mode "ReqRsv" eq$ _Sked.Slot any)? and _Sked.NewPick "newpick" log)( _Sked.Docket eq$ and { _Sked.Date "_" left$ _Sked.Slot *skedspan &" " &_Sked.Stime dup !Sked.Already Time.Now "n" Time.Diff "hasdiff" log)( positive { % % this was in past, may not have been picked up % } { % % this pickup is scheduled in the future % "Dup " &_Sked.Date &" " &_Sked.Slot &" " &_Sked.Mode &" " &_Sked.Docket log)( filing !Sked.Kx } ifelse } { } ifelse } loop filing) _Sked.Kx any? { % % that pickup number seems to be scheduled % dup logs exec$ empty !_Sked.Sdocket _Sked.Date " " left$ Time.DateOrder *skedfold _Sked.Slot 2 prezero text ^_Sked.Dfold exec$ _Sked.Sdocket _Sked.Docket eq$ { % % verified it is scheduled already % true } { % % not actually scheduled % false } ifelse } { % % there is no duplicate pickup % false } ifelse _Sked.HoldMode !Sked.Mode _Sked.Phone text "Numbers\" ofconn ^ exec$ "After " &_Sked.Date &" " &_Sked.Slot &" " &_Sked.Mode &" " &_Sked.Docket dup logs pop % % stack: has-dup %