compile function WO_LOG_SRPT1() 
declare function msg, send_event, dialog_box, utility, Set_Printer, PrintSetup, obj_Install
declare subroutine rlist, activate_save_select,  or_view
$insert rlist_equates
$insert msg_equates
$insert rpt_cfg_equ
$INSERT PRINTSETUP_EQUATES


TimeX = Oconv(Time(),'MTS')

CrLf = Char(13):Char(10) 
CurDte = OCONV(Date(),"D4/")

ReportID = "WO_LOG001_SRPTCFG"
ReportControl = "WO_LOG_SRPT1"
TableName = 'WO_LOG'
ListsId = ReportControl:'*':@station

TtlLin1 = ''
TtlLin2 = ''
TtlLin3 = ''
TtlLin4 = ''
TtlLin5 = ''

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


convert '*' to @fm in Params
Scheduled      = Params<1>
SpecTypes      = Params<2>
EntryDateFrom  = Params<3>
EntryDateThru  = Params<4>

Void = utility( 'CURSOR', 'H' )

WithStmt = 'SELECT ':TableName:' '
WthSwt = 0
if Scheduled then
   WithStmt := "WITH SCHEDULED = 'Yes'"
   TtlLin2 = 'Scheduled Work Orders'
   WthSwt = 1
end else
   WithStmt := "WITH SCHEDULED = 'No'"
   TtlLin2 = 'Not Scheduled Work Orders'
   WthSwt = 1   
end

Begin Case
   Case EntryDateFrom and EntryDateThru
      WithStmt :=  " AND WITH ENTRY_DATE FROM '": EntryDateFrom:"' TO '":EntryDateThru: "' "
      TtlLin3 = 'Entry Dates: From ':EntryDateFrom:' To ':EntryDateThru
   Case EntryDateFrom
      WithStmt := " AND WITH ENTRY_DATE GE '":EntryDateFrom:"' "
      TtlLin3 = 'Entry Dates: From ':EntryDateFrom:' To Latest'
   Case EntryDateThru
      WithStmt := " AND WITH ENTRY_DATE LE '":EntryDateThru:"' "
      TtlLin3 = 'Entry Dates: From Earliest To ':EntryDateThru
   Case 1
      TtlLin3 = 'Entry Dates: ALL'
End Case

* MUST DO THE INITIAL SELECT AGAINST THE SCHEDULED FIELD CAUSE IT IS INDEXED
rlist( WithStmt, target_savelist$, ListsId, '', '' )
activate_save_select( ListsId )

if @reccount else
   return 0
end

WithStmt = 'SELECT ':TableName:' '
WthSwt = 0

If SpecTypes then
   SpecTypesOut = oconv( SpecTypes, '[SPEC_TYPE_CONV]' )
   TtlLin4 = 'Specification Types ':SpecTypesOut
   swap @vm with ", " in TtlLin4   
   swap @vm with "' '" in SpecTypes
   SpecTypes = "'":SpecTypes:"'"
   WithStmt := ' WITH SPEC_TYPE = ':SpecTypes
   WthSwt = 1
   rlist( WithStmt, target_savelist$, ListsId, '', '' )
   activate_save_select( ListsId )   
end else
   TtlLin4 = 'Specification Types ALL'
end

*OsWrite WithStmt To 'C:\WithStmt.Txt'


Script = SRptConfig<SlistScript$>

*SEE SCHED_SRPT1 FOR LIMITS CLAUSE...

RptWdt = SRptConfig<Width$>

Title	= obj_Install('Get_Prop','CompTitle'):' ':SRptConfig<Title$>
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

*OsWrite Script To "C:\SLIST.txt"

* 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' )



RETURN 0
