TIRFTSC

TIRFTSC is a called module supplied with CA Gen. TIRFTSC is called every time an CA Gen action diagram uses the TIMESTAMP function.

TIMESTAMP converts a text value (in a valid timestamp format) into a valid timestamp.

TIMESTAMP generates the following COBOL statements:

Statement

Quantity

Call

1

Compute

1

Move

5

Initialize

1

IF

1

Heavy use of TIMESTAMP can drastically increase CPU costs.

Hints

If an action diagram uses TIMESTAMP more than once for the same text value:

  • use TIMESTAMP once to search for the desired text value

  • save the timestamp returned in a local view

  • use the local view instead of TIMESTAMP for the remaining instances

  • pass the local view to the import view of any called action diagrams that need it.

If TIMESTAMP is used in an action diagram that uses several CA Gen functions, or the action diagram has high CPU usage due to TIMESTAMP, consider converting the action diagram to an external action block.

Example (COBOL External Action Block)

In this example, nine COBOL statements are needed to convert a text value into a valid timestamp.

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.