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



Jon,
Thanks for chiming in... this is not my doings, rather the shenanigans of the software vendor. This code is nearly 20 years old. The first 3 parameters are defined externally in each program that uses them. The fourth parameter is NOT defined this way.

Frightening. But this is what I'm working with.

d psc000 e ds extname(oeps00)
d pssxcon 1 dim(600) overlay(sxcon)
d pssxcmd 1 dim(468) overlay(sxcmd)
d psrzl 1 dim(3) overlay(rzl)
d psrt1 3 dim(8) overlay(rt1)
d psrt2 6 dim(8) overlay(rt2)
d psrx3 30 dim(23) overlay(rx3)
d psctf 1 dim(8) overlay(ctf)
d psctp 6 dim(8) overlay(ctp)
d pss3l 72 dim(9) overlay(s3l)
d pss3m 38 dim(9) overlay(s3m)
d pss7a 30 dim(4) overlay(s7a)
d pswkl1 5 dim(200) overlay(wkl1)
d wer 2597 2920
d dim(81) error messages
d psc001 e ds extname(oeps01)
d pswkl2 5 dim(1500) overlay(wkl2)
d psc002 e ds extname(oeps02)
d pswkl3 5 dim(1500) overlay(wkl3)

Greg


-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Jon Paris
Sent: Friday, June 3, 2022 1:20 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Parameter length and RPG pgms

Adding an extra parm won't cause a problem in and of itself - but this is a scenario similar to driving in the wrong direction on the interstate - it is not a question of IF you will have an accident but WHEN!

For example - should OE049 be called by a program that defines the structure as 156 long then any logic changes to OE049 that resulted in an update to any of the fields wstxc1 to wotxt3 then storage in the caller would be corrupted. What storage? Could be anything and it might not be obvious for months. The "record" in my experience was a situation like this that was corrupting the data in a history log file for over 8 months before the problem was discovered.

Another problem would be if someone decided to change the logic of OE049 to (say) CLEAR the DS which would have the same effect of corruping storage in the caller.

You can fix the problem now or later after the damage occurs - your choice <grin> - I would strongly suggest using a /COPY for the DS definition to ensure the same definition is always used.


Jon Paris


On Jun 3, 2022, at 12:13 PM, Greg Wilburn <gwilburn@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

While looking to modify our ERP software, I encountered a situation where parameter definitions vary between programs.
To explain...

OE049 is called from quite a few different programs. The CALL is as follows:
c call 'OE049'
c parm psc000
c parm psc001
c parm psc002
c parm totals

All parameters are data structures.
My question is around the last parameter TOTALS.

In OE049 it is defined as length 204
d totals ds
d wontt$ 01 13 2
d wofrt$ 14 26 2
d wotxt$ 27 39 4
d wottt$ 40 52 2
d wonts$ 53 65 2
d wofrs$ 66 78 2
d wotxs$ 79 91 4
d wotts$ 92 104 2
d wontb$ 105 117 2
d wofrb$ 118 130 2
d wotxb$ 131 143 4
d wottb$ 144 156 2
d wstxc1 157 159
d wstxc2 160 162
d wstxc3 163 165
d wotxt1 166 178 4
d wotxt2 179 191 4
d wotxt3 192 204 4

In some of the calling programs it varies from 156 to 165 to 204

How can this be? Could this cause problems?

I ask because I'm about to add a 5th (optional) parameter to the call to OE049.

Greg
[Logo]<https://www.totalbizfulfillment.com/> Greg Wilburn
Director of IT
301.895.3792 ext. 1231
301.895.3895 direct
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx<mailto:gwilburn@xxxxxxxxxxxxxxxxxxxxxxx>
1 Corporate Dr
Grantsville, MD 21536
www.totalbizfulfillment.com<http://www.totalbizfulfillment.com>
--
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@xxxxxxxxxxxxxxxxxxxx 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.