Previous Topic: Example 4Next Topic: Example 6


Example 5

In nonzero return code situations, CTSEDATE always includes an error message in your 80-byte CTSEDATE function code. This message contains the TMMDATE return code and reason code, and text which explains the failure. This example resides as member TMEDAT01 in the CA 1 Source library.

The following example shows one technique for handling nonzero return codes from CTSEDATE. The date format field is deliberately filled with the character X to cause an error. Note the additional coding and the CTSEDATE Error Report. You may want to use this code while debugging your CA Earl report. Once the process runs smoothly, you can delete the additional code and report output.

! ! TMS REPORT-TMEDAT01 TAPE DATASETS EXPIRING IN JANUARY, YYYY ! CTSEDATE ERROR REPORT ! ( SIMILAR TO OLD EARL07 REPORT ) ! VOLUME RECORDS ONLY ! ! ! SAMPLE CA-EARL CODE TO DETECT AND PRINT ERRORS FROM CTSEDATE ! COPY EARLDEFS DEF CTSEDATE_RC (B 5.0) = 00000 'CTSEDATE' 'RETURN CODE' DEF FIRST_SW (X 1) = ' ' IF FIRST_SW = ' ' THEN SET FIRST_SW = '*' SET FUNCTION = 'RETURN_DATE' CALL CTSEDATE USING FUNCTION,RUNDATE,RUNTIME SET FUNCTION = 'TO_EXPLODED' CALL CTSEDATE USING FUNCTION,P_EXP_DATA,RUNDATE ENDIF SET FUNCTION = 'TO_EXTERNAL' SET DATE_FMT = 'XXXXXXXXXX' SET TYPRUN = R_VOLUME ! ! CHECK THE LAST RETURN CODE FROM CTSEDATE ! IF CTSEDATE_RC NOT = 0 THEN GOTO EOJ ENDIF GET TAPEDB GOTO EOJ TAPEDB = 'E' IF SCRATCH_IND NOT = 'N' GOTO START ENDIF CALL CTSEDATE USING FUNCTION,P_EXPDT,EXPDT,DATE_FMT SET CTSEDATE_RC = CTSEDATE

(continued from previous page)

 REPORT TITLE  @1 P_EXP_DAYNAM @11 ',' @13 P_EXP_MONNAM @24 P_EXP_DD                @26 ',' @28 P_EXP_YYYY @32 '.' @33 P_EXP_DDD                @50 COMPANY_NAME @115 'PAGE' @125 PAGENUMBER         TITLE  @1 ' '         TITLE  @1 'TMS REPORT-TMEDAT01'                 3 'TAPE DATASETS EXPIRING IN JANUARY, YYYY'    SELECT EXPDT > 90000 AND EXPDT < 90032    PRINT DSN VOLSER P_EXPDT  REPORT TITLE  @1 P_EXP_DAYNAM @11 ',' @13 P_EXP_MONNAM @24 P_EXP_DD                @26 ',' @28 P_EXP_YYYY @32 '.' @33 P_EXP_DDD                @50 COMPANY_NAME @115 'PAGE' @125 PAGENUMBER         TITLE  @1 ' '         TITLE  @1 'TMS REPORT-TMEDAT01'                 3 'CTSEDATE ERROR REPORT'    SELECT CTSEDATE_RC NOT = 0    PRINT CTSEDATE_RC FUNCTION  EXPDT P_EXPDT DATE_FMT END  

THURSDAY, JULY 21, 2005.200                      Y O U R   C O M P A N Y   N A M E                        PAGE      1  TMS REPORT-TMEDAT01   CTSEDATE ERROR REPORT  -----------------------------------------------------------------------------------------------------------------------------     CTSEDATE  FUNCTION                                                                    EXPIRATION   EXPIRATION   DATE_FMT  RETURN CODE                                                                                    DATE   DATE  -----------------------------------------------------------------------------------------------------------------------------           8   TO_EXTERNAL    RC=8 RSN=32  BAD DATE FORMAT PARM                              96/204                  XXXXXXXXXX  END OF REPORT

CTSEDATE Error Report