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