Mechanism of resulting different search results with the ROW_LIMIT param
Hi Experts,
Row limit (and Max rows) are in the application by design - to avoid overly broad searches from causing the user to wait for the screen to respond.
Can anyone further explain the mechanism of the ROW_LIMIT param?
Thank you,
Charith Rajapaksha.
Page 1 / 1
Hi @Charith Rajapaksha ,
Did you refer the FSM Reference Guide? I could see the below in that. With this description, and your interpretation go hand in hand in my opinion.
Hope this helps,
Kalpa
Dear Charith,
The ROW_LIMIT parameter defines the maximum number of rows that the FSM Application server can return (sent to the client) in a single transaction.
I will use a scenario where a user wants to view the list of requests by pressing the Search button in the Request screen.
The basic behavior of FSM is, the FSM Client (E.g.: Smart Client) makes that request from the FSM Server using “hierarchy_select”.
Then, the FSM Server converts this “hierarchy_select” to SQL and executes it against the FSM Database.
Finally, the output of the request made will be packed as a “request_hierarchy_select_result” from the FSM Application Server and sent back to the client to display to the user.
In said operation, the number of <request> nodes under “request_hierarchy_select_result” will be decided by the ROW_LIMIT parameter.
As I mentioned earlier, the <request> nodes are generated from the Application Server based on the output received from the FSM Database.
Then this implies that, the ROW_LIMIT parameter works as a controlling agent of the number of rows outputted by the database.
Below 2 examples can be used to explain this further.
ROW_LIMIT to “8” – The SQL runs again the DB looks like below (taken from the Server Log):
Message: Prepare database command: SELECT TOP 8 convert(datetime, request.created_dttm,120) as created_dttm,request.cust_prob_descr,request.place_id,request.priority,request.req_status,request.req_type,request.request_id FROM request WHERE (request.internal_type <> 'W' AND request.internal_type <> 'R') ORDER BY request.request_id ASC
ROW_LIMIT to “11” – The SQL runs again the DB looks like below (taken from the Server Log):
Message: Prepare database command: SELECT TOP 11 convert(datetime, request.created_dttm,120) as created_dttm,request.cust_prob_descr,request.place_id,request.priority,request.req_status,request.req_type,request.request_id FROM request WHERE (request.internal_type <> 'W' AND request.internal_type <> 'R') ORDER BY request.request_id ASC
Hope you got a clear understanding of how FSM client to server and server to client communication happens and how the ROW_LIMIT parameter affects this.