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.