program define loopit /* dofile reps [graph | notrace] */ *! Holmes Jul 28 00 v1.1 version 6.0 parse "`*'", p(",") local docmd="`1'" parse "`3'", p(" ") local reps=`1' local graph="`2'" local notrace="`2'" if substr("`2'",1,1)~="g" & substr("`2'",1,1)~="G" { local graph="" } if substr("`2'",1,1)~="n" & substr("`2'",1,1)~="N" { local notrace="" } local stime="$S_TIME" local sdate="$S_DATE" local i=1 di " " di in red _dup(33) "-" "Starting Job" _dup(33) "-" di " " if "`graph'"~="" { di _col(1) "0%" _con _col(18) "25%" _con _col(39) "50%" /* */ _con _col(59) "75%" _con _col(75) "100%" _new local repcol=`reps'/77 local lastcol=0 while `i' <=`reps' { quiet `docmd' while `i'/`repcol'>`lastcol' { di _con in green "*" local lastcol=`lastcol'+1 } local i= `i'+1 } di " " } else if "`notrace'" =="" { while `i'<= `reps' { quiet `docmd' di in green "Iteration Number " in yellow `i' local i=`i'+1 } } else if "`notrace'" ~="" { while `i'<= `reps' { quiet `docmd' local i=`i'+1 } } di " " di in red _dup(33) "-" "Job Completed" _dup(32) "-" di " " di in green `i'-1 " Iterations Completed without error" di " " di in yellow "Started at `stime' on `sdate'" di in yellow "Finished at $S_TIME on $S_DATE" di " " capture { elapse "`stime'" } if _rc~=0 { exit } elapse "`stime'" di " " end