Kbase P142839: 4GL Code that sends ASCII control codes to print a receipt and then open a cash drawer is not workin
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  3/13/2009 |
|
Status: Unverified
SYMPTOM(s):
4GL Code that sends ASCII control codes to print a receipt and then open a cash drawer is not working.
The cash drawer does not open.
Code being executed:
output thru <lp or lpr command >.
put control "~034".
output close.
If the program executes 20 times, 1 time out of the 20, the cash drawer will open.
If the UNIX Administrator interrupts the print queue on the Linux machine and then issues an "Enter" (Carriage Return) after the job is submitted, the cash drawer will open.
Modifying the code to send an additional Carriage Return "~015" after the "~034" does not fix the issue.
Modifying the code to send an additional New Line character "~012" after the "~034" does not fix the issue.
Unable to access the printer directly without going through the print server.
FACT(s) (Environment):
Sending the output to a file and then validating the characters sent with UNiX commands: od -a and od -c show that ASCII control characters are being transmitted to the print server.
The receipt is printed.
Same code works fine at other sites.
Newer print servers are not experiencing the issue.
Progress 9.1E
Red Hat Linux Advanced Server 2.1
CHANGE:
Migrated from SCO to Linux RedHat.
CAUSE:
Print Server being used at the site is an older print server. Appears that the print server is not handling the "~034" File separator or not issuing the Carriage return once the job is submitted to the print server.
FIX:
Contact hardware or Operating System vendor to validate drivers being used by the print server and to assist with further isolation of the issue. Upgrade to a new print server if possible.