compile function ORDER_SRPT2() 
begin condition
pre:
post:
end condition
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/")

open 'CONFIG' to ConfigTable else
    Void = msg( '', 'Unable to open CONFIG...' )
    return 0
end
ReportID = "ORDER002_SRPTCFG"
Read SRptConfig From ConfigTable,ReportID Else
   Void = msg( '', 'Unable to read ': ReportID:' From CONFIG table!' )
   return 0
End

Params = dialog_box( 'ORDER_SRPT2', @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 = 'ORDER_SRPT2*':@station
write '' on SysListsTable, ListsId else
   Void = msg( '', 'Unable to clear SYSLISTS ':ListsId:'...' )
   return 0
end
convert '*' to @fm in Params
BookFrom     = Params<1>
BookThru     = Params<2>
Custs        = Params<3>

OrderTable = 'ORDER'

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

WithStmt = 'SELECT ':OrderTable:' BY CUST_CITY BY ENTRY_DATE'
Begin Case
   Case BookFrom and BookThru
      WithStmt :=  " WITH ENTRY_DATE FROM '": BookFrom:"' TO '":BookThru: "' "
      TtlLin2 = 'Entry Dates: From ':BookFrom:' To ':BookThru
   Case BookFrom
      WithStmt := " WITH ENTRY_DATE GE '":BookFrom:"' "
      TtlLin2 = 'Entry Dates: From ':BookFrom:' To Latest'
   Case BookThru
      WithStmt := " WITH ENTRY_DATE LE '":BookThru:"' "
      TtlLin2 = 'Entry Dates: From Earliest To ':BookThru
   Case 1
      TtlLin2 = 'Entry 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:"'"
   WithStmt := ' AND WITH CUST_NO = ':Custs

end else
   TtlLin3 = 'Customers: ALL'
end
rlist( WithStmt, target_savelist$, ListsId, '', '' )
activate_save_select( ListsId )

Script = SRptConfig<SlistScript$>

RptWdt = SRptConfig<Width$>

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

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):"'L'"
	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 TitleLine3 IN Script
END ELSE
	SWAP '~ThirdTitleLine~' WITH '' IN Script
END

SWAP '~FourthTitleLine~' WITH '' IN Script

* 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
