DDM エディタの画面([Edit DDM]画面)はテーブルで構成されており、フィールド定義データは行および列に含まれています。 DDM に定義されているフィールドに属するすべての属性は、1 行(ソースコード行)に含まれており、タブで区切られています。
このセクションでは、DDM エディタ画面の列について説明し、DDM フィールドの作成と変更、画面内の移動、DDM ソースの作成などを実行できるコマンドについて説明します。
このセクションでは、[Edit DDM]画面上部のヘッダーに含まれるフィールドについて説明します。
ヘッダーフィールド | 説明 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Edit DDM(DDM-type )
|
|
||||||||||||||||||||
DBID |
データベース ID(DBID)です。DBID については、「DDM の指定」の DBID の説明を参照してください。 |
||||||||||||||||||||
FNR | データベースで参照されるファイル番号です。FNR については、「DDM の指定」の FNR の説明を参照してください。 | ||||||||||||||||||||
DDM Name | DDM エディタのワークエリアに現在含まれている DDM の名前です。 | ||||||||||||||||||||
Def.Seq. |
Natural プログラムの デフォルト順序は、2 文字のフィールドのショートネームを使用して指定します。 ショートネームは、選択したファイル番号に基づいて検証されます。 データベースがアクセス可能な場合、データベースファイルの対応するフィールドに対し、ショートネームがチェックされます。 該当するフィールドがデータベースに存在しない場合、有効なショートネームの選択リストが表示されます。 データベースにアクセスできない場合、選択リストは生成されません。 このフィールドの内容は変更可能です。 |
このセクションでは、[Edit DDM]画面の行や列に定義できるフィールド属性について説明します。
列見出し | フィールド属性 | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
I |
|
||||||||||||||||||||||||||||||||||||||||||
T |
|
||||||||||||||||||||||||||||||||||||||||||
L | フィールドに割り当てるレベル番号。
レベルは、フィールド定義の構造およびグループ化を示すために使用します。 このレベルは、ビュー定義、再定義、およびフィールドグループのレベルと対応しています(『プログラミングガイド』の該当するセクションを参照)。 有効なレベル番号は レベル番号は、連続した昇順で指定する必要があります。 |
||||||||||||||||||||||||||||||||||||||||||
DB |
Adabas ファイルの場合、[DB]列にはデータベースファイル内の対応するフィールドの 2 文字のショートネームが表示されます。 DL/I セグメントタイプの場合、[DB]列には DL/I で使用されている 2 文字のコードが表示されます。 VSAM ファイルについては、『Natural for VSAM』ドキュメントを参照してください。 タイプ |
||||||||||||||||||||||||||||||||||||||||||
Name | フィールドの名前。
Adabas のフィールドおよび SQL の列の場合は 3~32 文字、DL/I の名前の場合は 1~19 文字になります。 名前を作成する規則はユーザー定義変数の命名規則に準拠します(『Natural の使用』ドキュメントを参照)。ただし、名前の最初の文字は常に大文字のラテン文字(A~Z)にする必要があります。 また、名前を フィールド名は、別の Natural オブジェクト(プログラムなど)でフィールドを参照するために使用される名前です。 フィールド名は、DDM 全体で一意です。 タイプ |
||||||||||||||||||||||||||||||||||||||||||
F | A (英数字)、P (パック型数値)、L (論理)などの、エレメンタリフィールドの Natural データフォーマットです。
有効な Natural データフォーマットについては、『プログラミングガイド』の「ユーザー定義変数のフォーマットおよび長さ」を参照してください。 |
||||||||||||||||||||||||||||||||||||||||||
Leng |
|
||||||||||||||||||||||||||||||||||||||||||
S |
|
||||||||||||||||||||||||||||||||||||||||||
D |
|
||||||||||||||||||||||||||||||||||||||||||
Remark | フィールド/DDM に適用されるコメント。 |
インジケータフィールドは、可変長フィールドの長さ、またはデータベースフィールドのデータの有意性(空値
インジケータ)に関する情報を取得するために使用します。 インジケータフィールドには、データベースフィールドの内容は格納されていません。
L@
、N@
、または O@
(@
は 16 進値 H'7C' を持つ文字)で始まるデータベースフィールド名は、インジケータフィールドとして解釈されます。 したがって、インジケータフィールドでないフィールドの場合、これらの文字列以外でデータベースフィールド名を始める必要があります。
DDM が最初に生成されるときは、次の処理が実行されます。
L@xxxxx
フィールドは、あらゆる可変長フィールドに自動的に追加されます。xxxxx
は、関連付けられているフィールドの名前です。
これは、Adabas ファイルのロング英数字(LA)フィールドとラージオブジェクト(LB)フィールド、および DB2 テーブルの VARCHAR フィールドと LOB フィールドに適用されます。
長さインジケータが LA、LB、LOB の各フィールドに関連付けられている場合、Natural データフォーマット/データ長は I4 である必要があります。 VARCHAR フィールドの場合、データフォーマット/データ長は I2 である必要があります。
N@xxxxx
フィールドは、空値
を保持できるフィールドに自動的に追加されます。xxxxx
は、関連付けられているフィールドの名前です。
これは、SQL の空値オプションが定義されている Adabas フィールド、または空値
を格納できるように定義されている DB2 フィールドに適用されます。 空値
インジケータフィールドの Natural データフォーマット/データ長は I2 である必要があります。
O@xxxxx
は現在、特定の検索機能に割り当てられていません。将来の機能拡張のために予約されています。
O@xxxxx
は、DB2 LOB フィールドのロケータフィールドに自動的に追加されます。 ロケータフィールドの Natural データフォーマット/データ長は I4 である必要があります。
このセクションでは、[Edit DDM]画面で使用できるコマンドに関する情報について説明します。
行コマンドは、単一または複数のソースコード行をコピー、削除、挿入、および移動するために使用します。 また、行コマンドは拡張フィールド編集機能の起動にも使用します(「拡張フィールド属性の指定」を参照)。
エディタコマンドまたはシステムコマンドは、[Edit DDM]画面から、特定の行コマンド、DDM ソース内の移動、および SYSDDM 機能を直接実行するためなどに使用します。
このセクションでは、次のトピックについて説明します。
このセクションでは、[Edit DDM]画面で使用できるコマンドのヘルプ情報を取得する方法について説明します。
コマンドのヘルプ情報を表示するには
[Edit DDM]画面のコマンド行に、「HELP
」と入力します。
または:
[Edit DDM]画面のコマンド行に、疑問符(?)を入力します。
[Editor Help Info]画面が表示されます。
ヘルプテキストをスクロールダウンするには、および[Editor Help Info]画面を終了するには、Enter キーを押します。
[Edit DDM]画面が表示されます。
このセクションでは、[Edit DDM]画面で使用できるすべての行コマンドとその実行方法について説明します。
行コマンドを実行するには
[Edit DDM]画面上で、コマンドを適用するソース行(複数可)の隣の列[T]にカーソルを移動し、行コマンドを入力して列[T]、[L]、[DB]、または[Name]の既存の値を上書きします。
Enter キーを押します。
行コマンド | Explanation |
---|---|
.C(nn) |
コマンドを入力した行の下に、行が 1 行または nn 行コピーされます。 |
.CX(nn) |
コマンドを入力した行の下に、.X でマークした行が 1 回または nn 回コピーされます。
|
.CY(nn) |
コマンドを入力した行の下に、.Y でマークした行が 1 回または nn 回コピーされます。
|
.CX-Y(nn) |
「行のブロックをコピーまたは移動するには」の説明のように、行ブロックが 1 回または nn 回コピーされます。 |
.D(nnnn) |
コマンドを入力した行、またはその行から始まる nnnn 行が削除されます。
nnnn が指定されていない場合、デフォルトで 1 行が削除されます。 |
.Enn |
「拡張フィールド属性の指定」の説明のように、拡張フィールド属性編集機能が起動されます。 |
.I(nn) |
コマンドを入力した行の下に空行が nn 行挿入されます。nn には 1~10 を指定できます。 (もう 1 回 Enter キーを押すと、空行が再び削除されます。)
nn が指定されていない(または適切でない)場合、デフォルトで 10 行が挿入されます。 ソースコードに行を追加するには、エディタコマンド |
.MX |
コマンドを入力した行の下に、.X でマークした行が移動します。
|
.MY |
コマンドを入力した行の下に、.Y でマークした行が移動します。
|
.MX-Y |
「行のブロックをコピーまたは移動するには」の説明のように、行ブロックが移動します。 |
.X |
コピーまたは移動する単一の行または行ブロックの最初の行をマークします。
マークされた行は、列 I に 「行のブロックをコピーまたは移動するには」も参照してください。 |
.Y |
コピーまたは移動する行ブロックの最後の行をマークします。
マークされた行は、列 I に 「行のブロックをコピーまたは移動するには」も参照してください。 |
コピーまたは移動する行ブロックの最初の行に、次の行コマンドを入力します。
.X
コピーまたは移動する行ブロックの最後の行に、次の行コマンドを入力します。
.Y
Enter キーを押します。
行ブロックは、列[I]の X
および Y
によって区切られます。
マークしたブロックのコピー先または移動先の上の行に、次の行コマンドを入力します。
.CX-Y (nn)
または
.MX-Y
C
はコピーを表し、M
は移動を表します。 nn は、マークしたブロックがコピーされる回数を示します。nn を指定していない場合、ブロックはデフォルトで 1 回コピーされます。
Enter キーを押します。
マークした行が、コマンドを入力した行の下にコピー(1 回または nn 回)、または移動されます。
このセクションでは、[Edit DDM]画面で使用できるエディタコマンドおよび Natural システムコマンドと、それに対応する PF キー(対応するキーがある場合)について説明します。
エディタコマンドまたはシステムコマンドを実行するには
[Edit DDM]画面上部の[Command]行に、エディタコマンドまたはシステムコマンドを入力します。
または:
エディタコマンドまたはシステムコマンドに PF キーが割り当てられている場合は、[Edit DDM]画面上で該当する PF キーを押します。
例えば、DDM をカタログするには、コマンド CATALOG
を入力するか、または PF11 キーを押します。
以下の表の構文図に使用されている記号については、『システムコマンド』ドキュメントの「システムコマンド構文」を参照してください。 コマンドの下線部分は有効な省略形を表します。 DDM ソースコード内の移動に使用するエディタコマンドについては、「配置のためのエディタコマンドの説明」の表を参照してください。
コマンド | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
ADD |
ソースコードに空行を 10 行追加します。
(もう 1 回 Enter キーを押すと、空行が再び削除されます。) 行を挿入するには、行コマンド |
||||||||
CATALOG |
|
||||||||
CHECK |
ソースエリアの DDM ソースを、DDM によって参照される Adabas FDT を使用して検証します。
矛盾があった場合、エラーの原因となったフィールド定義のソース行の列 I に、修正を促すために 対応する PF キー:PF10 キー
|
||||||||
CLEAR |
『システムコマンド』ドキュメントに記載されている、対応する Natural システムコマンド CLEAR の説明のように、ソースエリアをクリアします。
|
||||||||
DX |
行コマンド .X でマークされている行を削除します。
|
||||||||
DY |
行コマンド .Y でマークされている行を削除します。
|
||||||||
DX-Y |
行コマンド .X および .Y で区切られている行ブロックを削除します。
|
||||||||
EX |
行コマンド .X でマークされている行の上の行をすべて削除します。
|
||||||||
EY |
行コマンド .Y でマークされている行の下の行をすべて削除します。
|
||||||||
EX-Y |
行コマンド .X および .Y で区切られている行ブロック以外の行をすべて削除します。
|
||||||||
HELP
または ? |
エディタコマンドのヘルプ情報が出力された[Editor Help Info]画面が表示されます。 | ||||||||
LENGTH
または SIZE |
|
||||||||
LIST DDM
または LIST VIEW |
|
||||||||
QUIT
または . |
DDM エディタを終了して、SYSDDM ユーティリティメニューを表示します。 ソースエリアの DDM ソースは、別のソースが(Natural のエディタのいずれかによって)ソースエリアに読み込まれるまで、または Natural セッションが終了するまで保持されます。
DDM エディタは、DDM エディタを終了するときに、エディタプロファイルオプション[Leave Editor with Unlock]を使用してソースコードのロックを解除します。 このオプションについては、「全般的な情報」セクションの「エディタプロファイル」の「全般的なデフォルト設定」で説明します。 対応する PF キー:PF3 キー
|
||||||||
READ |
|
||||||||
RESET |
列 I に X (行コマンド .X を参照)、Y (行コマンド .Y を参照)、または E (CHECK で検出されたエラー)がマークされている行のマークをすべて削除します。
|
||||||||
SCAN |
|
||||||||
UNCATALOG |
|
エディタコマンド | PF キー | 説明 |
---|---|---|
+
または +P |
PF8
または Enter |
1 ページ分(20 行)スクロールダウンします。 |
-
または -P |
PF7 | 1 ページ分(20 行)スクロールアップします。 |
+H |
PF5 | 半ページ分(10 行)スクロールダウンします。 |
-H |
PF4 | 半ページ分(10 行)スクロールアップします。 |
X
または Y |
行コマンド .X または .Y でマークされている行に移動します。
|
|
B
または ++ |
PF9 | 最後のページまでスクロールダウンします。 |
T
または -- |
PF6 | 最初のページまでスクロールアップします。 |
+nn |
nn 行スクロールダウンします。 | |
-nn |
nn 行スクロールアップします。 |
拡張フィールド編集機能は、別の Natural オブジェクト(プログラムなど)でフィールドが使用されるときに適用される、ヘッダー、編集マスク、フィールドのコメント(注釈)、およびフォーマットオプションに対するデフォルトのフィールド属性を指定するために使用できます。 また、VSAM ファイルから生成された DDM の場合、VSAM 固有のフィールド属性を表示および編集できます。
ヘッダー属性では、DISPLAY
ステートメントなどの出力時にフィールドの上部に表示される、デフォルトの列ヘッダーを指定します。 ヘッダーは、『パラメータリファレンス』ドキュメントの説明のように、一重引用符を使用した HD
パラメータ(HD='text'
)で指定されたテキストに対応します。 ヘッダーが指定されていない場合、フィールド名が列ヘッダーとして使用されます。
編集マスク属性では、DISPLAY
ステートメントなどによるフィールドの出力時に使用される、デフォルトの編集マスクを指定します。 編集マスクは、Natural 構文規則に準拠し、フィールドの Natural データフォーマットおよびデータ長に対して有効な値が指定されている必要があります。
注釈属性では、フィールドについてのコメントを指定します。
フォーマットオプションは、可変長フィールドを定義するために使用できます。LA
に設定すると、フィールドはロング英数字(LA)として定義されます。LB
に設定すると、フィールドはラージオブジェクト(LOB)として定義されます。 ロング英数字フィールドにはフォーマット A
または U
、ラージオブジェクトフィールドにはフォーマット A
、U
、または B
を指定できます。
『ステートメント』ドキュメントの「DISPLAY
」および「INPUT
」
『パラメータリファレンス』ドキュメントの「EM - 編集マスク」
以下のセクションでは次のトピックについて説明します。
このセクションでは、単一のフィールドまたは連続するフィールド範囲に対する拡張フィールド属性編集を起動および終了する方法について説明します。
拡張フィールド編集を起動するには
単一のフィールドの場合
編集するフィールドの隣の列 T にカーソルを移動し、行コマンド .E
を入力して列 T および L の値を上書きします。
次の Adabas からの DDM の例のように、コマンドでマークしたフィールドに対する[Extended Field Editing]画面が表示されます。
12:07:49 ***** Edit DDM (ADA) ***** 2006-02-08 - Extended Field Editing - DDM Name DDM-TEST Def.Seq. DBID 0 FNR 316 I T L DB Name F Leng S D - - - -- -------------- top ------------- - ---------- - - 1 AF LA-FIELD A 16381 F ---------------------------------------------------------- Remark ........... LA_____________________ Field Header ..... __________________________________________________ Field Edit Mask .. __________________________________________________ Format Option .... LA Long Alpha (LA = LA field, LB = LOB field) |
[Extended Field Editing]画面では、すでに説明したように、注釈(コメント)、フィールドヘッダー、編集マスク、およびフォーマットオプションを指定できます。
VSAM からの DDM の拡張フィールド編集については、『Natural for VSAM』ドキュメントの「Extended Editing at Field Level」を参照してください。
フィールド範囲の場合
選択する最初のフィールドの隣の列 T にカーソルを移動し、次の行コマンドを入力して列 T および L の値を上書きします。
.Enn
nn
は、現在のフィールドを含めた、選択するフィールド数です。
選択した最初のフィールドに対する[Extended Field Editing]画面が表示されます。
必要なフィールド属性を入力または変更して Enter キーまたは PF3 キーを押します。
次のフィールドに対する[Extended Field Editing]画面が順に表示されます。
拡張フィールド編集を終了するには
Enter キーまたは PF3 キーを押します。
フィールドの変更内容が保存され、[Edit DDM]画面が表示されます。