var argPassStruct = StructNew(); switch(arguments.ceName) { case "Rental_Property_Contact": { argPassStruct.ceName = arguments.ceName; argPassStruct.uniqueFldName = "CID"; argPassStruct.createUUIDFld = "uniqueID"; argPassStruct.ccAPIConfigName = "RentalPropertyContact"; argPassStruct.extDataSource = "ocrental"; argPassStruct.extTableName = "contact"; processImport(importData=argPassStruct, restart=arguments.restart, passCount=arguments.passCount, scheduleProcess=arguments.scheduleProcess, delayMinutes=arguments.delayMinutes, logFileName="import_element_#arguments.ceName#.log", startAt=arguments.startAt); break; } case "Rental_Property": { argPassStruct.ceName = arguments.ceName; argPassStruct.uniqueFldName = "autoid"; argPassStruct.createUUIDFld = "uniqueID"; argPassStruct.ccAPIConfigName = "RentalProperty"; argPassStruct.extDataSource = "ocrental"; argPassStruct.extTableName = "rental"; processImport(importData=argPassStruct, restart=arguments.restart, passCount=arguments.passCount, scheduleProcess=arguments.scheduleProcess, delayMinutes=arguments.delayMinutes, logFileName="import_element_#arguments.ceName#.log", startAt=arguments.startAt); break; } } var i = 1; var dataArray = ""; var currVal = ""; var j = 1; var currKey = ""; var ccData = StructNew(); var elementFields = ""; var csContent = ""; var pageResult = ""; var extData = ""; var schedTaskURL = ''; //application.ADF.utils.doDump(arguments, "arguments", false); // check if app variable exists or we need to restart if ( (NOT StructKeyExists(application.ADF, "importElement")) OR (arguments.restart) ){ // Reset the bulk update variable application.ADF.importElement = StructNew(); // Get the Data application.ADF.importElement.Query = getExternalData(arguments.importData.extDataSource, arguments.importData.extTableName, arguments.importData.uniqueFldName); // Store the current row application.ADF.importElement.currRow = 0; // Log that the application vars were updated application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - Application Vars Populated @ #now()#;", arguments.logFileName); } if ( arguments.startAt GT 0 ){ // check if we want to set the start number in the url application.ADF.importElement.currRow = arguments.startAt - 1; } //application.ADF.utils.doDump(application.ADF.importElement,"application.ADF.importElement",false); // Log that we are starting the process application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - Start @ #now()#;", arguments.logFileName); // loop over the next updatePassCount of records for (i = 1; i LTE arguments.passCount; i++) { // Increment the current row counter application.ADF.importElement.currRow = application.ADF.importElement.currRow + 1; if (application.ADF.importElement.currRow LTE application.ADF.importElement.Query.RecordCount) { // Get the current value currVal = application.ADF.importElement.Query[arguments.importData.uniqueFldName][application.ADF.importElement.currRow]; // check that we have an eaglenetid if (LEN(currVal)) { WriteOutput("application.ADF.importElement.Query[arguments.uniqueFldName][#application.ADF.importElement.currRow#] = #currVal#
"); // Check if we have data for the current record dataArray = application.ADF.ceData.getCEData(arguments.importData.ceName, arguments.importData.uniqueFldName, currVal); // Check if we have a value already if ( ArrayLen(dataArray) ) { ccData = dataArray[1].Values; ccData.datapageid = dataArray[1].pageid; } else { // Get the default fields for the data ccData = application.ADF.ceData.defaultFieldStruct(arguments.importData.ceName); // Set the UUID field if one is defined if ( StructKeyExists(arguments.importData, "createUUIDFld") AND LEN(arguments.importData.createUUIDFld) ) ccData[arguments.importData.createUUIDFld] = createUUID(); } // Get the external data for the userid extData = getExternalData(arguments.importData.extDataSource, arguments.importData.extTableName, arguments.importData.uniqueFldName, currVal); //application.ADF.utils.doDump(extData, "extData", false); // Get the keylist elementFields = StructKeyList(ccData); // Load in the external data query // Loop over the external data and load into ccData for (j = 1; j LTE ListLen(elementFields); j = j + 1) { currKey = ListGetAt(elementFields, j); if ( StructKeyExists(extData, "#currKey#") ) { ccData[currKey] = application.ADF.importElement.Query[currKey][application.ADF.importElement.currRow]; } } // Call the Element creation API csContent = server.ADF.objectFactory.getBean("csContent_1_0"); // Create the page pageResult = csContent.populateContent(arguments.importData.ccAPIConfigName, ccData); // Log application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - Record Number: #application.ADF.importElement.currRow#; Current Value: #currVal#; Completed @ #now()#;", arguments.logFileName); } else { WriteOutput("Query field: - application.ADF.importElement.Query[qryFieldName][#application.ADF.importElement.currRow#] = #currVal#
"); application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - No Record Number: #application.ADF.importElement.currRow# - @ #now()#;", arguments.logFileName); } } else { application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - Completed @ #now()#;", arguments.logFileName); if ( arguments.scheduleProcess ) { // Delete the scheduled task application.ADF.utils.deleteScheduledTask("Import_Element_Process_#arguments.importData.ceName#"); // Log that we are ending the process application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - Scheduled task deleted;", arguments.logFileName); } break; } } // Log that we are ending the process application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - End @ #now()#;", arguments.logFileName); if ( arguments.scheduleProcess ) { if (application.ADF.importElement.currRow LTE application.ADF.importElement.Query.RecordCount) { // set the scheduled task to start again schedTaskURL = "#variables.IMPORTCEPAGE#?action=process&importCE=#arguments.importData.ceName#&restart=false&count=#arguments.passCount#&cont=#arguments.scheduleProcess#&pause=#arguments.delayMinutes#"; application.ADF.utils.setScheduledTask(schedTaskURL, "Import_Element_Process_#arguments.importData.ceName#","Import_Element_Process_#arguments.importData.ceName#.htm", arguments.delayMinutes); // Log that we are ending the process application.ADF.utils.logAppend("Import Element Process - Element:#arguments.importData.ceName# - Set scheduled task to start in #arguments.delayMinutes# minutes from #now()#", arguments.logFileName); } }
SELECT * FROM #arguments.extTableName# WHERE #arguments.uniqueFldName# = #arguments.value# ORDER BY #arguments.uniqueFldName#