Calls to CEEQDTC and CEESETL in COBOL

       CBL LIB,QUOTE
      *Module/File Name: IGZTQDTC
      **************************************************
      *  Example for callable service CEEQDTC          *
      *  MAINQDTC - Retrieve date and time convention  *
      *             structures for two countries and   *
      *             compare an item.                   *
      *  Valid only for COBOL for MVS & VM Release 2   *
      *  or later.                                     *
      **************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID.  MAINQDTC.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
      * Use DTCONV structure for CEEQDTC calls
       COPY CEEIGZDT.
      *
       PROCEDURE DIVISION.
      *  Subroutine needed for addressing
           CALL "COBQDTC" USING DTCONV.
           STOP RUN.
      *
       IDENTIFICATION DIVISION.
       PROGRAM-ID.  COBQDTC.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  Locale-Name.
           02  LN-Length  PIC S9(4) BINARY.
           02  LN-String  PIC X(256).
      * Use Locale category constants
       COPY CEEIGZLC.
      *
       01  Test-Length1 PIC S9(4) BINARY.
       01  Test-String1 PIC X(80).
       01  Test-Length2 PIC S9(4) BINARY.
       01  Test-String2 PIC X(80).
       01  FC.
           02  Condition-Token-Value.
           COPY CEEIGZCT.
               03  Case-1-Condition-ID.
                   04  Severity  PIC S9(4) BINARY.
                   04  Msg-No    PIC S9(4) BINARY.
               03  Case-2-Condition-ID
                      REDEFINES Case-1-Condition-ID.
                   04  Class-Code  PIC S9(4) BINARY.
                   04  Cause-Code  PIC S9(4) BINARY.
               03  Case-Sev-Ctl  PIC X.
               03  Facility-ID   PIC XXX.
           02  I-S-Info  PIC S9(9) BINARY.
      *
       LINKAGE SECTION.
      * Use Locale structure DTCONV for CEEQDTC calls
       COPY CEEIGZDT.
      *
       PROCEDURE DIVISION USING DTCONV.
      *  Set up locale for France
           MOVE 4 TO LN-Length.
           MOVE "FFEY" TO LN-String (1:LN-Length).
     *  Call CEESETL to set all locale categories
           CALL "CEESETL" USING Locale-Name, LC-ALL,
                                FC.

      *  Check feedback code
           IF Severity > 0
              DISPLAY "Call to CEESETL failed. " Msg-No
              EXIT PROGRAM
           END-IF.

      *  Call CEEQDTC for French values
           CALL "CEEQDTC" USING OMITTED,
                                ADDRESS OF DTCONV, FC.
      *  Check feedback code
           IF Severity > 0
              DISPLAY "Call to CEEQDTC failed. " Msg-No
              EXIT PROGRAM
           END-IF.

      *  Save date and time format for FFEY locale
           MOVE D-T-FMT-Length IN DTCONV TO Test-Length1
           MOVE D-T-FMT-String IN DTCONV TO Test-String1

      *  Set up locale for French Canadian
           MOVE 4 TO LN-Length.
           MOVE "FCEY" TO LN-String (1:LN-Length).

      *  Call CEESETL to set locale for all categories
           CALL "CEESETL" USING Locale-Name, LC-ALL,
                                FC.

      *  Check feedback code
           IF Severity > 0
              DISPLAY "Call to CEESETL failed. " Msg-No
              EXIT PROGRAM
           END-IF.

      *  Call CEEQDTC again for French Canadian values
           CALL "CEEQDTC" USING OMITTED,
                                ADDRESS OF DTCONV, FC.

      *  Check feedback code and display results
           IF Severity = 0
      *  Save date and time format for FCEY locale
              MOVE D-T-FMT-Length IN DTCONV
                                  TO Test-Length2
              MOVE D-T-FMT-String IN DTCONV
                                  TO Test-String2
              IF Test-String1(1:Test-Length1) =
                 Test-String2(1:Test-Length2)
                 DISPLAY "Same date and time format."
              ELSE
                 DISPLAY "Different formats."
                 DISPLAY  Test-String1(1:Test-Length1)
                 DISPLAY  Test-String2(1:Test-Length2)
              END-IF
           ELSE
              DISPLAY "Call to CEEQDTC failed. " Msg-No
           END-IF.

           EXIT PROGRAM.
       END PROGRAM COBQDTC.
      *
       END PROGRAM MAINQDTC.