本文へ移動
Develop Tools
← 使い方ガイドへ戻る

COBOLコードをAIへ安全に貼る方法|顧客名・契約番号・項目名をマスキング

COBOLの障害調査やモダナイゼーション相談では、データ定義や処理順を残したコードが役立ちます。一方で業務名、顧客情報、Dataset名、CALL先をそのまま外部へ出さない準備が必要です。

COBOLコードから業務固有情報をブラウザ内でマスキングしてAIへ共有する流れ
COBOLコードから業務固有情報をブラウザ内でマスキングしてAIへ共有する流れ

COBOLコードをブラウザ内でマスキングする

プログラム名、節・段落、データ項目、値、コメントを選び、COBOLの列構造を考慮した共有用コピーを作成できます。入力ソースはDevelop Toolsのサーバーへ送信・保存されません。

COBOLコードマスキングツールを開く

結論

顧客情報と業務固有名を置換し、DIVISION、SECTION、レベル番号、PIC、USAGE、処理文を残した共有用コピーを作ります。

元ソースを直接編集せず、共有用コピーで作業してください。

COBOLを単純な文字列置換として扱わない

PROGRAM-ID、データ項目、段落、ファイル名は参照先と対応しています。全部をFILLERへ変えたり、同じ元名を別々の名前へ変えたりすると調査材料が失われます。

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CUSTOMER-PAYMENT-BATCH.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-CUSTOMER-NO     PIC X(10).
       01  WS-PAYMENT-AMOUNT  PIC S9(9)V99 COMP-3.
       IDENTIFICATION DIVISION.
       PROGRAM-ID. Class001.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  variable001        PIC X(10).
       01  variable002        PIC S9(9)V99 COMP-3.

COBOLコードマスキングツールで確認する手順

  • 1. 問題を説明できる最小範囲を別コピーへ切り出します。
  • 2. プログラム・節/段落・データ項目・値・コメントの対象を選択します。
  • 3. マスキング後に同じ名前の宣言と参照が対応しているか確認します。
  • 4. PIC、COMP-3、REDEFINES、OCCURS、FILE STATUS等が読めるか確認します。
  • 5. 必要な数値だけ右クリックで解除し、結果だけを共有します。

見落としを防ぐ確認表

分類確認対象
人物・顧客氏名、顧客番号、契約番号、口座番号
システムPROGRAM-ID、業務名、COPYBOOK、CALL先
ファイルSELECT名、ASSIGN名、Dataset、DD名
コード構造PIC、USAGE、レベル番号、段落・参照

具体例の考え方

PROGRAM-IDとデータ項目名を連番名へ置換し、PIC X(10)やPIC S9(9)V99 COMP-3は残します。これにより桁や内部表現を説明できます。

外部共有前の最終チェック

  • 顧客名、契約番号、口座番号、社員番号、支店コード、業務コードが残っていないか検索する
  • PROGRAM-ID、データ項目、段落、ファイル名、COPYBOOK名、CALL先名からシステムを推測できないか確認する
  • VALUE句、DISPLAY文、コメント、SQL Literal、URL、Dataset名、DD名も確認する
  • PIC、USAGE、COMP-3、レベル番号、REDEFINES、OCCURSの調査に必要な形が残っているか比較する
  • 数値をマスキングした場合は、OCCURS回数や88レベル値など説明に必要な数値を右クリックで個別解除する
  • 共有するのはマスキング結果だけにし、元ソースと対応表は権限管理された場所に残す

マスキング結果だけで情報漏えいを完全に防げるとは限りません。コードと一緒に送るABENDログ、JCL、ダンプ、COPYBOOK、画面画像にも同じ情報がないか確認してください。

COBOLコードマスキングツールでできること・できないこと

確認項目現在の対応注意点
入力COBOLテキストの貼り付け.cbl・.cob・.cpyの直接読込やEBCDIC変換は行わない
ソース形式固定形式を推定し、>>SOURCE FORMAT FREE/FIXEDも追跡コンパイラーと同等の完全な構文解析ではない
識別子PROGRAM-ID、段落・節、データ項目、COPY名などを分類同じ名前は大文字・小文字を区別せず同じ置換名へ対応
保持シーケンス番号、標識欄、レベル番号、PIC句を保持値のマスキングではVALUEやOCCURS回数などPIC外の数値も0になる
参照PERFORM、THRU、REDEFINES、RENAMES、DEPENDING ON等の同名参照を対応意味解析やコンパイル成功を保証しない
埋め込みEXEC SQL内のホスト変数・識別子も字句単位で処理SQL・CICS専用の完全なParserではない
出力結果のコピー、右クリックによる個別解除、全消去ファイル保存、Mapping一覧、S0C7診断、自動修正は行わない
プライバシー入力とマスキングをブラウザ内で処理ソースや結果をDevelop Toolsのサーバーへ送信・保存しない

このツールは共有用コピーを作る補助機能です。利用中のCOBOLコンパイラー、COPYBOOK、JCL、実データを含めたビルド・実行確認を代替しません。

利用中のコンパイラー公式資料で確認する

COBOLの言語仕様、内部表現、FILE STATUS、コンパイラーオプションは製品とバージョンで差があります。IBM Enterprise COBOLを例にした説明は一次資料で確認し、別製品へそのまま当てはめないでください。

具体例:顧客決済バッチの定義をAIへ貼る

PROGRAM-IDとデータ項目名を連番名へ置換し、PIC X(10)やPIC S9(9)V99 COMP-3は残します。これにより桁や内部表現を説明できます。

マスキング結果は構文解析、コンパイル、S0C7やI/Oエラーの自動診断結果ではありません。元ソースと比較し、調査に必要な構造と共有不要な情報を目視確認します。

  1. 問題を再現する最小範囲を切り出す
  2. 識別子・値・コメントをマスキングする
  3. PIC・USAGE・参照関係を確認する
  4. 結果だけを共有する

JCL、ABENDログ、Dump、実データ、COPYBOOKを一緒に送る場合は、それぞれを個別に確認してください。

よくある質問

COBOLのコンパイルエラーやS0C7も自動で直せますか?
直せません。ツールは共有用のマスキングを行います。利用中のコンパイラー、Language Reference、実行環境で診断してください。
PIC・COMP-3・REDEFINES・OCCURSは保持されますか?
PIC句、Keyword、レベル番号、同名参照を考慮します。ただし値をマスキングするとOCCURS回数等のPIC外数値も0になるため、必要な数値は結果側の右クリックで個別解除してください。
入力したCOBOLソースはサーバーへ送信されますか?
入力とマスキング結果はブラウザ内で処理され、Develop Toolsのサーバーへ送信・保存されません。