データビュー
他のプログラムと異なり、メインプログラムにはメインソースを指定できません。メインプログラムには、実行の開始時に初期化され、プロジェクト全体で使用できるグローバルな変数項目が定義できます。
プロジェクトが実行されると同時に特定のテーブルをオープンする場合は、メインプログラム内でそのテーブルをオープンするように宣言します。またメインプログラム内で、特定のレコードを[リンク]コマンドで読み込むと、プロジェクト全体で使用することができます。
メインプログラム内でリンク定義によって取り出されたレコードは更新できません。更新処理を実行しても無視されます。また、更新処理に関するタスク特性もありません。メインプログラムは、レコードロックコマンドやトランザクション管理コマンドは実行しません。ただし、テーブルロックはメインプログラムによってオープンされるテーブルには使用できます。
フロー
メインプログラムは、レコードサイクルが1回実行されるバッチタスクとして実行されます。この動作は、[タスク終了条件]で制御することはできません。プロジェクトが実行されると、メインプログラムのデータソースがオープンされ、[タスク前]が実行されます。その後、メインプログラムの変数項目が初期化され、リンクレコードが読み込まれます。
プロジェクトを終了する場合、メインプログラムの[タスク後]がプロジェクト終了の直前に実行されます。メインプログラムのデータソースもクローズされます。
サブタスク
メインプログラムは、通常のタスクとして実行されるサブタスクを持つことができます。これらのサブタスクには、メインソースと、通常のタスクと同様の機能を持たせることができます。ただし、サブタスク内で定義された変数項目はグローバル変数ではありません。グローバル変数は、メインプログラムのルートタスクに定義された変数だけになります。
再計算
メインプログラム中の変数は、他のプログラムと同様に、親タスクで定義された変数をサブタスクから更新されても再計算されないという規則に従います。
コール式
メインプログラムは、[コールプログラム]処理 コマンドで明示的に呼び出すことはできません。[コール式]処理コマンドで、プログラム番号が「'1'PROG」と指定された場合、エラーメッセージが表示され実行されません。
終了条件
メインプログラムの[タスク終了条件]が「True」と評価されると、プロジェクト全体の実行が停止します。