$AlphNum: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
m (add italics)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
<p>
<p>
The <var>$AlphNum</var> function verifies whether a string is composed only of characters that are valid in the specified (or default) language, and digits 0 through 9.  
The <var>$AlphNum</var> function verifies whether a string is composed only of characters that are valid in the specified (or default) language, and digits 0 through 9. </p>
<ul>
<li>1 is returned for a true condition.</li>
<li>0 is returned for a false condition if there are any spaces or punctuation marks in the string, or if the string is null.</li>
</ul></p>


==Syntax==
==Syntax==
<p class="syntax">$AlphNum(<span class="term">string</span>[,<span class="term">language</span>])
<p class="syntax"><span class="term">%result</span> = $AlphNum(<span class="term">string</span>[,<span class="term">language</span>])
</p>
</p>
<p>
 
Where:</p>
<table>
<tr><th>%result</th>
<td>A numeric variable that contains:
<ul>
<ul>
<li>The <var class="term">string</var> argument represents the characters to verify, which must be one of the following:
<li>1, for a true condition.</li>
<li>0, for a false condition if one of these occurs:
<ul>
<ul>
<li>A string of characters enclosed in quotation marks.</li>
<li><var class="term">string</var> contains spaces or punctuation marks</li>
 
<li><var class="term">string</var> is null</li>
<li>A %variable.</li>
 
<li>A field name that is not enclosed in quotation marks. In this case, the function call must be embedded in a <var>FOR EACH RECORD</var> loop where the current value of the field is verified.</li>
</ul></li>
</ul></li>
</ul></td></tr>


<li>The optional <var class="term">language</var> argument specifies the language to use. The language argument is handled as follows:
<tr><th>string</th>
<td>The string to be verified. <var class="term">string</var> must be one of the following:
<ul>
<ul>
<li>If the <var class="term">language</var> argument is omitted, <var class="product">Model&nbsp;204</var> performs the validation in U.S. English (even if the value of the <var>LANGUSER</var> parameter is not US) and lowercase characters are not recognized.</li>
<li>A literal enclosed in quotation marks</li>
<li>A [[Using_variables_and_values_in_computation|%variable]]</li>
<li>A field name that is not enclosed in quotation marks. In this case, the function call must be embedded in a <var>[[Record loops#FOR EACH RECORD statement|FOR EACH RECORD]]</var> loop where the current value of the field is verified.</li>
</ul></td></tr>


<li>An asterisk enclosed in quotation marks (<tt>'*'</tt>) instructs <var class="product">Model&nbsp;204</var> to use the value of the <var>LANGUSER</var> parameter.
<tr><th>language</th>
<td>An optional string that specifies the language to use. <var class="term">language</var> is handled as follows:
<ul>
<li>You can enter a literal enclosed in quotation marks or a %variable containing a valid language name. If the value you enter is not a supported language, the request is canceled with an error message. See the <var>[[LANGUSER parameter|LANGUSER]]</var> parameter for the valid values.
</li>
</li>


<li>You can enter the name of a valid language enclosed in quotation marks or a %variable containing a valid language. If the value you enter is not supported, the request is canceled with an error message. See the <var>[[LANGUSER parameter|LANGUSER]]</var> parameter for the valid values.</li>
<li>If you omit the <var class="term">language</var> argument, <var class="product">Model&nbsp;204</var> performs the validation in U.S. English, even if the value of the <var>LANGUSER</var> parameter is not <code>US</code>, and lowercase characters are not recognized.</li>
</ul>
 
</li>
<li>An asterisk enclosed in quotation marks (<tt>'*'</tt>) instructs <var class="product">Model&nbsp;204</var> to use the value of the <var>LANGUSER</var> parameter. </li>
</ul>
</ul></td></tr>
</table>


==Examples==
==Examples==
Line 110: Line 115:
</p>
</p>


<p class="note"><b>Note:</b> For upward compatibility reasons, <var>$Alpha</var> and <var>$AlphNum</var> do not recognize lowercase English letters as alphabetic characters unless a non-null language parameter is specified.</p>
<p class="note"><b>Note:</b> For upward compatibility reasons, <var>[[$Alpha|$Alpha]]</var> and <var>$AlphNum</var> do not recognize lowercase English letters as alphabetic characters unless a non-null language parameter is specified.</p>


[[Category:SOUL $functions]]
[[Category:SOUL $functions]]

Latest revision as of 20:07, 8 January 2018

The $AlphNum function verifies whether a string is composed only of characters that are valid in the specified (or default) language, and digits 0 through 9.

Syntax

%result = $AlphNum(string[,language])

%result A numeric variable that contains:
  • 1, for a true condition.
  • 0, for a false condition if one of these occurs:
    • string contains spaces or punctuation marks
    • string is null
string The string to be verified. string must be one of the following:
  • A literal enclosed in quotation marks
  • A %variable
  • A field name that is not enclosed in quotation marks. In this case, the function call must be embedded in a FOR EACH RECORD loop where the current value of the field is verified.
language An optional string that specifies the language to use. language is handled as follows:
  • You can enter a literal enclosed in quotation marks or a %variable containing a valid language name. If the value you enter is not a supported language, the request is canceled with an error message. See the LANGUSER parameter for the valid values.
  • If you omit the language argument, Model 204 performs the validation in U.S. English, even if the value of the LANGUSER parameter is not US, and lowercase characters are not recognized.
  • An asterisk enclosed in quotation marks ('*') instructs Model 204 to use the value of the LANGUSER parameter.

Examples

The following example illustrates the string and language arguments as literals enclosed in quotation marks:

Function code... Returns...

$alphnum ('JOHN','US')

1

$alphnum ('MÂCON','FRENCHC')

1

$alphnum ('MÂCON','US')

0

$alphnum ('JOHN SMITH','US')

0

$alphnum ('ÎLE D'ORLÉANS','FRENCHC')

0

$alphnum ('12A','US')

1

$alphnum ('12A','FRENCHC')

1

In the following example, the request sorts by name and processes records whose designated field value does not meet the $AlphNum criteria. The second argument in the $AlphNum call instructs Model 204 to use French Canadian to perform the validation:

BEGIN %SEARCH = $READ('ENTER FIELD NAME') FIND.RECS: FIND ALL RECORDS FOR WHICH RECTYPE = POLICYHOLDER END FIND PLACE RECORDS IN FIND.RECS ON LIST BAD FOR EACH RECORD IN FIND.RECS IF $alphnum(%%SEARCH,'FRENCHC') THEN REMOVE RECORD FROM LIST BAD END IF END FOR SORT.RECS: SORT RECORDS ON LIST BAD BY FULLNAME FOR EACH RECORD IN SORT.RECS . . . END

Note: For upward compatibility reasons, $Alpha and $AlphNum do not recognize lowercase English letters as alphabetic characters unless a non-null language parameter is specified.