Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Could not find it in the Help
Message
 
 
To
22/04/2005 10:23:45
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01007154
Message ID:
01007457
Views:
13
>>>
>>>? 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
>>>
>>
>>It doesn't work, I was wrong. My original code works, but this returns wrong values...
>
>Where,when,what ?

I think you misunderstood the purpose of my code. I need to create a lcSQL. Here is my code:
*==============================================================================
* 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.llReturn
So, 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...
If it's not broken, fix it until it is.


My Blog
Previous
Reply
Map
View

Click here to load this message in the networking platform