You must be logged in. Please login now. // Copy GCE Records - Copy Element Records to new element srcCeName = 'Source GCE'; destCeName = 'Destination GCE'; copyStart = 1; // 1 or higher copyRows = 1; // or set to all skipExists = true; verbose = false; // Config Values // ----- skipFieldName = 'id'; excludeFields = ''; // dateField,mmnew,multimediaField,mmLocalField,mmBrightcoveField // Url Params if ( StructKeyExists(request.params,'start') ) copyStart = request.params.start; if ( StructKeyExists(request.params,'rows') ) copyRows = request.params.rows; if ( StructKeyExists(request.params,'skip') AND IsBoolean(request.params.skip) ) skipExists = request.params.skip; if ( StructKeyExists(request.params,'verbose') AND IsBoolean(request.params.verbose) ) verbose = request.params.verbose; // Get Source Records srcArr = application.ADF.ceData.getCEData(customElementName=srcCeName); //srcArr = application.ADF.ceData.getCEData(customElementName=srcCeName,customElementFieldName=skipFieldName,item=71629,queryType='equals'); // Get the Source Total srcTotal = ArrayLen(srcArr); WriteOutput('
Source Record Count (Before): #srcTotal#'); // Get Destination Count destArr = application.ADF.ceData.getCEData(destCeName); destTotal = ArrayLen(destArr); WriteOutput('
Destination Record Count (Before): #destTotal#'); if ( NOT IsNumeric(copyStart) ) copyStart = 1; calcRows = application.ADF.data.calcStartEndRows(total=srcTotal,start=copyStart,qty=copyRows); startRow = calcRows.start; endRow = calcRows.end; rowCnt = calcRows.rows; WriteOutput('
------'); for ( i=startRow; i <= endRow; i++ ) { pageid = 0; skippedRecordValue = ''; // Set source data to dataValues struct dataValues = Server.CommonSpot.deepCopy(srcArr[i].values); WriteOutput('
#i#: Copy DataPageID: ' & srcArr[i].pageid); excludeFldArr = ListToArray(excludeFields); for ( j=1; j <= ArrayLen(excludeFldArr); j++ ) { skipFld = excludeFldArr[j]; if ( LEN(TRIM(skipFld)) AND StructKeyExists(dataValues,skipFld) ) StructDelete(dataValues,skipFld); } //if ( verbose ) WriteDump(var=dataValues, label="Source dataValues", expand=false); copyRecord = true; if ( skipExists AND TRIM(skipFieldName) NEQ '' AND StructKeyExists(dataValues,skipFieldName) ) { existsArr = application.ADF.ceData.getCEData(customElementName=destCeName,customElementFieldName=skipFieldName,item=dataValues[skipFieldName],queryType='equals'); if ( ArrayLen(existsArr) ) { copyRecord = false; skippedRecordValue = existsArr[1].values[skipFieldName]; } } if ( copyRecord ) { WriteOutput("
- Call addRecord..."); copyResult = Application.ADF.gceRecord.addRecord(ceName=destCeName,dataValues=dataValues); if ( StructKeyExists(copyResult,'datapageid') ) pageid = copyResult.datapageid; WriteOutput('
- New PageID: ' & pageid); if ( pageid GT 0 ) { WriteOutput('
++ Record Copied'); // Copy field copyResultArr = application.ADF.ceData.getCEDataByPageID(customElementName=destCeName,csPageID=pageid); if ( ArrayLen(copyResultArr) ) WriteDump(var=copyResultArr,label='By pageid: #pageid#'); } if ( verbose OR pageid EQ 0 ) WriteDump(var=copyResult,label="copyResult",expand=false); } else { WriteOutput('
>> Record Exists - Skipped "#skipFieldName#": ' & skippedRecordValue); } WriteOutput('
------'); cfflush(); } destArr = application.ADF.ceData.getCEData(destCeName); destTotal = ArrayLen(destArr); WriteOutput('
Destination Record Count (After): #destTotal#'); if ( verbose ) WriteDump(var=destArr,label="destArr",expand=false);