Regarding the missing CL_SHDB_SELTAB class you have to implement note 2124672.
In an AMDP you cannot specify the where clause in a dynamic way as you did it. You have to use the APPLY_FITLER functionality like described in the blog of Carine (except you create a complete dynamic statement, which is not recommend).