[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)
- [open-cobol-list] About the VALUE clause,
Peg <=