CHANGE/CX 基本コマンド

CHANGE コマンドは、出現するストリングや値を検索して置き換えます。このコマンドは、編集セッションで、または「Find/Change Utility (検索/変更ユーティリティー)」を使用しているときに、コマンドの省略形 (例えば、C、CH、CHG など) を使用して入力できます。

ビューで定義された出力フォーマットを使用して表示されている日時フィールドについては、File Manager は表示された値から string1 を検索し、検出された場合には、表示されている値の中の string1string2 に置き換えます。

CX コマンドを実行すると、「Extended Command Entry (拡張コマンド入力)」パネルが表示されます。このパネルでは、その他の場合はコマンド行に収まらない長さの引数を入力することができます (CHANGE での長いストリングの処理を参照してください)。

注:
  1. エディターでパラメーターを指定せずに CHANGE 基本コマンドを入力すると、File Manager により、引数を入力できる「Extended Command Entry (拡張コマンド入力)」ポップアップ・パネルが表示されます。
  2. コマンドの CNot バージョンを使用する場合、ストリングが一致となるのは、このセクションで説明する一致基準では一致しないときです。

Syntax

エディターでの CHANGE 基本コマンド

編集セッションでは、CHANGE 基本コマンドは現在表示されているデータ・セットやデータ・セット・メンバー内で、出現する 1 つ以上の文字ストリングを検索して置き換えます。SNGL または TABL 表示形式の場合は、CHANGE コマンドを使用して、数値フィールドの中の数値を検索して置き換えることもできます。
注: エディターでパラメーターを指定せずに CHANGE 基本コマンドを入力すると、File Manager により、引数を入力できる「Extended Command Entry (拡張コマンド入力)」ポップアップ・パネルが表示されます。
1. Syntax in the Editor

1 Change
1 CX
1 CHG
1 CNot
1 CNX(1)
column range (all display formats)

1 col1 ?col2
field list or range (SNGL or TABL display format)

1 ! #ALL
2.1 (?+ , ref)
1 (?+ , ref_1 - ref_2)
注:
  • 1 パラメータは任意の順序で指定できます。
  • 2 これらのパラメーター (X、EX、または NX) のどれも指定されていない場合には、除外レコードと非除外レコードの両方が検索されます。

「Find/Change Utility (検索/変更ユーティリティー)」での CHANGE 基本コマンド

FCH ユーティリティーでは、CHANGE 基本コマンドは選択されたメンバーまたはデータ・セットで指定されたストリングのすべてのオカレンスを検索し、置換します。

2. Syntax in the Find/Change Utility

1 Change
1 CX
1 CHG
2 string1
2 string2
1! CHARs
1 PREfix
1 SUFfix
1 WORD
3? col1?col2
3 MAXINREC(n)
3 MAXRECS(n)
3 FIRST(n)
Change、CX
CHANGE コマンドまたはこの省略形が適切なパラメーターとともにコマンド行に入力されます。コマンド行に収まりきらない長いストリングを検索して置換するには、パラメーターを指定せずに、CHANGE 基本コマンド (または C などの省略形) を入力するか、パラメーターを指定せずに、コマンド行に CX コマンドを入力します。これにより、「Extended Command Entry (拡張コマンド入力)」パネルが表示されます。このパネルには、長いストリングと CHANGE コマンドのパラメーターを入力することができます。
* (アスタリスク)
検索ストリングの代わりに使用された場合、検索ストリングとして、直前の CHANGE コマンドで指定された検索ストリングを使用します。

置き換えストリングの代わりに使用された場合、置き換えストリングとして、直前の CHANGE コマンドで指定された置き換えストリングを使用します。

CHANGE の場合、* の位置が重要になります。ストリングの前にある場合は、直前の検索引数を示します。つまり、最初のストリングとして扱われます。* の前にストリングがある場合は、2 番目のストリング (変更引数) として扱われ、直前の CHANGE コマンドの変更引数を使用します。直前の検索ストリングと直前の変更ストリングの両方を使用するには、CHANGE * * と指定します。

