× 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 Monica

May I suggest some free tools to help with this?

First, there is IBM's CVTRPGSRC - this will, at least, make RPG-III code into what it can of RPG-IV - not free, but a starting point.

Then there are several tolls to get to FREE -

1. In RDi, you can right-click in a source view and "convert to free" it converts only C-specs and comments, I believe.

2. Go to JCRCMDS.COM and look for the commands for converting to free-form - Craig has tools for extracting prototypes, for converting H, F, and D specs, etc.

If you are using internal O-specs, they just don't convert - there are products that can convert to PRTFs - others for handling the things that were done for writing to and updating physical files.

There is an RPG Toolbox application that does cost some money, it does work very well.

HTH
Vern

On 3/5/2020 5:03 PM, Mónica Anastácio wrote:
Im starting to program in FREE and im creating an example of what the
structure of a FREE program should be, and must be identical as what has
been done for over 30 years by the company in fixed. and one of my problems
is this one! My problem is not the arrays. I just want do now if its
possible to have the same parm entry in free like we have in fixed.

Entry
Parm. er5005ds

And ew use in program the fields name from that ds #xxxxrcode

And now
DCL-PI;
P_waapids like(ER5005DS);
END-PI;

Ok i have the same fields name like ER5005DS.
But in have to use p_waapids.#xxxxrcode = 2.

But we just want to use #xxxxrcode = 2 and only possible if in the
$pcpgm routine i have
Er5005ds = p_waapids

Do u understand ? In the past few weeks i've been using google looking for
an answer. I've been reading everything about external data structure in
free. Im starting to think that Is not allowed like MOVEA does not exist
for FREE

<dlclark@xxxxxxxxxxxxxxxx> escreveu em qui, 5/03/2020 às 22:08 :

"RPG400-L" <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> wrote on 03/05/2020
04:41:27 PM:
Do u have like this

DCL-PI;
IM02_Inventory_V06 likeds(IM02V06);

?????

No, not like that. Here are a few other examples. After that is
a prototype used by calling programs. After that is the procedure
interface used by the called program. Also, notice that when I pass an
array definition, using LIKE, then I also have to add DIM to get the
number of dimensions -- since LIKE doesn't copy the number of dimensions.


dcl-ds IM02_View1 extname('IM02V01') qualified inz end-ds;
dcl-ds IM02_View2 extname('IM02V02') qualified inz end-ds;
dcl-ds ImIm02_View3 extname('IM02V03') qualified end-ds;
dcl-ds IMIM02_InventoryManagement_V02 extname('IMITEMSV02')
qualified template inz end-ds;

dcl-pr ImIm02_GetTableData like(boolean_t);
pCaller like(PROC_PGM) const;
pTblData likeds(IM02_View1) options(*nopass:*varsize);
pIndArry like(IM02_Ary)
dim(IM02_VCol1) options(*nopass:*varsize);
pBefData likeds(IM02_View1) options(*nopass:*omit:*varsize);
pBefArry like(IM02_Ary)
dim(IM02_VCol1) options(*nopass:*omit:*varsize);
pCount like(bigint_t) options(*nopass:*omit);
pLibrary like(SRC_LIB) const options(*nopass:*omit);
pBefore like(boolean_t) const options(*nopass);
end-pr;

dcl-proc ImIm02_GetTableData export;
dcl-pi *n like(boolean_t);
pCaller like(PROC_PGM) const;
pTblData likeds(IM02_View1) options(*nopass:*varsize);
pIndArry like(IM02_Ary)
dim(IM02_VCol1) options(*nopass:*varsize);
pBefData likeds(IM02_View1) options(*nopass:*omit:*varsize);
pBefArry like(IM02_Ary)
dim(IM02_VCol1) options(*nopass:*omit:*varsize);
pCount like(bigint_t) options(*nopass:*omit);
pLibrary like(SRC_LIB) const options(*nopass:*omit);
pBefore like(boolean_t) const options(*nopass);
end-pi;


Sincerely,

Dave Clark
--
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331



Because i cannot have the same name i declare on program interface.

I have to use a p_ IM02V06 Thats where the api receive the information
from
caller and because of that i have to do on pcpgm

IM02_Inventory_06 = P_ IM02_Inventory_V06.

In fixed u just put

C *entry
C. parm IM02V06.

Do you use that ext data structure on FREE declare on Program Interface
(DCL-PI) ?


<dlclark@xxxxxxxxxxxxxxxx> escreveu em qui, 5/03/2020 às 15:55 :

"RPG400-L" <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> wrote on 03/05/2020
05:37:35 AM:
I tried what you said and i cannot declare the external DS on \copy
with
qualified.

The following is copied from one of our production uses of an
externally-defined data structure. This is in a copybook and we use
/include to insert this copybook into the programs that need it.


Dcl-ds IM02_Inventory_V06
extname('IM02V06') qualified inz end-ds;


Sincerely,

Dave Clark
--
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331






*********************************************************************************************
This email message and any attachments is for use only by the named
addressee(s) and may contain confidential, privileged and/or
proprietary
information. If you have received this message in error, please
immediately notify the sender and delete and destroy the message and
all
copies. All unauthorized direct or indirect use or disclosure of this
message is strictly prohibited. No right to confidentiality or
privilege
is waived or lost by any error in transmission.


*********************************************************************************************
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://urldefense.com/v3/__https://lists.midrange.com/
mailman/listinfo/rpg400-l__;!!E0nbmg29qrX0lQ!
JBp5_7VKjwMsbN1W7zzfa9TP32I6KWonmSBFnK0fzattazzhuIijKMx42bJFx8oRpIY$
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://urldefense.com/v3/__https://archive.midrange.com/
rpg400-l__;!!E0nbmg29qrX0lQ!
JBp5_7VKjwMsbN1W7zzfa9TP32I6KWonmSBFnK0fzattazzhuIijKMx42bJFvjreUOM$ .
Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://urldefense.com/v3/__https://amazon.midrange.com__;!!
E0nbmg29qrX0lQ!
JBp5_7VKjwMsbN1W7zzfa9TP32I6KWonmSBFnK0fzattazzhuIijKMx42bJFPqLAugs$
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://urldefense.com/v3/__https://lists.midrange.com/
mailman/listinfo/rpg400-l__;!!E0nbmg29qrX0lQ!
JBp5_7VKjwMsbN1W7zzfa9TP32I6KWonmSBFnK0fzattazzhuIijKMx42bJFx8oRpIY$
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://urldefense.com/v3/__https://archive.midrange.com/rpg400-
l__;!!E0nbmg29qrX0lQ!
JBp5_7VKjwMsbN1W7zzfa9TP32I6KWonmSBFnK0fzattazzhuIijKMx42bJFvjreUOM$ .

Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link:
https://urldefense.com/v3/__https://amazon.midrange.com__;!!
E0nbmg29qrX0lQ!
JBp5_7VKjwMsbN1W7zzfa9TP32I6KWonmSBFnK0fzattazzhuIijKMx42bJFPqLAugs$


*********************************************************************************************
This email message and any attachments is for use only by the named
addressee(s) and may contain confidential, privileged and/or proprietary
information. If you have received this message in error, please
immediately notify the sender and delete and destroy the message and all
copies. All unauthorized direct or indirect use or disclosure of this
message is strictly prohibited. No right to confidentiality or privilege
is waived or lost by any error in transmission.

*********************************************************************************************
--
This is the RPG programming on IBM i (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.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com



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.