Copy link to clipboard
Copied
I hope you can help,
We are currently experiencing some sporadic behaviour in one of the modules within our application. We have been investigating this issue for 6 Days now and have reached a stage where our investigations are nearly exhausted. We were hoping that you may have encountered an similar to this issue previously, I was also hoping that your knowledge and expertise in ColdFusion may assist us in identifying the cause of the issue.
The Issue:
The problematic module basically queries a large table in the database and returns data matching the users Search Criteria. Recently the module has started displaying only the column headers after 30 seconds (Despite data existing within the table matching the search criteria). On occasion the module does work as expected, displaying both the column headers and the relevant data within the table.
We have monitored the ColdFusion .log files, however so far no errors have been reported.
I would greatly appreciate any information or advice you can offer regarding this issue.
Thank you in Advance.
Copy link to clipboard
Copied
Could u plz post code set u used?
Copy link to clipboard
Copied
Hi,
Basically we are submitting some values to the display page using html form and the results to be displayed within an iFrame.
<form name="request_form" action="results.cfm" onSubmit="return check_form_fields(this);" method="post" target="display">
<!--- IFRAME --->
<iframe src="about:blank" frameborder="0" height="100%" width="100%" name="display"></iframe>
Results.cfm takes the variables sent to it and sends it to a shared tag where a cfquery is used to retrieve data from database.
<cftry>
<cfquery name="orders" datasource="#Attributes.dsn#" dbtype="#Attributes.dbt#" blockfactor="100">
SELECT o_id,
o_patient_number,
o_surname,
o_forename,
o_dob,
o_request_number,
o_stat_phleb,
o_dt_request,
o_dt_collection,
o_sample_number
FROM orders
WHERE o_location_code_name IN(<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#locations#" list="Yes" separator=",">)
AND o_stat_phleb IN(<cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#status#" list="Yes" separator=",">)
<cfif Attributes.pat_num NEQ "">
AND o_pat_num = <cfqueryparam cfsqltype="cf_sql_varchar" value="#Attributes.pat_num#">
<cfelse>
AND o_dt_collection
BETWEEN TO_DATE(<cfqueryparam cfsqltype="cf_sql_varchar" value="#Attributes.start_date#">,'#Attributes.date_format#') AND TO_DATE(<cfqueryparam cfsqltype="cf_sql_varchar" value="#Attributes.end_date#">,'#Attributes.date_format#')
ORDER BY #LCase(order_clause)#, o_sample_number asc
</cfif>
</cfquery>
<cfcatch type="Database">
<cflog text="#cfcatch.detail# #cfcatch.message#" type="error">
<cfrethrow>
</cfcatch>
</cftry>
The results of the shared tag (orders) are sent back to results.cfm and get displayed as follow
<cfparam name="FORM.locations" default="NULL">
<cfparam name="FORM.start_date" default="">
<cfparam name="FORM.end_date" default="">
<cfparam name="FORM.status" default="unresolved">
<cfparam name="FORM.order" default="">
<cfparam name="FORM.auto_select" default="">
<cfparam name="URL.pat_num" default="">
<form action="" method="post" name="requests" class="butText">
<table width="100%" border="0" cellspacing="2" cellpadding="0" align="center" id="results_table" bgcolor="" >
<tr align="left">
<th></th>
<th>Name</th>
<th>DoB</th>
<th>Patient num</th>
<th>Req Num</th>
<th>Status</th>
<th>Request Date</th>
<th>Collect Date</th>
</tr>
<cfflush>
</cfoutput>
<cfset status_list = StructFind(status_lists,FORM.status)>
<cfif URL.pat_num NEQ "">
<cfset status_list = StructFind(status_lists,"open")>
<cfmodule template="get_phleb_orders.cfm"
loc_list="#FORM.locations#"
pat_num="#URL.pat_num#"
status="#status_list#"
dsn="#dsn#"
dbt="#dbt#">
<cfelseif FORM.start_date NEQ "" AND FORM.end_date NEQ "">
<cfmodule template="get_phleb_orders.cfm"
loc_list="#FORM.locations#"
start_date="#FORM.start_date# 00:00:00"
end_date ="#FORM.end_date# 23:59:59"
date_format="dd/mm/yyyy hh24:mi:ss"
status="#status_list#"
order="#FORM.order#"
dsn="#dsn#"
dbt="#dbt#">
</cfif>
<cfset counter = 0>
<cfif isDefined("orders")>
<cfif orders.RecordCount GT 0>
<cfflush interval=10>
<cfloop query="orders">
<cfset status = StructFind(status_values,orders.o_stat_phleb)>
<cfset check_box_use = "">
<cfset tr_color = 'bgcolor="#disabled_color#"'>
<cfset enabled = true>
<cfif orders.o_stat_phleb EQ "4" >
<cfset tr_color = 'bgcolor="##DDDDDD"'>
<cfset check_box_use = "disabled">
<cfset enabled = false>
</cfif>
<cfif orders.o_stat_phleb EQ "32" >
<cfset tr_color = 'bgcolor="##DDDDDD"'>
<cfset check_box_use = "disabled">
<cfset enabled = false>
</cfif>
<cfif Find("00:01:01",o_dt_collection)>
<cfset o_dt_coll = DateFormat(orders.o_dt_collection,"DD-MMM-YY")>
<cfelse>
<cfset o_dt_coll = "#DateFormat(orders.o_dt_collection,'DD-MMM-YY')# #TimeFormat(orders.o_dt_collection,'HH:mm:ss')#" >
</cfif>
<cfset s_dt_request = "#DateFormat(orders.o_dt_request,'DD-MMM-YY')# #TimeFormat(orders.o_dt_request,'HH:mm:ss')#">
<cfset s_dob = DateFormat(orders.o_dob,'DD-MMM-YYYY')>
<cfoutput>
<tr #tr_color# id="tr_#o_id#" <cfif enabled>onClick="var cb =document.all.cb_#counter#;parent.add_remove(cb,cb.id,#counter#,parent.result_check_boxes,this);"</cfif> >
<td><input type="checkbox" #check_box_use# id="#o_id#" name="cb_#counter#" value="#o_request_number#-#o_patient_number#" ></td>
<td>#orders.o_forename# #orders.o_surname#</td>
<td>#s_dob#</td>
<td>#o_patient_number#</td>
<td id="req_#o_id#">#o_request_number#</td>
<td id="stat_#o_id#" >#status#</td>
<td>#s_dt_request#</td>
<td id="col_dt_#o_id#">#o_dt_coll#</td>
</tr>
<cfif enabled AND FORM.auto_select NEQ "">
<script language="JavaScript">
var cb = document.all.cb_#counter#;
cb.checked= true;
parent.add_remove(cb,cb.id,#counter#,parent.result_check_boxes,document.getElementById('tr_#o_id#'));
</script>
</cfif>
</cfoutput>
<cfset counter = IncrementValue(counter)>
</cfloop>
<cfelse>
<cfoutput>
<tr>
<td colspan="8" align="center" height="50">
Sorry no requests found. Click <a href="javascript:void(0);" onClick="parent.load_locations();">here</a> to choose your locations again.
<br>
Or click <a href="javascript:void(0);" onClick="parent.manage_section('advanced', ''); parent.manage_section('update_status', 'none'); parent.set_btn_bg('adv');">here</a> to revise your search using the advanced options.
</td>
</tr>
</cfoutput>
</cfif>
<cfelse>
<cfoutput>
<tr>
<td colspan="8" align="center" height="50">
Sorry no requests found. Click <a href="javascript:void(0);" onClick="parent.load_locations();">here</a> to choose your locations again.
<br>
Or click <a href="javascript:void(0);" onClick="load_adv();">here</a> to revise your search using the advanced options.
</td>
</tr>
</cfoutput>
</cfif>
<cfoutput>
</table>
</form>
Appreciate your help 🙂