SCAN

SCAN

このコマンドは、オブジェクト内の文字列を検索するために使用します。このとき、オプションとして文字列を別の文字列で置換することもできます。

対象になるのは、1 つのオブジェクト、指定した設定で始まるすべてのオブジェクト、またはライブラリ内のすべてのオブジェクトです。スキャンも、対象を特定のオブジェクトタイプに制限できます。

重要:
ソースワークエリアは SCAN コマンドによって使用されます。そのため、SCAN コマンドを使用する前に、SAVE または STOW コマンドを発行する必要があります。

注意:
このコマンドは、バッチモードでは実行できません。

このドキュメントでは、次のトピックについて説明します。


メニューオプション

マップ、DDM、およびデータエリアを除くすべてのオブジェクトは、スキャンユーティリティを使用して変更できます。フルスクリーンエディタを使用して、スキャンされた行以外の行を変更することもできます。オブジェクトが変更されたら、それを保存してエディタを終了します。その後、スキャン処理を継続できます。

SCAN コマンドを発行すると、次の項目を指定できるウィンドウが表示されます。

フィールド 説明
スキャン対象値 検索する値。
置換値 スキャン対象値を置き換える値。
削除文字列 スキャン対象値が削除されます(Y/N)。
Object name スキャン対象のオブジェクト:
空白 すべてのオブジェクト。
*
name* 名前が name で始まるすべてのオブジェクト。
オブジェクトタイプ スキャンするオブジェクトのタイプ。
P プログラム
C コピーコード
N サブプログラム
S サブルーチン
H ヘルプルーチン
M マップ
G グローバルデータエリア
L ローカルデータエリア
A パラメータデータエリア
T テキスト
4 クラス
* すべてのタイプ
完全スキャン 完全スキャンを行います。
N 完全スキャンが "N" に設定されている場合は、スキャン対象値を空白または特定の文字で区切る必要があります。
ライブラリ スキャン対象のライブラリの ID。デフォルトは現在のライブラリです。
Case sensitive N 大文字、小文字またはその混在のいずれであるかに関係なく、スキャン対象値を検索します。
検索は、指定されたとおりのスキャン対象値に対して行われます。

適切な指定を行い、ENTER キーを押します。検索されたスキャン対象値を含む行を表示するウィンドウが開きます。

+-------------------- Search value MOVE in Program READVAR---------------------+
¦ Commands:                                                                    ¦
¦ 0440     MOVE EMPLOYEES-VIEW.NAME       TO #NAME (J)                         ¦
¦ 0450     MOVE EMPLOYEES-VIEW.FIRST-NAME TO #FIRST (J)                        ¦
¦ 0960            MOVE #NAME(6) TO #START-NAME                                 ¦
¦ 0980            MOVE 'D' TO #DIR           /* new direction DESCENDING       ¦
¦ 1020            MOVE #NAME(1) TO #START-NAME                                 ¦
¦ 1050          MOVE 'A' TO #DIR             /* new direction ASCENDING        ¦
¦ 1090          MOVE #NAME(6) TO #START-NAME                                   ¦
¦ 1180          MOVE #NAME(6) TO #START-NAME                                   ¦
+------------------------------------------------------------------------------+

サブコマンド

必要な任意のサブコマンドを上記のウィンドウに入力できます。コマンドモードに入るには、[Commands]行にカーソルを置き、ENTER キーを押します。

続いて、次のコマンドのいずれかを選択できます。

Command 関数
編集 オブジェクトを編集します。
List 現在ソースワークエリアに表示されているオブジェクトをリストします。
Ignore 現在スキャン中のオブジェクトを無視し、いずれの変更も保存せず、次のオブジェクトに移ってスキャンを続行します。
Quit スキャン処理を終了します。

サブコマンドは、最初の文字を入力することでも呼び出すことができます。

コマンドモードを非アクティブにするには、ESC キーを押します。

編集ルール

  • [Replace]オプションが使用されている場合、オブジェクトがスキャンユーティリティで更新された場合、またはその両方の場合は、[Ignore]または[Quit]が指定されていない限り、次のオブジェクトがスキャンされる前にオブジェクトが常に保存されます。

  • PASSWORD=PASSW=CIPHER=、または CIPH= を含む行は、SCAN コマンドによって無視されます。

  • スキャンユーティリティのソースオブジェクトの行の長さは、72 に制限されます。

  • 置換値が原因で行が 80 文字を超えた場合は、行が自動的に分割されます。

Natural Security 環境での SCAN

Natural Security 環境で SCAN を使用するには、システムコマンド LISTEDIT および READ を現在のライブラリのセキュリティプロファイルで許可する必要があります。[Replace]オプションを使用する場合は、システムコマンド SAVE も許可する必要があります。

Natural Security 環境では、SCAN コマンドが一部のライブラリで使用できない場合があります。