Are you on 10.2.500? If so use EFx to consolidate your code. If you are not, we use updatable BAQs to fire off common code. I have about 30 different labels we print and 6 different datasets (BAQs) that generate that data. After the data is generated in post GetList the CSV .bt file is generated and dropped for integration to pick up. When I call the BAQ I send the printer I want to print to, the label format I need, and the number of copies (along with any serialization I need). I pass those to a calculated field so I can use them in the Update method when I build the commander line.