shoalinwu
05-02-2008, 09:55 PM
I am new to Flash Remoting and I can't seem to understand why some of my code isn't working correctly. I am using Remoting to update,delete and add values to a database. The Delete button works find and the ability to populate data button works fine too. The update and the add doesn't work. I keep receiving an error that states "variable is undefined" or variable is undefined level_0.
Below is the code.
<cfsilent>
<cfset memberList = queryNew("C_LABOR_CATEGORY_LABEL,N_LABOR_CATEGORY_ID,N_LABOR _GROUP_ID,T_COMMENTS") />
<cfsavecontent variable="getData">
<cfoutput>
NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
//declare service
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
alert("Error while calling cfc:" + stat.description);
}
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler );
myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
<cfsavecontent variable="deleteData">
<cfoutput>
NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
//when results are back, populate the cfgrid
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
//if there is any error, show an alert
alert("Error while calling cfc:" + stat.description);
}
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler);
var N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID.text;
var test = N_LABOR_CATEGORY_ID;
var methodname = "deleteLaborCategory("+test+")";
//var myArguments = {};
//myArguments.N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID.text;
//myArguments.C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL.text;
myService.getCFQueryRemote("com.lm.nisc.admin.Administration",""+methodname);
//myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
<cfsavecontent variable="addData">
<cfoutput>
NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
//if there is any error, show an alert
alert("Error while calling cfc:" + stat.description);
}
//function getNumber_Result ( result )
//{
//myVar1 = (result + myCFQuery);
//trace (myVar);
//alert(trace(myVar));
//}
//get service
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler);
//make call
var myArguments = {};
var N_LABOR_GROUP_ID = N_LABOR_GROUP_ID.text;
var C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL.text;
var T_COMMENTS = T_COMMENTS.text;
myArguments.N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID;
myArguments.C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL;
myArguments.C_LABOR_CATEGORY_LABEL = T_COMMENTS;
var test = N_LABOR_GROUP_ID;
var test2 = C_LABOR_CATEGORY_LABEL;
var test3 = T_COMMENTS;
var methodname = "addLaborCategory("+test+","+test2+","+test3+")";
//var jscommand:String = "window.open('http://www.adobe.com','win','height=200,width=300,toolbar =no,scrollbars=yes');"; getURL("javascript:" + jscommand + " void(0);");
myService.getCFQueryRemote("com.lm.nisc.admin.Administration",""+methodname);
//myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
<cfsavecontent variable="updateData">
<cfoutput>
//create connection
// NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
//declare service
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
//when results are back, populate the cfgrid
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
//if there is any error, show an alert
alert("Error while calling cfc:" + stat.description);
}
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler);
var N_LABOR_GROUP_ID = N_LABOR_GROUP_ID.text;
var N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID.text;
var C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL.text;
var T_COMMENTS = T_COMMENTS.text;
var testA = N_LABOR_GROUP_ID;
var testB = N_LABOR_CATEGORY_ID;
var testC = C_LABOR_CATEGORY_LABEL;
var testD = T_COMMENTS;
var methodname = "updateLaborCategory("+testA+","+testB+","+testC+","+testD+")";
myService.getCFQueryRemote("com.lm.nisc.admin.Administration",""+methodname);
//myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
</cfsilent>
<!--- Initialize the return value for the JAVA function return --->
<cfset getLaborgrp = "Labor Groups" >
<cfset KITTJavaClass_2 = "com.lm.nisc.admin.Administration" > <!--- class name --->
<cfset methodName_2 ="getLaborGroups()" > <!--- method name --->
<!--- This INVOKEs the JAVA query to get LABOR CATEGORIES list --->
<cftry>
<cfinvoke component = "#Application.cfcRoot#.KITTJavaCallHandler"
method = "getCFQuery"
classname = "#KITTJavaClass_2#"
methodname = "#methodname_2#"
returnvariable= "getLaborgrp" >
<cfcatch type="any">
<cfoutput> <cfdump var="#cfcatch#"> </cfoutput>
<cfif ucase(retLabCats) is NOT "SUCCESSFUL" >
<cfoutput> <!--- Error getting facilities --->
<cflocation url="../Operations/Errors.cfm?RTN=AdminFunctions/LaborCategorys&ERROR=#retLabCats#" > <!--- Need to FuseBoxed --->
</cfoutput>
</cfif>
</cfcatch>
</cftry>
<cfform name="LaborCatForm" format="flash" method="post"> <!--- Need to FuseBoxed --->
<cfgrid name="contactList" query="memberList" colheaderalign="center" autowidth="yes" colheaderbold="yes" selectmode="row" sort="yes" width="500" >
<cfgridcolumn name="C_LABOR_CATEGORY_LABEL" header="Labor Category Name" width="190" display="yes" >
<cfgridcolumn name="N_LABOR_CATEGORY_ID" header="CAT ID" width="50" display="Yes" >
<cfgridcolumn name="N_LABOR_GROUP_ID" header="Group ID" width="80" display="Yes" >
<cfgridcolumn name="T_COMMENTS" header="Comments" width="80" display="yes" >
</cfgrid>
<cfselect name="labor_group_ID" label="Labor Group:" width="190" query="getLaborgrp" display="C_LABOR_GROUP_LABEL" value="N_LABOR_GROUP_ID" queryPosition="Below" onChange="" required="yes"></cfselect>
<cfinput type="text" name="C_LABOR_CATEGORY_LABEL" label="Labor Category Name:" width="180" required="yes" message="Please enter a value" bind="{contactList.selectedItem.C_LABOR_CATEGORY_LABEL}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'C_LABOR_CATEGORY_LABEL', C_LABOR_CATEGORY_LABEL.text);" readonly="NO">
<cfinput type="text" name="N_LABOR_CATEGORY_ID" label="Category ID:" width="80" required="no" message="Please enter a value" bind="{contactList.selectedItem.N_LABOR_CATEGORY_ID}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'N_LABOR_CATEGORY_ID', N_LABOR_CATEGORY_ID.text);" readonly="NO">
<cfinput type="text" name="N_LABOR_GROUP_ID" label="Group ID:" width="80" required="no" message="Please enter a value" bind="{contactList.selectedItem.N_LABOR_GROUP_ID}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'N_LABOR_GROUP_ID', N_LABOR_GROUP_ID.text);">
<cfinput type="text" name="T_COMMENTS" label="Comments:" size="15" height="20" required="no" bind="{contactList.selectedItem.T_COMMENTS}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'T_COMMENTS', T_COMMENTS.text);">
<cfformgroup type="hbox">
<cfformgroup type="horizontal">
<cfinput type="button" name="getValues" value="Populate data grid" onClick="#getData#">
<cfinput type="button" name="addValues" value="Add Date" onClick="#addData#">
<cfinput type="button" name="deleteValues" value="Delete Data" onClick="#deleteData#">
<cfinput type="button" name="updateValues" value="Update Data" onClick="#updateData#">
</cfformgroup>
</cfformgroup>
</cfform>
Below is the code.
<cfsilent>
<cfset memberList = queryNew("C_LABOR_CATEGORY_LABEL,N_LABOR_CATEGORY_ID,N_LABOR _GROUP_ID,T_COMMENTS") />
<cfsavecontent variable="getData">
<cfoutput>
NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
//declare service
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
alert("Error while calling cfc:" + stat.description);
}
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler );
myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
<cfsavecontent variable="deleteData">
<cfoutput>
NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
//when results are back, populate the cfgrid
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
//if there is any error, show an alert
alert("Error while calling cfc:" + stat.description);
}
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler);
var N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID.text;
var test = N_LABOR_CATEGORY_ID;
var methodname = "deleteLaborCategory("+test+")";
//var myArguments = {};
//myArguments.N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID.text;
//myArguments.C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL.text;
myService.getCFQueryRemote("com.lm.nisc.admin.Administration",""+methodname);
//myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
<cfsavecontent variable="addData">
<cfoutput>
NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
//if there is any error, show an alert
alert("Error while calling cfc:" + stat.description);
}
//function getNumber_Result ( result )
//{
//myVar1 = (result + myCFQuery);
//trace (myVar);
//alert(trace(myVar));
//}
//get service
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler);
//make call
var myArguments = {};
var N_LABOR_GROUP_ID = N_LABOR_GROUP_ID.text;
var C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL.text;
var T_COMMENTS = T_COMMENTS.text;
myArguments.N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID;
myArguments.C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL;
myArguments.C_LABOR_CATEGORY_LABEL = T_COMMENTS;
var test = N_LABOR_GROUP_ID;
var test2 = C_LABOR_CATEGORY_LABEL;
var test3 = T_COMMENTS;
var methodname = "addLaborCategory("+test+","+test2+","+test3+")";
//var jscommand:String = "window.open('http://www.adobe.com','win','height=200,width=300,toolbar =no,scrollbars=yes');"; getURL("javascript:" + jscommand + " void(0);");
myService.getCFQueryRemote("com.lm.nisc.admin.Administration",""+methodname);
//myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
<cfsavecontent variable="updateData">
<cfoutput>
//create connection
// NetServices.setDefaultGatewayUrl("http://#cgi.HTTP_HOST#/flashservices/gateway");
var connection:mx.remoting.Connection = mx.remoting.NetServices.createGatewayConnection("http://#cgi.HTTP_HOST#/flashservices/gateway/");
//declare service
var myService:mx.remoting.NetServiceProxy;
</cfoutput>
var responseHandler = {};
var contactList = contactList;
responseHandler.onResult = function( results: Object ):Void {
//when results are back, populate the cfgrid
contactList.dataProvider = results;
}
responseHandler.onStatus = function( stat: Object ):Void {
//if there is any error, show an alert
alert("Error while calling cfc:" + stat.description);
}
myService = connection.getService("/CFComponents/KITTJavaCallHandler", responseHandler);
var N_LABOR_GROUP_ID = N_LABOR_GROUP_ID.text;
var N_LABOR_CATEGORY_ID = N_LABOR_CATEGORY_ID.text;
var C_LABOR_CATEGORY_LABEL = C_LABOR_CATEGORY_LABEL.text;
var T_COMMENTS = T_COMMENTS.text;
var testA = N_LABOR_GROUP_ID;
var testB = N_LABOR_CATEGORY_ID;
var testC = C_LABOR_CATEGORY_LABEL;
var testD = T_COMMENTS;
var methodname = "updateLaborCategory("+testA+","+testB+","+testC+","+testD+")";
myService.getCFQueryRemote("com.lm.nisc.admin.Administration",""+methodname);
//myService.getCFQuery("com.lm.nisc.admin.Administration","getLaborCategories()");
</cfsavecontent>
</cfsilent>
<!--- Initialize the return value for the JAVA function return --->
<cfset getLaborgrp = "Labor Groups" >
<cfset KITTJavaClass_2 = "com.lm.nisc.admin.Administration" > <!--- class name --->
<cfset methodName_2 ="getLaborGroups()" > <!--- method name --->
<!--- This INVOKEs the JAVA query to get LABOR CATEGORIES list --->
<cftry>
<cfinvoke component = "#Application.cfcRoot#.KITTJavaCallHandler"
method = "getCFQuery"
classname = "#KITTJavaClass_2#"
methodname = "#methodname_2#"
returnvariable= "getLaborgrp" >
<cfcatch type="any">
<cfoutput> <cfdump var="#cfcatch#"> </cfoutput>
<cfif ucase(retLabCats) is NOT "SUCCESSFUL" >
<cfoutput> <!--- Error getting facilities --->
<cflocation url="../Operations/Errors.cfm?RTN=AdminFunctions/LaborCategorys&ERROR=#retLabCats#" > <!--- Need to FuseBoxed --->
</cfoutput>
</cfif>
</cfcatch>
</cftry>
<cfform name="LaborCatForm" format="flash" method="post"> <!--- Need to FuseBoxed --->
<cfgrid name="contactList" query="memberList" colheaderalign="center" autowidth="yes" colheaderbold="yes" selectmode="row" sort="yes" width="500" >
<cfgridcolumn name="C_LABOR_CATEGORY_LABEL" header="Labor Category Name" width="190" display="yes" >
<cfgridcolumn name="N_LABOR_CATEGORY_ID" header="CAT ID" width="50" display="Yes" >
<cfgridcolumn name="N_LABOR_GROUP_ID" header="Group ID" width="80" display="Yes" >
<cfgridcolumn name="T_COMMENTS" header="Comments" width="80" display="yes" >
</cfgrid>
<cfselect name="labor_group_ID" label="Labor Group:" width="190" query="getLaborgrp" display="C_LABOR_GROUP_LABEL" value="N_LABOR_GROUP_ID" queryPosition="Below" onChange="" required="yes"></cfselect>
<cfinput type="text" name="C_LABOR_CATEGORY_LABEL" label="Labor Category Name:" width="180" required="yes" message="Please enter a value" bind="{contactList.selectedItem.C_LABOR_CATEGORY_LABEL}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'C_LABOR_CATEGORY_LABEL', C_LABOR_CATEGORY_LABEL.text);" readonly="NO">
<cfinput type="text" name="N_LABOR_CATEGORY_ID" label="Category ID:" width="80" required="no" message="Please enter a value" bind="{contactList.selectedItem.N_LABOR_CATEGORY_ID}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'N_LABOR_CATEGORY_ID', N_LABOR_CATEGORY_ID.text);" readonly="NO">
<cfinput type="text" name="N_LABOR_GROUP_ID" label="Group ID:" width="80" required="no" message="Please enter a value" bind="{contactList.selectedItem.N_LABOR_GROUP_ID}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'N_LABOR_GROUP_ID', N_LABOR_GROUP_ID.text);">
<cfinput type="text" name="T_COMMENTS" label="Comments:" size="15" height="20" required="no" bind="{contactList.selectedItem.T_COMMENTS}" onChange="contactList.dataProvider.editField(contactList.sel ectedIndex, 'T_COMMENTS', T_COMMENTS.text);">
<cfformgroup type="hbox">
<cfformgroup type="horizontal">
<cfinput type="button" name="getValues" value="Populate data grid" onClick="#getData#">
<cfinput type="button" name="addValues" value="Add Date" onClick="#addData#">
<cfinput type="button" name="deleteValues" value="Delete Data" onClick="#deleteData#">
<cfinput type="button" name="updateValues" value="Update Data" onClick="#updateData#">
</cfformgroup>
</cfformgroup>
</cfform>