このドキュメントには次の演習が含まれています。
"Hello World!" と表示する最初の簡単なプログラムを作成します。 このプログラムは、前に作成したライブラリに格納されます。
新しいプログラムを作成するには
TUTORIAL
という名前のライブラリにログオンしていることを確認します。
[Development Functions]メニューの下部で、次の情報を入力して Enter キーを押します。
Code .. C Type .. P Name .. HELLO___________________________ Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Menu Exit Canc |
"C" は[Create Object]機能、"P" はオブジェクトタイププログラム、"HELLO" は作成するプログラムの名前を表します。
ヒント:
ファンクションコード「C
」と入力すると、[Type]フィールドにアスタリスク(*)も入力できます。 Enter キーを押すと、すべてのオブジェクトタイプのリストおよびオブジェクトタイプに対応する文字が表示されます。
プログラムエディタが表示されます。 現時点では空になっています。
プログラムエディタで次のコードを入力します。
* The "Hello world!" example in Natural. * DISPLAY "Hello world!" END /* End of program
コメント行はアスタリスク(*)で始まり、少なくとも 1 つの空白または 2 つ目のアスタリスクが後に続きます。 空白または 2 つ目のアスタリスクを入力し忘れると、システム変数を指定したとみなされ、エラーになります。
プログラムに空行を挿入する場合は、コメント行として定義する必要があります。 これは、異なるプラットフォーム(Windows、メインフレーム、UNIX、または OpenVMS)からプログラムにアクセスする場合に便利です。 例えば、メインフレームバージョンの Natural では、デフォルトにより、Enter キーを押すと空行が自動的に削除されます。
また、ステートメント行の最後にコメントを挿入することもできます。 この場合、コメントはスラッシュで始まり、アスタリスクが後に続きます(/*)。
出力に表示するテキストは、DISPLAY
ステートメントで定義されます。 表示テキストは引用符で囲みます。
END
ステートメントは、Natural プログラムの物理的な終わりをマークするために使用します。 各プログラムは END
で終了する必要があります。
Enter キーを押すと、小文字がすべて大文字に変換されることがあります。 この動作は、エディタプロファイル(後述)で定義されます。
システムコマンド RUN
では、プログラムコードのエラーをチェックするシステムコマンド CHECK
が自動的に呼び出されます。 エラーが検出されなければ、その時点でプログラムがコンパイルされ、実行されます。
注意:
CHECK
を別のコマンドとして使用することもできます。
EXECUTE
も用意されています(プログラムの格納についてはこのチュートリアルで後述)。 これに対し、RUN
コマンドでは、最新の修正を含むプログラムが常に使用されます。
プログラムを実行するには
プログラムエディタのコマンド行で、次のいずれかを入力します。
RUN
R
システムコマンドは略記される場合があります。 R
は RUN
の省略形です。
コマンド行は、環境定義に応じて画面の上部または下部のどちらかに表示されます。
> RUN > + Program HELLO Lib TUTORIAL |
コードが構文的に正しければ、定義したテキストが出力に表示されます。
MORE Page 1 05-03-11 12:07:25 Hello world!
Enter キーを押して、プログラムエディタに戻ります。
Hello World プログラムでエラーを作成してから、プログラムをもう一度実行します。
エラーを修正するには
DISPLAY
ステートメントを含む行で 2 つ目の引用符を削除します。
上記の手順で、プログラムをもう一度実行します。
エラーが検出されると、エラーメッセージが表示されます。
NAT0305 Text string must begin and end on the same line. > > + Program HELLO Lib TUTORIAL All ....+....1....+....2....+....3....+....4....+....5....+....6....+....7.. 0010 * The "Hello world!" example in Natural. 0020 * E 0030 DISPLAY "HELLO WORLD! 0040 END /* End of program 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 0190 0200 ....+....1....+....2....+....3....+....4....+....5....+... S 4 L 1 |
エラーを含むステートメント行が強調表示され、"E" でマークされます。
エラーを修正します。つまり、欠けている引用符を行の最後に挿入します。
プログラムをもう一度実行して、次のエラーを見つけます。
この場合、他のエラーは検出されず出力が表示されます。
Enter キーを押して、プログラムエディタに戻ります。
プログラムを格納すると、プログラムがコンパイルされ、ソースコードと生成プログラムの両方が Natural システムファイルに格納されます。
RUN
コマンドと同様に、システムコマンド STOW
でも CHECK
コマンドが自動的に呼び出されます。 プログラムは構文的に正しい場合にのみ格納されます。
注意:
プログラムに構文エラーが含まれていてもプログラムに加えた変更を保存する(作業を翌日まで停止する場合など)には、システムコマンド SAVE
を使用できます。
プログラムを Stow するには
プログラムエディタのコマンド行で、次のように入力します。
STOW
LIST
コマンドは、オブジェクトに対してソースコードのみが使用できるのか、ソースコードと生成プログラムの両方が使用できるのかを調べるのに便利です。
プログラムに関する情報を表示するには
プログラムエディタのコマンド行で、次のいずれかを入力します。
LIST DIR HELLO
L DIR HELLO
次の画面が表示されます。 [Cataloged on]の情報は、オブジェクトが格納された場合にのみ表示されます。
13:15:45 ***** NATURAL LIST COMMAND ***** 2007-03-20 User SAG - List Directory - Library TUTORIAL Directory of Program HELLO Saved on ... 2007-03-20 13:15:36 ------------------------------------------------------------------------------- Library .... TUTORIAL User-ID ...... SAG Mode ....... Structured TP-System .. COMPLETE Terminal-ID .. DAEFTCA9 Op-System .. MVS/ESA Transaction .. NATvr NAT-Ver .... v.r.s Source size .......................... 100 Bytes Directory of Program HELLO Cataloged on 2007-03-20 13:15:36 ------------------------------------------------------------------------------- Library .... TUTORIAL User-ID ...... SAG Mode ....... Structured TP-System .. COMPLETE Terminal-ID .. DAEFTCA9 Op-System .. MVS/ESA Transaction .. NATvr NAT-Ver .... v.r.s Used GDA ... Size of global data ... 0 Bytes Size in DATSIZE ...... 560 Bytes Size in buffer pool ... 2620 Bytes Size of OPT-Code ...... 0 Bytes Initial OPT string .... ENTER to continue |
注意:
上の例の vr および v.r.s という表記は、Natural の現在のバージョン番号を表します。 「用語集」のバージョンの定義も参照してください。
Enter キーを押して、プログラムエディタに戻ります。
LIST
コマンドは、現在のライブラリに存在するすべての Natural オブジェクトのリストを表示する場合にも使用できます。 例えば、このチュートリアルの途中で最初からやり直すため、1 つまたは複数の Natural オブジェクトを削除する場合などに便利です。
Natural オブジェクトのリストを表示するには
プログラムエディタのコマンド行で、次のいずれかを入力します。
LIST *
L *
次の画面が表示されます。 作成したプログラムがリストされます。
13:34:27 ***** NATURAL LIST COMMAND ***** 2007-03-20 User SAG - LIST Objects in a Library - Library TUTORIAL Cmd Name Type S/C SM Version User ID Date Time --- *________ *__________ *__ * *______ *________ *__________ *________ __ HELLO Program S/C S v.r.s SAG 2007-03-20 13:15:36 1 Objects found Top of List. Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Print Exit Sort -- - + ++ > Canc |
どのコマンドが使用可能であるかを調べるには、プログラムの横にある[Cmd]列で疑問符(?)を入力します。
次のウィンドウが表示されます。
+-------- COMMANDS ---------+ ! ! ! ED Edit ! ! LI List ! ! LD List Dir ! ! PR Print ! ! LE List expanded ! ! RU Run ! ! ST Stow ! ! CA Catalog ! ! DE Delete ! ! RE Rename ! ! . End ! ! ! ! ! ! ! ! ! ! ! ! __ HELLO ! +---------------------------+ |
ここでは、変更を適用しません。 コマンドを指定せずにウィンドウを閉じるには、PF3 キーを押します。
プログラムエディタに戻るには、PF3 キーをもう一度押します。
Natural プログラムエディタまたはデータエリアエディタで作業するときは、ユーザーごとにエディタプロファイルを定義できます。 このチュートリアルでは、SYSTEM
という名前のエディタプロファイルのデフォルト設定を使用します。 一部の重要な設定について、次に説明します。
エディタプロファイルのオプションをチェックするには
プログラムエディタのコマンド行で、次のように入力します。
PROFILE
次の画面が表示されます。
13:35:43 ***** NATURAL EDITORS ***** 2007-03-20 - Editor Profile - Profile Name .. SYSTEM__ PF and PA Keys PF1 ... HELP___________ PF2 ... _______________ PF3 ... EXIT___________ PF4 ... _______________ PF5 ... _______________ PF6 ... _______________ PF7 ... -______________ PF8 ... +______________ PF9 ... _______________ PF10 .. SC=____________ PF11 .. _______________ PF12 .. CANCEL_________ PF13 .. _______________ PF14 .. _______________ PF15 .. MENU___________ PF16 .. _______________ PF17 .. _______________ PF18 .. _______________ PF19 .. --_____________ PF20 .. ++_____________ PF21 .. _______________ PF22 .. _______________ PF23 .. _______________ PF24 .. _______________ PA1 ... _______________ PA2 ... SCAN___________ PA3 ... _______________ Automatic Functions Auto Renumber .. Y Auto Save Numbers .. 0__ Source Save into .. EDITWORK Additional Options .. N Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Exit AddOp Save Flip Del Canc |
ユーザー固有のエディタプロファイルがない場合、デフォルトのプロファイル SYSTEM
が表示されます。 このデフォルトのプロファイルを使用して、ユーザー固有のプロファイルを作成できます。 ユーザー固有のプロファイルがすでにある場合、そのプロファイルが SYSTEM
プロファイルの代わりに表示されます。
[Additional Options]フィールドで「Y」と入力し、Enter キーを押します。
または:
PF4 キーを押します。
次のウィンドウが表示されます。
+--------------------- ADDITIONAL OPTIONS ----------------------+ ! ! ! ! ! + Editor Defaults ......... N ! ! + General Defaults ........ N ! ! + Colour Definitions ...... N ! ! ! ! ! ! ! ! ! ! ! +---------------------------------------------------------------+ |
[Editor Defaults]および[General Defaults]フィールドで「Y」と入力し、Enter キーを押します。
エディタのデフォルトを示す次のウィンドウが表示されます。
+----------------------- EDITOR DEFAULTS -----------------------+ ! ! ! Escape Character for Line Command .. . ! ! Empty Line Suppression ............. Y ! ! Source Size Information ............ N ! ! Source Status Message .............. N ! ! Absolute Mode for SCAN/CHANGE ...... N ! ! Range Mode for SCAN/CHANGE ......... N ! ! Direction Indicator ................ + ! ! ! ! ! +---------------------------------------------------------------+ |
行コマンドに定義されたエスケープ文字が表示されます。 このチュートリアルでは、デフォルト文字であるピリオド(.)が使用されています。
また、[Empty Line Suppression]オプションは "Y" に設定されています。 この場合、プログラムエディタ内の空行はすべて、Enter キーを押すと自動的に削除されます。 このオプションが "N" に設定されていると、空行は削除されません。
このチュートリアルでは、すべてのオプションを上記のように設定する必要があります。 Enter キーを押すと、次のウィンドウが表示されます。
次のウィンドウが表示されます。
+---------------------- GENERAL DEFAULTS -----------------------+ ! ! ! Editing in Lower Case .............. N ! ! Dynamic Conversion of Lower Case ... Y ! ! Position of Message Line ........... TOP ! ! Cursor Position in Command Line .... N ! ! Stay on Current Screen ............. N ! ! Prompt Window for Exit Function .... Y ! ! ISPF Editor as Program Editor ...... N ! ! Leave Editor with Unlock ........... N ! ! ! +---------------------------------------------------------------+ |
[Editing in Lower Case]オプションが "Y" に設定され、[Dynamic Conversion of Lower Case]オプションが "N" に設定されていると、ソースコードは入力どおりになります。 ただし、この機能も、すべての入力の大文字変換を強制的に行うシステム環境固有の設定によって異なり、これは Natural によって左右されません。
必要に応じて、上記のオプションを小文字変換に変更し、Enter キーを押します。 Enter キーをもう一度押して[Additional Options]ウィンドウに戻り、Enter キーを再度押してこのウィンドウを閉じます。
ユーザー固有のプロファイルが作成されていない場合は、プロファイル名 SYSTEM
をユーザー ID で上書きし、Enter キーを押します。
ユーザー固有のプロファイルがすでにある場合、次の手順に進みます。
PF5 キーを押して変更内容をデータベースに保存し、PF3 キーを押してエディタプロファイルを終了します。
注意:
PF キーを押す代わりに、対応するコマンドをコマンド行に入力することもできます。 例えば、上記の場合は、SAVE
および EXIT
コマンドを入力できます。
または:
変更内容を適用しない場合は、PF3 キーを押してエディタプロファイルを終了します。
出口関数では、異なるオプションを持つウィンドウが表示されます。 変更内容を保存した場合にも表示されます。
+----------- EXIT Function -----------+ ! ! ! _ Save and Exit ! ! _ Exit without Saving ! ! _ Resume Function ! ! ! ! ! +-------------------------------------+ |
出口関数を呼び出す直前に変更内容を保存した場合は、オプション[Exit without Saving]を選択しても問題ありません。 Enter キーを押して、プログラムエディタに戻ります。
注意:
PF5 キーを押した後または SAVE
コマンドを発行した後でさらに変更を加えて[Exit without Saving]オプションを選択すると、最後に加えた変更は現在のセッションでのみ有効となり、データベースには保存されません。
プログラムがもう一度表示されます。 新しい設定がプログラムエディタ(および後述のデータエリアエディタ)で使用されるようになります。
次の演習「データベースへのアクセス」に進みます。