Calls to CEEFMON in COBOL

       CBL LIB,QUOTE
      *Module/File Name: IGZTFMON
      *************************************************
      *  Example for callable service CEEFMON         *
      *   Function: Convert a numeric value to a      *
      *              monetary string using specified  *
      *              format passed as parameter.      *
      *   Valid only for COBOL for MVS & VM Release 2 *
      *   or later.                                   *
      *************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID.  COBFMON.
       DATA DIVISION.       WORKING-STORAGE SECTION.
       01  Monetary       COMP-2.
       01  Max-Size       PIC S9(9)  BINARY.
       01  Format-Mon.
           02  FM-Length  PIC S9(4)  BINARY.
           02  FM-String  PIC X(256).
       01  Output-Mon.
           02  OM-Length  PIC S9(4)  BINARY.
           02  OM-String  PIC X(60).
       01  Length-Mon     PIC S9(9)  BINARY.
       01  Locale-Name.
           02  LN-Length  PIC S9(4)  BINARY.
           02  LN-String  PIC X(256).
      **   Use Locale category constants
       COPY CEEIGZLC.
       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.
      ** Set up locale name for United States
           MOVE 14 TO LN-Length.
           MOVE "En_US.IBM-1047"
                 TO LN-String (1:LN-Length).
      ** Set all locale categories to United States.
      ** Use LC-ALL category constant from CEEIGZLC.
           CALL "CEESETL" USING Locale-Name, LC-ALL, FC.
      ** Check feedback code
           IF Severity > 0
              DISPLAY "Call to CEESETL failed. " Msg-No
              STOP RUN
           END-IF.
      ** Set up numeric value
           MOVE 12345.62 TO Monetary.
           MOVE 60 TO Max-Size.
           MOVE 2 TO FM-Length.
           MOVE "%i" TO FM-String (1:FM-Length).
      ** Call CEEFMON to convert numeric value
           CALL "CEEFMON" USING OMITTED, Monetary,
                                Max-Size, Format-Mon
                                Output-Mon, Length-Mon,
                                FC.      
      ** Check feedback code and display result
           IF Severity > 0
              DISPLAY "Call to CEEFMON failed. " Msg-No
           ELSE
              DISPLAY "International format is "
                      OM-String(1:OM-Length)
           END-IF.

           STOP RUN.
       END PROGRAM COBFMON.