Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SDQVAL

SDQVAL.m

Go to the documentation of this file.
  1. SDQVAL ;ALB/MJK - Query Object Validation Methods ;8/12/96
  1. ;;5.3;Scheduling;**131**;Aug 13, 1993
  1. ;
  1. QRY(SDQ,SDERR) ; -- validate query input
  1. ;
  1. ; -- do checks
  1. IF SDQ,$D(@SDQUERY@(SDQ)) Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("QUERY")=SDQ
  1. S SDOUT("QUERY")=SDQ
  1. D BLD(4096800.101,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. QRYINACT(SDQ,SDMSG,SDERR) ; -- is query inactive?
  1. ;
  1. ; -- do checks
  1. IF '$G(@SDQUERY@(SDQ,"ACTIVE")) Q 1
  1. ;
  1. ; -- build error msg indicating that query is active
  1. N SDIN,SDOUT
  1. S SDIN("QUERY")=SDQ
  1. S SDOUT("QUERY")=SDQ
  1. D BLD(4096800.106,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. QRYACT(SDQ,SDMSG,SDERR) ; -- is query active?
  1. ;
  1. ; -- do checks
  1. IF $G(@SDQUERY@(SDQ,"ACTIVE")) Q 1
  1. ;
  1. ; -- build error msg indicating that query is inactive
  1. N SDIN,SDOUT
  1. S SDIN("QUERY")=SDQ
  1. S SDOUT("QUERY")=SDQ
  1. D BLD(4096800.102,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. ACTION(SDACT,SDERR) ; -- validate action input
  1. ;
  1. ; -- do checks
  1. IF SDACT="SET"!(SDACT="GET") Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("ACTION")=SDACT
  1. S SDOUT("ACTION")=SDACT
  1. D BLD(4096800.108,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. FILTER(SDFIL,SDERR) ; -- validate filter input
  1. N X
  1. ;
  1. ; -- do checks
  1. ; S X=SDFIL D ^DIM IF $D(X) Q 1 ; -- bug in DIR/DIM combo
  1. Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("FILTER")=SDFIL
  1. S SDOUT("FILTER")=SDFIL
  1. D BLD(4096800.104,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. INDEX(SDQ,SDIDX,SDERR) ; -- validate index input
  1. ;
  1. ; -- do checks
  1. IF $O(^TMP("SDQUERY CLASS",$J,SDQ,"INDEX","B",SDIDX,0)) Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("INDEX")=SDIDX
  1. S SDOUT("INDEX")=SDIDX
  1. D BLD(4096800.105,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. STATUS(SDSTA,SDERR) ; -- validate active status
  1. ;
  1. ; -- do checks
  1. IF SDSTA="TRUE"!(SDSTA="FALSE") Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("STATUS")=SDSTA
  1. S SDOUT("STATUS")=SDSTA
  1. D BLD(4096800.103,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. PAT(DFN,SDERR) ; -- validate DFN input
  1. ;
  1. ; -- do checks
  1. IF DFN,$D(^DPT(DFN,0)) Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("ID")=DFN
  1. S SDOUT("ID")=DFN
  1. D BLD(4096800.002,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. RANGE(SDBEG,SDEND,SDERR) ; -- validate date range
  1. ;
  1. ; -- do checks
  1. ; **** ADD MORE CHECKS HERE! ****
  1. IF SDBEG,SDEND,SDBEG'>SDEND Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("BEGIN")=SDBEG
  1. S SDIN("END")=SDEND
  1. S SDOUT("BEGIN")=SDBEG
  1. S SDOUT("END")=SDEND
  1. D BLD(4096800.022,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. PROP(SDQ,SDERR) ; -- are properties set for execution
  1. N SDTYPE,SDOK,SDPROP
  1. S SDOK=1,SDPROP=""
  1. S SDTYPE=+$G(@SDQUERY@(SDQ,"INDEX TYPE"))
  1. ;
  1. ; -- do checks
  1. ; -- check if type is invalid
  1. IF SDTYPE=0!(SDTYPE>4) D
  1. . S SDOK=0
  1. . S SDPROP=SDPROP_"INDEX / "
  1. ;
  1. ; -- if type is regular or composite date range
  1. IF SDTYPE=1!(SDTYPE=4),$G(@SDQUERY@(SDQ,"MASTER VALUE"))="" D
  1. . S SDOK=0
  1. . S SDPROP=SDPROP_$G(@SDQUERY@(SDQ,"INDEX EXTERNAL"))_" / "
  1. ;
  1. ;
  1. ; -- if type is regular date range or composite date range
  1. IF SDTYPE=2!(SDTYPE=4) D
  1. . IF $G(@SDQUERY@(SDQ,"BEGIN DATE"))="" D Q
  1. . . S SDOK=0
  1. . . S SDPROP=SDPROP_"BEGIN DATE / "
  1. . ;
  1. . IF $G(@SDQUERY@(SDQ,"END DATE"))="" D Q
  1. . . S SDOK=0
  1. . . S SDPROP=SDPROP_"END DATE / "
  1. ;
  1. ;
  1. ; -- if type is composite (currently not supported [10/97])
  1. IF SDTYPE=3 D
  1. . S SDOK=0
  1. . S SDPROP=SDPROP_"NO SUPPORTED / "
  1. ;
  1. ;
  1. ; -- build error msg
  1. IF 'SDOK D
  1. . N SDIN,SDOUT
  1. . S SDIN("PROPERTIES")=SDPROP
  1. . S SDOUT("PROPERTIES")=SDPROP
  1. . D BLD(4096800.109,.SDIN,.SDOUT,$G(SDERR))
  1. ;
  1. PROPQ Q SDOK
  1. ;
  1. ;
  1. SCAN(SDQ,SDERR) ; -- is everything set up for SCAN to proceed?
  1. ;
  1. ; -- do checks
  1. ; -- is callback defined
  1. IF $G(@SDQUERY@(SDQ,"SCAN APP CALLBACK"))]"" Q 1
  1. ;
  1. ; -- build error msg
  1. D BLD(4096800.112,"","",$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. SCANCB(SDCB,SDERR) ; -- is scan callback valid M code?
  1. N X
  1. ;
  1. ; -- do checks
  1. ;S X=SDCB D ^DIM IF $D(X) Q 1 ; -- bug in DIR/DIM combo
  1. Q 1
  1. ;
  1. ; -- build error msg
  1. N SDIN,SDOUT
  1. S SDIN("CALLBACK")=SDCB
  1. S SDOUT("CALLBACK")=SDCB
  1. D BLD(4096800.113,.SDIN,.SDOUT,$G(SDERR))
  1. Q 0
  1. ;
  1. ;
  1. BLD(SDMSG,SDIN,SDOUT,SDERR) ; -- build message
  1. D BLD^DIALOG(SDMSG,.SDIN,.SDOUT,$G(SDERR),"F")
  1. IF $G(SDEBUG) D
  1. . D MSG^DIALOG("WES","","",5,$G(SDERR))
  1. . N DIR
  1. . S DIR(0)="E",DIR("A")="Press RETURN to continue"
  1. . W ! D ^DIR
  1. Q
  1. ;