compile function SCHED_SRPT3() declare function msg, set_property, send_event, dialog_box, utility, get_property, PrintSetup, Set_Printer declare function set_printer, obj_Install declare subroutine rlist, or_view, activate_save_select, yield declare subroutine order_srpt1 $insert rlist_equates $insert msg_equates $insert oiprint_equates $insert rpt_cfg_equ $INSERT PRINTSETUP_EQUATES TimeX = Oconv(Time(),'MTS') CrLf = Char(13):Char(10) CurDte = OCONV(Date(),"D4/") ReportID = "SCHED003_SRPTCFG" ReportControl = "SCHED_SRPT3" TableName = 'SCHEDULE' open 'CONFIG' to ConfigTable else Void = msg( '', 'Unable to open CONFIG...' ) return 0 end Read SRptConfig From ConfigTable,ReportID Else Void = msg( '', 'Unable to read ': ReportID:' From CONFIG table!' ) return 0 End Params = dialog_box( ReportControl, @window, '*CENTER' ) if Params = 'CANCEL' or Params = '' then return 0 end open 'SYSLISTS' to SysListsTable else Void = msg( '', 'Unable to open SYSLISTS...' ) return 0 end ListsId = ReportControl:'*':@station write '' on SysListsTable, ListsId else Void = msg( '', 'Unable to clear SYSLISTS ':ListsId:'...' ) return 0 end convert '*' to @fm in Params BillDateFrom = Params<1> BillDateThru = Params<2> Custs = Params<3> Plant = Params<4> Void = utility( 'CURSOR', 'H' ) WithStmt = 'SELECT ':TableName:' ' WthSwt = 0 ShipDateLimit = '' Begin Case Case BillDateFrom and BillDateThru TtlLin2 = 'Ship Dates: From ':BillDateFrom:' To ':BillDateThru WithStmt := " WITH SHIP_DATE FROM '": BillDateFrom:"' TO '":BillDateThru: "' " ShipDateLimit = 'LIMIT SHIP_DATE FROM "':BillDateFrom:'" TO "':BillDateThru:'" ' WthSwt = 1 Case BillDateFrom TtlLin2 = 'Ship Dates: From ':BillDateFrom:' To Latest' WithStmt := " WITH SHIP_DATE GE '":BillDateFrom:"' " ShipDateLimit = 'LIMIT SHIP_DATE FROM "':BillDateFrom:'" TO "':CurDte:'" ' WthSwt = 1 Case BillDateThru TtlLin2 = 'Ship Dates: From Earliest To ':BillDateThru WithStmt := " WITH SHIP_DATE LE '":BillDateThru:"' " ShipDateLimit = 'LIMIT SHIP_DATE <= "':CurDte:'" ' WthSwt = 1 Case 1 TtlLin2 = 'Ship Dates: ALL' End Case If Custs then CustCnt = Count(@vm,Custs) If CustCnt > 20 Then TtlLin3 = 'Customers: More Than 20 Selected' End Else TtlLin3 = Custs swap @vm with ", " in TtlLin3 TtlLin3 = 'Customers: ':TtlLin3 End swap @vm with "' '" in Custs Custs = "'":Custs:"'" If WthSwt Then WithStmt := ' AND ' WithStmt := ' WITH CUST_NO = ':Custs WthSwt = 1 end else TtlLin3 = 'Customers: ALL' end begin case case Plant = 'All' TtlLin4 = 'Plants: ALL' case Plant = 'Tempe' If WthSwt Then WithStmt := 'AND ' WithStmt := 'WITH WO < 100000 ' TtlLin4 = 'Plants: Tempe' WthSwt = 1 case Plant = 'Mesa' If WthSwt Then WithStmt := 'AND ' WithStmt := 'WITH WO > 100000 ' TtlLin4 = 'Plants: Mesa' WthSwt = 1 end case rlist( WithStmt, target_savelist$, ListsId, '', '' ) activate_save_select( ListsId ) Script = SRptConfig Swap "~Limit5~" With ShipDateLimit In Script RptWdt = SRptConfig Title = obj_Install('Get_Prop','Company'):' ':SRptConfig Margin = INT((RptWdt - LEN(Title))/2) LMargin = Margin - 10 ;* 10 equals length of the date RMargin = Margin - 8 ;* 8 equals length of 'Page....' Title = OCONV(Date(),'D4/'):SPACE(LMargin):Title:SPACE(RMargin):"Page'PP''L'" SWAP '~Title~' WITH Title IN Script TitleLine2 = TtlLin2 TitleLine3 = TtlLin3 TitleLine4 = TtlLin4 IF TitleLine2 NE '' THEN Margin = INT((RptWdt - LEN(TitleLine2))/2) LMargin = Margin - 7 ;* 7 equals length of time (12:15PM) RMargin = Margin TitleLine2 = OCONV(Time(),'MTH'):SPACE(LMargin):TitleLine2:SPACE(RMargin) SWAP '~SecondTitleLine~' WITH TitleLine2 IN Script END ELSE SWAP '~SecondTitleLine~' WITH '' IN Script END IF TitleLine3 NE '' THEN Margin = INT((RptWdt - LEN(TitleLine3))/2) SWAP '~ThirdTitleLine~' WITH "'L'":TitleLine3 IN Script END ELSE SWAP '~ThirdTitleLine~' WITH '' IN Script END IF TitleLine4 NE '' THEN Margin = INT((RptWdt - LEN(TitleLine4))/2) SWAP '~FourthTitleLine~' WITH "'L'":TitleLine4 IN Script END ELSE SWAP '~FourthTitleLine~' WITH '' IN Script END if TableName = 'SCHEDULE_SRL' then swap 'PART_NUM' with 'DESCRIPTION' in Script end * Added after upgrade to OI4.13a to reset default printer in OIPI32 engine. PrintCount = PrintSetup(PRN_GET$,'',Printers,DefaultPrinter) CONVERT ',' TO @FM IN DefaultPrinter DefPrintPath = DefaultPrinter<1>:@FM:DefaultPrinter<3> Void = set_printer( 'INIT', '', '', .63:@fm:.63:@fm:.25:@fm:'', 0,'',DefPrintPath ) Void = Set_Printer('TERM') call slist( Script ) Void = utility( 'CURSOR', 'A' ) write '' on SysListsTable, ListsId else Void = msg( '', 'Unable to clear SYSLISTS ':ListsId:'...' ) return 0 end RETURN 0