SCAN |
SCAN
コマンドは、オブジェクト内の文字列を検索するために使用します。このとき、オプションとして文字列を別の文字列で置換することもできます。
対象になるのは、1 つのオブジェクト、指定した設定で始まるすべてのオブジェクト、またはライブラリ内のすべてのオブジェクトです。 SCAN
も、対象を特定のオブジェクトタイプに制限できます。
重要:
ソースワークエリアは SCAN
コマンドによって使用されます。 そのため、SCAN
コマンドを使用する前に、SAVE
または STOW
コマンドを発行する必要があります。
このドキュメントでは、次のトピックについて説明します。
SCAN
コマンドを入力すると、次の内容の[SCAN]
メニューが表示されます。
フィールド | 入力設定 | |
---|---|---|
コード | T |
統計
次の情報を返します。
|
L |
スキャン対象値を含むオブジェクトのリスト
スキャン設定が見つかったすべてのオブジェクトのリストを表示します。 このリストから、さらに処理するために個々のオブジェクトを選択できます。 必要に応じて、結果画面の行を直接、または適切な オブジェクト全体を変更するには、 オブジェクトを編集し終わったら、オブジェクトを保存してエディタを終了します。 その後、スキャン処理を継続できます。 |
|
S |
スキャン対象値のあるオブジェクト行
スキャン対象値が見つかった各ソースコード行を次々に表示します。 必要に応じて、結果画面の行を直接、または適切な オブジェクト全体を変更するには、 オブジェクトを編集し終わったら、オブジェクトを保存してエディタを終了します。 その後、スキャン処理を継続できます。 |
|
スキャン対象値 |
スキャンする文字列。 注意: |
|
置換値 |
スキャン対象値を置き換える値。 [Replace value]オプションは、マップ、データエリア、記録、ダイアログと関数、またはロックされたオブジェクト(「ソースオブジェクトのロック」)には影響しません。 |
|
Library |
スキャン対象のライブラリの ID。 デフォルトは現在のライブラリです。 指定されたライブラリが |
|
オブジェクト名 | スキャン対象のオブジェクト: | |
空白 | すべてのオブジェクト | |
* | ||
object-name> | 名前が name 以上であるすべてのオブジェクト | |
object-name< | 名前が name 以下であるすべてのオブジェクト | |
一定範囲のオブジェクト群でスキャンする場合は、システムコマンド LIST の記述と同様にして、オブジェクト名にアスタリスク表記(*)またはワイルドカード表記(?)を使用できます。
『Natural の使用』ドキュメントの「オブジェクトの命名規則」も参照してください。 |
||
Object type(s) | 検索は、特定のオブジェクトタイプに制限できます。 使用できるタイプの選択リストを表示するには、このフィールドに疑問符(?)を入力します。
このフィールドを空白のままにするかアスタリスク(*)を入力した場合は、任意のタイプのオブジェクトがスキャンされます。 |
|
完全スキャン | Y | スキャンが "完全" に行われます。つまり、スキャンされる値は、より長い文字列の一部であっても、任意のフォームで見つかります。 |
N | デフォルトでは、完全スキャンは行われません。
注意: |
|
Selection list | Y | ライブラリ、名前、コード T または S のタイプ(上記を参照)で指定されたオブジェクトのリストを表示します。 このリストから、さらに処理するために(任意の文字でマーキングして)個々のオブジェクトを選択できます。 |
N | デフォルトでは、選択リストは表示されません。 | |
Trace | Y | トレース機能を有効にします。 |
N | デフォルトでは、トレース機能は無効になります。 |
次のサブコマンドを、スキャン操作によって生成された結果画面のコマンド行に入力できます。
結果画面のソースオブジェクトの行の長さは、72 文字に制限されます。 72 文字を超える行は "L" でマークされ、変更はできません。
[Replace value]オプションが使用されている場合、オブジェクトが結果画面で修正された場合、またはその両方の場合は、I
、Q
またはドット(.
)が指定されていない限り、次のオブジェクトがスキャンされる前にオブジェクトが常に保存されます。
PASSW
、PASSWORD=
、CIPHER=
または CIPH=
を含む行は無視されます。
SCAN
機能は、次のキーワードを指定することにより、バッチモードまたはオンラインモードで呼び出すことができます。
キーワード | 説明 |
---|---|
FUNC | ファンクションコード |
SVAL | スキャン対象値 |
LIB | Library |
RVAL | 置換値 |
OBJ | オブジェクト名 |
TYPE | オブジェクトタイプ |
ABSOL | 完全スキャン |
注意:
ダイレクトコマンドでは、意図しないスキャン/置換結果を回避するために、空白が埋め込まれた値を避ける必要があります。 オンラインモードでは、空白が埋め込まれた値のスキャンは、でのみ使用できます。
メニュー
SCAN FUNC=S,SVAL=value,LIB=SYSTEM,OBJ=PGM0*,TYPE=S
SCAN FUNC=S,SVAL=value,RVAL=value,OBJ=PGM1
SCAN
コマンドは、呼び出しごとに 1 つの機能のみ処理して、指定された無効なデータの影響を最小化します。 上で説明したキーワードまたは位置パラメータを使用できます。
位置パラメータは次のように指定します。
SCAN func, scan-value, replace-value, library, object-name, object-type, absolute |
位置パラメータに使用できる値は、「メニューオプション」で説明しています。
重要:
小文字または埋め込みの空白を含む値をスキャンするには、SCAN
コマンドと同じバッチジョブの行に scan-value を指定せずに、別のデータ行で、オンラインマップに従ったデータを入力します。「メニューオプション」を参照してください。
埋め込みの空白があるスキャン/置換値の使用例:
SCAN S,MOVE LEFT,MOVE RIGHT,SYSTEM,PGM0*,N,*,N,N
Natural Security 環境で SCAN
を使用できるようにするには、システムコマンド LIST
、EDT
、EDIT
および READ
を現在のライブラリのセキュリティプロファイルで許可する必要があります。 [Replace value]オプションを使用する場合、またはソースを変更可能にする場合は、システムコマンド SAVE
も許可する必要があります。
Natural Security 環境では、SCAN
コマンドが一部のライブラリで使用できない場合があります。
ライブラリに対してストラクチャードモードのみ許可されている場合、レポーティングモードのオブジェクトはスキャンできますが、変更はできません。