Subject: Re: Free format question on D specs From: Alan Campin Date: Thu, 24 Jan 2019 17:55:27 -0800 List-archive: List-help: List-id: "RPG programming on the IBM i \(AS/400 and iSeries\)" List-post: List-subscribe: , List-unsubscribe: ,

The statement for test could also be written as

If Not (XZSTAS = YES Or
XXSTAS = NO);
// If XZSTAS = Yes or No, will return TRUE. The NOT will convert to FALSE

EndIf;

On Thu, Jan 24, 2019 at 5:49 PM Alan Campin <alan0307d@xxxxxxxxx> wrote:

Are you asking how to declare a constant. I have these in my standard
constants.

dcl-c TRUE '1';
dcl-c FALSE '0';

You could also declare

dcl-c YES 'Y';
dcl-c NO 'N';

If xzstas <> YES And
xzsta <> NO;
// do something.
EndIf;

DoW TRUE;

EndDo;

If xzstas is a logical value, you could

dcl-s XZSTAS Ind Inz(TRUE)

If XZSTAS; // If True.
// Do something
EndIf;

Not True.

If Not XZSTAS; // If not true.
// Do something
EndIf;

Function returning TRUE/FALSE

If TestSomething;
// Do something.
EndIf;

dcl-proc TestSomething;
dcl-pi *N Ind;
InOrderNumber VarChar(9) Value;
end-pi;

If InOrderNumber = 'SomeValue';
Return TRUE;
Else;
Return FALSE;
EndIf;

end-proc;

On Thu, Jan 24, 2019 at 5:17 PM Thomas Burrows <
thomas.burrows.1957@xxxxxxxxx> 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 is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.