SOUNDEX function in IRIS or Caché?
Is there a way to access a SOUNDEX function from ObjectScript? There is such a function in the multivalue basic dialect and also one used by Patient Index.
Comments
See MultiValue Basic | Caché Alternative Exists for SOUNDEX()
Workaround:
<FONT COLOR="#000080">Class dc.test </FONT><FONT COLOR="#000000">[ </FONT><FONT COLOR="#000080">Abstract </FONT><FONT COLOR="#000000">]
{
</FONT><FONT COLOR="#000080">ClassMethod </FONT><FONT COLOR="#000000">Test()
{
</FONT><FONT COLOR="#0000ff">w </FONT><FONT COLOR="#000000">..</FONT><FONT COLOR="#0000ff">SOUNDEX</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008000">"M"</FONT><FONT COLOR="#000000">),!
</FONT><FONT COLOR="#008000">;or
</FONT><FONT COLOR="#800080">&sql(</FONT><FONT COLOR="#0000ff">select </FONT><FONT COLOR="#008000">SOUNDEX</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008080">'McD'</FONT><FONT COLOR="#000000">) </FONT><FONT COLOR="#000080">into </FONT><FONT COLOR="#800000">:r</FONT><FONT COLOR="#800080">)
</FONT><FONT COLOR="#0000ff">w </FONT><FONT COLOR="#800000">r</FONT><FONT COLOR="#000000">,!
}
</FONT><FONT COLOR="#000080">ClassMethod </FONT><FONT COLOR="#000000">SOUNDEX(</FONT><FONT COLOR="#ff00ff">s</FONT><FONT COLOR="#000000">) </FONT><FONT COLOR="#000080">As %String </FONT><FONT COLOR="#000000">[ </FONT><FONT COLOR="#000080">Language </FONT><FONT COLOR="#000000">= mvbasic, </FONT><FONT COLOR="#000080">SqlName </FONT><FONT COLOR="#000000">= </FONT><FONT COLOR="#008000">SOUNDEX</FONT><FONT COLOR="#000000">, </FONT><FONT COLOR="#000080">SqlProc </FONT><FONT COLOR="#000000">]
{
</FONT><FONT COLOR="#0000ff">RETURN SOUNDEX</FONT><FONT COLOR="#000000">(s)
}
}</FONT>
Result:
USER><FONT COLOR="#0000ff">d </FONT><FONT COLOR="#000080">##class</FONT><FONT COLOR="#000000">(</FONT><FONT COLOR="#008080">dc.test</FONT><FONT COLOR="#000000">).</FONT><FONT COLOR="#0000ff">Test</FONT><FONT COLOR="#000000">()</FONT>
M000
M230