IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to update a particular record


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Prabha
Warnings : 2

New User


Joined: 05 Dec 2005
Posts: 79

PostPosted: Wed Dec 07, 2005 4:03 pm
Reply with quote

Hi,

I have an input file with some set of records like,

A/C no CUSTNAME ADDRESS1 ADDRESS2
--------- ------------- ------------- -------------
12937487 GUPTA AAAAAAAA BBBBBBBB
83737366 JOHN CCCCCCC DDDDDDD
23345556 JUDE EEEEEEEEE GGGGGGG

Here i want to update the third record JUDE. Kindly Provide me with example of code for this.
Back to top
View user's profile Send private message
Prabha
Warnings : 2

New User


Joined: 05 Dec 2005
Posts: 79

PostPosted: Thu Dec 08, 2005 11:00 am
Reply with quote

I hav one more clarification. In yr code

"EXECIO 1 DISKRU IN 3"

You have given updated line number as 3. Suppose 10000 records, in that case I dont know abt the line number of that record to be updated. How to specify the line number in such situation.
Back to top
View user's profile Send private message
Ravi gaur

New User


Joined: 12 Jul 2005
Posts: 38

PostPosted: Thu Dec 08, 2005 5:15 pm
Reply with quote

use this code :- but remember i m parsing input data using position Please change the position(1,9,10 etc etc) if you get any problem please let me know the position for the input data.
Code:

 /* REXX  */                                               
 "ALLOC DA('SF0619.TEST3') FILE(INP) SHR"                 
 "ALLOC DA('SF0619.TEST5') FILE(OUT) SHR"                 
 "EXECIO * DISKR INP (STEM INP. FINIS"                     
 J=0                                                       
 DO I=1 TO INP.0                                           
 PARSE VAR INP.I 1 VAR1 9 10 VAR2  18 19 VAR3 35 .         
 J=J+1                                                     
     IF LEFT(VAR2,4)='JUDE' THEN                           
        DO                                                 
          VAR2=RAVI                                       
          VAR.J=' 'VAR1||' 'VAR2||' 'VAR3                 
        END                                               
     ELSE                                                 
          VAR.J=' 'VAR1||' 'VAR2||' 'VAR3                 
 END                                                       
 "EXECIO * DISKW OUT (STEM VAR."                           
 "FREE F(INP OUT)"                                         
DROP VAR.
Back to top
View user's profile Send private message
Prabha
Warnings : 2

New User


Joined: 05 Dec 2005
Posts: 79

PostPosted: Fri Dec 09, 2005 11:32 am
Reply with quote

Your code is doing updated fields in another output file. But i need to update in same file itself.

Thanks a lot for yr code.
Back to top
View user's profile Send private message
MichaelKBS

New User


Joined: 10 Jan 2006
Posts: 24
Location: Germany

PostPosted: Tue Jan 10, 2006 6:27 pm
Reply with quote

Try the following method:


do forever

"execio" 1 "diskru filename"

/* ask for End-Of-File */
if rc = 2 then do
leave
end

parse pull record
field1 = subword(record,1,1)
if field1 = 'AAAAAAA' then do
field1 = 'BBBBBBB'
record = field1!!subword(record,2)
queue record
"execio 1 diskw filename"
end

end


Regards,

Michael
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts Validating record count of a file is ... DFSORT/ICETOOL 13
Search our Forums:

Back to Top