関数−タスク関連: 処理レベルを確認する:Level,MainLevel

タスクの処理レベルを取得する関数です。

式で処理レベルまで指定するときは「'」(シングルクォーテーション)で囲んで使います。

似たような役割で、LevelとMainLevelという関数があります。

V8以前はLevel関数しか無かったので、古いバージョン時代に作られたものの多くはLevel関数だけかと思います。
しかし、V9PlusやV10でイベントドリブンのオンラインタスクを作成すると併用せざるを得ないでしょう。
なぜならば、イベントハンドラでのコマンドを処理中の場合、Level関数はレコードメイン(RM)という戻り値にはならないからです。
例えば、親タスクから子タスクへの移動方法として、ボタンを押してイベントハンドラで子タスクをコールする場合と、レコードメインのフローに従って子タスクをコールする場合とでは、子タスクでのLevel関数を使ったときの戻り値は異なります。
どちらの場合でもレコードメイン(RM)という戻り値を取得したのであれば、MainLevel関数を使わなければなりません。
違いを確認するためのサンプルも用意していますので、活用して理解を深めてください。

<使い方>
Level(タスク階層)・・・戻り値:次のようなものです。

TP タスク前処理
TS タスク後処理
RP レコード前処理
RM レコードメイン
RS レコード後処理
GP_項目名 グループ前処理
GS_項目名 グループ後処理
CP_コントロール名 コントロール前処理
CS_コントロール名 コントロール後処理
HS_システムイベント名 システムイベントハンドラ
HI_内部イベント名 内部イベントハンドラ
HU_ユーザイベント名 ユーザイベントハンドラ

MainLevel(タスク階層)・・・戻り値:次のようなものです。

TP タスク前処理
TS タスク後処理
RP レコード前処理
RM レコードメイン
RS レコード後処理

<例>
Level(1)='RP':親タスクがレコード前処理ならば「True」となります。
MainLevel(0)='RM':現在のタスクがレコードメインならば「True」となります。