|
Warning: shameless plug ahead:
With RpgMap (erps.me/RpgMap/Docs) you could "wrap" a datatype into a
structure and pass it to a procedure like:
dcl-pr TestProc;
value pointer value;
end-pr;
Pass an integer value to TestProc:
TestProc( rm_i(100) );
or pass a character value:
TestProc( rm_a('parm1') );
Then, in procedure TestProc you can test the data type:
rm_isi(value) or rm_isa(value) (*on or *off; test whether integer or
character).
To use the passed value as a real RPG integer or character value you unwrap
it:
dcl-s intval int(10);
intval = rm_i_(value);
You have to dispose the value when not needed anymore.
rm_dis(value);
Or you can dispose it immediately when unwrapping without a separate rm_dis
like (btw not yet available in latest version):
intval = rm_i__(value); // with two underscores.
RpgMap is still in development.
Current version 1.1.0.
Next version supports unwrapping and disposing with rm_??__ procedures.
Planned features for this year:
- Read any db file into an RpgMap.
- JSON support (read JSON into RpgMap and vice versa).
On Thu, Jan 25, 2018 at 1:03 AM, Barbara Morris <bmorris@xxxxxxxxxx>
wrote:
On 2018-01-24 2:26 PM, tim wrote:proceed
...
is it possible to define this so that it take any "type" as a second
parm. Then within the routine, determine what that parm type is and
parameter"as needed.There's an RFE that is somewhat related to this, asking for an option to
writeb('desc1' : 'this is a string');
writeb('desc2' : 123.24);
pass any type of parameter to the called procedure as a character value,
basically passing the %CHAR value of the parameter.
https://www.ibm.com/developerworks/rfe/execute?use_case=
viewRfe&CR_ID=112119
I made a comment in that RFE that I think a better solution would be for
RPG to have an "any type" parameter, with an RPG-only "described
mechanism that would allow the called procedure to know what theparameter
type is. But that would need a separate RFE, which doesn't exist yet.--
--
Barbara
--
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: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD
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: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD
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.