gnucobol-users
[Top][All Lists]
Advanced

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

RE: [open-cobol-list] About the VALUE clause


From: Bill Klein
Subject: RE: [open-cobol-list] About the VALUE clause
Date: Wed Jun 1 10:38:22 2005

The VALUE clause *may* be specified in EXTERNAL data, File Section and
Linkage section in the '02 Standard, but not in the '85 Standard.  It is
also allowed as an extension by many compilers to the '85 Standard.

When specified, it is IGNORED for initialization.  It is, however, used in
the INITIALIZE TO VALUE statement - introduced in the '02 Standard.

> -----Original Message-----
> From: address@hidden 
> [mailto:address@hidden On Behalf Of Peg
> Sent: Wednesday, June 01, 2005 3:55 AM
> To: address@hidden
> Subject: [open-cobol-list] About the VALUE clause
> 
> 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)
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by Yahoo.
> Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
> Search APIs Find out how you can build Yahoo! directly into your own
> Applications - visit 
> http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
> _______________________________________________
> open-cobol-list mailing list
> address@hidden
> https://lists.sourceforge.net/lists/listinfo/open-cobol-list
> 




reply via email to

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