'IMMINENT - list all jobs due to be fitted/goods despatched in 3 days time

external   fentrybox() messbox() vloadif() chkdate() sch scw popuplist() Background()
external   dpath remove() makeidx() addidxrec() progress() PrintReport()
external   chkstr() posnpopup() reqnpath messboxwait() strcount() vunloadif()
external   X_path _SWIP_Crystal() Xreppath

public     ptstr ptval ftgperiod jobnr

global     ReturnToMenu() x i $type $jobnrs #jobnrs FittingDate() $chkdate
global     p2 p3 p4 p5 p6 #int PrintUnrecvdList()


MAIN
  	single-step off
	Background()
  	#int=3
  	repaint off

  	FittingDate()							'message "ftgperiod is:"&str(ftgperiod)

  	PrintUnrecvdList()

  	ReturnToMenu()

END MAIN


FUNCTION ReturnToMenu()
  screen clear box 1 1 sch scw 0 0 no-border
  repaint off
  file unload all
  transfer "pm_menu.psl" in-memory
END FUNCTION


FUNCTION FittingDate()
local  f3
  if dayname(today)="Monday"
    f3=days(today)+#int
  elseif dayname(today)="Tuesday"
    f3=days(today)+#int
  elseif dayname(today)="Wednesday"
    f3=days(today)+#int+2
  elseif dayname(today)="Thursday"
    f3=days(today)+#int+2
  elseif dayname(today)="Friday"
    f3=days(today)+#int+2
  elseif dayname(today)="Saturday"
    f3=days(today)+#int+1
  elseif dayname(today)="Sunday"
    f3=days(today)+#int+1
  end if
  ftgperiod = date2(f3)
END FUNCTION ' FittingDate()


FUNCTION PrintUnrecvdList()
	progress(15,10," Searching for incomplete jobs ",0)
  	vloadif(dpath|"goodsout.vws")
  	order change key "[Date_Out]"
  	data query execute "immtjobs.dfq" index "int.idx"
' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
'     days([Date_Out]) > days(today)
'     and
'     days([Date_Out]) <= days(ftgperiod)
' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  	if cerror
    		messboxwait(" NO imminent jobs ",0,0,1)
    		return (1)
  	else
    		data query execute "cplprep2.dfq" index "int2.idx"
' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
'   [RollNr] = "00000/00"
'   or
'   [RollNr] = "BESPOK"
' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
    		if cerror
      		messboxwait(" NO unreceived goods for imminentjobs ",0,0,1)
      		return (1)
	  	else
    			data query execute "cplprep3.dfq" index "int3.idx"
' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
'   [Itemtype]<>"O"
' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
    			if cerror
      			messboxwait(" NO unreceived goods for imminentjobs ",0,0,1)
      			return (1)
    			end if
  		end if
'     		end if
  	end if
  	order sort now dictionary "imm2.idx" fields "[Date_Out]" ascending
  	vunloadif("goodsout.vws")
  	vloadif(dpath|"notrecvd.vw")
  	order change index "imm2.idx"
	vunloadif("X_notrcv.vws")
	remove(X_path|"X_notrcv.*")
	data query execute "not_del.dfq" Smart4 X_path|"X_notrcv" fields\
"[Job_Nr;Fitting;Product_MRC;Description_MRC;QuantOut;Requsn_Nr;Name;Delivery_Quoted;Order_Reference;Date_Ordered;Telephone]"

	_SWIP_Crystal(Xreppath|"Xnotrcv1","S",0,1,"")

END FUNCTION ' PrintUnrecvdList()