string1
検索ストリングは、100 文字以下でなければなりません。ストリングは以下のいずれかが可能です。
  • 引用符で開始または終了せず、ブランクまたはコンマを含まない文字ストリング。ストリングの大/小文字は無視されます。同一文字の英大文字表記と小文字表記は一致します。例えば、次のコマンドは、ストリング「black」」、「Black」、および「BLACK」を変更します。
    CHANGE black white
  • 引用符で囲まれた文字ストリング。このストリングには、ブランクとコンマを入れることができます。ストリングの大/小文字は無視されます。例えば、'Exact string''exact string' と一致します。ストリングはヌル・ストリング ('') であっても構いません。string1 がヌル・ストリングの場合には、string2 が現在の桁位置に挿入されます。
  • 「C」と、その後に引用符で囲まれた文字ストリング (C'Frog')、または、引用符で囲まれた文字ストリングと、その後に「C」('Frog'C)。このストリングには、ブランクとコンマを入れることができます。ストリングは (大文字/小文字も含めて) 完全に一致しなければなりません。例えば、C'Exact string'C'exact string' と一致しません。ストリングはヌル・ストリング (C'') であっても構いません。string1 がヌル・ストリングの場合には、string2 が現在の桁位置に挿入されます。
  • DBCS ストリングまたは DBCS と非 DBCS の混合ストリング。最初の文字としてのシフトアウト (X'OE') または最後の文字としてのシフトイン (X'OF') は、検索ストリングの一部としては破棄されます。
  • P が前または後に付いている単一引用符または二重引用符で囲まれた、文字そのものではなく検索対象のストリングのタイプを表すピクチャー・ストリング。それ自体を表すブランク、英字、および数字、あるいは、それぞれ文字のクラスを表す下記の任意の特殊文字を含めることができます。
    =
    任意の文字。
    @
    英字。
    # 資格情報キャッシュ内のエントリーの最大存続時間 (秒数)
    数字。
    $
    特殊文字。
    & notsym;
    非ブランク文字。
    .
    無効文字。
    -
    非数値文字。
    <
    小文字英字。
    >
    大文字英字。

    この表記が使用される場合、数字、ビット、およびユニコードのフィールド (SNGL および TABL 表示形式) は、検索処理から除外されます。

  • 「X」と、その後に引用符で囲まれた 16 進数ストリング (X'C1C2')、または、引用符で囲まれた 16 進数ストリングと、その後に「X」('C1C2'X)。
  • 数値 (SNGL または TABL 表示形式の場合に、フィールド参照を指定することによって検索を制限するときと検索中のフィールドが数値フィールドであるときのみ)。詳しくは、数値フィールドの検索を参照してください。
