Statement syntax: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
Line 96: Line 96:
<p class="syntaxUL"><b><sup>(C)</sup></b>BACKOUT</p>
<p class="syntaxUL"><b><sup>(C)</sup></b>BACKOUT</p>
   
   
<hr>
===BYPASS===
   
   
<p class="syntaxUL">BYPASS <span class="squareb">[</span>PENDING STATEMENT<span class="squareb">]</span> </p>
<p class="syntaxUL">BYPASS <span class="squareb">[</span>PENDING STATEMENT<span class="squareb">]</span> </p>
   
   
<hr>
===CALL===
   
   
<p class="syntaxUL">CALL <span class="squareb">{</span><span class="term">label</span> <span class="squareb">|</span> <span class="term">subname</span>
<p class="syntaxUL">CALL <span class="squareb">{</span><span class="term">label</span> <span class="squareb">|</span> <span class="term">subname</span>
Line 106: Line 106:
</p>
</p>
   
   
<hr>
===CHANGE===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>CHANGE <span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span> <span class="squareb">[</span>= <span class="term">value1</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">]</span> TO (<span class="term">value2</span> <span class="squareb">|</span> (<span class="term">expression</span>))
<p class="syntaxUL"><b><sup>(**)</sup></b>CHANGE <span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span> <span class="squareb">[</span>= <span class="term">value1</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">]</span> TO (<span class="term">value2</span> <span class="squareb">|</span> (<span class="term">expression</span>))
Line 113: Line 113:
</p>
</p>
   
   
<hr>
===CLEAR===
   
   
<p class="syntaxUL">CLEAR <span class="squareb">{</span><span class="squareb">[</span><span class="squareb">[</span>ALL <span class="squareb">|</span> TEMP <span class="squareb">|</span> LISTFDST <span class="squareb">|</span> POSITION<span class="squareb">]</span> <span class="squareb">[</span>GLOBAL<span class="squareb">]</span><span class="squareb">]</span> OBJECTS
<p class="syntaxUL">CLEAR <span class="squareb">{</span><span class="squareb">[</span><span class="squareb">[</span>ALL <span class="squareb">|</span> TEMP <span class="squareb">|</span> LISTFDST <span class="squareb">|</span> POSITION<span class="squareb">]</span> <span class="squareb">[</span>GLOBAL<span class="squareb">]</span><span class="squareb">]</span> OBJECTS
Line 122: Line 122:
</p>
</p>
   
   
<hr>
===CLEAR LIST===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>CLEAR LIST <span class="term">listname</span> </p>
<p class="syntaxUL"><b><sup>(*)</sup></b>CLEAR LIST <span class="term">listname</span> </p>
   
   
<hr>
===CLEAR ON===
   
   
<p class="syntaxUL">CLEAR ON
<p class="syntaxUL">CLEAR ON
Line 134: Line 134:
</p>
</p>
   
   
<hr>
===CLEAR TAG===
   
   
<p class="syntaxUL">CLEAR TAG <span class="squareb">{</span><span class="term">screenname</span> <span class="squareb">|</span> <span class="term">%screenname</span>:<span class="term">inputname</span><span class="squareb">}</span>
<p class="syntaxUL">CLEAR TAG <span class="squareb">{</span><span class="term">screenname</span> <span class="squareb">|</span> <span class="term">%screenname</span>:<span class="term">inputname</span><span class="squareb">}</span>
</p>
</p>
   
   
<hr>
===CLOSE===
   
   
<p class="syntaxUL">CLOSE
<p class="syntaxUL">CLOSE
Line 146: Line 146:
</p>
</p>
   
   
<hr>
===CLOSE PROCESS===
   
   
<p class="syntaxUL"><b><sup>(+C)</sup></b>CLOSE PROCESS
<p class="syntaxUL"><b><sup>(+C)</sup></b>CLOSE PROCESS
Line 160: Line 160:
</p>
</p>
   
   
<hr>
===COMMIT===
   
   
<p class="syntaxUL">COMMIT <span class="squareb">[</span>RELEASE<span class="squareb">]</span></p>
<p class="syntaxUL">COMMIT <span class="squareb">[</span>RELEASE<span class="squareb">]</span></p>
   
   
<hr>
===CONFIRM===
   
   
<p class="syntaxUL"><b><sup>(+)</sup></b>CONFIRM <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(+)</sup></b>CONFIRM <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
         REQSEND <span class="term">%variable</span></p>
         REQSEND <span class="term">%variable</span></p>
   
   
<hr>
===CONFIRMED===
   
   
<p class="syntaxUL"><b><sup>(+)</sup></b>CONFIRMED <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(+)</sup></b>CONFIRMED <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
</p>
</p>
   
   
<hr>
===CONTINUE===
   
   
<p class="syntaxUL">CONTINUE</p>
<p class="syntaxUL">CONTINUE</p>
   
   
<hr>
===COUNT OCCURRENCES OF===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>COUNT OCCURRENCES OF <span class="term">fieldname</span></p>
<p class="syntaxUL"><b><sup>(**)</sup></b>COUNT OCCURRENCES OF <span class="term">fieldname</span></p>
   
   
<hr>
===COUNT RECORDS===
   
   
<p class="syntaxUL">COUNT RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span></p>
<p class="syntaxUL">COUNT RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span></p>
   
   
<hr>
===DECLARE===
   
   
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> <span class="term">declaration</span>
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> <span class="term">declaration</span>
Line 244: Line 244:
</div> <!-- type indentation -->
</div> <!-- type indentation -->
   
   
<hr>
===DEFAULT CURSOR===
   
   
<p class="syntaxUL">DEFAULT CURSOR <span class="squareb">[</span>READ <span class="squareb">|</span> REREAD <span class="squareb">|</span> PRINT<span class="squareb">]</span>
<p class="syntaxUL">DEFAULT CURSOR <span class="squareb">[</span>READ <span class="squareb">|</span> REREAD <span class="squareb">|</span> PRINT<span class="squareb">]</span>
Line 250: Line 250:
</p>
</p>
   
   
<hr>
===DEFAULT===
   
   
<p class="syntaxUL">DEFAULT <span class="squareb">{</span>TITLE
<p class="syntaxUL">DEFAULT <span class="squareb">{</span>TITLE
Line 259: Line 259:
</p>
</p>
   
   
<hr>
===DEFAULT SKIP===
   
   
<p class="syntaxUL">DEFAULT SKIP <span class="term">n</span> POSITIONS<span class="squareb">[</span>S<span class="squareb">]</span>
<p class="syntaxUL">DEFAULT SKIP <span class="term">n</span> POSITIONS<span class="squareb">[</span>S<span class="squareb">]</span>
Line 276: Line 276:
</p>
</p>
   
   
<hr>
===DELETE===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>DELETE <span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span> <span class="squareb">[</span><b></b>= <span class="term">value</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">]</span>
<p class="syntaxUL"><b><sup>(**)</sup></b>DELETE <span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span> <span class="squareb">[</span><b></b>= <span class="term">value</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">]</span>
</p>
</p>
   
   
<hr>
===DELETE EACH===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>DELETE EACH <span class="term">fieldname</span></p>
<p class="syntaxUL"><b><sup>(**)</sup></b>DELETE EACH <span class="term">fieldname</span></p>
   
   
<hr>
===DELETE RECORD===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>DELETE RECORD </p>
<p class="syntaxUL"><b><sup>(**)</sup></b>DELETE RECORD </p>
   
   
<hr>
===DELETE RECORDS===
   
   
<p class="syntaxUL">DELETE <span class="squareb">[</span>ALL<span class="squareb">]</span> RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
<p class="syntaxUL">DELETE <span class="squareb">[</span>ALL<span class="squareb">]</span> RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
</p>
</p>
   
   
<hr>
===END BLOCK===
   
   
<p class="syntaxUL">END BLOCK <span class="term">label</span> </p>
<p class="syntaxUL">END BLOCK <span class="term">label</span> </p>
   
   
<hr>
===END===
   
   
<p class="syntaxUL">END <span class="squareb">{</span>FIND <span class="squareb">|</span> IF <span class="squareb">|</span> FOR <span class="squareb">|</span> ON <span class="squareb">|</span> REPEAT <span class="squareb">|</span> STORE <span class="squareb">|</span> SUBROUTINE<span class="squareb">}</span> [<span class="term">label</span><span class="squareb">]</span>
<p class="syntaxUL">END <span class="squareb">{</span>FIND <span class="squareb">|</span> IF <span class="squareb">|</span> FOR <span class="squareb">|</span> ON <span class="squareb">|</span> REPEAT <span class="squareb">|</span> STORE <span class="squareb">|</span> SUBROUTINE<span class="squareb">}</span> [<span class="term">label</span><span class="squareb">]</span>
Line 311: Line 311:
<p class="syntaxUL">END <span class="squareb">[</span>MORE <span class="squareb">|</span> NORUN <span class="squareb">|</span> USE<span class="squareb">]</span>...</p>
<p class="syntaxUL">END <span class="squareb">[</span>MORE <span class="squareb">|</span> NORUN <span class="squareb">|</span> USE<span class="squareb">]</span>...</p>
   
   
<hr>
===END UPDATE===
   
   
<p class="syntaxUL">END UPDATE</p>
<p class="syntaxUL">END UPDATE</p>
   
   
<hr>
===FILE RECORDS===
   
   
<p class="syntaxUL">FILE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
<p class="syntaxUL">FILE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
Line 321: Line 321:
</p>
</p>
   
   
<hr>
===FIND RECORDS===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>FIND <span class="squareb">[</span>AND RESERVE<span class="squareb">]</span> <span class="squareb">[</span>ALL<span class="squareb">]</span> RECORDS
<p class="syntaxUL"><b><sup>(*)</sup></b>FIND <span class="squareb">[</span>AND RESERVE<span class="squareb">]</span> <span class="squareb">[</span>ALL<span class="squareb">]</span> RECORDS
Line 327: Line 327:
     <span class="squareb">[</span>FOR WHICH <span class="squareb">|</span> WITH<span class="squareb">]</span> <span class="term">[[#Retrieval condition syntax|retrieval-conditions]]</span></p>
     <span class="squareb">[</span>FOR WHICH <span class="squareb">|</span> WITH<span class="squareb">]</span> <span class="term">[[#Retrieval condition syntax|retrieval-conditions]]</span></p>
   
   
<hr>
===FIND VALUES OF===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>FIND <span class="squareb">[</span>ALL<span class="squareb">]</span> VALUES OF <span class="term">fieldname</span>
<p class="syntaxUL"><b><sup>(*)</sup></b>FIND <span class="squareb">[</span>ALL<span class="squareb">]</span> VALUES OF <span class="term">fieldname</span>
Line 334: Line 334:
</p>
</p>
   
   
<hr>
===FIND AND PRINT COUNT===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>FIND AND PRINT COUNT <span class="squareb">[</span><span class="term">[[#Retrieval condition syntax|retrieval-conditions]]</span>
<p class="syntaxUL"><b><sup>(*)</sup></b>FIND AND PRINT COUNT <span class="squareb">[</span><span class="term">[[#Retrieval condition syntax|retrieval-conditions]]</span>
</p>
</p>
   
   
<hr>
===FIND WITHOUT LOCKS===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b><span class="squareb">{</span>FIND WITHOUT LOCKS <span class="squareb">|</span> FDWOL<span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(*)</sup></b><span class="squareb">{</span>FIND WITHOUT LOCKS <span class="squareb">|</span> FDWOL<span class="squareb">}</span>
Line 346: Line 346:
</p>
</p>
   
   
<hr>
===FLUSH PROCESS===
   
   
<p class="syntaxUL">FLUSH PROCESS <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span></p>
<p class="syntaxUL">FLUSH PROCESS <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span></p>
   
   
<hr>
===FOR EACH OCCURRENCE===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>OCCURRENCE <span class="squareb">|</span> OCCURRENCES<span class="squareb">}</span> <span class="term">OF fieldname</span>
<p class="syntaxUL"><b><sup>(**)</sup></b>FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>OCCURRENCE <span class="squareb">|</span> OCCURRENCES<span class="squareb">}</span> <span class="term">OF fieldname</span>
</p>
</p>
   
   
<hr>
===FOR EACH RECORD===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>RECORD <span class="squareb">|</span> RECORDS<span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(*)</sup></b>FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>RECORD <span class="squareb">|</span> RECORDS<span class="squareb">}</span>
Line 365: Line 365:
</p>
</p>
   
   
<hr>
===FOR EACH VALUE OF===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>VALUE <span class="squareb">|</span> VALUES<span class="squareb">}</span> <span class="term">OF fieldname</span>
<p class="syntaxUL"><b><sup>(*)</sup></b>FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>VALUE <span class="squareb">|</span> VALUES<span class="squareb">}</span> <span class="term">OF fieldname</span>
Line 372: Line 372:
</p>
</p>
   
   
<hr>
===FOR EACH VALUE IN===
   
   
   <p class="syntaxUL">FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>VALUE <span class="squareb">|</span> VALUES<span class="squareb">}</span> IN <span class="term">label</span> </p>
   <p class="syntaxUL">FOR <span class="squareb">{</span>EACH <span class="squareb">|</span> <span class="term">k</span><span class="squareb">}</span> <span class="squareb">{</span>VALUE <span class="squareb">|</span> VALUES<span class="squareb">}</span> IN <span class="term">label</span> </p>
   
   
<hr>
===FOR RECORD NUMBER===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>FOR RECORD NUMBER <span class="squareb">{</span><span class="term">value</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(*)</sup></b>FOR RECORD NUMBER <span class="squareb">{</span><span class="term">value</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">}</span>
</p>
</p>
   
   
<hr>
===FOR RECORD NUMBER IN===
   
   
<p class="syntaxUL">FOR RECORD NUMBER <span class="squareb">{</span><span class="term">value</span> <span class="squareb">|</span> IN <span class="term">label</span><span class="squareb">}</span> <span class="squareb">[</span>OPTIMIZING FNV<span class="squareb">]</span>
<p class="syntaxUL">FOR RECORD NUMBER <span class="squareb">{</span><span class="term">value</span> <span class="squareb">|</span> IN <span class="term">label</span><span class="squareb">}</span> <span class="squareb">[</span>OPTIMIZING FNV<span class="squareb">]</span>
</p>
</p>
   
   
<hr>
===FOR ... FROM ... TO===
   
   
<p class="syntaxUL">FOR <span class="term">%variable</span> FROM <span class="term">expression1</span>
<p class="syntaxUL">FOR <span class="term">%variable</span> FROM <span class="term">expression1</span>
Line 395: Line 395:
<p class="note"><b>Note:</b> The BY clause, when omitted, defaults to a value of 1.</p>
<p class="note"><b>Note:</b> The BY clause, when omitted, defaults to a value of 1.</p>
   
   
<hr>
===IDENTIFY===
   
   
<p class="syntaxUL">IDENTIFY
<p class="syntaxUL">IDENTIFY
Line 403: Line 403:
</p>
</p>
   
   
<hr>
===IF...THEN===
   
   
<p class="syntaxUL"><b><sup>(C)</sup></b>IF <span class="term">expression</span> THEN <span class="term">statements</span>
<p class="syntaxUL"><b><sup>(C)</sup></b>IF <span class="term">expression</span> THEN <span class="term">statements</span>
Line 409: Line 409:
</p>
</p>
   
   
<hr>
===IMAGE===
   
   
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> IMAGE <span class="term">imagename</span>
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> IMAGE <span class="term">imagename</span>
Line 417: Line 417:
</p>
</p>
   
   
<hr>
===INCLUDE===
   
   
<p class="syntaxUL"><b><sup>(*)</sup></b>INCLUDE <span class="term">procedurename</span>  </p>
<p class="syntaxUL"><b><sup>(*)</sup></b>INCLUDE <span class="term">procedurename</span>  </p>
   
   
<hr>
===INPUT===
   
   
<p class="syntaxUL">INPUT <span class="term">inputname</span> <span class="squareb">[</span>AT <span class="squareb">[</span>COLUMN<span class="squareb">]</span> <span class="term">n</span><span class="squareb">]</span>
<p class="syntaxUL">INPUT <span class="term">inputname</span> <span class="squareb">[</span>AT <span class="squareb">[</span>COLUMN<span class="squareb">]</span> <span class="term">n</span><span class="squareb">]</span>
Line 435: Line 435:
</p>
</p>
   
   
<hr>
===INSERT===
   
   
<p class="syntaxUL">INSERT <span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span> = <span class="squareb">{</span><span class="term">value</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">}</span>
<p class="syntaxUL">INSERT <span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span> = <span class="squareb">{</span><span class="term">value</span> <span class="squareb">|</span> (<span class="term">expression</span>)<span class="squareb">}</span>
</p>
</p>
   
   
<hr>
===INVITE===
   
   
<p class="syntaxUL"><b><sup>(+)</sup></b>INVITE <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(+)</sup></b>INVITE <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
Line 446: Line 446:
</p>
</p>
   
   
<hr>
===IS===
   
   
<p class="syntaxUL"><span class="term">itemname</span> IS <span class="squareb">[</span>TYPE<span class="squareb">]</span>
<p class="syntaxUL"><span class="term">itemname</span> IS <span class="squareb">[</span>TYPE<span class="squareb">]</span>
Line 463: Line 463:
</p>
</p>
   
   
<hr>
===JUMP TO===
   
   
<p class="syntaxUL">JUMP TO <span class="term">label</span></p>
<p class="syntaxUL">JUMP TO <span class="term">label</span></p>
Line 471: Line 471:
<p class="syntaxUL">JUMP TO (<span class="term">label1</span> <span class="squareb">[</span>, <span class="term">label2</span><span class="squareb">]</span> ...) <span class="term">expression</span></p>
<p class="syntaxUL">JUMP TO (<span class="term">label1</span> <span class="squareb">[</span>, <span class="term">label2</span><span class="squareb">]</span> ...) <span class="term">expression</span></p>
   
   
<hr>
===LOOP END===
   
   
<p class="syntaxUL">LOOP END </p>
<p class="syntaxUL">LOOP END </p>
   
   
<hr>
===MAX PFKEY===
   
   
<p class="syntaxUL">MAX PFKEY <span class="term">n</span> </p>
<p class="syntaxUL">MAX PFKEY <span class="term">n</span> </p>
   
   
<hr>
===MENU===
   
   
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> MENU <span class="term">menuname</span>
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> MENU <span class="term">menuname</span>
Line 487: Line 487:
</p>
</p>
   
   
<hr>
===MODIFY===
   
   
<p class="syntaxUL">MODIFY <span class="squareb">{</span><span class="term">%menuname</span>:<span class="term">itemname</span> <span class="squareb">|</span> <span class="term">%screenname</span>:<span class="term">itemname</span><span class="squareb">}</span>
<p class="syntaxUL">MODIFY <span class="squareb">{</span><span class="term">%menuname</span>:<span class="term">itemname</span> <span class="squareb">|</span> <span class="term">%screenname</span>:<span class="term">itemname</span><span class="squareb">}</span>
Line 494: Line 494:
</p>
</p>
   
   
<hr>
===MODIFY BUFFER===
   
   
<p class="syntaxUL">MODIFY BUFFER <span class="squareb">[</span>SIZE=<span class="term">n</span>
<p class="syntaxUL">MODIFY BUFFER <span class="squareb">[</span>SIZE=<span class="term">n</span>
Line 501: Line 501:
</p>
</p>
   
   
<hr>
===NEW PAGE===
   
   
<p class="syntaxUL"><b><sup>(C)</sup></b>NEW PAGE  </p>
<p class="syntaxUL"><b><sup>(C)</sup></b>NEW PAGE  </p>
   
   
<hr>
==NOTE==
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>NOTE <span class="squareb">{</span><span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span><span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(**)</sup></b>NOTE <span class="squareb">{</span><span class="term">fieldname</span> <span class="squareb">[</span>(<span class="term">subscript</span>)<span class="squareb">]</span><span class="squareb">}</span>
Line 514: Line 514:
<p class="syntaxUL">NOTE '<span class="term">string</span>' </p>
<p class="syntaxUL">NOTE '<span class="term">string</span>' </p>
   
   
<hr>
===ON===
   
   
<p class="syntaxUL">[[On statement|On]] <span class="squareb">{</span>Attention <span class="squareb">|</span> Error <span class="squareb">|</span> Field Constraint Conflict
<p class="syntaxUL">[[On statement|On]] <span class="squareb">{</span>Attention <span class="squareb">|</span> Error <span class="squareb">|</span> Field Constraint Conflict
Line 523: Line 523:
</p>
</p>
   
   
<hr>
===OPEN===
   
   
<p class="syntaxUL">OPEN <span class="squareb">{</span><span class="squareb">[</span>DATASET <span class="squareb">|</span> EXTERNAL<span class="squareb">]</span> <span class="squareb">{</span><span class="term">ext-filename</span>
<p class="syntaxUL">OPEN <span class="squareb">{</span><span class="squareb">[</span>DATASET <span class="squareb">|</span> EXTERNAL<span class="squareb">]</span> <span class="squareb">{</span><span class="term">ext-filename</span>
Line 539: Line 539:
</p>
</p>
   
   
<hr>
===OPEN PROCESS===
   
   
<p class="syntaxUL">OPEN PROCESS <span class="squareb">{</span><span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL">OPEN PROCESS <span class="squareb">{</span><span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
Line 574: Line 574:
</div> <!-- end indent of options -->
</div> <!-- end indent of options -->
   
   
<hr>
===PAUSE===
   
   
<p class="syntaxUL">PAUSE <span class="squareb">[</span><span class="term">n</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">]</span>
<p class="syntaxUL">PAUSE <span class="squareb">[</span><span class="term">n</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">]</span>
</p>
</p>
   
   
<hr>
===PLACE RECORD ON===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>PLACE RECORD ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span>
<p class="syntaxUL"><b><sup>(**)</sup></b>PLACE RECORD ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span>
</p>
</p>
   
   
<hr>
===PLACE RECORDS===
   
   
<p class="syntaxUL">PLACE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname1</span><span class="squareb">}</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname2</span>
<p class="syntaxUL">PLACE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname1</span><span class="squareb">}</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname2</span>
</p>
</p>
   
   
<hr>
===POSITION===
   
   
<p class="syntaxUL">POSITION <span class="squareb">{</span>FOUNDSET <span class="term">foundsortset_name</span> <span class="squareb">|</span> LIST <span class="term">list_name</span><span class="squareb">}</span> <span class="squareb">[</span>AT<span class="squareb">]</span> <span class="term">position_name</span></p>
<p class="syntaxUL">POSITION <span class="squareb">{</span>FOUNDSET <span class="term">foundsortset_name</span> <span class="squareb">|</span> LIST <span class="term">list_name</span><span class="squareb">}</span> <span class="squareb">[</span>AT<span class="squareb">]</span> <span class="term">position_name</span></p>
Line 601: Line 601:
</p>
</p>
<p class="note"><b>Note:</b> Use this form of the POSITION statement with external file processing using images; see [[Images#POSITION statement|POSITION statement]].</p>
<p class="note"><b>Note:</b> Use this form of the POSITION statement with external file processing using images; see [[Images#POSITION statement|POSITION statement]].</p>
<hr>
 
===PREPARE===
   
   
<p class="syntaxUL">PREPARE
<p class="syntaxUL">PREPARE
Line 608: Line 609:
</p>
</p>
   
   
<hr>
===PRINT===
   
   
<p class="syntaxUL">PRINT <span class="term">print-specifications</span>  </p>
<p class="syntaxUL">PRINT <span class="term">print-specifications</span>  </p>
   
   
<hr>
===PRINT ALL INFORMATION===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b><span class="squareb">{</span>PAI <span class="squareb">|</span> PRINT ALL INFORMATION<span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(**)</sup></b><span class="squareb">{</span>PAI <span class="squareb">|</span> PRINT ALL INFORMATION<span class="squareb">}</span>
Line 618: Line 619:
</p>
</p>
   
   
<hr>
===PRINT MENU===
   
   
<p class="syntaxUL">PRINT <span class="squareb">[</span>MENU<span class="squareb">]</span> <span class="term">menuname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span>
<p class="syntaxUL">PRINT <span class="squareb">[</span>MENU<span class="squareb">]</span> <span class="term">menuname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span>
Line 625: Line 626:
</p>
</p>
   
   
<hr>
===PRINT SCREEN===
   
   
<p class="syntaxUL">PRINT SCREEN <span class="term">screenname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span> <span class="squareb">[</span><span class="squareb">[</span>WITH<span class="squareb">]</span> CURSOR<span class="squareb">]</span>
<p class="syntaxUL">PRINT SCREEN <span class="term">screenname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span> <span class="squareb">[</span><span class="squareb">[</span>WITH<span class="squareb">]</span> CURSOR<span class="squareb">]</span>
Line 632: Line 633:
</p>
</p>
   
   
<hr>
===PROMPT===
   
   
<p class="syntaxUL">PROMPT <span class="squareb">{</span>'<span class="term">text</span>' <span class="squareb">|</span> <span class="term">promptname</span><span class="squareb">}</span> <span class="squareb">[</span>AT <span class="squareb">[</span>COLUMN<span class="squareb">]</span> <span class="term">n</span><span class="squareb">]</span>
<p class="syntaxUL">PROMPT <span class="squareb">{</span>'<span class="term">text</span>' <span class="squareb">|</span> <span class="term">promptname</span><span class="squareb">}</span> <span class="squareb">[</span>AT <span class="squareb">[</span>COLUMN<span class="squareb">]</span> <span class="term">n</span><span class="squareb">]</span>
Line 640: Line 641:
</p>
</p>
   
   
<hr>
===QUERY PROCESS===
   
   
<p class="syntaxUL"><b><sup>(+)</sup></b>QUERY PROCESS <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span> <span class="term">options</span></p>
<p class="syntaxUL"><b><sup>(+)</sup></b>QUERY PROCESS <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span> <span class="term">options</span></p>
Line 661: Line 662:
</div> <!-- end options indenting -->
</div> <!-- end options indenting -->
   
   
<hr>
===READ===
   
   
<p class="syntaxUL">READ <span class="squareb">[</span>IMAGE<span class="squareb">]</span> <span class="term">imagename</span>
<p class="syntaxUL">READ <span class="squareb">[</span>IMAGE<span class="squareb">]</span> <span class="term">imagename</span>
Line 676: Line 677:
</p>
</p>
   
   
<hr>
===READ <i>menuname</i>===
   
   
<p class="syntaxUL">READ <span class="squareb">[</span>MENU<span class="squareb">]</span> <span class="term">menuname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span>
<p class="syntaxUL">READ <span class="squareb">[</span>MENU<span class="squareb">]</span> <span class="term">menuname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span>
Line 683: Line 684:
</p>
</p>
   
   
<hr>
===READ <i>screenname</i>===
   
   
<p class="syntaxUL">READ <span class="squareb">[</span>SCREEN<span class="squareb">]</span> <span class="term">screenname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span> <span class="squareb">[</span>NO REREAD<span class="squareb">]</span> <span class="squareb">[</span> <span class="squareb">[</span>WITH<span class="squareb">]</span> CURSOR<span class="squareb">]</span>
<p class="syntaxUL">READ <span class="squareb">[</span>SCREEN<span class="squareb">]</span> <span class="term">screenname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span> <span class="squareb">[</span>NO REREAD<span class="squareb">]</span> <span class="squareb">[</span> <span class="squareb">[</span>WITH<span class="squareb">]</span> CURSOR<span class="squareb">]</span>
Line 690: Line 691:
</p>
</p>
   
   
<hr>
===RECEIVE IMAGE===
   
   
<p class="syntaxUL">RECEIVE <span class="squareb">{</span>IMAGE <span class="term">imagename</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL">RECEIVE <span class="squareb">{</span>IMAGE <span class="term">imagename</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
Line 703: Line 704:
</p>
</p>
   
   
<hr>
===RELEASE ALL RECORDS===
   
   
<p class="syntaxUL">RELEASE ALL RECORDS</p>
<p class="syntaxUL">RELEASE ALL RECORDS</p>
   
   
<hr>
===RELEASE POSITION===
   
   
<p class="syntaxUL">RELEASE POSITION <span class="squareb">{</span><span class="term">ext-filename</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL">RELEASE POSITION <span class="squareb">{</span><span class="term">ext-filename</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
</p>
</p>
   
   
<hr>
===RELEASE RECORDS===
   
   
<p class="syntaxUL">RELEASE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
<p class="syntaxUL">RELEASE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
</p>
</p>
   
   
<hr>
===REMEMBER===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>REMEMBER <span class="squareb">[</span>GLOBAL<span class="squareb">]</span> <span class="term">position_name</span>
<p class="syntaxUL"><b><sup>(**)</sup></b>REMEMBER <span class="squareb">[</span>GLOBAL<span class="squareb">]</span> <span class="term">position_name</span>
Line 723: Line 724:
</p>
</p>
   
   
<hr>
===REMOVE RECORD FROM===
   
   
<p class="syntaxUL"><b><sup>(**)</sup></b>REMOVE RECORD FROM <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span>
<p class="syntaxUL"><b><sup>(**)</sup></b>REMOVE RECORD FROM <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span>
</p>
</p>
   
   
<hr>
===REMOVE RECORDS===
   
   
<p class="syntaxUL">REMOVE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
<p class="syntaxUL">REMOVE RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
Line 734: Line 735:
</p>
</p>
   
   
<hr>
===REPEAT===
   
   
<p class="syntaxUL">REPEAT <span class="squareb">[</span>FOREVER <span class="squareb">|</span> <span class="term">n</span> TIMES <span class="squareb">|</span> WHILE <span class="term">expression</span><span class="squareb">]</span>
<p class="syntaxUL">REPEAT <span class="squareb">[</span>FOREVER <span class="squareb">|</span> <span class="term">n</span> TIMES <span class="squareb">|</span> WHILE <span class="term">expression</span><span class="squareb">]</span>
</p>
</p>
   
   
<hr>
===REREAD===
   
   
<p class="syntaxUL">REREAD <span class="squareb">[</span>SCREEN<span class="squareb">]</span> <span class="term">screenname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span> <span class="squareb">[</span><span class="squareb">[</span>WITH<span class="squareb">]</span> CURSOR<span class="squareb">]</span>
<p class="syntaxUL">REREAD <span class="squareb">[</span>SCREEN<span class="squareb">]</span> <span class="term">screenname</span> <span class="squareb">[</span>ALERT<span class="squareb">]</span> <span class="squareb">[</span><span class="squareb">[</span>WITH<span class="squareb">]</span> CURSOR<span class="squareb">]</span>
Line 746: Line 747:
</p>
</p>
   
   
<hr>
===RESET===
   
   
<p class="syntaxUL">RESET <span class="squareb">{</span>HEADER <span class="squareb">|</span> TRAILER<span class="squareb">}</span> <span class="term">m</span>
<p class="syntaxUL">RESET <span class="squareb">{</span>HEADER <span class="squareb">|</span> TRAILER<span class="squareb">}</span> <span class="term">m</span>
</p>
</p>
   
   
<hr>
===RETRY===
   
   
<p class="syntaxUL">RETRY <span class="squareb">[</span>PENDING STATEMENT<span class="squareb">]</span>
<p class="syntaxUL">RETRY <span class="squareb">[</span>PENDING STATEMENT<span class="squareb">]</span>
</p>
</p>
   
   
<hr>
===RETURN===
   
   
<p class="syntaxUL">RETURN
<p class="syntaxUL">RETURN
</p>
</p>
   
   
<hr>
===SCREEN===
   
   
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> SCREEN <span class="term">screenname</span>
<p class="syntaxUL"><span class="squareb">[</span>DECLARE<span class="squareb">]</span> SCREEN <span class="term">screenname</span>
Line 769: Line 770:
</p>
</p>
   
   
<hr>
===SEND===
   
   
<p class="syntaxUL">SEND <span class="squareb">{</span>IMAGE <span class="term">imagename</span> <span class="squareb">|</span> '<span class="term">string</span>' <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL">SEND <span class="squareb">{</span>IMAGE <span class="term">imagename</span> <span class="squareb">|</span> '<span class="term">string</span>' <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
Line 785: Line 786:
</p>
</p>
   
   
<hr>
===SEND ERROR TO===
   
   
<p class="syntaxUL"><b><sup>(+)</sup></b>SEND ERROR TO <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
<p class="syntaxUL"><b><sup>(+)</sup></b>SEND ERROR TO <span class="squareb">{</span><span class="term">cid</span> <span class="squareb">|</span> <span class="term">processname</span> <span class="squareb">|</span> <span class="term">%variable</span><span class="squareb">}</span>
Line 791: Line 792:
</p>
</p>
   
   
<hr>
===SET===
   
   
<p class="syntaxUL">SET <span class="squareb">{</span>HEADER <span class="squareb">|</span> TRAILER<span class="squareb">}</span> <span class="term">m</span> <span class="term">print-specifications</span>
<p class="syntaxUL">SET <span class="squareb">{</span>HEADER <span class="squareb">|</span> TRAILER<span class="squareb">}</span> <span class="term">m</span> <span class="term">print-specifications</span>
</p>
</p>
   
   
<hr>
===SIGNAL PROCESS===
   
   
<p class="syntaxUL">SIGNAL PROCESS
<p class="syntaxUL">SIGNAL PROCESS
Line 808: Line 809:
</p>
</p>
   
   
<hr>
===SKIP LINES===
   
   
<p class="syntaxUL">SKIP <span class="term">n</span> LINE<span class="squareb">[</span>S<span class="squareb">]</span>
<p class="syntaxUL">SKIP <span class="term">n</span> LINE<span class="squareb">[</span>S<span class="squareb">]</span>
</p>
</p>
   
   
<hr>
===SKIP POSITIONS===
   
   
<p class="syntaxUL">[<span class="term">itemname</span> IS<span class="squareb">]</span> SKIP <span class="term">n</span> POSITION<span class="squareb">[</span>S<span class="squareb">]</span>
<p class="syntaxUL">[<span class="term">itemname</span> IS<span class="squareb">]</span> SKIP <span class="term">n</span> POSITION<span class="squareb">[</span>S<span class="squareb">]</span>
Line 819: Line 820:
</p>
</p>
   
   
<hr>
===SORT RECORDS===
   
   
<p class="syntaxUL">SORT [<span class="term">k</span><span class="squareb">]</span> RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
<p class="syntaxUL">SORT [<span class="term">k</span><span class="squareb">]</span> RECORDS <span class="squareb">{</span>IN <span class="term">label</span> <span class="squareb">|</span> ON <span class="squareb">[</span>LIST<span class="squareb">]</span> <span class="term">listname</span><span class="squareb">}</span>
Line 836: Line 837:
</div> <!--end key indent -->
</div> <!--end key indent -->
   
   
<hr>
===SORT RECORD KEYS===
   
   
<p class="syntaxUL">SORT [<span class="term">k</span><span class="squareb">]</span> RECORD KEYS
<p class="syntaxUL">SORT [<span class="term">k</span><span class="squareb">]</span> RECORD KEYS

Revision as of 22:08, 30 May 2014

Overview

This topic summarizes User Language syntax and conventions, many of which are also discussed throughout this manual.

The statements are listed in alphabetical order. Later sections in this topic provide other User Language syntax information.

All of the User Language statements listed can be used between a BEGIN (or MORE) command and an END (or END MORE) statement.

All system control commands are presented in the List of Model 204 commands.

Notation conventions

This page uses the following syntax notation conventions:

Syntax notation Indicates that...
Single asterisk (*) Statements can be preceded by an IN clause, if there is no reference to a previous set (label or list). See IN clause syntax for more discussion.
Two asterisks (**) Construct can appear only within a record loop.
Plus sign (+) Construct requires the optional Horizon feature.
Two plus signs (++) Construct requires the optional User Language to Database 2 feature.
C The syntax applies to a Model 204 command as well as a User Language statement, except any %variable options or clauses.

Model 204 commands are listed alphabetically and documented in List of Model 204 commands.

Lowercase italic Constructs are replaced with variable information.
  • A field name (%%) variable can be used anywhere fieldname appears. The %%variable can contain its own subscript, separate from the field name subscript.

    Note: The subscript of an array element must be specified before a field name subscript.

  • The lowercase constructs — retrieval-conditions, print-specifications, expression, subscript, attribute, and type — are discussed separately following the syntax summaries, beginning with Value specification syntax.

SOUL statements

ADD

(**)ADD fieldname = {value | (expression)} ADD lob-name=BUFFER,position,length[RESERVE n [BYTES]]

ARRAY

ARRAY [arrayname] OCCURS {n | UNKNOWN} DEPENDING ON {itemname | %variable} [AFTER {itemname | arrayname} | AT {position | itemname | imagename1 | arrayname}]

AUDIT

AUDIT print-specifications

AUDIT ALL FIELDGROUP INFORMATION

AUDIT ALL FIELDGROUP INFORMATION [CTOFIELDS]

AUDIT ALL INFORMATION

{AUDIT ALL INFORMATION | AAI}

BACKOUT

(C)BACKOUT

BYPASS

BYPASS [PENDING STATEMENT]

CALL

CALL {label | subname [([expression | %variable | [LIST] listname] [,...])]}

CHANGE

(**)CHANGE fieldname [(subscript)] [= value1 | (expression)] TO (value2 | (expression)) CHANGE lob-fieldname,position1,length TO BUFFER,position2,length[RESERVE n [BYTES]]

CLEAR

CLEAR {[[ALL | TEMP | LISTFDST | POSITION] [GLOBAL]] OBJECTS | GLOBALS | GLOBAL {IMAGE | SCREEN | MENU | LIST | FOUNDSET | POSITION [PERM | TEMP]} {'objectname' | %variable}}

CLEAR LIST

(*)CLEAR LIST listname

CLEAR ON

CLEAR ON {ATTENTION | ERROR | FIELD CONSTRAINT CONFLICT | FIND CONFLICT | RECORD LOCKING CONFLICT | MISSING FILE | MISSING MEMBER}

CLEAR TAG

CLEAR TAG {screenname | %screenname:inputname}

CLOSE

CLOSE {DATASET {ext-filename | %variable} | [EXTERNAL] {ext-filename | TERMINAL | %variable}}

CLOSE PROCESS

(+C)CLOSE PROCESS {cid | processname | %variable} [SYNCLEVEL | FLUSH | %variable]


CLOSE PROCESS {cid | processname | %variable} [SYNCLEVEL | CONFIRM | FLUSH | ERROR | %variable]

COMMIT

COMMIT [RELEASE]

CONFIRM

(+)CONFIRM {cid | processname | %variable} REQSEND %variable

CONFIRMED

(+)CONFIRMED {cid | processname | %variable}

CONTINUE

CONTINUE

COUNT OCCURRENCES OF

(**)COUNT OCCURRENCES OF fieldname

COUNT RECORDS

COUNT RECORDS {IN label | ON [LIST] listname}

DECLARE

[DECLARE] declaration

where declaration is one of the following:

  • LABEL labelname [GLOBAL | COMMON]
  • LIST listname [IN [FILE | [PERM | TEMP] GROUP]] name] [GLOBAL | COMMON]
  • IMAGE imagename[AT {itemname | imagename1 | arrayname}
    | GLOBAL [PERMANENT | TEMPORARY]
    | [PERMANENT | TEMPORARY] GLOBAL | COMMON]
  • MENU menuname [GLOBAL [PERMANENT | TEMPORARY]
    | [PERMANENT | TEMPORARY] GLOBAL | COMMON]
  • SCREEN screenname [GLOBAL [PERMANENT | TEMPORARY]
    | [PERMANENT | TEMPORARY] GLOBAL | COMMON]
  • %variable [IS] {FIXED [DP n] | FLOAT} [ARRAY (d1 [,d2 [,d3]])]
    [INITIAL(numeric-expression)] [STATIC] [COMMON]
  • %variable [IS] STRING [LEN n] [DP {n | *}] [ARRAY (d1 [,d2[,d3]])]
    [NO FIELD SAVE] [COMMON]
    [INITIAL('EBCDIC-string' | expression)] [STATIC]
  • SUBROUTINE subname [(type [INPUT | OUTPUT | INPUT OUTPUT] [,...])]

where type is one of the following:

  • Scalar %variable of the following format:
    • {STRING [LEN] n [DP {n | *}] | [FIXED [DP n] | FLOAT]}
  • Array %variable of the following format:
    • {STRING [LEN n] [DP [n | *}] [ARRAY (* [,*[,*]]) [NO FIELD SAVE]]
      | [FIXED [DP n] | FLOAT] [ARRAY (* [,*[,*]])]}
  • A list of records of the following format:
    • [LIST] [IN {FILE | [PERM | TEMP] GROUP} name]

DEFAULT CURSOR

DEFAULT CURSOR [READ | REREAD | PRINT] {ITEMID n | itemname | ROW n COLUMN m}

DEFAULT

DEFAULT {TITLE | PROMPT | INPUT [DEBLANK | NODEBLANK] [PAD WITH 'c'] [LEN m [DP [k | *}]] [UPCASE | NOCASE] | [TAG [attributes] [WITH 'c']} [[READ] attributes] [REREAD attributes] [PRINT attributes]

DEFAULT SKIP

DEFAULT SKIP n POSITIONS[S] [INITIAL {NULL | character | BLANK}]


DEFAULT [TYPE] {STRING | BINARY | PACKED | ZONED | FLOAT | EFORMAT} {LEN {n | UNKNOWN} | BITS n | DIGITS n} [DP {k | *}] [BP n] [SIGNED | UNSIGNED] [PAD {BLANK | character | NULL}] [STRIP | NOSTRIP] [JUSTIFY {LEFT | RIGHT}] [INITIAL {BLANK | ZERO | NULL | literal}]

DELETE

(**)DELETE fieldname [(subscript)] [= value | (expression)]

DELETE EACH

(**)DELETE EACH fieldname

DELETE RECORD

(**)DELETE RECORD

DELETE RECORDS

DELETE [ALL] RECORDS {IN label | ON [LIST] listname}

END BLOCK

END BLOCK label

END

END {FIND | IF | FOR | ON | REPEAT | STORE | SUBROUTINE} [label]


END {ARRAY | IMAGE | MENU | SCREEN}


END [MORE | NORUN | USE]...

END UPDATE

END UPDATE

FILE RECORDS

FILE RECORDS {IN label | ON [LIST] listname} UNDER fieldname = {value | (expression)}

FIND RECORDS

(*)FIND [AND RESERVE] [ALL] RECORDS [IN label | ON [LIST] listname] [FOR WHICH | WITH] retrieval-conditions

FIND VALUES OF

(*)FIND [ALL] VALUES OF fieldname [FROM {value1 | (expression1)}] [TO {value2 | (expression2)}] [[NOT] LIKE 'pattern']

FIND AND PRINT COUNT

(*)FIND AND PRINT COUNT [retrieval-conditions

FIND WITHOUT LOCKS

(*){FIND WITHOUT LOCKS | FDWOL} [ALL] RECORDS [IN label | ON [LIST] listname] [FOR WHICH | WITH] retrieval-conditions

FLUSH PROCESS

FLUSH PROCESS {cid | processname | %variable}

FOR EACH OCCURRENCE

(**)FOR {EACH | k} {OCCURRENCE | OCCURRENCES} OF fieldname

FOR EACH RECORD

(*)FOR {EACH | k} {RECORD | RECORDS} [IN label | ON [LIST] listname] IN [ASCENDING | DESCENDING] [SORTKEY] ORDER [BY [EACH] fieldname] [FROM {value1 | (expression1)}] [TO {value2 | (expression2)}] [BY {%variable | literal}] [OPTIMIZING FNV] [{WHERE | WITH} retrieval-conditions

FOR EACH VALUE OF

(*)FOR {EACH | k} {VALUE | VALUES} OF fieldname [FROM {value1 | (expression1)}] [TO {value2 | (expression2)}] [[NOT] LIKE pattern] [IN [ASCENDING | DESCENDING] [CHARACTER | NUMERICAL] [RIGHT-ADJUSTED] ORDER]

FOR EACH VALUE IN

FOR {EACH | k} {VALUE | VALUES} IN label

FOR RECORD NUMBER

(*)FOR RECORD NUMBER {value | (expression)}

FOR RECORD NUMBER IN

FOR RECORD NUMBER {value | IN label} [OPTIMIZING FNV]

FOR ... FROM ... TO

FOR %variable FROM expression1 {TO expression2 [BY expression3] | [BY expression3] TO expression2}

Note: The BY clause, when omitted, defaults to a value of 1.

IDENTIFY

IDENTIFY {[IMAGE] imagename | %imagename:itemname LEN {n | %variable} | %imagename:arrayname OCCURS {n | %variable}}

IF...THEN

(C)IF expression THEN statements [ELSE statements | ELSEIF expression THEN statements]

IMAGE

[DECLARE] IMAGE imagename [GLOBAL [PERMANENT | TEMPORARY] | [PERMANENT | TEMPORARY] GLOBAL | COMMON [AT [itemname | imagename1 | arrayname}]]

INCLUDE

(*)INCLUDE procedurename

INPUT

INPUT inputname [AT [COLUMN] n] [TO [COLUMN] m | [LEN m] DP {k | *}]] [UPCASE | NOCASE] [DEFAULT 'value'] [DEBLANK | NODEBLANK] [PAD WITH 'c'] [REQUIRED | ALPHA | ALPHANUM | MUSTFILL | ONEOF literal [, literal]... | [NUMERIC] [RANGE lo [TO] hi [AND lo [TO] hi] ...] | VERIFY 'characters']... [[READ] attributes] [REREAD attributes] [PRINT attributes] {TAG [attributes] [WITH 'c']] [ITEMID n]

INSERT

INSERT fieldname [(subscript)] = {value | (expression)}

INVITE

(+)INVITE {cid | processname | %variable} [SYNCLEVEL | FLUSH | CONFIRM]

IS

itemname IS [TYPE] {STRING | BINARY | PACKED | ZONED | FLOAT | EFORMAT} {LEN {n | UNKNOWN} | BITS n | DIGITS n | TO position} [DP {k | *}] [BP n] [SIGNED | UNSIGNED] [PAD {BLANK | character | NULL}] [STRIP | NOSTRIP] [ALIGN] [JUSTIFY {LEFT | RIGHT}] [INITIAL {BLANK | ZERO | NULL | value}] [AFTER {itemname | arrayname} | AT {position | itemname | imagename1 | arrayname}] [OCCURS {n [DEPENDING ON {itemname | %variable}] | UNKNOWN}]

JUMP TO

JUMP TO label


JUMP TO (label1 [, label2] ...) expression

LOOP END

LOOP END

MAX PFKEY

MAX PFKEY n

MENU

[DECLARE] MENU menuname [GLOBAL [PERMANENT | TEMPORARY] | [PERMANENT | TEMPORARY] GLOBAL | COMMON]

MODIFY

MODIFY {%menuname:itemname | %screenname:itemname} [TO] attributes [[FOR] {ALL | READ | REREAD | TAB | PRINT}]

MODIFY BUFFER

MODIFY BUFFER [SIZE=n | %variable [PRESERVE | NOPRESERVE]] [FILL [X'nn'] | CLEAR]

NEW PAGE

(C)NEW PAGE

NOTE

(**)NOTE {fieldname [(subscript)]}


NOTE 'string'

ON

On {Attention | Error | Field Constraint Conflict | Find Conflict | Missing File | Missing Member | Record Locking Conflict} statements End On [label]

OPEN

OPEN {[DATASET | EXTERNAL] {ext-filename | %variable} | [EXTERNAL] {TERMINAL | %variable}} FOR {INPUT [OUTPUT] | OUTPUT [INPUT] | INOUT} [PASSWORD {value | %variable}]


(C)OPEN [C] [[PERM | TEMP] GROUP | FILE] {name [AT {location | %variable | =}] | %variable} [PASSWORD {value | %variable}]

OPEN PROCESS

OPEN PROCESS {processname | %variable} [CID {name | %variable}]


(+)OPEN PROCESS {processname | %variable} [CID {name | %variable}] {outbound-options | inbound-options}

where outbound-options are:

  • [AT DESTINATION] [WITH] [USERID {%variable | 'string'}]
  • [PASSWORD {%variable | 'string'}]
  • [{ACCOUNT | PROFILE {%%variable | 'string'}]
  • [INITIAL {DATA 'string' | DATA %variable | IMAGE imagename] ...]

and inbound-options are:

  • ACCEPT [INITIAL {DATA %variable | IMAGE image} ...]

PAUSE

PAUSE [n | %variable]

PLACE RECORD ON

(**)PLACE RECORD ON [LIST] listname

PLACE RECORDS

PLACE RECORDS {IN label | ON [LIST] listname1} ON [LIST] listname2

POSITION

POSITION {FOUNDSET foundsortset_name | LIST list_name} [AT] position_name

Note: Use this form of the POSITION statement with FOR loop processing; see POSITION statement.


POSITION {ext-filename | %variable} AT KEY operator{value | %variable}

Note: Use this form of the POSITION statement with external file processing using images; see POSITION statement.

PREPARE

PREPARE {[IMAGE] imagename | [MENU] menuname | [SCREEN] screenname}

PRINT

PRINT print-specifications

PRINT ALL INFORMATION

(**){PAI | PRINT ALL INFORMATION} INTO array1, array2 [, array3] [FROM start] [COUNT ct]

PRINT MENU

PRINT [MENU] menuname [ALERT] [TITLE {'text' | %variable} [AT [COLUMN] n] [TO [COLUMN] m | LEN m] [attributes]]

PRINT SCREEN

PRINT SCREEN screenname [ALERT] [[WITH] CURSOR] [TITLE {'text' | %variable} [AT [COLUMN] n] [TO [COLUMN] m | LEN m] [attributes]]

PROMPT

PROMPT {'text' | promptname} [AT [COLUMN] n] [TO [COLUMN] m | LEN m] [DP {k | *}]] [DEFAULT 'value'] [[READ] attributes] [REREAD attributes] [PRINT attributes] [ITEMID n]

QUERY PROCESS

(+)QUERY PROCESS {cid | processname | %variable} options

where options must be one or more of the following:

  • STATE %variable
  • PROCESSGROUP %variable
  • REMOTEID %variable
  • SYNCLEVEL %variable
  • MODENAME %variable

READ

READ [IMAGE] imagename FROM {ext-filename | TERMINAL | %variable} [PROMPT {'text' | %variable}] [NEXT | KEY operator {value | %variable}]


READ [IMAGE] imagename FROM BUFFER [POSITION={%pvariable | n}] [MAXLEN={%lvariable | n}]

READ menuname

READ [MENU] menuname [ALERT] [TITLE ['text' | %variable} [AT [COLUMN] n] [TO [COLUMN] m | LEN m] [attributes]]

READ screenname

READ [SCREEN] screenname [ALERT] [NO REREAD] [ [WITH] CURSOR] [TITLE {'text' | %variable} [AT [COLUMN] n] [TO [COLUMN] m | LEN m] [attributes]]

RECEIVE IMAGE

RECEIVE {IMAGE imagename | %variable} FROM {cid | processname | %variable} [RESULT %variable]


(+)RECEIVE {IMAGE imagename | %variable} FROM {cid | processname | %variable} RESULT %variable

RELEASE ALL RECORDS

RELEASE ALL RECORDS

RELEASE POSITION

RELEASE POSITION {ext-filename | %variable}

RELEASE RECORDS

RELEASE RECORDS {IN label | ON [LIST] listname}

REMEMBER

(**)REMEMBER [GLOBAL] position_name [IN foundsortset_name | ON list_name]

REMOVE RECORD FROM

(**)REMOVE RECORD FROM [LIST] listname

REMOVE RECORDS

REMOVE RECORDS {IN label | ON [LIST] listname} FROM [LIST] listname2

REPEAT

REPEAT [FOREVER | n TIMES | WHILE expression]

REREAD

REREAD [SCREEN] screenname [ALERT] [[WITH] CURSOR] [TITLE {'text' | %variable} [AT [COLUMN] n] [TO [COLUMN] m | LEN m] [attributes]]

RESET

RESET {HEADER | TRAILER} m

RETRY

RETRY [PENDING STATEMENT]

RETURN

RETURN

SCREEN

[DECLARE] SCREEN screenname [GLOBAL [PERMANENT | TEMPORARY] | [PERMANENT | TEMPORARY] GLOBAL | COMMON]

SEND

SEND {IMAGE imagename | 'string' | %variable} TO {cid | processname | %variable} [REQSEND %variable] [FLUSH]


(+)SEND {IMAGE imagename | 'string' | %variable} TO {cid | processname | %variable} [FLUSH | CONFIRM] [REQSEND %variable]

SEND ERROR TO

(+)SEND ERROR TO {cid | processname | %variable} REQSEND %variable

SET

SET {HEADER | TRAILER} m print-specifications

SIGNAL PROCESS

SIGNAL PROCESS {cid | [processname | %variable} {nnn | %variable}


(+)SIGNAL PROCESS {cid | [processname | %variable}

SKIP LINES

SKIP n LINE[S]

SKIP POSITIONS

[itemname IS] SKIP n POSITION[S] [INITIAL {NULL | character | BLANK}]

SORT RECORDS

SORT [k] RECORDS {IN label | ON [LIST] listname} BY key [AND key] ...

where key is:

  • key = fieldname
    [VALUE {[ASCENDING | DESCENDING]
    [CHARACTER | NUMERICAL] | RIGHT-ADJUSTED]} ...]

SORT RECORD KEYS

SORT [k] RECORD KEYS {IN label | ON [LIST] listname} BY key [AND key] ...

where key is:

  • key = fieldname
    [VALUE {[ASCENDING | DESCENDING]
    [CHARACTER | NUMERICAL] | [RIGHT-ADJUSTED]} ...]

SORT VALUE IN label [IN [ASCENDING | DESCENDING] [CHARACTER | NUMERICAL] | [RIGHT-ADJUSTED] ORDER]


STOP [IF COUNT IN label EXCEEDS n]


(*)STORE RECORD [sort or hash key value] fieldname1=[value1 | (expression1)] [fieldname2=(expression)] ... [THEN CONTINUE statement statement ...] END STORE


SUBROUTINE


SUBROUTINE subname [(formal-parameter [INPUT | OUTPUT | INPUT OUTPUT] [,...])]

where formal-parameter is one of the following:

  • %variable [IS STRING [LEN n] [DP {n | *}] [ARRAY (*[,*[,*]]) [NO FS]]
    | IS {FIXED [DP n] | FLOAT} [ARRAY (*[,*[,*]])]]
  • LIST listname [IN [FILE | [PERM | TEMP] GROUP] name]

TAG %screenname:inputname [attributes] [WITH 'c']


(+)TEST [FOR] {ANY RECEIPT RETURN %variable | RECEIPT {cid | processname | %variable}}


TITLE {'text' | promptname} [AT [COLUMN] n] [TO [COLUMN] m | [LEN m] [DP {k | *}]] [DEFAULT 'value'] [[READ] attributes] [REREAD attributes] [PRINT attributes]


TRANSFER [CONTROL] TO PROCESS {processname | %variable} [WITH] [USERID {string | '%variable'}] [PASSWORD {variable | 'string'}] [ACCOUNT {%variable | 'string'}] [PASSING {IMAGE imagename | 'string' | %variable}]


UPDATE RECORD


VARIABLES ARE {FIXED [DP n] | FLOAT | STRING [LEN n] [DP {n | *}] | UNDEFINED}


[DECLARE] %variable [IS] {FIXED [DP n] | FLOAT} [ARRAY (d1[,d2[,d3]])] [COMMON]


[DECLARE] %variable [IS] STRING [LEN n] [DP {n | *}] [ARRAY (d1[,d2[d3]])] [NO FIELD SAVE] [COMMON] %variable [(subscript)] = expression


(+)WAIT [{n | %variable} SEC[S]] [FOR] {ANY RECEIPT RETURN %variable | RECEIPT {cid | processname | %variable}}


WRITE [IMAGE] imagename ON {seq-filename | TERMINAL | %variable}


WRITE IMAGE imagename ON BUFFER [POSITION=%pvariable | n] [MAXLEN={%lvariable | n}]

Value specification syntax

For all User Language statements and retrieval conditions, wherever the term value appears in the syntax, it can be any of these:

  • Literal number or string
  • VALUE IN clause of the form:

    VALUE [IN] label

  • %variable

Retrieval condition syntax

A FIND statement can be followed by any number of retrieval conditions separated by an end of line or LINEND parameter character.

Conditions can be constructed as follows:

Syntax

[NOT] phrase [{AND | OR | NOR} [NOT] phrase] ...

Where:

phrase can be constructed as follows:

  • fieldname = [NOT] value
  • fieldname LIKE pattern
  • fieldname IS [NOT] {PRESENT | LIKE 'pattern'}
  • fieldname IS [NOT] {[NUMERICALLY | ALPHABETICALLY]
    [EQ | = | NE | ,= | GREATER THAN | GT | >
    | LESS THAN | LT < | <= | GE | >= | BEFORE | AFTER] value}
  • fieldname IS [NOT] {[NUMERICALLY | ALPHABETICALLY]
    {IN RANGE [FROM | AFTER] value1 {TO | [AND] BEFORE}
    value2 | BETWEEN value1 AND value2}
  • FILES filename
  • FIND$ label
  • LISTS$ listname
  • LOCATION {location | =}
  • POINT$ value
  • SFGE$ value
  • SFL$ value

    where value can be:

    • A literal number or string
    • VALUE {[IN] label} | (expression)
    • A %variable

Notes:

  • The first character (,) of the inequality test (,=) in the fourth of the items in the list above is the EBCDIC "not sign," which has the hexadecimal value 5f.
  • For a description of the pattern in the [IS] LIKE and IS NOT clauses, see the syntax of Is Like patterns.

Omitting repeated first words

If a sequence of phrases in a particular retrieval condition all have the same first word, that word can be omitted from the latter phrases. For example:

LIST$ A AND NOT LIST$ B

can be written:

LIST$ A AND NOT B

And:

X IS 13 OR X IS LESS THAN 7

can be written:

X IS 13 OR IS LESS THAN 7

Omitting duplicated equal signs

Duplicated equal signs can be omitted. For example, the expression:

A = 3 OR A = 5 OR A = 40

is equivalent to:

A = 3 OR 5 OR 40

Use of parentheses

Parentheses can be placed around any sequence of phrases to clarify the condition or force the evaluation to occur in a particular order. For example:

NOT (A = 2 OR LIST$ Y) A = 1 AND (B = 2 OR C = 3)

Use of expressions

Expressions can be used in FIND statements to provide the retrieval condition for the POINT$, SFL$, and SFGE$ conditions, as well as for the EQ VALUE clause.

POINT$

Syntax

POINT$ VALUE(expression)

Where:

expression is a function call, string concatenation, arithmetic operation, User Language construct, or Boolean expression. It is preceded by the keyword VALUE.

Example

This example finds the first MA record on file, and then counts the number of records from this point in the file:

FD1: IN ICSCUST FPC STATE = MA END FIND FOR 1 RECORD IN FD1 PRINT 'CURREC = ' WITH $CURREC PRINT '>= POINT$' FD2: IN ICSCUST FPC POINT$ VALUE($CURREC) END FIND END FOR

SFL$ and SFGE$

Syntax

SFL$ VALUE(expression)

or

SFGE$ VALUE(expression)

Where:

expression is a function call, string concatenation, arithmetic operation, User Language construct, or Boolean expression. It is preceded by the keyword VALUE.

Example

FOR %CT FROM 1 TO 10 IN EXPRESS STORE RECORD ($EDITN(%CT,'999')) ORD1 = (%REC WITH %CT) ORD2 = (%CT * 2) ORD4 = (%CT * 4) END STORE END FOR COMMIT FOR %CT FROM 1 TO 5 PRINT 'LESS THAN ' WITH %CT FD1: IN EXPRESS FPC SFL$ VALUE($EDITN(%CT,'999')) END FIND PRINT 'GREATER THAN OR EQUAL TO ' WITH %CT FD2: IN EXPRESS FPC SFGE$ VALUE($EDITN(%CT,'999')) END FIND END FOR

EQ VALUE

Syntax

fieldname EQ VALUE(expression)

Where:

expression is a function call, string concatenation, arithmetic operation, User Language construct, or Boolean expression.

Example

FD: IN FILE PEOPLE FD LAST EQ VALUE($READ('LAST NAME?') ) END FIND

Print specification syntax

A PRINT, SET, or AUDIT statement contains print specifications of the following form:

Syntax

[term] [AND | TAB | WITH]...[[term] [AND | TAB | WITH] ...] ... [...]

Where:

term can be constructed as follows:

{'string' | %variable | COUNT IN label | OCCURRENCE IN label | VALUE IN term | function} [AT [COLUMN] m] [TO [COLUMN] n]

or, if the statement is within a record loop:

{{EACH | term} fieldname | *RECORD | *ID} [AT [COLUMN] m] [TO [COLUMN] n}

Expression syntax

The following syntax can be used in:

  • Assignment statements
  • Conditional IF statements and ELSEIF clauses

In the simplified syntax for an IF statement, which is:

IF condition THEN statements

condition expands to the syntax described in this section. Be sure to enclose an expression with parentheses.

  • Computed JUMP TO statements
  • Subscripts
  • Function arguments

Syntax

{operand |(expression)} [operator {operand | (expression)}] ...

Where:

operand can be constructed as follows:

[+ | - | NOT] {'string' | %variable | number | fieldname [(subscript)] IS [NOT] PRESENT | COUNT IN label | OCCURRENCE IN label | VALUE IN label | function}

and operator may be one of the following:

+ = EQ AND
- ,= NE OR
* > GT WITH
/ < LT IS PRESENT
  >= GE IS NOT PRESENT
  <= LE IS LIKE
      IS NOT LIKE

Notes:

  • The first character (,) of the inequality test above is the EBCDIC "not sign", which has the hexadecimal value 5f.
  • For a description of the IS LIKE and IS NOT clauses, see the syntax of Is Like patterns.

IN clause syntax

Statements preceded by an asterisk (*), beginning with User Language statements, support the IN clause.

The three basic forms of the IN clause are:

IN [PERMANENT | TEMPORARY ] GROUP groupname MEMBER [%member | [filename [AT {location | =}]]

IN file1 [,file2] ...

IN {$CURFILE | $UPDATE}

The form IN $CURFILE can be used only within a record loop.

IN GROUP MEMBER limitations

In addition to the three basic forms of the IN clause shown above the IN GROUP MEMBER clause restricts the following statements to one member file in a group context:

  • CLEAR LIST
  • FIND ALL RECORDS (and its variants)
  • FIND ALL VALUES
  • FOR RECORD NUMBER (or FRN)
  • STORE RECORD

You cannot use an IN GROUP MEMBER clause with a FOR EACH RECORD statement or with an ADD, CHANGE, or DELETE RECORD statement. Only the previously listed statements call accept an IN GROUP MEMBER clause.

Using an IN clause in a BEGIN...END block

The file name in the IN clause used within a BEGIN...END block is resolved by the compiler. You can either hard code a file name or use some type of dummy string for the file name. The use of a %variable for the file name is not allowed.

Subscript syntax

A subscript has the format:

Syntax

(subscript1 [,subscript2 [,subscript3]] )

Where:

subscript1, subscript2, and subscript3 can be any expression.

Terminal display attributes

One or more of the following terminal display attributes can replace the term attribute in a full-screen formatting statement, if the display attribute is supported by the installation:

List of attributes
BLINK
BLUE
BRIGHT
DIM
GREEN
INV[IS[BLE]]
NOBLINK
NOREV[ERSE]
NOU[NDER]SCORE
PINK
PROT[ECTED]
RED
REV[ERSE]
TURQUOISE
[UNDER]SCORE
UNPROT[ECTED]
VIS[IBLE]
WHITE
YELLOW