%EQUAL{(file_name)}
%EQUAL は、最後に実行された関係のある命令が正確な一致を見付けた場合には '1' を 戻します。他の場合には '0' を戻します。
%EQUAL を設定する命令を以下に示します。
任意指定のファイル名パラメーターを指定しないで %EQUAL を使用した場合、この 関数は、最後に実行された関係のある命令について設定された値を戻します。
SETLL 命令の場合、この関数は、そのキーまたは相対レコード番号が検索引数に 等しいレコードが存在する場合に '1' を戻します。
EQ 標識を指定した LOOKUP 命令の場合、この関数は、検索引数に正確に一致する 要素が見付かった場合に '1' を戻します。
ファイル名を指定した場合、この関数は、指定したファイルに対して最後に実行 された SETLL 命令に適用されます。 この関数は、SETLL 命令コードを使用できる ファイルに対してのみ使用することができます。
詳しい例については、図 305 および 図 351 を 参照してください。
詳細については、ファイル命令、結果命令、または 組み込み関数を参照してください。
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+.... F*Filename+IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++ * File CUSTS has record format CUSTREC FCUSTSIF E K DISK /FREE // Check if the file contains a record with a key matching Cust setll Cust CustRec; if %equal; // an exact match was found in the file endif; /END-FREE
DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++ D TabNames S 10A DIM(5) CTDATA ASCEND D SearchName S 10A * Position the table at or near SearchName * Here are the results of this program for different values * of SearchName: * SearchName | DSPLY * -------------+------------------------------- * 'Catherine ' | 'Next greater Martha' * 'Andrea ' | 'Exact Andrea' * 'Thomas ' | 'Not found Thomas' CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C SearchName LOOKUP TabNames 10 10 C SELECT C WHEN %EQUAL * An exact match was found C 'Exact 'DSPLY TabNames C WHEN %FOUND * A name was found greater than SearchName C 'Next greater'DSPLY TabNames C OTHER * Not found. SearchName is greater than all the names in the table C 'Not found 'DSPLY SearchName C ENDSL C RETURN **CTDATA TabNames Alexander Andrea Bohdan Martha Samuel
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.