Ryan, I believe that you might need to use the following original post from Dan Korn and a later re-post from David Sweet .
=== Date: Fri, 17 Nov 2006 13:31:01 -0600 Author: "Dan Korn" <[EMAIL PROTECTED]> Subject: RE: Splitting Records based on a Field in the data Body: > Is it possible to split a Composed job > based on a field in the data and > have the resulting PDF's named using that field. Sorry for the delay in responding. I had to do some investigation on this one. The answer is that, yes, it's possible. There are several steps involved: First, check the "Output to multiple files" box on the Output tab of the Composition Settings dialog and set the number of records to 1. Then, create the OnNewOutputFile callback rule and, in it, set the FusionPro.Composition.outputFileName (or FusionPro.Composition.outputFileFullPathName) property, like so: FusionPro.Composition.outputFileName = Field("AccountHolder") + ".pdf"; Change the field name as appropriate for your data. If you compose thusly, you will see that you get one output file for each account holder. However, you'll only get one record's worth of data in each output file. So we need to compile data from multiple records to create a single output file for all the records pertaining to each account holder. This is where you can use an ExternalDataFileEx object to look ahead for data from other records. You can see an example of this under "How to return multiple records in the same output file" in the FusionPro Rules Editor Reference Guide. If you really want to have separate output pages within each account-holder specific output file for each input record, then you will need to do something a little bit different than in the example. My advice is to create a routine in OnJobStart to read in the original data file and create a new one with record "chunks" of specific sizes, which you can then use as your input file for the composition. In other words, you'll create, say, a hundred records for each account-holder, but only the number of actual records from your original input file will contain data, and the rest will be empty. You can then put some logic into OnRecordStart to set FusionPro.Composition.composeThisRecord = false for the extra empty records in each output file chunk. Set the number of records per output file in the Composition Settings to the same number of records you're creating for each account-holder, including the empty records. We are looking into adding the ability to start a new output file at any given time through JavaScript, without having to rework your input file, in a future version. But you'll have to use a strategy like the one outlined above for now. Dan === The second part of this response deals more with your request. Take a look at your data, and figure out the largest output "group" that you would have. Then adjust the ExternalDataFileEx file Dan refers to earlier in this posting, and allow for an even amount more than that record size. Take a look at the example in the KnowledgeBase for "repeat a Given Record a Number of Times" to give you a good example of how to create an External data file. In your OnRecordStart during composition, you would have something like.. if (Field("field_name") == "") FusionPro.Composition.composeThisRecord = false; This will skip any of your blank records. In your OnNewOutputFile you would set the name of that output file.. FusionPro.Composition.outputFileName = Field("field_name") + ".pdf"; hth David Sweet Variable Pre-Press Consolidated Graphics Group, Inc. === What used for mine was one OnNewOutput File rule and an OnRecordStart rule. //OnNewOutput File //You can use a CurrentRecordNumber function or get a specific field value //CurRec = CurrentRecordNumber(); Data = new ExternalDataFileEx("CAData.csv", ","); Name = Data.GetFieldValue(2, "0"); FusionPro.Composition.outputFileName = "Group" + Name + ".pdf"; //OnRecordStart // say you only want the group "GroupA" on your database to compose and skip the other records if (Field("GroupName") != "GroupA") FusionPro.Composition.composeThisRecord = false; I may be going about this the wrong way but it seemed to work for me. Raul === +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Calling all FP Web Users! Do you have a question or lots of knowledge to share about FusionPro Web? If so, join our Printable Web to Print Users' Forum today! Send email to [EMAIL PROTECTED] to find out how! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- -- Users of FusionPro Desktop have unlimited free email support. Contact Printable Support at [EMAIL PROTECTED] -- View FusionPro Knowledge Base, FusionPro Samples at www.printable.com/vdp/desktop.htm -- You are currently subscribed to fusionpro as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] -- -- Note: All e-mail sent to or from this address will be received or otherwise recorded by the e-mail recipients of this forum. It is subject to archival, monitoring or review by, and/or disclosure to someone other than the recipient. Our privacy policy is posted on www.printplanet.com --