DEF VAR Error$i AS LOG NO-UNDO. DEF VAR ii AS INT NO-UNDO. DEF VAR FILENAME$V AS CHAR NO-UNDO INIT "D:\LogFiles\ERP\logger.txt":U. DEF VAR cPrinters AS CHAR NO-UNDO. DEF VAR cPrinter AS CHAR FORMAT "x(30)" NO-UNDO. DEF VAR Ja AS LOG NO-UNDO. cPrinters = SESSION:GET-PRINTERS(). REPEAT ii = 1 TO NUM-ENTRIES(cPrinters, ','): cPrinter = ENTRY(ii, cPrinters, ','). RUN pcheckprinter(cPrinter). DISP STRING(TIME, "hh:mm:ss") cPrinter ii error$i ERROR-STATUS:GET-MESSAGE(1). IF error$i THEN DO: MESSAGE "PRINTER ERROR" VIEW-AS ALERT-BOX INFO BUTTONS OK. SYSTEM-DIALOG PRINTER-SETUP NUM-COPIES 1 UPDATE ja. IF NOT ja THEN NEXT. MESSAGE SESSION:PRINTER-NAME SESSION:PRINTER-PORT VIEW-AS ALERT-BOX. ii = ii - 1. END. END. PROCEDURE pcheckprinter: OUTPUT TO VALUE(FileName$v) KEEP-MESSAGES. DEF INPUT PARAM PrinterName$i AS CHAR NO-UNDO. DO ON ERROR UNDO, RETRY ON STOP UNDO, RETRY ON QUIT UNDO, RETRY : SESSION:PRINTER-NAME = PrinterName$i. END. /* DO ON ERROR UNDO, RETRY ... */ OUTPUT CLOSE. PAUSE 0.3 NO-MESSAGE. ASSIGN FILE-INFO:FILE-NAME = FileName$v Error$i = (FILE-INFO:FILE-SIZE <> 0). END PROCEDURE.