compile function CAR_RPT1() begin condition pre: post: end condition declare function getprinterlist, getprofilestring, writeprofilestring, extdevicemode declare function msg, set_property, send_event, dialog_box, utility, get_property declare function set_printer, Printer_Select declare subroutine rlist, or_view, activate_save_select, yield, update_index declare subroutine car_rpt1_prn $insert rlist_equates $insert msg_equates Params = dialog_box( 'CAR_RPT1', @window, '*CENTER' ) if Params = 'CANCEL' or Params = '' then return 0 end open 'SYSLISTS' to SysListsTable else MsgInfo = '' MsgInfo = -2 MsgInfo = -2 MsgInfo = 'Unable to open SYSLISTS...' Void = msg( '', MsgInfo ) return 0 end ListsId = 'CAR_RPT1*':@station write '' on SysListsTable, ListsId else MsgInfo = '' MsgInfo = -2 MsgInfo = -2 MsgInfo = 'Unable to clear SYSLISTS ':ListsId:'...' Void = msg( '', MsgInfo ) return 0 end convert '*' to @fm in Params Custs = Params<1> IssueDateFrom = Params<2> IssueDateThru = Params<3> Open = Params<4> FormComplete = Params<5> CARInPlace = Params<6> Verified = Params<7> DirToPrinter = Params<8> Stat = utility( 'CURSOR', 'H' ) Stmt = 'SELECT CAR BY CUST_CITY BY ISSUE_DATE' if IssueDateFrom and IssueDateThru then Stmt := " WITH ISSUE_DATE FROM ":QUOTE(IssueDateFrom):' TO ':QUOTE(IssueDateThru) end else if IssueDateFrom then Stmt := " WITH ISSUE_DATE GE ":QUOTE(IssueDateFrom) end if IssueDateThru then Stmt := " WITH ISSUE_DATE LE ":QUOTE(IssueDateThru) end end if Custs then swap @vm with "' '" in Custs Custs = "'":Custs:"'" Stmt := ' AND WITH CUST_ID = ':Custs end CARStatusVar = '' if Open then CARStatusVar := " 'O'" end if FormComplete then CARStatusVar := " 'F'" end if CARInplace then CARStatusVar := " 'C'" end if Verified then CARStatusVar := "'V'" end if CarStatusVar then Stmt := ' AND WITH STATUS = ':CARStatusVar end rlist( Stmt, target_savelist$, ListsId, '', '' ) activate_save_select( ListsId ) if @reccount then Cmd = "LIST CAR ID-SUPP SEQ JUSTLEN '5' COLHEAD 'CAR#' CUST_CITY JUSTLEN '50' CONTACT_NAME WO COMPLAINT_TYPE JUSTLEN '30' " Cmd:= "ISSUE_DATE TOTAL EST_LOSS_VALUE TOTAL ACT_LOSS_VALUE " Cmd:= " HEADING ":'"':" Customer Advisories by Customer by Issue Date 'T'" Cmd:= " PAGE # 'P' by selected Issue dates from " Cmd:= "(":IssueDateFrom:") Thru (":IssueDateThru:" ) ":'"' if DirToPrinter = 'Yes' then PrintPath = Printer_Select('',1) ;* Get default printer path Void = set_printer( 'INIT', '', '', '':@fm:1, 1, '',PrintPath ) car_rpt1_prn( iconv( IssueDateFrom, 'D' ), iconv( IssueDateThru, 'D' ) ) Void = set_printer( 'TERM' ) Void = set_printer( 'INIT', '', '', '', 0, '' ) Void = set_printer( 'TERM' ) end else or_view( '', Cmd ) *SysSize = get_property( 'SYSTEM', 'SIZE' ) *Void = send_event( 'ORPRV', 'SIZE', 1:@fm:1:@fm:SysSize<1>:@fm:SysSize<2> ) Void = set_property( 'ORPRV.PRINT', 'ENABLED', 0 ) WinId = 'ORPRV' loop while get_property( WinId, 'HANDLE' ) yield() repeat ToPrint = '' MsgInfo = '' MsgInfo = 'Do you want to print this report?' MsgInfo = '?' MsgInfo = 'BNY' MsgInfo = -2 MsgInfo = -2 MsgInfo = 2 ;* default to no ToPrint = msg( @window, MsgInfo ) if ToPrint then activate_save_select( ListsId ) Void = set_printer( 'INIT', '', '', '':@fm:1, 1, '' ) car_rpt1_prn( iconv( IssueDateFrom, 'D' ), iconv( IssueDateThru, 'D' ) ) Void = set_printer( 'TERM' ) Void = set_printer( 'INIT', '', '', '', 0, '' ) Void = set_printer( 'TERM' ) end end end else MsgInfo = '' MsgInfo = -2 MsgInfo = -2 MsgInfo = 'NO Records meeting your date criteria!!' MsgInfo = '!' Void = MSG( '', MsgInfo ) end write '' on SysListsTable, ListsId else MsgInfo = '' MsgInfo = -2 MsgInfo = -2 MsgInfo = 'Unable to clear SYSLISTS ':ListsId:'...' Void = msg( '', MsgInfo ) return 0 end return 0