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

| +--

+--