it's a debate compiletime or runtime!
- using RLA level checks are not only usefull, they are absolutely necessarry
- using SQL you don't need it, but there are some pitfalls:
-- using fieldlists, you should not use E DS declarations
-- using *, you should use E DS declarations (they are resolved at compiletime)
Best practice would be anyway using an appropriate View layer and as a conclusion of this: a view will never change it's layout!!!
who never would recommend a mixup of DDS and SQL or SQL-DDL and RLA!!!