|
iProDeveloper.com is one good site for references. Code400.com is
another.
Take a look at this:
http://iprodeveloper.com/rpg-programming/introducing-ile-service-programs
Jon & Susan have done a number of presentations on this topic. Here's a
link to one they did eons ago at my LUG.
http://www.partner400.com/advancedsubprocs.pdf
Roger Harman
COMMON Certified Application Developer – ILE RPG on IBM i on PowerOCEAN
User Group – Vice-President, Membership (2014)
From: ACassidy@xxxxxxxxxxxxxxfirst step. Correct me if I'm wrong.
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: Service programs, procedures, not sure what to do
Date: Tue, 6 Jan 2015 19:58:22 +0000
It looks to me like Jack hasn't done subprocedures before, and this is a
functions in the same program.
For my first few times writing them, I just created my procedure
explained in a short list email.
Then I went to service programs, which involve more than can be
at their examples.
There are some good articles in the midrange press. I recommend looking
(They might be kind of old, and fixed-format, but they still work andserve the purpose)
wrote:
--Alan
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
Jeff Young
Sent: Tuesday, January 06, 2015 2:19 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Service programs, procedures, not sure what to do
Jack,
You need to specify NOMAIN in the H specification keyword.
Jeff Young
Sr. Programmer Analyst
On Tue, Jan 6, 2015 at 2:14 PM, Jack Tucky <jacktucky@xxxxxxxxx>
program
That's what I was trying to figure out. Compiling as a service
aI get the same error, return value not allowed for the main procedure
FCodeFF00 if e k disk
d CODE001R PR 1n
d cdGroup_ 3s 0 const
d cdCode_ 50a const
d CODE001R PI 1n
d cdGroup_ 3s 0 const
d cdCode_ 50a const
d exists_ like(*in01)
**
chain (cdGroup_:cdCode_) Codeff00r;
if %found;
exists_ = *on;
else;
exists_ = *off;
endif;
return exists_;
Thanks for quick responses...
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
Jeff Young
Sent: Tuesday, January 06, 2015 1:47 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Service programs, procedures, not sure what to do
Jack,
A *program* can not return data.
If you need to return data from another program, define the return
field a parameter in the caller and called program.
If you create a service program with your procedure, that can return
Theparameter with no problem.
Jeff Young
Sr. Programmer Analyst
On Tue, Jan 6, 2015 at 1:38 PM, Jack Tucky <
<mailto:jacktucky@xxxxxxxxx> jacktucky@xxxxxxxxx> wrote:
If I want to put this code in another program, how would I define
the
procedure there?
kc2hiz@xxxxxxxxx> wrote:On Jan 6, 2015, at 1:31 PM, Buck Calabro <
<mailto:kc2hiz@xxxxxxxxx>
On 1/6/2015 12:29 PM, Jack Tucky wrote:
I tried to code the PR/PI in my first RPG and it says I can't
return a value. Do I need something different? Sorry I'm so
vague. I'm still
not
where I need to be on procedures/service programs, etc.
In order to return a value, you need to tell the procedure
interface
(and prototype) that. Here is an example of a procedure that
takes
a 10 character 'date' and converts it into an 8 digit number.
RPG400-L@xxxxxxxxxxxxsubscribe,
'8s 0'.place where we define what gets returned is on the PI spec; here
it's
The actual /value/ that gets returned is in the return statement
(here, unimaginatively called retVal).
* convert 'yyyy-mm-dd' to yyyymmdd
p date10to8 b
d date10to8 pi 8s 0
d date10 10a const
...
d retVal s 8s 0 inz
...
return retVal;
p e
procedure.You'd do something similar with your 'return the next number'
--
--buck
'I had nothing to offer anybody except my own confusion' - Jack
Kerouac
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L)
mailing list
RPG400-L@xxxxxxxxxxxx To subscribe,To post a message email: <mailto:RPG400-L@xxxxxxxxxxxx>
unsubscribe, or change list options,
http://lists.midrange.com/mailman/listinfo/rpg400-lvisit: <http://lists.midrange.com/mailman/listinfo/rpg400-l>
RPG400-L-request@xxxxxxxxxxxx Before posting, please takeor email: <mailto:RPG400-L-request@xxxxxxxxxxxx>
a moment to review the archives at
http://archive.midrange.com/rpg400-l.<http://archive.midrange.com/rpg400-l>
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email:<mailto:RPG400-L@xxxxxxxxxxxx> RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: <http://lists.midrange.com/mailman/listinfo/rpg400-l>http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: <mailto:RPG400-L-request@xxxxxxxxxxxx>RPG400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives athttp://archive.midrange.com/rpg400-l.
<http://archive.midrange.com/rpg400-l>
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email:
<mailto:RPG400-L@xxxxxxxxxxxx> RPG400-L@xxxxxxxxxxxx To
unsubscribe, or change list options,
visit: <http://lists.midrange.com/mailman/listinfo/rpg400-l>
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: <mailto:RPG400-L-request@xxxxxxxxxxxx>
RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
<http://archive.midrange.com/rpg400-l>
http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email:
aTo 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
http://archive.midrange.com/rpg400-l.moment to review the archives at
(RPG400-L)--
This is the RPG programming on the IBM i (AS/400 and iSeries)
--------------------------------------------------------------------------------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.
Confidentiality Notice: This email may contain confidential informationor information covered under the Privacy Act, 5 USC 552(a), and/or the
Health Insurance Portability and Accountability Act (PL 104-191) and its
various implementing regulations and must be protected in accordance with
those provisions. It contains information that is legally privileged,
confidential or otherwise protected from use or disclosure. This e-mail
message, including any attachments, is for the sole use of the intended
recipient(s). Any unauthorized review, use, disclosure or distribution is
prohibited. You, the recipient, are obligated to maintain it in a safe,
secure and confidential manner. If you are not the intended recipient,
please contact the sender by reply e-mail and destroy all copies of the
original message. Thank you.
--------------------------------------------------------------------------------
mailing list
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
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 IBM i (AS/400 and 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-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.