Home > Archive > Cobol > October 2005 > Obsolete elements of COBOL language
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Obsolete elements of COBOL language
|
|
|
| I believe that most elements of the Identification Division is
considered obsolete. I have been looking for a source I could cite for
that, such as which standard classified those elements as obsolete.
But, being a student and being poor, I don't want to pay the $18 that
ANSI wants for their standards documentation. Additionally our Campus
library does not seem to have available these specific ANSI standards.
Long and short of it, I got docked for not including DATE-WRITTEN and
DATE-COMPILED in my program and I want my points back.
Can anyone please help?
Thanks
Mike
| |
| Richard 2005-10-05, 6:55 pm |
| > Long and short of it, I got docked for not including DATE-WRITTEN and
> DATE-COMPILED in my program and I want my points back.
These are acceptable in ANS'85, which is probably the standard that
your compiler is conformant with and are "classed as obsolete elements
in ANSI'85 standard and may be deleted from the next full revision of
the ANSI Standard". I don't have the '02 standard to check.
The inclusion of these or not should be stated in the site standard
which may also detail what other commentary items are required.
Even if these items are rejected by your compiler they could be written
with a * in column 7.
I don't actually see any point in DATE-COMPILED. The compiler may, or
may not, change the comment on an output listing to the actual date but
I haven't used an actual listing for decades, and compilers that I have
used put the date and time on the page header. Also the output
executable file date/time is a more accurate indicator of the last time
it was sucessfully compiled.
With one system that was widely distributed I had the compile script
create a copybook with the date, time and system version as VALUEs and
this was COPYed into the program as it compiled. Markers in the
copybook allowed a program to search the executable and extract this so
that automated site audits of program versions could be done.
| |
| William M. Klein 2005-10-05, 6:55 pm |
| You are correct that those were identified as "OBSOLETE" in the '85 Standard
which indicated that they would "go away" in the next revision of the Standard.
And, in fact, they are GONE from the '02 Standard.
Any conforming '85 Standard compiler MUST provide a mechanism for issuing an
"obsolete" warning when these features are used. Therefore, if you tell us
which compiler you are using in class, we can probably tell you how to get the
"message" indicating they are obsolete. I would think/hope that your instructor
would accept this.
However, if you tell us which compiler you are using, we might also be able to
point you to their documentation saying the same thing.
P.S. As Richard has already indicated there are things that you can "do" with
such paragraphs in existing code and I don't know which (if any) vendor will
actually drop them, but I agree with you that you should NOT lose points for
omitting them. On the other hand, if the instructor gave you "shop standards"
to follow in creating your code, it MIGHT be useful to learn to follow such
rules - even if them seem "wrong" to you. That is part of the real world of
programming at many shops.
--
Bill Klein
wmklein <at> ix.netcom.com
"Mike" <MPBrede@gmail.com> wrote in message
news:1128539271.173935.141610@g47g2000cwa.googlegroups.com...
>I believe that most elements of the Identification Division is
> considered obsolete. I have been looking for a source I could cite for
> that, such as which standard classified those elements as obsolete.
>
> But, being a student and being poor, I don't want to pay the $18 that
> ANSI wants for their standards documentation. Additionally our Campus
> library does not seem to have available these specific ANSI standards.
>
> Long and short of it, I got docked for not including DATE-WRITTEN and
> DATE-COMPILED in my program and I want my points back.
>
> Can anyone please help?
>
> Thanks
> Mike
>
| |
|
| William M. Klein wrote:
> You are correct that those were identified as "OBSOLETE" in the '85 Standard
> which indicated that they would "go away" in the next revision of the Standard.
> And, in fact, they are GONE from the '02 Standard.
>
> Any conforming '85 Standard compiler MUST provide a mechanism for issuing an
> "obsolete" warning when these features are used. Therefore, if you tell us
> which compiler you are using in class, we can probably tell you how to get the
> "message" indicating they are obsolete. I would think/hope that your instructor
> would accept this.
>
> However, if you tell us which compiler you are using, we might also be able to
> point you to their documentation saying the same thing.
I'm using Microfocus Mainframe Express 2.5.
But I definitely do NOT want compiler errors in work to be handed in,
we were told that compiler errors are an automatic -50%.
>
> P.S. As Richard has already indicated there are things that you can "do" with
> such paragraphs in existing code and I don't know which (if any) vendor will
> actually drop them, but I agree with you that you should NOT lose points for
> omitting them. On the other hand, if the instructor gave you "shop standards"
> to follow in creating your code, it MIGHT be useful to learn to follow such
> rules - even if them seem "wrong" to you. That is part of the real world of
> programming at many shops.
We were told to program with well-structured code and to adopt a coding
standard of our choosing, so nothing so definite as including specific
elements was specified.
I'm generally pretty good at following instructions, even if I can
think of a better way to accomplish the same objective. I understand
that we are being tested on the stuff we're being taught, not the stuff
we can think up.
Thank you for your help.
| |
| William M. Klein 2005-10-05, 6:55 pm |
| There is a REAL difference between compiler errors and informational errors. If
your instructor doesn't understand this, then you should get another instructor
(ASAP).
Try compiling your program with
FLAGSTD(O) (that's the letter "O")
and see what the listing shows.
As far as what (documentation) you should refer your instructor to, have them
look at:
http://supportline.microfocus.com//...30/mx30indx.htm
and go to:
"Chapter 7: Summary of Obsolete Language Elements"
In the Language Reference "Additional Topics" manual.
***
As you are using "Mainframe Express" is your class supposed to be preparing you
for IBM mainframe COBOL? If so, you can also refer your instructor to:
http://publibz.boulder.ibm.com/cgi-...r30/PREFACE.1.4
"PREFACE.1.4 Obsolete language elements"
--
Bill Klein
wmklein <at> ix.netcom.com
"Mike" <MPBrede@gmail.com> wrote in message
news:1128547492.174013.174480@g44g2000cwa.googlegroups.com...
> William M. Klein wrote:
>
> I'm using Microfocus Mainframe Express 2.5.
>
> But I definitely do NOT want compiler errors in work to be handed in,
> we were told that compiler errors are an automatic -50%.
>
>
> We were told to program with well-structured code and to adopt a coding
> standard of our choosing, so nothing so definite as including specific
> elements was specified.
>
> I'm generally pretty good at following instructions, even if I can
> think of a better way to accomplish the same objective. I understand
> that we are being tested on the stuff we're being taught, not the stuff
> we can think up.
>
> Thank you for your help.
>
| |
| William M. Klein 2005-10-05, 6:55 pm |
|
--
Bill Klein
wmklein <at> ix.netcom.com
"William M. Klein" <wmklein@nospam.netcom.com> wrote in message
news:_EX0f.114964$s83.100477@fe08.news.easynews.com...
> There is a REAL difference between compiler errors and informational errors.
> If your instructor doesn't understand this, then you should get another
> instructor (ASAP).
>
> Try compiling your program with
> FLAGSTD(O) (that's the letter "O")
>
> and see what the listing shows.
>
> As far as what (documentation) you should refer your instructor to, have them
> look at:
> http://supportline.microfocus.com//...30/mx30indx.htm
>
> and go to:
>
> "Chapter 7: Summary of Obsolete Language Elements"
>
> In the Language Reference "Additional Topics" manual.
>
> ***
>
> As you are using "Mainframe Express" is your class supposed to be preparing
> you for IBM mainframe COBOL? If so, you can also refer your instructor to:
>
> http://publibz.boulder.ibm.com/cgi-...r30/PREFACE.1.4
>
> "PREFACE.1.4 Obsolete language elements"
>
> --
> Bill Klein
> wmklein <at> ix.netcom.com
> "Mike" <MPBrede@gmail.com> wrote in message
> news:1128547492.174013.174480@g44g2000cwa.googlegroups.com...
>
>
| |
| William M. Klein 2005-10-05, 6:55 pm |
| OOPS (my typo). That first sentence should have been
> There is a REAL difference between compiler errors and informational messages.
--
Bill Klein
wmklein <at> ix.netcom.com
"William M. Klein" <wmklein@nospam.netcom.com> wrote in message
news:_EX0f.114964$s83.100477@fe08.news.easynews.com...
> There is a REAL difference between compiler errors and informational errors.
> If your instructor doesn't understand this, then you should get another
> instructor (ASAP).
>
> Try compiling your program with
> FLAGSTD(O) (that's the letter "O")
>
> and see what the listing shows.
>
> As far as what (documentation) you should refer your instructor to, have them
> look at:
> http://supportline.microfocus.com//...30/mx30indx.htm
>
> and go to:
>
> "Chapter 7: Summary of Obsolete Language Elements"
>
> In the Language Reference "Additional Topics" manual.
>
> ***
>
> As you are using "Mainframe Express" is your class supposed to be preparing
> you for IBM mainframe COBOL? If so, you can also refer your instructor to:
>
> http://publibz.boulder.ibm.com/cgi-...r30/PREFACE.1.4
>
> "PREFACE.1.4 Obsolete language elements"
>
> --
> Bill Klein
> wmklein <at> ix.netcom.com
> "Mike" <MPBrede@gmail.com> wrote in message
> news:1128547492.174013.174480@g44g2000cwa.googlegroups.com...
>
>
| |
| Peter Lacey 2005-10-05, 6:55 pm |
| Mike wrote:
>
> I believe that most elements of the Identification Division is
> considered obsolete. I have been looking for a source I could cite for
> that, such as which standard classified those elements as obsolete.
>
> But, being a student and being poor, I don't want to pay the $18 that
> ANSI wants for their standards documentation. Additionally our Campus
> library does not seem to have available these specific ANSI standards.
>
> Long and short of it, I got docked for not including DATE-WRITTEN and
> DATE-COMPILED in my program and I want my points back.
Why fight it? You know better now. It's a long-standing principle that
you can't get marks by disagreeing with your instructor, even if you
know s/he's wrong. (Unless you got a Fail on the whole assignment: then
you fight).
PL
| |
| Charles W. Cribbs II 2005-10-05, 6:55 pm |
| Look in the cobol for dummies book, he seems to cover most elements and I
believe the obsolete elements of each divisions are cited.
"Mike" <MPBrede@gmail.com> wrote in message
news:1128539271.173935.141610@g47g2000cwa.googlegroups.com...
> I believe that most elements of the Identification Division is
> considered obsolete. I have been looking for a source I could cite for
> that, such as which standard classified those elements as obsolete.
>
> But, being a student and being poor, I don't want to pay the $18 that
> ANSI wants for their standards documentation. Additionally our Campus
> library does not seem to have available these specific ANSI standards.
>
> Long and short of it, I got docked for not including DATE-WRITTEN and
> DATE-COMPILED in my program and I want my points back.
>
> Can anyone please help?
>
> Thanks
> Mike
>
| |
| Lueko Willms 2005-10-05, 9:55 pm |
| .. On 05.10.05
wrote wmklein@nospam.netcom.com (William M. Klein)
on /COMP/LANG/COBOL
in _EX0f.114964$s83.100477@fe08.news.easynews.com
about Re: Obsolete elements of COBOL language
WMK> As far as what (documentation) you should refer your instructor to,
WMK> have them look at:
WMK> http://supportline.microfocus.com//...oks/mx30/mx30in
WMK> dx.htm
WMK>
WMK> and go to:
WMK>
WMK> "Chapter 7: Summary of Obsolete Language Elements"
WMK>
WMK> In the Language Reference "Additional Topics" manual.
For the benefit of Mike Brede, here are two quotes from the 1985
standard document, pages XVII-81 and XVII-82:
--------- schnipp -----------------------------------------
APPENDIX C: LANGUAGE ELEMENT LISTS
1. OBSOLETE LANGUAGE ELEMENT LIST
The purpose of the obsolete language element category is to limit the
impact of deleting features that are seen as obsolete or improperly
specified. It is felt by X3J4 that, although the elements in this
category are obsolete, their abrupt removal from Standard COBOL would
be a disservice to COBOL users. Features placed in the obsolete
element category have the following characteristics:
Language elements to be deleted from Standard COBOL will first be
identified as obsolete language elements prior to being deleted.
Obsolete language elements will be neither enhanced, modified, nor
maintained.
The interaction between obsolete language elements and other language
elements is undefined unless otherwise specified in Standard COBOL.
Obsolete language elements will be deleted from the next revision of
Standard COBOL.
A conforming implementation of Standard COBOL is required to support
obsolete language elements of the subset and levels of optional
modules for which support is claimed.
The following is a list of the obsolete language elements in third
Standard COBOL. Associated with each obsolete language element in this
list is a justification for placing that element into the obsolete
element category.
--------- schnipp -----------------------------------------
(3) AUTHOR, INSTALLATION, DATE-WRITTEN, DATE-COMPILED, and SECURITY
paragraphs (1 NUC).
The AUTHOR, INSTALLATION, DATE-WRITTEN, DATE-COMPILED, and SECURITY
paragraphs in the Identification Division have been placed in the
obsolete element category.
Justification:
The purpose of the AUTHOR, INSTALLATION, DATE-WRITTEN, DATE-COMPILED,
and SECURITY paragraphs can be achieved through the use of comment
lines within the Identification Division since these paragraphs have
no effect on the operating of a COBOL program.
The goal of cleaning up and regularizing the COBOL language has been
achieved by declaring many implementor-defined elements as obsolete.
The format of the DATE-COMPILED and SECURITY paragraphs are examples
of comment-entry paragraphs which are defined by the implementor.
The interaction of the COPY statement with the comment-entries in the
AUTHOR, INSTALLATION, DATE-WRITTEN, DATE-COMPILED, and SECURITY
paragraphs is often ambiguous, i.e. the presence of the word COPY in a
comment-entry versus the use of the COPY statement in a comment-entry.
------------------ schnapp --------------------------------
and from page I-7:
--------- schnipp -----------------------------------------
1.5.2.3 Obsolete Language Elements
Obsolete language elements are identified as language elements in
Standard COBOL which will be deleted from the next revision of
Standard COBOL (see page XVII-81, Obsolete Language Element List).
Obsolete language elements have been neither enhanced nor modified
during the preparation of Standard COBOL. The interaction between
obsolete language elements and other language elements is undefined
unless otherwise specified in Standard COBOL. Language elements to be
deleted from Standard COBOL will first be identified as obsolete
language elements prior to being deleted.
A conforming implementation of Standard COBOL is required to support
obsolete language elements of the subset and levels of optional
modules for which support is claimed. Documentation associated with an
implementation must identify all obsolete language elements in the
implementation.
A conforming implementation of Standard COBOL must provide a warning
mechanism, which optionally may be invoked by the user at compile time
to indicate, if appropriate, that a program contains obsolete language
elements (see page XVII-81).
------------------ schnapp --------------------------------
Yours,
Lüko Willms http://www.willms-edv.de
/--------- L.WILLMS@jpberlin.de -- Alle Rechte vorbehalten --
Eine ganze Milchstraße von Einfällen. -G.C.Lichtenberg
| |
|
|
William M. Klein wrote:
> There is a REAL difference between compiler errors and informational errors. If
> your instructor doesn't understand this, then you should get another instructor
> (ASAP).
LOL. I didn't understand the difference, perhaps it will be OK, but I'm
going to follow the advice of another poster and just forget about it.
>
> Try compiling your program with
> FLAGSTD(O) (that's the letter "O")
>
> and see what the listing shows.
I couldn't make this work. I know how to specify compiler directives (I
specified COPYLIST), but whenever I tried FLAGSTD(O), I got a compiler
error
COBCH01705S Invalid argument in FLAGSTD(O)
* 155-U
IDEID1003S Illegal command line
and a compiler exit code of 16.
>
> As far as what (documentation) you should refer your instructor to, have them
> look at:
> http://supportline.microfocus.com//...30/mx30indx.htm
>
> and go to:
This was a great reference - thank you.
>
> "Chapter 7: Summary of Obsolete Language Elements"
>
> In the Language Reference "Additional Topics" manual.
>
> ***
>
> As you are using "Mainframe Express" is your class supposed to be preparing you
> for IBM mainframe COBOL? If so, you can also refer your instructor to:
I guess, they are also teaching us JCL and some other stuff.
>
> http://publibz.boulder.ibm.com/cgi-...r30/PREFACE.1.4
>
> "PREFACE.1.4 Obsolete language elements"
>
> --
> Bill Klein
> wmklein <at> ix.netcom.com
| |
|
|
Peter Lacey wrote:
> Mike wrote:
>
> Why fight it? You know better now. It's a long-standing principle that
> you can't get marks by disagreeing with your instructor, even if you
> know s/he's wrong. (Unless you got a Fail on the whole assignment: then
> you fight).
>
>
> PL
Your advice is spot-on. That is just what I'm going to do. I'm pretty
sure that one day I'll have to put up with even more obscure rules and
requirements when I start working out there.
Mike
| |
|
| Thanks L=FCko Willms, that was very informative.
Mike
| |
| Oliver Wong 2005-10-06, 6:55 pm |
| "Peter Lacey" <lacey@mts.net> wrote in message
news:4344476C.D7934451@mts.net...
>
> Why fight it? You know better now. It's a long-standing principle that
> you can't get marks by disagreeing with your instructor, even if you
> know s/he's wrong. (Unless you got a Fail on the whole assignment: then
> you fight).
It depends on the instructor, of course. I've had an instructor whom,
after hearing 4 sentences, I knew was so profoundly self deluded that I
simply never interacted with him other than simply in doing the assignments
exactly the way he wanted them done. I knew what I was handing in was
subpar, and I knew if I did it any other way I would have marks deducted, so
I just did what he wanted. I sort of wrote up that class as a loss; a waste
of time during which I would learn nothing.
And then I've had other instructors whom I respected. I'd put in a good
effort in the assignments, and when I lost even one measly single point
which I felt I shouldn't have, I'd discuss the issue with the instructor. It
wasn't so much that I wanted a higher mark (though that is a side benefit
should I "win" the argument), but that if I were truly in the wrong, I
wanted to understand why.
Sometimes I'd walk away with more points; other times I'd walk away with
more knowledge. There was only one instance where the professor and I agreed
to disagree on what consituted a "correct" answer; luckily that question
didn't involve any marks.
- Oliver
| |
| Rick Smith 2005-10-06, 6:55 pm |
|
"Mike" <MPBrede@gmail.com> wrote in message
news:1128612245.973594.47140@g14g2000cwa.googlegroups.com...
>
> William M. Klein wrote:
[snip]
>
> I couldn't make this work. I know how to specify compiler directives (I
> specified COPYLIST), but whenever I tried FLAGSTD(O), I got a compiler
> error
Try the combination
ANS85 FLAGSTD(H O)
It is what works on my older Micro Focus compiler.
-----
* Micro Focus COBOL Version 3.2.24 L2.5 revision 000 06-Oct-05 12:33 Page
1
* teststd.cbl
* Options: NOLIST NOASMLIST OMF(OBJ) OBJ(.\) obj(teststd) list(teststd.lst)
asml
1 identification division.
2 program-id. teststd.
3 date-written. 10/06/05.
* 555-ANS85 (
0)--
** "DATE-WRITTEN" : marked as obsolete in the ANS85 standard
** Line: 3 Column: 8
4 date-compiled. 10/06/05.
* 555-ANS85 (
1)--
** "DATE-COMPILED" : marked as obsolete in the ANS85 standard
** Line: 4 Column: 8
5 procedure division.
6 begin.
7 stop run.
8 end program teststd.
* Micro Focus COBOL Version 3.2.24 L2.5 revision 000
* Copyright (C) 1985-1994 Micro Focus Ltd. URN AXCPA/000130476
* REF GNB-027054000AA
*
* Total Messages: 2
* Unrecoverable : 0 Severe : 0
* Errors : 0 Warnings: 0
* Informational : 0 Flags : 2
* Data: 432 Code: 58
-----
| |
|
| "Mike" <MPBrede@gmail.com> wrote:
>I believe that most elements of the Identification Division is
>considered obsolete. I have been looking for a source I could cite for
>that, such as which standard classified those elements as obsolete.
--snip--
>Long and short of it, I got docked for not including DATE-WRITTEN and
>DATE-COMPILED in my program and I want my points back.
Others have noted sources for obsolete in the 85 standard.
However, it shouldn't matter. Even in the 85 standard,
(and previous standards) these are listed as optional.
The compiler doesn't care if you leave them out.
--
Ron
(user ron
in domain spamblocked.com)
| |
| HeyBub 2005-10-06, 6:55 pm |
| Mike wrote:
> I believe that most elements of the Identification Division is
> considered obsolete. I have been looking for a source I could cite for
> that, such as which standard classified those elements as obsolete.
>
> But, being a student and being poor, I don't want to pay the $18 that
> ANSI wants for their standards documentation. Additionally our Campus
> library does not seem to have available these specific ANSI standards.
>
> Long and short of it, I got docked for not including DATE-WRITTEN and
> DATE-COMPILED in my program and I want my points back.
>
> Can anyone please help?
Then, too, there are those who assert that all of COBOL is obsolete (it
doesn't do flames or toasters).
|
|
|
|
|