Problem
Print jobs with a CSV file format, submitted to the Loftware Print Server service (LPS), are ending up in the LPS Error folder. Examination of the error files may show the following message: "(M4772) ; *PRINTERNUMBER value is not valid! (M4774) Must be a positive [nonzero] number!" This message may occur multiple times within the error file and each error message correlates directly with the number of unexpected header rows within the submitted CSV file. Valid records within the CSV file will print without error.
Explanation
Even though the data within the CSV file is valid, the process is expecting just a single header row. CSV data files are allowed to have any number of data records, however, having multiple header rows within the same CSV file will lead to these errors. Refer to the following example*:
Sample input CSV file

Sample error file

*(Examples are truncated versions of an actual occurrence)
The error message is showing that the first field in the repeated header row ("*PRINTERNUMBER") is not an expected value. The error is thrown because the system is expecting that all rows following the initial header row will be actual data.
Solution
Validation:
To capture the existing CSV file format generated from a front-end system, simply stop the LPS service and generate a print request from the front-end system. Go to the target LPS drop folder and locate the submitted CSV file. Open this file in a text editor and check to see if the header row is repeated within the file.
Confirm Cause:
Edit the CSV file by removing any repeated header rows and save this file in the same location. Restart the LPS service and observe that the CSV file is processed without errors.
Sample Corrected CSV file

Corrective Action:
Review and modify the front-end system so that the CSV file output will only contain a single header row. Retest using the Validation steps noted above.
Refer to the Loftware Print Server User Guide for additional information on correctly formatting CSV files.
Related Articles
Error rendering macro 'contentbylabel' : parameters should not be empty