Troy
I have solution to the problem you posted. This will go through the data as an external data source. It will parse and array for the Page Usage and an array for file names that is in Global Variables.
Using;
JavaScriptGlobals ************************************************************
pages = ['CourtFNCR' , 'CourtBkNCR' , 'DefFNCR' , 'DefBkNCR' , 'DefFPln' , 'DefBkPln' , 'PlntfFPln' , 'PlntfBkPln'];
jobs = ['Court', 'Def', 'Plain'];
OnJobStart*******************************************************************
FusionPro.Composition.composeAllRecords = false;
PreviewJobVal = FusionPro.Composition.isPreview;
if(PreviewJobVal ==true){
FusionPro.Composition.endRecordNumber = ex.recordCount;
}else{
FusionPro.Composition.endRecordNumber = pages.length;
}
On Record Start ****************************************************************************
var ex = new ExternalDataFileEx(PrimaryInputFile(), "EXCEL");
FusionPro.Composition.repeatRecordCount = ex.recordCount;
if(PreviewJobVal == true)
{
FusionPro.Composition.SetBodyPageUsage(1, true);
FusionPro.Composition.SetBodyPageUsage(2 , true);
FusionPro.Composition.SetBodyPageUsage(3 , true);
FusionPro.Composition.SetBodyPageUsage(4 , true);
FusionPro.Composition.SetBodyPageUsage(5 , true);
FusionPro.Composition.SetBodyPageUsage(6 , true);
FusionPro.Composition.SetBodyPageUsage(7 , true);
FusionPro.Composition.SetBodyPageUsage(8 , true);
} else {
var pg = pages[FusionPro.Composition.inputRecordNumber-1]; // reads length of array pages
var jobout = jobs[FusionPro.Composition.inputRecordNumber-1]; //reads length of array jobs
var output = (jobout+ '.' + FusionPro.Composition.outputFormatExtension); //creates the files for pages
//var output = ("/Users/decrabtree/Documents/FP_Jobs/" + jobout + '.' + FusionPro.Composition.outputFormatExtension); // This will place a file in a hot folder.
for( job in jobout){
if (FusionPro.Composition.repeatRecordNumber == 1)
//FusionPro.Composition.OpenNewOutputFile(FusionPro.Composition.OpenNewOutputFile("/Users/decrabtree/Documents/" + jobout +"/" + output)); // This will place the files in a folder named after the jobout Files i.e.Courts/Courts.pdf
FusionPro.Composition.OpenNewOutputFile(output);
for (var i in FusionPro.Fields)
FusionPro.Composition.AddVariable(i, ex.GetFieldValue(FusionPro.Composition.repeatRecordNumber, i));
switch (jobout){
case "Court":
FusionPro.Composition.SetBodyPageUsage(1 , true);
FusionPro.Composition.SetBodyPageUsage(2 , true);
FusionPro.Composition.SetBodyPageUsage(3 , true);
FusionPro.Composition.SetBodyPageUsage(4 , true);
break;
case "Def":
FusionPro.Composition.SetBodyPageUsage(5 , true);
FusionPro.Composition.SetBodyPageUsage(6 , true);
break;
case "Plain":
FusionPro.Composition.SetBodyPageUsage(7 , true);
FusionPro.Composition.SetBodyPageUsage(8 , true);
break;
}
}
}