Como ads trabalha via Rdd Ace (DBMS), Sql dinamico e Sql Estatico ao mesmo tempo, o Pages tem que ser desenvolvido somente para cursores Estaticos. Para isto a definição dos comandos devera se comportar somente quando for assim.
Futuramente será implantado o esquema de Pages junto com outros recursos que estão na pauta. DsSetPage, DsSetorder, DsSetWhere.
Estou estudando para poder implantar funções no próprio Dicionario de dados.
E como ja disse antes a metodologia de tAds em questão do script sql é de sempre termos um script inicial sem precisar definir os comandos.
um exemplo de como vai ser
dVarDate := Date()
oDs_ListaClientes := tAds():DsNew(1)
oDs_ListaClientes:cQrySql := "Select * from clientes __WHERE01__ __ORDER01__ "
oDs_ListaClientes:DsSetPage(100)
oDs_ListaClientes:DsSetWhere("__WHERE01__","DT_PAGAMENTO = _Data_Pagamento_ ")
oDs_ListaClientes:DsAddVar("_Data_Pagamento_",{||dVarDate})
oDs_ListaClientes:DsSetOrder("__ORDER01__","NOME, DT_PAGAMENTO")
oDs_ListaClientes:DsExecute()
Depois pra alterar a order ou o where basta
dVarDate :=Date()-30
oDs_ListaClientes:DsSetOrder("__ORDER01__","DT_PAGAMENTO, NOME DESC",.T.)//.T.para executar o DsExecute agora