Question
· Oct 7, 2017

Class parameter in class query

Is it possible to use a class parameter in class query?

Example:

Class SomeClass
{

Parameter SOMENAME = "Name1";

Query SomeQuery() As %SQLQuery
{
SELECT ID || ..#SOMENAME  || Name FROM Table
}

}
Discussion (3)0
Log in or sign up to continue
Class dc.SomeClass
{

Parameter SOMENAME = "Name1";

Query SomeQuery(SOMENAME = {..#SOMENAME}) As %SQLQuery
{
  SELECT ID || :SOMENAME || Name FROM Table1
}

Query SomeQuery1() As %SQLQuery
{
  #define SOMENAME ##Expression("'"_$parameter("dc.SomeClass","SOMENAME")_"'")
  SELECT ID || $$$SOMENAME || Name FROM Table1
}

Query SomeQuery2() As %SQLQuery
{
  #define SOMENAME ##Expression("'"_##class(dc.SomeClass).#SOMENAME_"'")
  SELECT ID || $$$SOMENAME || Name FROM Table1
}

ClassMethod Test()
{
  ;d ##class(dc.SomeClass).Test()
  
  rs=##class(%ResultSet).%New("dc.SomeClass:SomeQuery")
  sc=rs.Execute()
  i $$$ISERR(sc{
    d $System.Status.DisplayError(sc)
  else {
    rs.%Display()
  }
}
}