compile function REACTOR_LOG_RPT3() 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 declare subroutine reactor_log_rpt3_prn $insert rlist_equates $insert msg_equates Params = dialog_box( 'REACTOR_LOG_RPT3', @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 = 'REACTOR_LOG_RPT3*':@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 StartDateFrom = Params<1> StartDateThru = Params<2> Reactors = Params<3> DetSum = Params<4> DirToPrinter = Params<5> ItemIds = Params<6> ProbIds = Params<7> ServIds = Params<8> if DetSum = 'Summary' then DetSum = 'DET-SUPP' end else DetSum = '' end Stat = utility( 'CURSOR', 'H' ) Stmt = 'SELECT REACTOR_LOG BY REACTOR BY REACT_PROB_DESC BY REACT_SERV_DESC BY START_DATE' * FORCE TO MAINTENANCE RECORDS * THIS WAY NO PASS DOWN RECORDS WILL SHOW UP Stmt := ' WITH CATEGORY = "M"' if StartDateFrom and StartDateThru then Stmt := ' AND WITH START_DATE FROM ':QUOTE(StartDateFrom):' TO ':QUOTE(StartDateThru) end else if StartDateFrom then Stmt := " AND WITH START_DATE GE ":QUOTE(StartDateFrom) end if StartDateThru then Stmt := " AND WITH START_DATE LE ":QUOTE(StartDateThru) end end if Reactors then swap @vm with "' '" in Reactors Reactors = "'":Reactors:"'" Stmt := ' AND WITH REACTOR = ':Reactors end if ItemIds then swap @vm with "' '" in ItemIds ItemIds = "'":ItemIds:"'" Stmt := ' AND WITH REACT_ITEM_IDS = ':ItemIds end if ProbIds then swap @vm with "' '" in ProbIds ProbIds = "'":ProbIds:"'" Stmt := ' AND WITH REACT_PROB_ID = ':ProbIds end if ServIds then swap @vm with "' '" in ServIds ServIds = "'":ServIds:"'" Stmt := ' AND WITH REACT_SERV_ID = ':ServIds end *IF @user4 = 'BRYCE_M' THEN * DEBUG *END rlist( Stmt, target_savelist$, ListsId, '', '' ) activate_save_select( ListsId ) if @reccount then Cmd = "LIST REACTOR_LOG ":DetSum:" ID-SUPP BREAK-ON REACTOR ":quote( "'V'" ):' JUSTLEN 5' Cmd:= " REA_DESC BREAK-ON REACT_PROB_DESC " Cmd:= " JUSTLEN 30 BREAK-ON REACT_SERV_DESC JUSTLEN 30 REACT_ITEM_IDS REACT_ITEMS_DESC " Cmd:= " JUSTLEN 30 REACT_ITEM_QTY JUSTLEN 4 COLHEAD 'Qty' NOTES JUSTLEN 30 START_DATE JUSTLEN 10 START_TIME JUSTLEN 10 TOTAL ELAPSED_HOURS JUSTLEN 7 COLHEAD 'Hours'" Cmd:= " HEADING ":'"':" Run Date: 'TS39'Page 'P''LS22'Reactor Log Report " Cmd:= StartDateFrom:' To ':StartDateThru:'"' if DirToPrinter = 'Yes' then *rlist( Cmd, 0, '', '', 1 ) PrintPath = Printer_Select('',1) ;* Gets default printer path Void = set_printer( 'INIT', '', '', '':@fm:1.25, 1, '', PrintPath ) reactor_log_rpt3_prn( iconv( StartDateFrom, 'D' ), iconv( StartDateThru, 'D' ), DetSum ) Void = set_printer( 'TERM' ) Void = set_printer( 'INIT', '', '', '', 0, '' ) Void = set_printer( 'TERM' ) end else or_view( '', Cmd ) Void = set_property( 'ORPRV.PRINT', 'ENABLED', 0 ) *Void = set_property( 'ORPRV', 'VISIBLE', 3 ) 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 ) *rlist( Cmd, 0, '', '', '' ) Void = set_printer( 'INIT', '', '', '':@fm:1.25, 1, '' ) reactor_log_rpt3_prn( iconv( StartDateFrom, 'D' ), iconv( StartDateThru, 'D' ), DetSum ) 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