Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Insert a record in a variable at particular position

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming
View previous topic :: :: View next topic  
Author Message
beruoist

New User


Joined: 14 Nov 2007
Posts: 70
Location: mumbai

PostPosted: Tue Mar 23, 2010 1:19 pm    Post subject: Insert a record in a variable at particular position
Reply with quote

Hi Guys,

I need to scan a variable ( Pic X 20000) for a keyword '{108' and then insert 'HI' in the 7th position from '{108'.Also its not necessar that #VAR (pic X 20000) will have all 20000 chars occupied.

Now here is the code which i had applied for this.

Code:
MOVE 'N' TO WS-108-FOUND                     
PERFORM VARYING WS-108-POS FROM 1 BY 1       
                     UNTIL WS-108-POS > 19980 OR           
                              WS-108-FOUND-YES               
IF #VAR(WS-108-POS : 4) = '{108'           
MOVE 'Y' TO WS-108-FOUND                               
MOVE #VAR(WS-108-POS + 11 :19980 )   
TO #VAR(WS-108-POS + 13 :19980 )   
MOVE 'HI' TO #VAR(WS-108-POS + 11 :2)
end-if
end-perform


Now the issue is,Until population of U2,its coming fine but whatever variable is appearing after that is reapeating till the end instead of the orignal data.

For example

INPUT IS
{ASBDASDSDKJAKSDJKASJDKASD{108:12345}ABCDEFGHIJKLMNOPQRST}

OUTPUT
{ASBDASDSDKJAKSDJKASJDKASD{108:12345HI}}}}}}}}}}}}}}}}}}


Thanks in advane guys.
Back to top
View user's profile Send private message

GuyC

Senior Member


Joined: 11 Aug 2009
Posts: 1281
Location: Belgium

PostPosted: Tue Mar 23, 2010 4:11 pm    Post subject:
Reply with quote

old school assembler initialisation icon_wink.gif
I guess you have to work with a temp field.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2150
Location: At my coffee table

PostPosted: Wed Mar 24, 2010 12:18 am    Post subject:
Reply with quote

As GuyC stated (sort of), an overlapping move is a basic assembler initialization technique.
the COBOL MOVE is an assembler MVC which is processed from left to right.
I am suprised that with the two byte displacement you are not getting something like:
Code:
{ASBDASDSDKJAKSDJKASJDKASD{108:12345HI}A}A}A}A}A}A}A}A}A}A...
Back to top
View user's profile Send private message
UmeySan

Active Member


Joined: 22 Aug 2006
Posts: 757
Location: Germany

PostPosted: Wed Mar 24, 2010 2:30 pm    Post subject:
Reply with quote

Morning Sir !

I'm just thinking about using Unstring/String command with the Pointer option ...
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Read two inputs and write into output... murali.andaluri DFSORT/ICETOOL 6 Wed Jul 26, 2017 7:35 pm
No new posts Need to write record of PS File in ex... Chandan1993 JCL & VSAM 1 Wed Jun 07, 2017 1:35 am
No new posts Can I traverse a STEM variable? chong.zhou CLIST & REXX 5 Wed May 31, 2017 3:54 pm
No new posts Converting Variable block file to Fix... bhavana yalavarthi DFSORT/ICETOOL 10 Tue May 16, 2017 2:20 pm
No new posts Adding big TEXT lines to each record ... bshkris SYNCSORT 4 Sat May 06, 2017 1:40 am


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us