|
Lim, I understand that you want to use SUCCESSFUL as a constant for
clarity in the main program line. Since you are returning from a
procedure, why can't you just say ...
return *On, or return *Off.
Then in the main program you can use the SUCCESSFUL constant.
If Proc1 = successful then do...
....
Else;
// not successful
End If
Or...
If Proc1 <> successful then do...
...
Else
... // successful
End If
The nice thing about Procedure that return as an indicator is that you
don't even need to use the "=" in the evaluation. With proper naming, your
main line can be very clear.
If IsProc1Successful;
successful
Else
not
End If
If not IsProc1Successful;
not successful
else
successful
end if.
Just some food for thought.
Michael Schutte
Michael_Schutte@b
obevans.com
Sent by: To
rpg400-l-bounces@ RPG programming on the AS400 /
midrange.com iSeries <rpg400-l@xxxxxxxxxxxx>
cc
05/05/2006 02:18 Subject
PM RE: Compile failed when try to do
return
notSUCCESSFULwhereSUCCESSFULis
Please respond to declared as const
RPG programming
on the AS400 /
iSeries
<rpg400-l@midrang
e.com>
You can do that because the CONST data type is a number.
You can't do "return not successful" because successful is defined as a
character data type with a value of '1', not an indicator. What is not of
'1'? If you want to use successful that way you need to define it as an
indicator, datatype of "N".
Michael Schutte
"Lim Hock-Chai"
<Lim.Hock-Chai@us
amobility.com> To
Sent by: "RPG programming on the AS400 /
rpg400-l-bounces@ iSeries" <rpg400-l@xxxxxxxxxxxx>
midrange.com cc
Subject
05/05/2006 02:10 RE: Compile failed when try to do
PM return not
SUCCESSFULwhereSUCCESSFULis
declared as const
Please respond to
RPG programming
on the AS400 /
iSeries
<rpg400-l@midrang
e.com>
Yes. Return without the 'not' work. I just curious as why I cannot do
"return not constIndicator"
Below is an example to return by const number and it compiles just fine:
D NUM50 c const(50)
D proc1 pr 2 0
C eval *inlr = *on
*------------------------------------------------------
* test return with constant number
P proc1 B
D pi 2 0
C return NUM50*(-1)
P proc1 E
If I can do above, I would think I should also be able to do the same on
indicator. Don't you wish the compiler would act just what you think it
should :).
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wilt, Charles
Sent: Friday, May 05, 2006 12:49 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Compile failed when try to do return not SUCCESSFUL
whereSUCCESSFULis declared as const
Lim,
You need to add:
D FAILED c const(*off)
Then you'll be able to do
return FAILED;
HTH,
Charles Wilt
--
iSeries Systems Administrator / Developer Mitsubishi Electric Automotive
America
ph: 513-573-4343
fax: 513-398-1121
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
> Sent: Friday, May 05, 2006 1:00 PM
> To: RPG programming on the AS400 / iSeries
> Subject: Compile failed when try to do return not SUCCESSFUL where
> SUCCESSFULis declared as const
>
> D SUCCESSFUL c const(*on)
> D proc1 pr n
>
> C eval *inlr = *on
> *------------------------------------------------------
> * test return with not SUCCESSFUL
> P proc1 B
> D pi n
>
> C return not SUCCESSFUL
> P proc1 E
>
>
> I'm getting this:
> Msg id Sv Number Seq Message text
>
> RNF7421 30 12 001200 Operands are not compatible with the type of
> operator.
>
>
> If I changed SUCCESSFUL to be a variable, it compile ok. Any reason
> why I can't do "return not constBoolean"?
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
> list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
> unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
> moment to review the archives at http://archive.midrange.com/rpg400-l.
>
>
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.