Lots of options stylistically.

Personally, I dislike underscores so I tend to lean towards cnYES or cnNO. I don't use "cn" on my standard True/False.

Whatever floats your boat. Consistency is of higher importance to me anyway.

We had a contractor recently who, in 3 IF statements in the course of about 15 lines, managed to case it 3 different ways - drove me NUTS.
IF
If
if

THAT.... did not float my boat.

Roger Harman
COMMON Certified Application Developer – ILE RPG on IBM i on Power





-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Joe Pluta
Sent: Thursday, January 24, 2019 8:55 PM
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Subject: Re: Free format question on D specs

Thomas, others have addressed the syntactical part of your question, but
I have a stylistic suggestion.  Rather than using variables x_yes and
x_no, I prefer to use constants:

dcl-c C_YES 'Y';
dcl-c C_NO 'N';

My own preference is to uppercase literals and precede them with C_;
that makes it very clear when I use a literal.  Then I can write the
following:

if xzstas <> C_YES and xsstas <> C_NO;

The code in the if will be executed if xzstas is anything other than 'Y'
or 'N'.


On 1/24/2019 7:17 PM, Thomas Burrows wrote:
I have the following.

Dcl-s x_yes char(01);
Dcl-s x_no char(01);

How do I get x_yes set to 'Y' and x_no set to 'N';

Then I have the following if statement.

if xzstas <> x_yes or x_no;

xzstas is an alpha A1.

I am getting a RNF7421.

What is wrong with my operation? I am supposing the "<>" is not correct.

Thomas



This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].