× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi,

I normally have two versions of a procedure.
The first one returns only *ON or *Off, depending on if its finished
successfully or not.
The second one only calls the first one, but sends an escape message, if the
first one returns *OFF.
Because we have a multilingual application we use a wrapper procedure around
the API QMHSNDPM and only pass a message-Id and eventually the variable
message textes all other parameters that are neccessary for the API QMHSNDPM
can be passed as optional parameters (if not passed default values are
used).
In this way I can use a monitor group to trap any failue, and use the
program status datastructure to catch either the message-id, or the message
text sent.
Example: ChkItemNoActive --> Returns *On or *Off, ChkItemNoActiveBreak -->
without return value, but sends a break message if  not active or not found.
Depending on the requirements I either call the first or the second one.

Mit freundlichen Gruessen / Best regards

Birgitta

"Shoot for the moon, even if you miss, you'll land among the stars."
(Les Brown)

-----Ursprungliche Nachricht-----
Von: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]Im Auftrag von Lim Hock-Chai
Gesendet: Freitag, 21. April 2006 21:11
An: RPG programming on the AS400 / iSeries
Betreff: RE: not able to create indicator as constant


Most of the existing program in our system using the following naming
convention
        exsr    $edtS1                  //edit subfile1
        if      @msgID <> *blank
        ....

or
        exsr    $valS1                  //validate subfile1
        if      @msgID <> *blank
        ...


By changing it to:
         if     editS1() = successful

Or
         if     validateS1() = successful

Is a bit closer to what we already have.


Of course (like most of you suggested) I can always do:
        if      isEditS1Ok()
        if      isValidateS1Ok()



-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
Matt.Haas@xxxxxxxxxxx
Sent: Friday, April 21, 2006 1:58 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: not able to create indicator as constant

Personally, I'd find something along the lines of:

If screenInputIsValid()
... Do something
Else
...Do something else
EndIf

more intuitive because the function name implies a yes/no type question.

Also, I typically define "true" and "false" as constants and use those
instead of "successful" but that's probably influenced by the Java work
I do more than anything else.

Matt

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Friday, April 21, 2006 2:44 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: not able to create indicator as constant

If (function()) is actually what I try to avoid.

- Below is what I'm usually do:

  If editScreenInput()
  ... Do something
  Else
  ... Do something else
  endif

  P editScreenInput      B
  D                      pi         n

  C                  if somethingWrong
  C                  return  *off
  C                  else
  C                  return  *on
  C                  endif
  P editScreenInput      E

  The problem on above is that I can easily tell if *on means successful
or not successful.


- I plan to change above to become like below, which I think is more
intuitive:

  If editScreenInput() = successful
  ... Do something
  Else
  ... Do something else
  endif

  P editScreenInput      B
  D                      pi         n

  C                  if somethingWrong
  C                  return  not successful
  C                  else
  C                  return  successful
  C                  endif
  P editScreenInput      E


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of David Gibbs

FWIW: If the test you intend to perform is something like: if
(function() == successful), then I would suggest you simply use the
boolean return value ... so it would be if (function()).

david

--
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 thread ...

Replies:

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

This mailing list archive is Copyright 1997-2024 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.