Picture if you will: PeopleSoft Financials 7.0. A company is acquired. Suddenly, the acquired company needs to print a different signature on the AP checks. But PeopleSoft is like so unsupported. The check printer is so old that it won’t print unless you open and slam the paper tray, and there’s no way it can support a new signature DIMM card. An effort was made to upgrade to a new check printer months earlier, but the developer (Bob) spent weeks trying to make the Crystal Report printing the signature and the MICR line with little to show for it before leaving the company. But at that time it wasn’t a big priority and no one picked it up when he left. Now there’s little time to make it work before the bank starts denying checks.
So I find myself sitting in front of a Windows NT 4.0 workstation with Crystal Reports 6.0 installed on it and a Troy 1320 Micr printer plugged in to the LPT1: port. It’s going to be a long week.
First I tried to figure out where we were. The Troy printer utility did a nice job of printing the MICR fonts. Okay, at least something works. But the Troy printer utility didn’t have anything to print the signature. Okay, I’ll leave that until later. Let’s see if we can make the check print.
I found someone who knew the AP pay cycle process a bit better than I did and ran a pay cycle. She got to the Print Checks part of the process, and clicked the next step which ran the check to the printer. It printed nothing but garbage. Then she hit refresh and it went to the next step. So much for another check run (According to legend, it takes 20 hours to restart a pay cycle in 7.0). After setting up another pay cycle, I figured out that if you update PSPRCSRQST and set RUNSTATUS to an error status BEFORE you refresh the pay cycle, refreshing the pay cycle won’t go to the next step but repeat the print checks step and you get another shot at it.
Okay, so the Crystal Check didn’t work with the printer. That was to be expected so might as well pull it up in Crystal Report Designer and see what needs to be fixed. Admittedly it’s been a LONG time since I’ve worked on the AP check printing program. I wrongly assumed that since the process scheduler launches APY2021 process, I should look for a Crystal called APY2021.RPT. And there is one, but as it turns out APY2021 only prints remittance advice. The program that actually prints a check with MICR fonts and a Signature is called CHECK1.RPT (or check2 or check3, it depends on which check format options you select on-line).
The first problem was that the MICR line had a font of Courier Western. No problem, I changed it to Troy E-13B. Crystal promptly changed it back to Courier Western. No, I really meant it. I right-clicked, set the font through the properties window, and clicked OK. Crystal changed it to Courier Western. I described the problem to a passing co-worker. “That’s where Bob got before he left” was the observation. In frustration I changed it to Troy CMC7 (which shouldn’t have worked according to the font printout) but the change “stuck” and when I printed it, it printed a nice MICR font. WooHoo, I'm WAY smarter than Bob!!!
Next I attacked the Signature problem. I double-clicked the embedded OLE object which launched Word with some funky letter block. Then I clicked Print. It printed a funky letter bock. Changed the font for the funky letter block to the Troy Image font, and tried again. It printed a nice signature. So I went back to Crystal and did everything I could, but the report never printed a signature. Another co-worker looked at it and observed “That’s where Bob got before he gave up.” Great. Finally I plugged in the new signature card, and changed the OLE document from Word to WordPad. Ran the Crystal, and it printed the most beautiful check you ever saw. WOOHOO!!! Take that Bob!!!
I took the plain-paper check to the AP person who printed them every day, and she looked at it and said it looked great. Held it up to a real check and we held it up to the light. Everything lined up perfectly. I was starting to feel real good about this check printing business. She gave me some voided check stock and we printed on it. It was flawless.
I didn’t waste any time telling my boss how great I was and how it’s working now. He was a happy camper.
The next week it was time to print a batch of checks to send to the bank and everybody thought it would be a good idea to print them from PeopleSoft. We created a pay cycle, walked through the steps, and confidently clicked Next Step when it was time to print the checks. To my utter shock and dismay the check printed out where the advice should have been. “That's what it was doing for Bob before he quit.” was the comment.
Thus started a whole new round of troubleshooting, cursing, and frustration. By now the project was getting visibility with the CIO and everybody was getting anxious. I finally discovered that PSCRRUN.EXE was sending a PCL Code that set the page size to Letter before running the Crystal, and there was no way to override it. Believe me, I tried. Looks like PeopleSoft fixed this in PeopleTools 8.22 circa 2002. I have no idea why the older printer prints successfully, but I’m guessing it must be configured to Legal size paper and it doesn’t let PeopleSoft tell it differently.
We discovered that if we run the report to a window and print from there it works OK as long as we don’t need remittance advice. For remittance, we can configure the check format to print the advice on a separate report. So instead of solving the problem, we have a workaround until we go-live with PS 8.9 in a couple of months.
I wish I had some great words of wisdom or lessons learned on this one. But I don’t think I learned a single thing that I didn’t know before: 1) It’s a tedious and time consuming process to make a new check printer work; 2) Combining outdated software with new hardware is no fun; and 3) “Bob”, or whoever you're coming behind, is usually smarter than you would like.


Being able to get an environment right to where you're about to run the checks and then taking a snaphot probably would have saved you quite a bit of time. Each time you run it, then you just restore back to where you were.
Very handy.