Hello Fábio,
Hope you're doing well.
Checking on your code, you have GetTotalTransactions Aggregate inside GetTransactions Data Action. Why don't you simply execute the Aggregate (Fetch Data from Database) directly instead of using a Data Action (Fetch Data from Other Sources)?
If you do this, you will have access to both Start Index and Max. Records properties from the Aggregate and you can implement a Pagination like described in here. You had implemented like this in your TransactionCategories screen.
If you want to use a Data Action (Fetch Data from Other Sources) and implement a Pagination, you will still be able to do that, but you have to implement an additional logic.
- Create a Local Variable of the same type of the List resulting from your Data Action (let's call it TransactionListLocal).

- Create a new Screen Action and bind it to On After Fetch event of the Data Action (let's call it OnAfterFetch_GetTransactions). Basically, this event will run after the Data Action is executed.
In this Screen Action, you'll need to iterate over the Data Action output GetTransactions.TransactionList (total records) and append to the Local Variable just the records that you want to show in the screen for the first time - Start Index = 0 / Maximum Iterations = MaxRecords.
Since MaxRecords default value is 5, you will have 5 records in TransactionListLocal variable after this, corresponding to the first 5 records (first page of the list).
- Bind the Local Variable to the table instead of the Data Action output.

- In your OnNavigate_Pagination Screen Action, you'll need to clear your Local Variable, get the next records (for the next page) from the Data Action output (based on NewStartIndex) and append them to the Local Variable (similarly to what you did before) - Start Index = NewStartIndex / Maximum Iterations = MaxRecords.

You will also need to assign StartIndex variable to NewStartIndex, so your Navigation\Pagination Block is updated.
- Back to the screen, all of your table's expressions should rely on TransactionListLocal variable (the one bound to the table) and not on GetTransactions.TransactionList.

Please refer to attached OML file with these changes.
Hope that this helps you!
Kind regards,
Rui Barradas