gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[open-cobol-list] About the VALUE clause


From: Peg
Subject: [open-cobol-list] About the VALUE clause
Date: Wed Jun 1 01:57:13 2005
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

Hello All,
I was testing EXTERNAL by the following code.

--(main.cob)--------------------------------------
 IDENTIFICATION DIVISION.
 PROGRAM-ID. MAIN.
 ENVIRONMENT DIVISION.
 INPUT-OUTPUT SECTION.
 FILE-CONTROL.
 SELECT TESTFILE
 ASSIGN TO "TESTFILE".
 DATA DIVISION.
 FILE SECTION.
 FD TESTFILE.
 01 F-REC.
 03 F PIC 9(02) VALUE ZERO.
 WORKING-STORAGE SECTION.
 01 X.
 03 X1 PIC 9(02) VALUE ZERO.
 01 EX1 EXTERNAL.
 03 E1 PIC 9(02).
 01 EX2 EXTERNAL.
 03 E2 PIC 9(02) VALUE ZERO.
 PROCEDURE DIVISION.
 DISPLAY "F = " F.
 MOVE ZERO TO E1.
 DISPLAY "MAIN X1 = " X1 " | E1 = " E1 " | E2 = " E2.
 CALL "SUB" USING "99".
 DISPLAY "MAIN X1 = " X1 " | E1 = " E1 " | E2 = " E2.
 CALL "SUB" USING "99".
 CANCEL "SUB"
 CALL "SUB".
--(sub.cob)---------------------------------------
 IDENTIFICATION DIVISION.
 PROGRAM-ID. SUB.
 ENVIRONMENT DIVISION.
 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01 X.
 03 X1 PIC 9(02) VALUE ZERO.
 01 EX1 EXTERNAL.
 03 E1 PIC 9(02).
 01 EX2 EXTERNAL.
 03 E2 PIC 9(02) VALUE ZERO.
 LINKAGE SECTION.
 01 L-REC.
 03 L PIC 9(02) VALUE ZERO.
 PROCEDURE DIVISION USING L-REC.
 DISPLAY "L = " L.
 ADD 1 TO X1.
 ADD 1 TO E1.
 ADD 1 TO E2.
 DISPLAY "SUB  X1 = " X1 " | E1 = " E1 " | E2 = " E2.
 EXIT PROGRAM.
--------------------------------------------------
$ cobc main.cob -free
$ cobc -m sub.cob -free
F =                                    <- ?
MAIN X1 = 00 | E1 = 00 | E2 =          <- ?
L = 99
SUB  X1 = 01 | E1 = 01 | E2 =
MAIN X1 = 00 | E1 = 01 | E2 =
L = 99
SUB  X1 = 02 | E1 = 02 | E2 =
L = SU                                 <- ?
SUB  X1 = 01 | E1 = 03 | E2 =
--------------------------------------------------

Then, the following was able to be doubted.

Q1) Can "VALUE" clause be used by "FILE SECTION",
    "LINKAGE SECTION", ("GLOBAL") and "EXTERNAL" ?

       03 F PIC 9(02) VALUE ZERO.      <- compile error ?
       03 E2 PIC 9(02) VALUE ZERO.     <- compile error ?
       03 L PIC 9(02) VALUE ZERO.      <- compile error ?

Q2) The value of the parameter of "LINKAGE" is strange
    in "CALL" for which "USING" is not specified.

L = SU  <- "SUB"(Program Name) ? or SPACE or compile error ?

How should these behave?

-- 
Peg, PegStyle mailto:address@hidden
http://members8.tsukaeru.net/pegstyle/
(OpenCOBOL MinGW Binary Download Site.
 But Japanese Page Only)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]