Troubleshooting an Application
If problems arise when you run the application, complete the following checks:
- Ensure that your script includes all files and the EngageOne™ Enrichment module. Also ensure that the necessary files exist on the system.
- Ensure that print stream analysis coding in your control file is correct by following these steps.
- Create a small test input file with a known number of pages and documents. We recommend 10 to 100 documents—enough to get a representative sample.
- Check the EngageOne™ Enrichment Report to ensure that EngageOne™ Enrichment identified the correct number of documents and pages.
- Write one document to a specific output to make sure it emerges in the correct format with no missing parts. This can verify that you specified the <DOCUMENT> and <PAGE> tags correctly.
- Write a “trace” extract file or use the FOUND function to verify that you are collecting the proper data from the document. This confirms that fields are being selected properly. You can also write page numbers and other system variables to the output to ensure that the documents are being selected correctly.Note: Because it is common for print streams to change from time to time, you should build your application to anticipate changes to important parts of the print stream. We recommend that you use the FOUND function to detect when critical fields are not found during processing. You can also use this during development to see if any documents are unusual (for example, if fields are not in the predicted locations). Use the MESSAGE function to report errors.
- Verify that your EngageOne™ Enrichment application does not contain any of the following common user errors:
- The <DOCUMENT> tag specification is never met. EngageOne™ Enrichment tries to read your entire input into memory as a single document. If you are running a small sample input, the EngageOne™ Enrichment Report will show only one document found in the input. If you are running a large input, EngageOne™ Enrichment will run out of memory and issue the error shown below.
"PDR2001S Unable to acquire number bytes of memory to enlarge single document buffer."
- The <DOCUMENT> tag location is above the <PAGE> tag target. As a result, EngageOne™ Enrichment does not find documents correctly.
- The <DOCUMENT> tag specifies a top-of-document location that is after the first complete page of the document.
- Fields are improperly extracted from the document because of incorrect referencing.
- The <DOCUMENT> tag specification is never met. EngageOne™ Enrichment tries to read your entire input into memory as a single document. If you are running a small sample input, the EngageOne™ Enrichment Report will show only one document found in the input. If you are running a large input, EngageOne™ Enrichment will run out of memory and issue the error shown below.
- The record length of the output file is incorrectly specified:
- EngageOne™ Enrichment issues a warning indicating that "records were truncated" if the record length is incorrect. This results in incomplete documents, which typically cannot be printed.
- If you are adding drawn barcodes to a document, you must set up the output file as variable length.
- The ZIP Code™ and the ZIP + 4® are not in the index file to control presorting as required. If you use CASS™ cleansing to obtain the ZIP Code™ and ZIP + 4®, the POSTNET™ barcode will be blank if the address was not correct. Therefore, you should not place the POSTNET™ barcode in the index file for all documents. If the POSTNET™ is bad, place the ZIP Code™ in the index (or put the original 5-digit ZIP Code™ and the ZIP + 4® from the POSTNET™, if available, in the index for all documents). Otherwise, invalid presorting may occur.
- The reject file has been confused with the residual file. During postal presort, it is often incorrectly assumed that the reject file is the same as the residual file. Residual documents are not normally deleted from the sorted index file during presort, but are instead placed at the end of the normal output stream. Rejected documents are those whose record were dropped by the program called in the Presort tag group so there is no corresponding record returned in the <OUTFILE1> file. Note that documents that fall into this category have no additional processing done on them, including <ADD> processing. If there is no <REJECTFILE> tag, then these documents will not be included in the output.
- The CASS™ cleansing parameters are not set correctly. This normally affects the percentage of mail that is verified.
- The end tag is left off of a tag group structure. This usually results in an error message stating that one or more tags are not valid for the tag group in question.
- The page size in the FORMDEF or PAGEDEF does not match the page size used by EngageOne™ Enrichment.
- Variables are not initialized or reset properly in a rule file. This can cause erroneous results in which the variable retains a value from the previous document or the original value used for the variable is not what was expected. It is recommended that variables be initialized in the START: section of the rule file.
- An incorrect version of the C run-time libraries is used. Make sure you have the latest version of the C run-time libraries installed on your mainframe system.
- The errors PDR2000S and PDR2002S indicate that you have used all available memory. On mainframe systems, this may require an increase in the REGION size. These errors may indicate that EngageOne™ Enrichment is reading a large file as a single document.
- Review the statistics at the end of a successful test run to get an idea of how you can tune the <SINGLEBUFFER> setting. An improper <SINGLEBUFFER> value can cause problems. Assuming the test file is representative of a production file, a suggested starting value for <SINGLEBUFFER> is 110% of the value used for the single document buffer as reported in the EngageOne™ Enrichment report. Generally a growth factor of 50 is appropriate. The idea is to set the initial value large enough to hold the largest document and eliminate the need to make this area larger. The single document buffer is the only area that must be in contiguous memory.