It sounds like the call to CreateFlexOrderHeader is passing in a field from the Foordhd record as the first parameter. Since your clear is of global fields, and one of those global fields was passed by reference into your procedure, that procedure parameter is now changed. You can get around it by changing the 1st parameter from Const to Value, or by moving the Const value into its own local field prior to issuing the Clear.
-Kurt
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Robert Rogerson
Sent: Monday, December 19, 2011 12:06 PM
To: RPG programming on the IBM i / System i
Subject: Clear record format clearing parameter as well...
Hi all,
I have a subprocedure to create an order header record.
P CreateFlexOrderHeader...
P b
d CreateFlexOrderHeader...
d pi n
d p_FONumber like(ord#) const
d p_BatchIdRec likeds(batchIdRecTemplate)
const
* Local variables
/free
Clear foordhd;
.
.
.
/end-free
P CreateFlexOrderHeader...
P e
When I put the program in debug a break just before the CLEAR FOORDHD
statement the p_FONumber parameter (a new order number) and p_BatchIdRec
(a record used to build a new order record) both have (correct) values.
When I issue the Clear foordhd statement (foordhd is the record format in
the file which I am building a new record for) the value for po_FONumber
is being set to 0 while p_BatchIdRec remains unchanged.
Can someone tell me why p_FONumber being changed?
Thanks,
Robert Rogerson
--
This is the RPG programming on the IBM i / System i (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.