制御ステートメント(機能)と処理順序
MASKAMBLE処理は、バッチJOBにより実行されます。入出力ファイルを指定して、制御ステートメントで処理内容を指示します。
各制御ステートメント詳細
■ INCLUDE
条件指定により、レコードを抽出します。初期値では抽出されないレコードは出力されません。PARM='PASS'指定によって、抽出されなかったレコードをそのまま出力に送ることができます。
複数条件を指定することができ、条件としては定数、もしくはレコード内のデータ指定が可能です。
例:1~4桁が'1234'で、かつ11桁目が'A'(X'C1')より大きいか、21桁目が'B'のレコードを抽出します。 |
INCLUDE COND=(1,4,CH,EQ,C'1234',AND,11,1,GT,X'C1',OR, 21,1,EQ,'B') |
■ SCRAMBLE
指定項目をスクランブルします。変換は基本的には、同一文字種別(半角数値、半角英字、半角カナ、全角漢字、全角数字、全角カナ、全角かな)で変換されますが、FAKE指定時はその限りではありません。
属性 | 形式コード | 長さ | 入力制限 |
---|---|---|---|
漢字氏名 | KJNAME | 2~256 | 偶数長、2バイト文字 |
漢字姓 | KJ1NAME | 2~256 | 偶数長、2バイト文字 |
漢字名 | KJ2NAME | 2~256 | 偶数長、2バイト文字 |
漢字カナ氏名 | KJKNAME | 2~256 | 偶数長、2バイト文字 |
漢字ひらがな氏名 | KJHNAME | 2~256 | 偶数長、2バイト文字 |
漢字住所 | KJADDR | 2~256 | 偶数長、2バイト文字 |
カナ氏名 | NAME | 1~128 | 1バイト文字 |
カナ住所 | ADDR | 1~128 | 1バイト文字 |
電話番号 | TEL | 10~11 | 0~9、0~9以外は無視される |
e-mail アドレス | 5~50 | 1バイト文字、@は無変換、文字数字は区別される | |
数字(符号なし) | NUM | 1~128 | 0~9、0~9以外は無視される |
SCRAMBLE制御ステートメントでは、以下のサブパラメータを指定することができます。
NAYOSE | 名寄せ処理を指示します。KJNAMEおよびNAME項目内容が前レコードと同一の場合、前レコードで変換した内容を維持します。必ず、特定キー(KJNAMEもしくはNAME)でソートされている必要があります。NUM、TELおよびMAIL項目内容には、名寄せ処理は適用されません。 |
---|---|
FAKE | 正当な氏名で置き換えを行います。苗字として判断できる最大長は6文字で、6文字以上の場合は6文字以内で変換を試みます。 |
DEF= | DEF=で指定した姓名で氏名欄を規定値(INTV値)で置き換えます。FAKE指定があるKJNAMEに対して適用されます。 |
INTV= | DEF出力の規定値を指定します。 |
■ MASK
指定項目を特定文字に置き換えます。置き換え文字の指定がない場合は、1バイトおきに固定文字でMASK処理が行われます。提供時の固定文字は、それぞれX(半角文字)、Ⅹ(全角文字)、9(半角数字)です。
属性 | 形式コード | 長さ | 入力制限 |
---|---|---|---|
漢字氏名 | KJNAME | 2~256 | 偶数長、2バイト文字 |
漢字住所 | KJADDR | 2~256 | 偶数長、2バイト文字 |
カナ氏名 | NAME | 1~128 | 偶数長、2バイト文字 |
カナ住所 | ADDR | 1~128 | 偶数長、2バイト文字 |
電話番号 | TEL | 10~11 | 偶数長、2バイト文字 |
e-mail アドレス | 5~50 | 偶数長、2バイト文字 | |
数字(符号なし) | NUM | 1~128 | 1バイト文字 |
実行JCL例
■ 実行要件
レコードフォーマットが特定ID毎に異なるため、特定IDに対してのみSCRAMBLE処理を実施し、それ以外のレコードはそのまま出力させます。
抽出条件となる特定IDは、1バイトめからC’45’で始まり3バイトめから2バイトのフィールドが、同レコードの7バイトめから2バイトのデータと同じもので、9バイトめが空白でないものとします。
◇ JCL例 ◇