tinycobol/test_suite/call_tests/ptest02.cob

69 lines
1.8 KiB
COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. PTEST02.
AUTHOR. Bernard GIROUD.
INSTALLATION. Tiny Cobol Compiler Project.
DATE-WRITTEN. 05-AUG-2000.
DATE-COMPILED.
SECURITY. NONE.
ENVIRONMENT DIVISION.
* INPUT-OUTPUT SECTION.
* FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 G-PARM01.
05 PARM01 PIC X(20) VALUE "TEST".
05 FILLER PIC X VALUE LOW-VALUE.
01 PARM03 PIC S9(9) COMP VALUE 0.
01 G-PARM02.
05 PARM02 PIC X(3).
05 FILLER PIC X VALUE LOW-VALUE.
01 G-PARM04.
05 PARM04 PIC X(3).
05 FILLER PIC X VALUE LOW-VALUE.
01 PARM05 PIC S9(18) COMP.
01 RPARM05 REDEFINES PARM05.
05 RPAR05L PIC S9(9) COMP.
05 RPAR05H PIC S9(9) COMP.
01 WRES01 PIC S9(4) COMP.
01 WRES02 PIC S9(9) COMP.
01 WERES01 PIC 9(4).
01 WERES02 PIC 9(9).
01 WS-COB EXTERNAL.
05 WS-B4 PIC S9(9) COMP.
05 WS-B2 PIC S9(4) COMP.
05 WS-CHAR3 PIC X(3).
PROCEDURE DIVISION.
MOVE "ABCDEFGHIJ0123456789" TO PARM01.
MOVE "XYZ" TO PARM02.
MOVE "123" TO PARM04.
MOVE 0 TO PARM03.
CALL "STEST901" USING G-PARM01.
MOVE 3 TO PARM03.
CALL "STEST902" USING BY VALUE PARM03.
CALL "STEST903" USING BY VALUE 5.
CALL "STEST904" USING G-PARM02 BY VALUE PARM03 5
BY REFERENCE G-PARM02 G-PARM04.
CALL "STEST905" USING BY VALUE 1234567890123.
MOVE 1234567890123 TO PARM05.
CALL "STEST906" USING BY VALUE PARM05.
CALL "STEST907" USING BY VALUE 5 RETURNING WRES01.
MOVE WRES01 TO WERES01.
DISPLAY "C201:(" WERES01 "):(0008):Returning short".
CALL "STEST908" USING BY VALUE 5 RETURNING WRES02.
MOVE WRES02 TO WERES02.
DISPLAY "C202:(" WERES02 "):(000000008):Returning long".
* CALL "STEST909" USING BY VALUE 5 RETURNING PARM05.
MOVE "USD" TO WS-CHAR3.
MOVE 1234 TO WS-B2.
MOVE 6789 TO WS-B4.
CALL "STEST930".
STOP RUN.