For the most part, I think that it doesn't matter WHAT your standards are, as long as you have them (and adhere to them!).  But in this case my primary point was to use constants rather than variables.  I love named constants.

On 1/24/2019 11:25 PM, Roger Harman wrote:
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].