CICS CONVERTTIME provides time conversion capabilities for programs and transactions. It enables programs to convert time formats, handle date/time conversions, and manage time formatting in CICS environments.
CICS CONVERTTIME is a command that allows programs to convert time formats between different representations. It provides time conversion capabilities, date/time formatting, and time management for CICS applications.
1234567EXEC CICS CONVERTTIME FROMTIME(input-time) TOTIME(output-time) [FROMFORMAT(input-format)] [TOFORMAT(output-format)] [RESP(response-code)] END-EXEC
Standard time formats
Custom time formats
Timestamp formats
Display time formats
123456789101112131415161718192021222324252627282930IDENTIFICATION DIVISION. PROGRAM-ID. CONVERTTIME01. DATA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-TIME PIC X(14) VALUE '20231225143000'. 01 OUTPUT-TIME PIC X(19). 01 INPUT-FORMAT PIC X(14) VALUE 'YYYYMMDDHHMMSS'. 01 OUTPUT-FORMAT PIC X(19) VALUE 'YYYY-MM-DD HH:MM:SS'. 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Converting time format' DISPLAY 'Input: ' INPUT-TIME EXEC CICS CONVERTTIME FROMTIME(INPUT-TIME) TOTIME(OUTPUT-TIME) FROMFORMAT(INPUT-FORMAT) TOFORMAT(OUTPUT-FORMAT) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'Conversion successful' DISPLAY 'Output: ' OUTPUT-TIME ELSE DISPLAY 'Conversion failed' END-IF EXEC CICS RETURN END-EXEC.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364IDENTIFICATION DIVISION. PROGRAM-ID. CONVERTTIME02. DATA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-TIME PIC X(14). 01 OUTPUT-TIME PIC X(19). 01 INPUT-FORMAT PIC X(14). 01 OUTPUT-FORMAT PIC X(19). 01 RESPONSE-CODE PIC S9(8) COMP. 01 CONVERSION-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-CONVERSIONS PIC S9(2) COMP VALUE 3. 01 TIME-LIST. 05 TIME-ITEM OCCURS 3 TIMES. 10 TIME-INPUT PIC X(14). 10 TIME-OUTPUT PIC X(19). 10 TIME-INPUT-FMT PIC X(14). 10 TIME-OUTPUT-FMT PIC X(19). PROCEDURE DIVISION. PERFORM INITIALIZE-TIMES PERFORM CONDUCT-MULTIPLE-CONVERSIONS EXEC CICS RETURN END-EXEC. INITIALIZE-TIMES. MOVE '20231225143000' TO TIME-INPUT(1) MOVE 'YYYY-MM-DD HH:MM:SS' TO TIME-OUTPUT-FMT(1) MOVE 'YYYYMMDDHHMMSS' TO TIME-INPUT-FMT(1) MOVE '20231225' TO TIME-INPUT(2) MOVE 'YYYY-MM-DD' TO TIME-OUTPUT-FMT(2) MOVE 'YYYYMMDD' TO TIME-INPUT-FMT(2) MOVE '143000' TO TIME-INPUT(3) MOVE 'HH:MM:SS' TO TIME-OUTPUT-FMT(3) MOVE 'HHMMSS' TO TIME-INPUT-FMT(3). CONDUCT-MULTIPLE-CONVERSIONS. PERFORM VARYING CONVERSION-COUNT FROM 1 BY 1 UNTIL CONVERSION-COUNT > MAX-CONVERSIONS MOVE TIME-INPUT(CONVERSION-COUNT) TO INPUT-TIME MOVE TIME-INPUT-FMT(CONVERSION-COUNT) TO INPUT-FORMAT MOVE TIME-OUTPUT-FMT(CONVERSION-COUNT) TO OUTPUT-FORMAT PERFORM CONDUCT-SINGLE-CONVERSION IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE OUTPUT-TIME TO TIME-OUTPUT(CONVERSION-COUNT) DISPLAY 'Conversion ' CONVERSION-COUNT ' successful' DISPLAY 'Output: ' TIME-OUTPUT(CONVERSION-COUNT) ELSE DISPLAY 'Conversion ' CONVERSION-COUNT ' failed' END-IF END-PERFORM. CONDUCT-SINGLE-CONVERSION. EXEC CICS CONVERTTIME FROMTIME(INPUT-TIME) TOTIME(OUTPUT-TIME) FROMFORMAT(INPUT-FORMAT) TOFORMAT(OUTPUT-FORMAT) RESP(RESPONSE-CODE) END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354IDENTIFICATION DIVISION. PROGRAM-ID. CONVERTTIME03. DATA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-TIME PIC X(14) VALUE '20231225143000'. 01 OUTPUT-TIME PIC X(19). 01 INPUT-FORMAT PIC X(14) VALUE 'YYYYMMDDHHMMSS'. 01 OUTPUT-FORMAT PIC X(19) VALUE 'YYYY-MM-DD HH:MM:SS'. 01 RESPONSE-CODE PIC S9(8) COMP. 01 RETRY-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-RETRIES PIC S9(2) COMP VALUE 3. 01 CONVERSION-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM CONDUCT-TIME-CONVERSION-WITH-RETRY EXEC CICS RETURN END-EXEC. CONDUCT-TIME-CONVERSION-WITH-RETRY. PERFORM CONDUCT-TIME-CONVERSION IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' time conversion' PERFORM CONDUCT-TIME-CONVERSION-WITH-RETRY END-IF. CONDUCT-TIME-CONVERSION. EXEC CICS CONVERTTIME FROMTIME(INPUT-TIME) TOTIME(OUTPUT-TIME) FROMFORMAT(INPUT-FORMAT) TOFORMAT(OUTPUT-FORMAT) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO CONVERSION-SUCCESSFUL DISPLAY 'Time conversion successful' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized for time conversion' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid time conversion request' WHEN DFHRESP(TIMEERR) DISPLAY 'Time conversion error' WHEN DFHRESP(FORMATERR) DISPLAY 'Time format error' WHEN DFHRESP(INVALIDTIME) DISPLAY 'Invalid time value' WHEN OTHER DISPLAY 'Unexpected time conversion error' END-EVALUATE.
Think of CICS CONVERTTIME like changing the way you write the time:
Create a program that converts time between different formats.
Write a program that manages multiple time conversion operations.
Implement comprehensive error handling for time conversion failures.