User bio
24 Years Caché, Ensemble, HealthShare & IRIS experience in health care.
Software Engineer Integration Specialist Frontend Developer Solution Architect
Software Engineer Integration Specialist Frontend Developer Solution Architect
Member since Mar 24, 2017
Posts:
Replies:
ClassMethod OnPage() As %Status [ ServerOnly = 1 ]
{
//just the query string...
set qs=%request.CgiEnvs("QUERY_STRING")
//SOLUTION 1: $piece only
set externalCenterCode=$p(qs,":")
set startDateRange=$p($p(qs,":authoredOn=le",2),":")
set endDataRange=$p($p(qs,":authoredOn=ge",2),":")
//SOLUTION 2: generic solution if params grow
for i=1:1:$l(qs,":") {
set nvp=$p(qs,":",i),name=$p(nvp,"=",1),value=$p(nvp,"=",2)
//fix the quirks
if value="" set value="name",name="ecc"
if name="authoredOn" set name=$e(value,1,2),value=$e(value,3,*)
set params(name)=value
}
//SOLUTION 3: regex(ish) solution
set code=$p(qs,":")
set loc=$locate(qs,"le\d{4}-\d{2}-\d{2}")
set start=$e(qs,loc+2,loc+11)
set loc=$locate(qs,"ge\d{4}-\d{2}-\d{2}")
set end=$e(qs,loc+2,loc+11)
//some helper code to dump the variables into the CSP page
write !,"<pre>"
zwrite
//use this to take a good look at the request object...
zwrite %request
write !,"</pre>"
quit $$$OK
}
Here are three solutions and a couple of inline tips, including your request for regex example
I wouldn't worry too much about using $piece, its very common to use it in this way
Eduards comment above also has a fourth suggestion to use $lfs (list from string) which is also commonly used as a way of piecing out data
Open Exchange applications:
Followers:
Following:
Sean has not followed anybody yet.
Global Masters badges:







I guess
select id from users where %ID=2
would give you 3