#include %occErrors #include %occStatus // Koppeling tussen User en IP adres / IO-device = #define clNone $ZH("000000") #define clRed $ZH("000000") #define IctUserFromIP(%ip) $Case($P(%ip,".",3,4), "1.15":"pv", "1.27":"cw", "1.97":"wv", "1.127":"jbl", "1.138":"wro", "1.150":"pra", "1.191":"csc" , "1.195":"jcl", "1.204":"fma" , "1.205":"wv", "1.206":"jcl", "1.49":"csc", "1.95":"jbl","1.42":"mvi","1.51":"mvi",:"") #define UserFromDevice(%v) $$$TextBetween(%v,"|TNT|","_") #define IctUserFromDevice(%v) $Select($$$UserFromDevice(%v)?1(1"pv",1"cw",1"wv",1"jbl",1"wro",1"pra",1"jcl",1"fma",1"csc",1"mvi"):$$$UserFromDevice(%v), 1:"") #define IctSysOp "ICT_SysOp@vanhoecke.be" #define IctMeldingen "ICT_Meldingen@vanhoecke.be" // Constants #define CRLF $C(13,10) #define TAB $C(9) #define NUL $C(0) #define D "\" #define PI 3.141592 // Math #define Min(%v1,%v2) $S(%v1<%v2:%v1, 1:%v2) #define Max(%v1,%v2) $S(%v1>%v2:%v1, 1:%v2) #define Not(%v) '(%v) #define ValIsBetween(%v,%min,%max) ((%v'<(%min))&&(%v'>(%max))) #define true 1 #define True 1 #define false 0 #define False 0 #define Timestamp(%timearg) $zdatetime(%timearg,3,,6) // Time Conversion #define FormatHMS(%v) $TR("HRu MNmin SCs.","HR:MN:SC",$ZT(%v,1)) #define FormatYMDHMS(%v,%sep) $TR($ZDT(%v,8)," :",%sep) // Cache Objects ($$$METH... --> zie %occReference2.INC) #define Server $zconvert($ZU(110),"U") #define NSpace $ZU(5) #define IsClassMethod(%cls,%mth) $$$METHclassmethod($$$MGINFO,%cls,%mth) #define IsWebMethod(%cls,%mth) $$$METHwebmethod($$$MGINFO,%cls,%mth) #define MethodID(%cls,%mth) $$$METHid($$$MGINFO,%cls,%mth) #define IsMethod(%cls,%mth) ($$$MethodID(%cls,%mth)>0) // String #define Strip(%v) $ZSTRIP(%v,"<>CW") #define Trim(%v) $ZSTRIP(%v,"<>W") #define DePunc(%v) $TR($G(%v),",?;.:/=+-_&|'(!)~{}[]^`%$=<>""","") #define DeSpace(%v) $translate(%v," ","") #define UCase(%v) $ZCVT(%v,"U") #define LCase(%v) $ZCVT(%v,"L") // FCase: First character UpperCase, rest is unchanged #define FCase(%v) $ZCVT($E(%v,1),"U")_$E(%v,2,$L(%v)) #define Right(%v,%n) $E(%v,$L(%v)-%n+1,999) #define RightN(%v,%n) $E(%v,$L(%v)-%n+1,999) #define Right1(%v) $E(%v,$L(%v)) #define LastPiece(%v,%d) $P(%v, %d, $L(%v,%d)) #define TextBetween(%v,%f,%t) $P($P(%v,%f,2),%t,1) #define Replace(%v,%f,%t) $$Replace^vhLib.String(%v,%f,%t) // PieceFind: analoog aan $Find(String,SubString) en $ListFind(), maar nu ook de Delimiter opgeven #define PieceFind(%s,%ss,%d) $L($P(%s,%ss),%d) // StartsWith and StartsWithVar : als de tweede parameter (%ss) een variabele is, gebruik $$$StartsWithVar(), voor vaste tekst als zoekstring: gebruik $$$StartsWith() . #define StartsWith(%s,%ss) (%s?1%ss.E) #define StartsWithVar(%s,%ss) (($P(%s,%ss,1)="")&&($L(%s))) #define Contains(%s,%ss) ($F(%s,%ss)>0) //Excel format #define ExcelNum(%v) $$ExcelNum^vhLib(%v) #define ExcelDat(%v) $$EXTDATE^vhLib.DataTypes(%v,"DK") #define ExcelDateAsNum(%v) %v-21548 #define ExcelTime(%v) $zt(%v) // Arrays #define NodeHasData(%v) $D(%v)#10 #define NodeHasSubNodes(%v) $D(%v)>1 #define aHasData(%v) $D(%v)#10 #define aHasSubNodes(%v) $D(%v)>1 /* #define ArrayTT(%r) $C(13,10)_$$ArrayToText^vhLib(%r) */ #def1arg ArrayTT(%r) $C(13,10)_$$ArrayToText^vhLib(%r) #define ArrayTT2(%r,%a) $C(13,10)_$$ArrayToText^vhLib(%r,%a) #define ArrayTT3(%r,%o,%p) $C(13,10)_$$ArrayToText^vhLib(%r,%o,%p) // ListBuilds #define LCVT(%v) $$LCVT^vhLib(%v) #define IsList(%v) $$IsList^vhLib(%v) #define LBDeleteAt(%lb,%i) $LI(%lb,1,%i-1)_$LI(%lb,%i+1,-1) #define DoLBDeleteAt(%lb,%i) Set $LI(%lb,%i,%i)="" #define DoLBDeleteAtIf(%c,%lb,%i) Set:(%c) $LI(%lb,%i,%i)="" // CSP-HTML-URL #define HTML(%v) $$ConvertToHTML^vhRtn1(%v) #define HTML2(%v) $ZCVT(%v,"O","HTML") #define QuoteJS(%v) ##class(%CSP.Page).QuoteJS(%v) #define URL(%v) $ZCVT(%v,"O","URL") #define XML(%v) $ZCVT(%v,"O","UTF8") /* // Gebruik van LBDeleteAt: // =-=-=-=-=-=-=-=-=-=-=-= $$$DoLBDeleteAt(MyLB,5) $$$DoLBDeleteAtIf(Cond,MyLB,5) If (cond) $$$DoLBDeleteAt(MyLB,5) */ #define ClassParameter(%v) ##class(%Library.CompiledParameter).%OpenId(%v).Default #define AddErrorToList(%List,%Code,%Desc) set %List = %List _ $listbuild($listbuild(%Code,%Desc)) #define SystemMail(%v) """"_%v_""" " #define Lock(%i,%t) Lock +^LOCKS(%i):%t #define LockObj(%o,%i,%t) Lock +^LOCKS(%o.%ClassName(1),%i):%t #define LockObjCon(%p,%o,%i,%t) Lock:%p +^LOCKS(%o.%ClassName(1),%i):%t #define UnLock(%i) Lock -^LOCKS(%i) #define UnLockObj(%o,%i) Lock -^LOCKS(%o.%ClassName(1),%i) #define UnLockObjCon(%p,%o,%i) Lock:%p -^LOCKS(%o.%ClassName(1),%i) #define StripC0(%Local) $S($C(0)[$G(%Local):"",1:%Local) #define LeftPadding(%s,%l,%c) $translate($justify(%s,%l)," ",$select(%c="":0,1:%c)) #define ConfigGetString(%s) ##class(TECH.Config.ConfigMgr).Instance().GetString(%s) #define ConfigGetBoolean(%s) ##class(TECH.Config.ConfigMgr).Instance().GetBoolean(%s)