1) Chain to the File B will definitively override the values from fields coming from File B, so you need to Rename the fields and use MOVE operation.
2) To Update only few fields from a table, rather UPDATE use EXCEPT and define the fields that you want on the O-Spec:
C ...
C EXCEPT U_FILEB
C ...
OFILEB E U_FILEB
O FIELD1
3) Comment aside, the RPG version that you are using is too old, learn RPG /Free or if you have a very old compiler, then try RPG with Extended Operation codes.
~jmerinoh
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Gary Choi
Sent: Friday, November 25, 2011 10:41 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: RPG400 same fields name of Input and Output files Update & Write question
Hi,
I have a simply RPG with one Input file A, one output file B and they have same fields names KEY, FIELD1, FIELD2
Here is the code:
*LOVAL SETLL A
1 DOWEQ 1
READ A 99
99 LEAVE
WRITE B
ENDDO
Without any MOVE (no rename of file B FIELD1 & FIELD2) it can write to file B
However, for update operation
*LOVAL SETLL A
1 DOWEQ 1
READ A 99
99 LEAVE
(MOVE FIELD1#TMP)
KEY CHAIN B 98
(MOVE #TMP FIELD1)
N98 UPDATE B
ENDDO
Without any MOVE in (...), can reading every records in file A update FIELD1 & FIELD2 in file B of the matching key of file B?
Further, if I add MOVE FIELD1 #TMP before CHAIN, and N98 MOVE #TMP FIELD1 after CHIAN, can it only update FIELD1 in file B with value of FIELD1 in file A? and FIELD2 is unchanged in file B?
Thanks
CHOI
--
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.