This is how printing is handled by the library functions. You need not follow this method except where it is imbedded in SuperLib metafunctions. The function SLS_PRN() is a SET/RETRIEVE function which sets and retrieves the default printer port as a string with the default as "LPT1". This function may be called with any valid printer port name as a parameter to set a new printer port for SuperLib usage. Valid values are "LPT1", "LPT2", "LPT3", "COM1", "COM2" - anything you could issue a SET PRINTER TO <cPort> with. Another SET/RETRIEVE function - SLS_PRNC() - points to the setting which determines if the printer port will be checked for readiness before printing. Passing it a False causes it to not check the printer before printing - handy in some network situations. At print time, LPT* ports are checked for readiness via the P_READY() function. (COM ports are not checked for readiness.) However, if SLS_PRNC() has been passed a .f., no check for readiness is done. P_READY() uses the .ASM function ISPRN() to check for readiness. If the port is not ready, the user is given the option to: Try Again Ignore the Warning Select a Different Printer Port Abort the print request If Abort is selected, P_READY() returns false.