Pauyl Gilmartin has asked for conjectures about what such JCL constructs as

//  IF ( FALSE ) THEN
//B  EXEC PGM=IEFBR14
//  ELSE
//C  EXEC PGM=IEFBR14
//  ENDIF

The first thing toi be said about this construct and its brethren in Paul's post is that they are ridiculous.. The parentheses are gratuitous in the sense that the expressions

//  IF ABEND
//  IF (ABEND)
//  IF ABEND=TRUE
//  IF (ABEND=TRUE)

The constructs

//  IF ABEND=TRUE THEN
//  IF ABEND=FALSE THEN

were presumably introduced for the delectation of COBOL programmers who know no Boolean algebra and thus find the constructs

//  IF ABEND THEN
//  IF NOT(ABEND)

too terse.
. As such they are, I suppose, innocuous; but their use by anyone of even modest technical competence would be unwise. It would mark them as uninformed or worse.

What then does or could

//IF (FALSE) THEN . . .

mean?

My conjecture must be uninformed, because it would never have occurred to me to write such a JCL statement, but I will hazard the guesses that

o  '//  IF FALSE THEN' is a contradiction that is always false, and

o  '// IF TRUE THEN' is a tautology that is always true.

If these guesses, which I have refrained from attempting to verify, are correct

o JCL following the first would not be executed and the JCL following its associated THEN would
  be executed if present; and

o JCL following the second would be executed and the JCL following its associated THEN would be
  ignored if present.

John Gilmore
Ashland, MA 01721
USA

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to