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

Cobol File Formatting issue


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
moumi das
Warnings : 1

New User


Joined: 21 Dec 2009
Posts: 10
Location: Kolkata

PostPosted: Tue Jun 11, 2013 5:56 pm
Reply with quote

My requirement is i have a input file of this format :

a=10,ab=12,ac=100
ab=12,ac=1000,ad=112

Now my output file should be of the format
a|ab|ac|ad

10|12|0100|000
00|12|1000|112

Can anyone help in accomplishing this task with a cobol program?

Thanks,
Moumi
Back to top
View user's profile Send private message
Pandora-Box

Global Moderator


Joined: 07 Sep 2006
Posts: 1592
Location: Andromeda Galaxy

PostPosted: Tue Jun 11, 2013 6:15 pm
Reply with quote

Could you pleaase explain better?

Could you copy paste some sample data from input and let us know the expected output?

Also please use Code tags

Quote:
Now my output file should be of the format
a|ab|ac|ad

10|12|0100|000
00|12|1000|112


Also how did you arrive at this solution above we need to know the logic/formula behind it
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Jun 11, 2013 6:23 pm
Reply with quote

are we to assume that there will only be the variables:
A, AB, AC and AD?
and there will only be 3 of the 4 variables in each record?

If so,
UNSTRING each record delimited by ',' (a comma) INTO 3 primary fields.
then unstring each field delimited by '=' (an equals sign) INTO 2 secondary fields.

secondary field 1 would contain the A,AB,AC or AD.
interrogation of each secondary field 1 (there will be 3) would tell which relative numeric field in the output the corresponding secondary field 2 would be placed.
then, STRING
ouput field 1, delimited by size,
'|',
ouput field 2, delimited by size,
'|',
ouput field 3, delimited by size,
'|',
ouput field 4, delimited by size,
INTO output record.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Tue Jun 11, 2013 6:37 pm
Reply with quote

Your post is severely lacking in required information for a valid response.

Are the fields always going to be in A=, AB=, AC=, AD= order in the record (if present), or can they appear randomly?
Are the input values always going to be 2, 2, 4, 3 bytes or can they be different lengths? If different lengths, what are the minimum and maximum values?
Do you want the output values to be 2, 2, 4, 3 bytes? What is supposed to happen if any input value exceeds the output length?
Can any values be negative? If so, how are they to be handled (leading sign, trailing sign, ignore sign, sign overlay on the first byte, sign overlay on the last byte are some of the choices)

Finally, asking for code is considered impolite on this forum. What have you coded so far, and what is not working for you? The more you help yourself, the more willing we are to help you.
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 FTP VB File from Mainframe retaining ... JCL & VSAM 4
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
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
Search our Forums:

Back to Top