>>>? CTOT(TimeToStr(DATETIME())) >>>? CTOT(TimeToStr(DATE())) >>>? CTOT(TimeToStr({})) >>>function TimeToStr >>>lparameter ttTime >>>local lcReturn >>>if empty(m.ttTime) >>> lcReturn='{/ :}' >>>else >>> lcReturn=(transform(ttoc(m.ttTime,1), "@R 9999/99/99T99:99:99")) >>>endif >>>return m.lcReturn >>>>>
*============================================================================== * Procedure: GetEmployeeQueues * Purpose: Used in TQM form * Author: N. Nosonovsky * Parameters: tcUserGrLink_fk, tcQueue_Names_fk, tTimeStart, tTimeEnd, tlPrimary, tcAlias, tlNoData * Returns: *============================================================================== procedure GetEmployeeQueues lparameters tcUsGrLink_fk, tcQueue_Names_fk, tTimeStart, ; tTimeEnd, tlPrimary, tcAlias, tlNoData if empty(m.tcUsGrLink_fk) tcUsGrLink_fk = "%" endif if empty(m.tcQueue_Names_fk) tcQueue_Names_fk = "%" endif if empty(m.tcAlias) tcAlias = iif(m.tlPrimary,"v_Primary_Queue_Lookup","v_Queue_Lookup") endif if empty(m.tTimeStart) tTimeStart = date() endif if empty(m.tTimeEnd) tTimeEnd = dtot(date()+1)-1 endif local lcSQLStr, lcFilter, lcFieldSelection, llReturn lcSQLStr = "" lcFilter = "" llReturn = .t. if m.tlPrimary text TO lcFieldSelection NOSHOW PRETEXT 7 Trans.ctrans_pk, Employee_queue_profiles.iqueue_enforcement_flag, Employee_queue_profiles.idefault_queue_flag, Employee_queue_schedules.cemployee_queue_schedules_pk, Employee_queue_schedules.tscheduled_time, Trans_employees_queues.ctrans_fk, Employee_queue_schedules.ctrans_employees_queues_fk, Trans_employees_queues.ctrans_employees_queues_pk, Patients.cpatients_pk, Trans.cjzanus_account_number, PADR(NVL(ALLTRIM(Names.cl_name)+", ","")+NVL(ALLTRIM(Names.cf_name)+" ","")+NVL(Names.cm_initial,""),50) AS cname, Trans.ytotal_charge_amount, Trans.ycurrent_balance_amount, Trans.tadmit_date, Viscodes.ccode_description AS cstatus, Product_lines.cproduct_line, Queue_names.cqueue_names_pk, Queue_names.cqueue_name ENDTEXT else text TO lcFieldSelection NOSHOW PRETEXT 7 Trans.ctrans_pk, Employee_queue_schedules.tscheduled_time, Trans_employees_queues.ctrans_fk, Employee_queue_schedules.cemployee_queue_schedules_pk, Trans_employees_queues.ctrans_employees_queues_pk, Product_lines.cproduct_line, Patients.cpatients_pk, Trans.cjzanus_account_number, PADR(NVL(ALLTRIM(Names.cl_name)+", ","")+NVL(ALLTRIM(Names.cf_name)+" ","")+NVL(Names.cm_initial,""),50) AS cname, Trans.ytotal_charge_amount, Trans.ycurrent_balance_amount, Trans.tadmit_date, Viscodes.ccode_description AS cstatus ENDTEXT endif if m.tlNoData lcFilter = "1 = 0" && No Data else if m.tlPrimary text TO lcFilter NOSHOW PRETEXT 7 Trans_employees_queues.ccommission_owner_usgrlink_fk LIKE '#USGRLLINK#' AND Trans.iaccount_resolved_flag = 0 AND BETWEEN(Employee_queue_schedules.tScheduled_time, #TIME_START#, #TIME_END#) AND Employee_queue_schedules.iActive_flag = 1 AND Employee_queue_profiles.iDefault_Queue_Flag = 1 AND Names.iAlias_Flag = 0 ENDTEXT else text TO lcFilter NOSHOW PRETEXT 7 Trans_employees_queues.ccommission_owner_usgrlink_fk LIKE '#USGRLLINK#' AND Trans.iaccount_resolved_flag = 0 AND BETWEEN(Employee_queue_schedules.tScheduled_time, #TIME_START#, #TIME_END#) AND Employee_queue_schedules.iActive_flag = 1 AND Names.iAlias_Flag = 0 AND Queue_names.cqueue_names_pk LIKE '#QUEUENAMES#' AND Queue_names.iActive_Flag = 1 ENDTEXT endif endif if m.tlPrimary text TO lcSQLStr NOSHOW PRETEXT 7 SELECT DISTINCT ##FIELDS## FROM TRANS INNER JOIN Trans_Employees_Queues ON Trans.ctrans_pk = Trans_employees_queues.ctrans_fk INNER JOIN EMPLOYEE_QUEUE_SCHEDULES ON Trans_employees_queues.ctrans_employees_queues_pk = Employee_queue_schedules.ctrans_employees_queues_fk INNER JOIN EMPLOYEE_QUEUE_PROFILES ON Trans_employees_queues.ccommission_owner_usgrlink_fk = Employee_queue_profiles.cusgrlink_fk AND Trans_employees_queues.cqueue_names_fk = Employee_queue_profiles.cqueue_names_fk INNER JOIN queue_names ON Queue_names.cqueue_names_pk = Employee_queue_profiles.cqueue_names_fk INNER JOIN Patients ON Patients.cpatients_pk = Trans.cpatients_fk INNER JOIN Names ON Patients.cpatients_pk = Names.cpointer_fk LEFT OUTER JOIN Viscodes ON Trans.cstatus_codes_fk = Viscodes.cviscodes_pk INNER JOIN product_lines ON Product_lines.cproduct_lines_pk = Trans.cproduct_lines_fk WHERE ##FILTER## order by Employee_queue_schedules.tscheduled_time ENDTEXT else text TO lcSQLStr NOSHOW PRETEXT 7 SELECT ##FIELDS## FROM TRANS INNER JOIN TRANS_Employees_queues ON Trans.ctrans_pk = Trans_employees_queues.ctrans_fk INNER JOIN queue_names ON Queue_names.cqueue_names_pk = Trans_employees_queues.cqueue_names_fk INNER JOIN EMPLOYEE_QUEUE_SCHEDULES ON Trans_employees_queues.ctrans_employees_queues_pk = Employee_queue_schedules.ctrans_employees_queues_fk INNER JOIN PRODUCT_LINES ON Product_lines.cproduct_lines_pk = Trans.cproduct_lines_fk INNER JOIN PATIENTS ON Patients.cpatients_pk = Trans.cpatients_fk INNER JOIN NAMES ON Patients.cpatients_pk = Names.cpointer_fk LEFT OUTER JOIN VISCODES ON Trans.cstatus_codes_fk = Viscodes.cviscodes_pk WHERE ##FILTER## order by Employee_queue_schedules.tscheduled_time ENDTEXT endif lcSQLStr = strtran(m.lcSQLStr,"##FIELDS##",m.lcFieldSelection) lcSQLStr = strtran(m.lcSQLStr,"##FILTER##",m.lcFilter) lcSQLStr = strtran(m.lcSQLStr,"#USGRLLINK#",m.tcUsGrLink_fk) lcSQLStr = strtran(m.lcSQLStr,"#QUEUENAMES#",m.tcQueue_Names_fk) if "#TIME_START#" $ m.lcSQLStr lcSQLStr = strtran(m.lcSQLStr,"#TIME_START#", TimeToStr(m.tTimeStart)) lcSQLStr = strtran(m.lcSQLStr,"#TIME_END#", TimeToStr(m.tTimeEnd)) endif if !RUNSQL(m.lcSQLStr,m.tcAlias) =messagebox("Error Found!") llReturn = .f. endif return m.llReturnSo, I need a correct string to be returned. My original code seems to work fine (I made a small change for empty case), while yours gave me a wrong string...