program define vorder *! version 1.1.1 STB-40 dm51 version 4.0 local cmd "`1'" local name "`2'" mac shift 2 local i = index("drliorsa", substr("`cmd'", 1, 2)) if "`cmd'" == "" | (!`i') { local a "Invalid or missing command" } else if `i' != 3 & "`name'" == "" { local a "Missing ordername" } else if `i' > 3 & "`name'" == "_all" { local a "_all not allowed" } if "`a'" != "" { di in red "`a'" error 499 } if substr("`name'", 1, 2) == "VO" { local name = substr("`name'", 3, 6) } global S_1 = substr("VO`name'", 1, 8) if `i' == 7 { x `*' } else if `i' == 5 { local a : char _dta[$S_1] if "`a'" == "" { di in red "Ordername $S_1 not defined" error 499 } order `a' } else { if "`name'" == "" | "`name'" == "_all" { local a : char _dta[] } else { local a "$S_1" } local k : word count `a' while `k' > 0 { local aa : word `k' of `a' if substr("`aa'", 1, 2) == "VO" { if `i' == 1 { char _dta[`aa'] } else { local name : char _dta[`aa'] if "`name'" != "" { di in gr "Order `aa':", in ye "`name'" } } } local k = `k' - 1 } } end program define x version 4.0 local varlist "opt ex" parse "`*'" parse "`varlist'", parse(" ") char _dta[$S_1] "`varlist'" end