>*---------------------- Location Section ------------------------ >* Library: Aquicksearchbiz.vcx >* Class: Quicksearchobject >* Method: Createfinalresult() >*----------------------- Usage Section -------------------------- >*) Description: >*) > >* Scope: Public >* Parameters: >*$ Usage: >*$ >* Returns: >*--------------------- Maintenance Section ---------------------- >* Change Log: >* CREATED 01/24/2005 - NN >* MODIFIED >*---------------------------------------------------------------- >LOCAL lnReccount, loSelect, cStatus, cUserID, lnSeconds >lnSeconds = SECONDS() >SET TALK OFF >SET NOTIFY OFF > >STORE "" TO cStatus, cUserID > >IF VARTYPE(m.plStop) <> "L" > LOCAL plStop > plStop = .F. >ENDIF > >SELECT v_QuickSearch.*, ; > Employee_queue_schedules.cemployee_queue_schedules_pk, Users.cuserid ; > FROM v_QuickSearch ; > INNER JOIN mmVisCollect!Trans_employees_queues ; > ON v_QuickSearch.cTrans_PK = Trans_employees_queues.ctrans_fk ; > INNER JOIN mmviscollect!usgrlink ; > ON Trans_employees_queues.ccommission_owner_usgrlink_fk = Usgrlink.cusgrlink_pk ; > INNER JOIN mmviscollect!employee_queue_schedules ; > ON Trans_employees_queues.ctrans_employees_queues_pk = Employee_queue_schedules.ctrans_employees_queues_fk ; > INNER JOIN mmviscollect!users ; > ON Users.iid = Usgrlink.iuserid; > WHERE Trans_employees_queues.iactive_flag = 1 ; > AND Employee_queue_schedules.iactive_flag = 1 ; > INTO CURSOR cTempResult > >SELECT cTempResult > >WITH THIS > *loSelect = .SelectAlias() && selects v_QuickSearch > > SCAN WHILE NOT m.plStop > >** Let's do by VFP commands to avoid overhead > >*!* vp_cTrans_FK = cTrans_Pk >*!* REQUERY("v_Commissioned_Owner") > >*!* .cTrans_FK = v_QuickSearch.cTrans_PK > >*!* .REQUERY(.T.,"v_Commissioned_Owner") >*!* cUserID = v_Commissioned_Owner.cUserID > >* cStatus field is either status description or resolution description if the resolution code is not empty > IF EMPTY(v_QuickSearch.cResolution_Codes_Fk) && OR ISNULL(v_QuickSearch.cResolution_Codes_Fk) > .cViscodes_pk = cTempResult.cStatus_Codes_FK >* vp_cViscodes_pk = cStatus_Codes_FK > ELSE > .cViscodes_pk = cTempResult.cResolution_Codes_Fk >* vp_cViscodes_pk = cResolution_Codes_Fk > ENDIF > > .REQUERY(.T.,"v_VisCodes_Lookup") >* REQUERY("v_VisCodes_Lookup") > cStatus = v_VisCodes_Lookup.cCode_Description > > SCATTER MEMVAR > > SELECT c_QuickSearch > > INSERT INTO c_QuickSearch FROM MEMVAR > > ENDSCAN > GO TOP IN c_QuickSearch > > IF m.plStop > .EmptySearchResult() && Search was cancelled > ENDIF >ENDWITH > >lnReccount = RECCOUNT("c_QuickSearch") > >=MESSAGEBOX("Populating cursor took " + TRANSFORM(SECONDS() - m.lnSeconds) + " seconds") > >RETURN m.lnReccount >