string2
string1 の置換に使用したいストリングで、100 文字以下でなければなりません。ストリングは以下のいずれかが可能です。
  • 引用符で開始または終了せず、ブランクまたはコンマを含まない文字ストリング。CAPS ON または CASE UPPER が有効になっていると、string2 は大文字に変換されます。
  • 引用符で囲まれた文字ストリング。このストリングには、ブランクとコンマを入れることができます。CAPS ON または CASE UPPER が有効になっていると、string2 は大文字に変換されます。ストリングはヌル・ストリング ('') であっても構いません。
  • 「C」と、その後に引用符で囲まれた文字ストリング (C'Frog')、または、引用符で囲まれた文字ストリングと、その後に「C」('Frog'C)。このストリングには、ブランクとコンマを入れることができます。大/小文字の区別は考慮され、保持されます。ストリングはヌル・ストリング (C'') であっても構いません。
  • DBCS ストリング、または DBCS と非 DBCS の混合ストリング。ストリングの先頭と末尾にあるシフトアウト (X'0E') とシフトイン (X'0F') は、DBCS データの保全性が損なわれないような方法で調整されます。
  • P が前または後に付いている単一引用符または二重引用符で囲まれた、実行する変更内容を表すピクチャー・ストリング。大文字から小文字に、または小文字から大文字に文字を変更するか、あるいは下記のストリングの特殊文字を使用してフィールドをそのままにしておくことができます。
    =
    任意の文字。
    <
    小文字英字。
    >
    大文字英字。

    CHANGE コマンドで使用されるピクチャー・ストリングの例:

    c p'.' x'00'
    次の無効文字を 16 進数 x'00' に変更します。
    c p'###' 100
    次の 3 桁の数字を 100 に変更します。
    c all 73 80 p'=' " "
    73 桁目から 80 桁目にブランクを入力します。
    c all p'-' 1 10 "0"
    1 桁目から 10 桁目のすべての非数値文字を文字「0」に変更します。
    c p'<' p'>'
    すべての小文字を大文字に変更します。
    c p'a>' p'=<'
    文字 a と直後の大文字を、文字 a と小文字に変更します。
    c p'>' '¬'
    大文字は「not 記号」に変更します (注: 「not 記号」には「to」ストリングの特殊な意味がありません)。
    c p'<#' p'>='
    小文字と直後の数字を、大文字と検出された数字に変更します。

    この表記が使用される場合、数字、ビット、およびユニコードのフィールド (SNGL および TABL 表示形式) は、検索処理から除外されます。

    .
  • 「X」と、その後に引用符で囲まれた 16 進数ストリング (X'C1C2')、または、引用符で囲まれた 16 進数ストリングと、その後に「X」('C1C2'X)。大/小文字が区別されて保持されます (16 進値は指定されたとおりに正確に使用されます)。
  • 数値 (SNGL および TABL 表示形式のみ)。
col1
検索する桁の範囲内に含まれる最初の桁。1 以上であり、最大レコード長以下である必要があります。桁の範囲を指定して、データが SNGL または TABL 形式で表示されると、検索がデータの発生順に実行されます (これはフィールドの表示順ではないことがあります)。

SNGL 表示形式または TABL 表示形式の場合に桁の範囲を指定すると、数値フィールドの場合でも、ストリング比較が実行されます。

