[Progress Communities] [Progress OpenEdge ABL] Progress OpenEdge should change CAN-DO functions in RECORD PHRASES resolve at db server - like LOOKUP.

  • Thread starter Thread starter teppo_55
  • Start date Start date
Status
Not open for further replies.
T

teppo_55

Guest
I have seen (look the sports2000 examples) that CAN-DO functions are not resolved at db server, but all records are moved to client. But exactly same functionality can be written using LOOKUP functions. The difference is in network traffic (look the example). Enhancement request: Progress OpenEdge should change CAN-DO function to resolve at db server - like LOOKUP. /* Examples */ ------------------- DEFINE VARIABLE iCOunt AS INTEGER NO-UNDO. DEFINE VARIABLE cOrderNumList AS CHARACTER NO-UNDO. cOrderNumList = "1,2,3". FOR EACH orderline NO-LOCK WHERE /* LOOKUP(STRING(OrderLine.Ordernum),cOrderNumList) > 0 */ CAN-DO(cOrderNumList,STRING(OrderLine.Ordernum)) iCOunt = 1 TO 100000 : END. DISP iCOunt. ------------------- Records sent 13970 83820 1397.00 0.00 Queries received 874 5244 87.40 0.00 Time slices 13121 78726 1312.10 0.00 DEFINE VARIABLE iCOunt AS INTEGER NO-UNDO. DEFINE VARIABLE cOrderNumList AS CHARACTER NO-UNDO. cOrderNumList = "1,2,3". FOR EACH orderline NO-LOCK WHERE LOOKUP(STRING(OrderLine.Ordernum),cOrderNumList) > 0 /* CAN-DO(cOrderNumList,STRING(OrderLine.Ordernum)) */ iCOunt = 1 TO 100000 : END. DISP iCOunt. Records sent 17 102 1.70 0.00 Queries received 3 18 0.30 0.00 Time slices 2340 14040 234.00 0.00

Continue reading...
 
Status
Not open for further replies.
Back
Top