TIRFHRTS
TIRFHRTSはCA Genで提供される呼び出し先モジュールです。CA Genアクション ダイアグラムがHOURTIMESTAMP関数を使用するたびに呼び出されます。
HOURTIMESTAMPは、タイムスタンプの時間の部分を抽出します。0~24の数値が戻されます。
HOURTIMESTAMPは、以下のCOBOLステートメントを生成します。
ステートメント |
個数 |
Call |
1 |
Compute |
2 |
Move |
2 |
Initialize |
1 |
IF |
1 |
HOURTIMESTAMPを頻繁に使用すると、CPUコストが大幅に増加します。
ヒント
1つのアクション ダイアグラム内で、HOURTIMESTAMPが同じタイムスタンプに対して複数回使用される場合は、以下のように対処します。
-
希望するタイムスタンプに対してHOURTIMESTAMPを1回使用する。
-
戻された時間をローカル ビューに保存する。
-
残りのインスタンスに対しては、HOURTIMESTAMPの代わりにローカル ビューを使用する。
-
ローカル ビューを、値を必要とするすべての呼び出し先アクション ダイアグラムのインポート ビューに渡す。
HOURTIMESTAMPが複数のCA Gen関数を使用するアクション ダイアグラムで使用される場合、またはHOURTIMESTAMPの使用が原因でアクション ダイアグラムのCPU使用が増加する場合は、アクション ダイアグラムを外部アクション ブロックに変換することを検討してください。
COBOL外部アクション ブロックの例:
以下の例では、タイムスタンプの時間の部分を数値に変換するために必要なCOBOLステートメントは2つだけです。
WORKING-STORAGE SECTION.
01 WS-FIELDS.
03 WS-TIME PIC 9(12).
03 WS-TIME-X REDEFINES WS-TIME.
05 WS-TIME-HOUR PIC 9(02).
05 WS-TIME-MINUTE PIC 9(02).
05 WS-TIME-SECOND PIC 9(02).
05 WS-TIME-MICROSECOND PIC 9(06).
LINKAGE SECTION.
01 IMPORT-0001EV.
03 WORK-VIEW-0001ET.
05 TIMESTAMP-FLD1-0001AS PIC X(0001).
05 TIMESTAMP-FLD1-0001.
07 FILLER-ZERO-DATE PIC 9(0008).
07 FILLER-ZERO-TIME PIC 9(0012).
05 TIMESTAMP-FLD1-0001XX REDEFINES TIMESTAMP-FLD1-0001
PIC X(0020).
01 EXPORT-0002EV.
03 WORK-VIEW-0002ET.
05 INTEGER-FLD1-0002AS PIC X(0001).
05 INTEGER-FLD1-0002 PIC S9(0002).
05 INTEGER-FLD1-0002XX REDEFINES INTEGER-FLD1-0002
PIC X(0002).
PROCEDURE DIVISION.
MOVE FILLER-ZERO-TIME TO WS-TIME.
MOVE WS-TIME-HOUR TO INTEGER-FLD1-0002.