I have a RemObjects service call I am making in JavaScript. The call works fine (debugging on the server) except on the returning data.
The custom intf:
__namespace.JobService.prototype.GetJobsStockReport = function(
Report,
RequestDetail,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, "GetJobsStockReport");
msg.write("Report", "JobStockReportsEnum", Report);
msg.write("RequestDetail", "JobRequestDetails", RequestDetail);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read("Result", "JobDetailArray");
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
It returns an array of JobDetail:
// Array: JobDetailArray
__namespace.JobDetailArray = function JobDetailArray() {
RemObjects.SDK.ROArrayType.call(this);
this.elementType = "JobDetail";
};
__namespace.JobDetailArray.prototype = new RemObjects.SDK.ROArrayType();
__namespace.JobDetailArray.prototype.constructor = __namespace.JobDetailArray;
RemObjects.SDK.RTTI["JobDetailArray"] = __namespace.JobDetailArray;
// Struct: JobDetail
__namespace.JobDetail = function JobDetail() {
this.Active = {dataType : "Boolean", value : null};
this.Address1 = {dataType : "AnsiString", value : null};
this.CatID = {dataType : "Integer", value : null};
this.CityID = {dataType : "Integer", value : null};
this.CustomerID = {dataType : "Integer", value : null};
this.CustomerName = {dataType : "AnsiString", value : null};
this.DaysInProgress = {dataType : "Double", value : null};
this.Desc = {dataType : "AnsiString", value : null};
this.ID = {dataType : "Integer", value : null};
this.ID2 = {dataType : "AnsiString", value : null};
this.ID3 = {dataType : "AnsiString", value : null};
this.ID4 = {dataType : "AnsiString", value : null};
this.LocationID = {dataType : "Integer", value : null};
this.Received = {dataType : "DateTime", value : null};
this.SiteName = {dataType : "AnsiString", value : null};
this.SourceID = {dataType : "Integer", value : null};
this.SubcatID = {dataType : "Integer", value : null};
this.SubsourceID = {dataType : "Integer", value : null};
};
__namespace.JobDetail.prototype = new RemObjects.SDK.ROStructType();
__namespace.JobDetail.prototype.constructor = __namespace.JobDetail;
RemObjects.SDK.RTTI["JobDetail"] = __namespace.JobDetail;
This is how I am calling it:
var getJobStockReport = () =>
{
var jobReport = new JobStockReportsEnum();
jobReport.value = “ActiveAll”;
var jobFetchEnum = new FetchEnum();
jobFetchEnum.value = "Active";
var jobListDeptDivLimitEnum = new JobListDeptDivLimitEnum();
jobListDeptDivLimitEnum.value = "None";
var jobListSort = new JobListSortEnum();
jobListSort.value = "None";
var jobRequestDetails = new JobRequestDetails();
jobRequestDetails.ActiveOrDeleted.value = jobFetchEnum;
jobRequestDetails.DeptDivID.value = 0;
jobRequestDetails.DeptDivLimit.value = jobListDeptDivLimitEnum;
jobRequestDetails.MaxRecordCount.value = 0;
jobRequestDetails.SortAscending.value = false;
jobRequestDetails.SortBy.value = jobListSort;
jobRequestDetails.StartRecord.value = 1;
jobService = new JobService(channel, message, "JobService");
jobService.GetJobsStockReport(
jobReport,
jobRequestDetails,
function(msg, res)
{
console.log(res);
//displayData(jobDetailArray);
},
RemObjects.UTIL.showError
);
}
Before I can see the type I get this error:
TypeError: RemObjects.SDK.RTTI[realType] is not a constructor
I must not be handling the return value correctly. What is the correct way to access the returning value?
Thanks!
Todd