If you want to prevent the users to add manually an output for a specific document, you can set the indicator CannotBeChanged for the output type in NACE. If the output is not determined via a condition record, the users will not be able to correct the problem by adding the output in VL02n and process it. They will have to create the condition records.
If you want to allow the users to add the output, but not to allow them to process it until a certain prerequisite is met, then you will need to add the logic in the print program, issue an appropriate message and set the right processing status for the output.