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

Finding a String in a file..


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
srikanthkailasam

New User


Joined: 13 Nov 2006
Posts: 24
Location: Bengalooru

PostPosted: Tue Mar 17, 2009 4:42 am
Reply with quote

I have a flat file of LRECL 8000. I have to search for the string 'ABC='. If present, then I have to extract into a new variable starting from 'ABC=' till the first occurence of '/'. I am not worried about the rest of the data.
Please note that the position of 'ABC=' is not fixed and will vary from one record to another. I can use INSPECT to check for the existence of 'ABC=' but how can I put it into a new variable.

Please suggest a solution for this.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Tue Mar 17, 2009 5:57 am
Reply with quote

Hello,

Once you find the 'ABC=' move the characters one at a time to the "output" area (using reference modification on both the input and the output) until you hit the '/'.
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Tue Mar 17, 2009 1:57 pm
Reply with quote

Hi,

What code you have been using for this, please show us that - we might start from there . . .
Back to top
View user's profile Send private message
srikanthkailasam

New User


Joined: 13 Nov 2006
Posts: 24
Location: Bengalooru

PostPosted: Tue Mar 17, 2009 8:18 pm
Reply with quote

Thanks Dick and Anuj for your replies.

Anuj,
I was thinking in the same line as Dick... I will start reading my input file as a group of 4 bytes and when I hit 'ABC=', then start procedding byte by bte until I hit '/'..
Back to top
View user's profile Send private message
srikanthkailasam

New User


Joined: 13 Nov 2006
Posts: 24
Location: Bengalooru

PostPosted: Wed Mar 18, 2009 12:27 am
Reply with quote

Code:
MOVE WS-TEXT (A:4) TO HOLD-VAR             
IF HOLD-VAR = 'ABC='                       
   PERFORM UNTIL WS-TEXT(A:1) = '/'         
      MOVE WS-TEXT (A:1) TO FINAL-VAR(B:1) 
      ADD +1 TO B A                         
   END-PERFORM                             
   SET RECORD-DONE TO TRUE                 
ELSE                                       
   ADD +1 TO A                             
END-IF.                                     



The above code is working. Thanks Dick and Anuj for your time.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Mar 18, 2009 1:10 am
Reply with quote

You're welcome - thank you for letting us know it is working icon_smile.gif

d
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 -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 2
No new posts Finding and researching jobs All Other Mainframe Topics 0
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
Search our Forums:

Back to Top