In Caché, it's possible to iterate a local array using $QUERY() :
set a("foo") = 50
set a("bar") = 30
set key = "a"
for
{
set key = $QUERY(@key)
quit:key=""
write key_" = "_@key
}
This code works perfectly, unless it's called in a job (eg: a routine called by the JOB command).