ログ・タイプとコードに基づいてログ・レコードを組み込んだり除外したりすることによって、ログ・レコードをフィルタリングします。ログ・レコード内のフィールド値に基づいてフィルターをより詳細に設定するには、CODE コマンドの後に 1 つ以上の COND ステートメントを指定します。
CODE コマンドは、現行のアクションのみに適用されます。現行のアクションは、SYSIN データ・セット内の前のアクション・コマンド (REPORT、EXTRACT、CSV、
JSON
、
MWP
、または REXX) によって決まります。
各アクション・コマンドの後には、1 つ以上の CODE コマンドを指定できます。
各 CODE コマンドの後には、1 つ以上の COND ステートメントを指定することができます。CODE コマンドとその COND ステートメントの間に指定できるコマンドはありません。
アクション・コマンドの FILTER パラメーターと CODE コマンドは相互に排他的であり、CODE コマンドと FILTER パラメーターを同じアクション・コマンドに指定することはできません。
.-LEVEL(1)-----. >>-CODE(-+----------------+-+-log_code-+-)--+--------------+----> '-log_type-+-:-+-' '-ALL------' '-LEVEL(level)-' '-,-' >--+------------+--+---------+--------------------------------->< '-FORM(form)-' '-EXCLUDE-'
.-------------------------. V (1) (2) | >>---COND--condition---------+---------------------------------><
CODE コマンドのパラメーター:
ログ・タイプの指定は任意ですが、推奨されており、以下の場合に特に有用です。
例えば、DB2 レコードと MQ レコードの中には、別々のレコードでありながら同じログ・コードを持っているものがあります。ログ・タイプを指定せずにログ・コードを指定し (例えば、CODE(0002))、ユーザーの入力に DB2 レコードと MQ レコードの両方が含まれていた場合、その結果にはこのログ・コードをもつ、両方のログ・タイプからのレコードが含まれることになります。
あいまいさを回避するためには、ログ・タイプとログ・コードを指定してください。例えば、CODE(DB2:0002) です。
例えば、以下の CODE コマンドは同等です。
CODE(SMF:78.2)
CODE(SMF:78-2)
CODE(SMF:4E02)
サブタイプをもつログ・レコード・タイプは一部のみです。あるレコード・タイプのすべてのサブタイプを選択するには、サブタイプを省略してください。10 進形式を使用している場合は、必ずレコード・タイプの後にハイフンを指定してください。例えば、以下の CODE コマンドは同等です。
CODE(SMF:78.)
CODE(SMF:78-)
CODE(SMF:4E)
同一レベルの CODE コマンドは、論理 OR によって結合されます。
異なるレベルは、論理 AND によって結合されます。
このフォームは、FUWCDS DD 名によって指定されたコントロール・リポジトリーに定義しておく必要があります。
CODE コマンドはデフォルトで、一致するログ・レコードをこれ以降の処理対象に含めます。
COND ステートメントは、フィルター条件を指定します。フィルター条件は、フィールド値を使用してフィルターを詳細化します。
CODE コマンドの複数の COND ステートメントは、論理 AND によって結合されます。ただし例外があり、同じフィールド名 (またはオフセット) と演算子 (この場合、演算子は NE 以外) を指定する連続した COND ステートメントは論理 OR によって結合されます。
例:
COND TRANCODE EQ 'MENU'
COND USERID EQ 'GXH01'
次の連続する COND ステートメントは、トランザクション・コードが MENU でなく、かつ LOGO でない (MENU でも LOGO でもない) の場合に、ログ・レコードを選択します。
COND TRANCODE NE 'MENU'
COND TRANCODE NE 'LOGO'
(同じフィールド名と演算子、演算子は NE)。
COND TRANCODE EQ 'MENU'
COND TRANCODE EQ 'LOGO'
(同じフィールド名および演算子、演算子は NE 以外)。REPORT
CODE(CMF:6E13)
COND TRANCODE EQ 'CCV*'
EXTRACT
CODE(CMF:6E13)
COND TRANCODE EQ 'CCV*'