注: CHANGE 基本コマンドを「Find/Change Utility (検索/変更ユーティリティー)」で使用する際に「JCL Source format (JCL ソース形式)」オプションが選択されている場合、検索される桁数は 3 から 71 に設定されます (ステートメントが JCL ステートメントでない場合を除く)。ステートメントは、先頭に「/*」または「//」ストリングが示されている場合は JCL ステートメントとみなされます。ステートメントの先頭にどちらのストリングも示されていない場合は JCL ステートメントとみなされず、その場合は FIND (または CHANGE) コマンドで指定された、あるいは BOUNDS コマンドを使用して事前設定された任意の桁範囲が使用できます。桁範囲が指定されていない場合は、全レコードが検索されます。
ALL
(エディターにのみ適用。)データの最上部から検索を開始して、そのストリングのすべてのオカレンスを検索して置き換えます。
注:
  1. 表示対象になっていないか、あるいはシャドー行によって表されている非選択レコードまたは抑制レコードは、たとえ ALL パラメーターが指定されている場合でも CHANGE コマンドによっては処理されません。
  2. ALL パラメーターは、CHANGE コマンドと併用される場合には、再帰的ではありません。すなわち、コマンド CHANGE ALL 'SS' 'RS' をストリング 'SSS' に適用すると、結果は 'RSS' になり、'RRS' ではありません。
FIRST
(エディターにのみ適用。)データの先頭から string の最初のオカレンスを検索します。
LAST
(エディターにのみ適用。)データの最後から string の最後のオカレンスを逆方向に検索します。
NEXT
(エディターにのみ適用。)検索はカーソル位置 (カーソルが画面のデータ部分内にある場合) または表示されている先頭レコードから始められ、順方向に検索してストリングの次のオカレンスを検索します。ストリングの次のオカレンスが除外レコード内にあり、検索を非除外レコードに制限しない場合は、このストリングを含む最初の除外レコードのみが表示されます。
PREV
(エディターにのみ適用。)カーソル位置 (カーソルが画面のデータ部分内にある場合) から、あるいは画面に表示されている一番上のレコードの先頭から、string の次のオカレンスを逆方向に検索します。
CHARS
データ内の任意の場所で、その検索ストリングに突き合わせます。
PREFIX
データ内の接頭部として出現する場所で、その検索ストリングに突き合わせます。接頭部にするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に英数字が続く必要があります。
SUFFIX
データ内の接尾部として出現する場所で、その検索ストリングに突き合わせます。接尾部にするには、一致したテキストの前に英数字が付く必要があり、後に非英数字が続くか、一致したテキストが行またはフィールドの終端である必要があります。
WORD
データ内のワードとして出現する場所で、その検索ストリングに突き合わせます。ワードにするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に非英数字が続くか、あるいは一致したテキストが行またはフィールドの終端である必要があります。
col2
検索される桁の範囲内に含まれる最後の桁。col1 以上であり、最大レコード長以下でなければなりません。指定しない場合、ストリングは、col1 位置で開始するデータとストリングの長さにマッチングされます。
#ALL
各フィールドが、テンプレート属性に従って検索されます。
ref
(エディターにのみ適用。)フィールド参照で、検索に含まれるフィールドを指定します。例えば、次のようになります。#3。フィールドが配列の 1 つの項目であるときには、変更したいオカレンスを識別できるように添字を括弧で囲んで指定する必要があります。例: #5(3)。フィールドが多次元配列の一部である場合は、配列のそれぞれの次元ごとに添字を指定する必要があります。例えば、次のようになります。#7(2,3)

複数フィールド参照は括弧 () で囲むか、あるいはスペースの介入なしでコンマで区切られていなければなりません。詳しくは、指定フィールドへの検索の制限を参照してください。

SNGL 表示形式または TABL 表示形式で、フィールド参照を指定するかフィールド参照も桁範囲も指定しないと、数値フィールドの検索時に、検索ストリングは数値として解釈され、数値比較が実行されます。文字フィールドの検索時には、ストリング比較が実行されます。つまり、File Manager のテンプレート属性に基づいて検索が実行されます。詳しくは、数値フィールドの検索を参照してください。

ref_1
フィールドの範囲の最初のフィールド参照。添字にすることはできません。ref_1 フィールド参照値が、表示されている最小のフィールド参照値より小さい場合は、表示されている最小のフィールド参照値が使用されます。
ref_2
フィールドの範囲の最後のフィールド参照。添字にすることはできません。ref_2 フィールド参照値が、表示されている最大のフィールド参照値より大きい場合は、表示されている最大のフィールド参照値が使用されます。

ref_1 および ref_2 フィールド参照値は、ハイフン (-) で区切る必要があります。ハイフンとフィールド参照値の間にスペースを使用することができます。

ref_1 の値が ref_2 より大きい場合は、検索プロセスはオペランドを取り消します。

EX
(エディターにのみ適用。)除外されたレコードのみ。
label1
(エディターにのみ適用。)レコード範囲の始まりを識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。
label2
(エディターにのみ適用。)レコード範囲の終わりを識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。
NX
(エディターにのみ適用。) 非除外レコードのみ。
X
(エディターにのみ適用。)EX と同じ。
MAXINREC(n)
(FCH ユーティリティーにのみ適用。)MAXINREC パラメーターにより、単一レコード内で行うことができる変更の最大数を指定することができます。
MAXRECS(n)
(FCH ユーティリティーにのみ適用。)MAXRECS パラメーターにより、単一のデータ・セットまたは PDS メンバー内で変更することができるレコードの最大数を指定することができます。
FIRST(n)
(FCH ユーティリティーにのみ適用。)FIRST パラメーターにより、単一のデータ・セットまたは PDS メンバー内で実行することができるすべての変更の最大数を指定することができます。

使用箇所

関連作業および例