Calls to CEEQRYL and CEESTXF in COBOL

       CBL LIB,QUOTE
      *Module/File Name: IGZTSTXF
      *************************************************
      * Example for callable service CEESTXF          *
      *  COBSTXF - Query current collate category and *
      *             build input string as function of *
      *             locale name.                      *
      *            Translate string as function of    *
      *             locale.                           *
      *  Valid only for COBOL for MVS & VM Release 2  *
      *  or later.                                    *
      *************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID.  COBSTXF.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  MBS.
           02  MBS-Length  PIC S9(4) BINARY.
           02  MBS-String  PIC X(10).
       01  TXF.
           02  TXF-Length  PIC S9(4) BINARY.
           02  TXF-String  PIC X(256).
       01  Locale-Name.
           02  LN-Length  PIC S9(4) BINARY.
           02  LN-String  PIC X(256).
      * Use Locale category constants
       COPY CEEIGZLC.
      *
       01  MBS-Size    PIC S9(9)  BINARY  VALUE 0.
       01  TXF-Size    PIC S9(9)  BINARY  VALUE 0.
       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.
      *
       PROCEDURE DIVISION.
      *************************************************
      *  Call CEEQRYL to retrieve locale name
      *************************************************
           CALL "CEEQRYL" USING LC-COLLATE,
                                Locale-Name, FC.
      *************************************************
      *  Check feedback code and set input string
      *************************************************
           IF Severity = 0
              IF LN-String (1:LN-Length) =
                    "Sv-SE.IBM-1047"
                 MOVE 10 TO MBS-Length
                 MOVE 10 TO MBS-Size
                 MOVE "7,123,456."
                         TO MBS-String (1:MBS-Length)
              ELSE
                 MOVE 7 TO MBS-Length
                 MOVE 7 TO MBS-Size
                 MOVE "8765432"
                        TO MBS-String (1:MBS-Length)
              END-IF
           ELSE
              DISPLAY "Call to CEEQRYL failed. " Msg-No
              STOP RUN
           END-IF.
           MOVE SPACES TO TXF-String.
           MOVE 0 to TXF-Length.

      *************************************************
      *  Call CEESTXF to translate the string
      *************************************************
           CALL "CEESTXF" USING OMITTED, MBS, MBS-Size,
                                TXF, TXF-Size, FC.

      *************************************************
      *  Check feedback code and return length
      *************************************************
           IF Severity = 0
              IF TXF-Length > 0
                 DISPLAY "Translated string is "
                         TXF-String
              ELSE
                 DISPLAY "String not translated."
              END-IF
           ELSE
              DISPLAY "Call to CEESTXF failed. " Msg-No
           END-IF.

           STOP RUN.
       END PROGRAM COBSTXF.