TIRDAT2
TIRDAT2はCA Genで提供される呼び出し先モジュールです。アクション ダイアグラムがCURRENT DATE式、CURRENT TIME式、またはCURRENT TIMESTAMP式を使用するたびに呼び出されます。
これらの式はそれぞれ、現在の日付、現在の時刻、および現在のタイムスタンプを、オペレーティング システム クロックから取得します。以下のCOBOLステートメントが生成されます。
ステートメント |
CURRENT DATE |
CURRENT TIME |
CURRENT TIMESTAMP |
Call |
1 |
1 |
1 |
Compute |
3 |
3 |
5 |
Move |
4 |
4 |
6 |
Initialize |
1 |
1 |
1 |
これらの式を頻繁に使用すると、CPUコストが大幅に増加します。
ヒント
1つのアクション ダイアグラム内で、上記のいずれかの式が同じ値に対して複数回使用される場合は、以下のように対処します。
-
希望する値に対して式を1回使用する。
-
ローカル ビューに戻された日付/時刻/タイムスタンプを保存する。
-
残りのインスタンスに対しては、式の代わりにローカル ビューを使用する。
-
ローカル ビューを、値を必要とするすべての呼び出し先アクション ダイアグラムのインポート ビューに渡す。
例:
以下の例は、days関数と併用してCURRENT DATEの値をローカル ビューに保存し、その値をFORループで繰り返し使用するものです。TIRDAT2モジュールを1000回呼び出すのではなく、1度だけ呼び出します。
+- AB_CALC_TERMINATION_NBR_OF_DAYS
| IMPORTS:
| Group View import_group (optional,1000,implicit,import only)
| Entity View import_grp employee (optional,transient)
| social_security_nbr (optional)
| last_name (optional
| termination_date (optional)
| EXPORTS:
| LOCALS:
| Work View local work_set
| current_nbr_of_days
| nbr_of_days
| ENTITY ACTIONS:
|
| SET local work_set current_nbr_of_days TO days(CURRENT_DATE)
|
| += FOR EACH import_group
| |
| | SET local work_set nbr_of_days TO local work_set current_nbr_of_days
| | - days(import_grp employee termination_date)
| |
| | USE xab_list_termination_info
| | WHICH IMPORTS: Entity View import_grp employee
| | Work View local work_set
| +--
+--