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

Invalid line of X'00' in the output file


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Swetalina

New User


Joined: 11 Nov 2008
Posts: 30
Location: Bangalore

PostPosted: Tue May 29, 2012 1:32 pm
Reply with quote

Hi,
In my output file, there is one extra line is coming after every 100 records as X'00'. No records are missing from the output but this line is extra. My input file is a VB, LRECL=328,BLKSIZE=32800 and the output file is 320 length with FB format with BLKSIZE=32000.

We are converting from 328 to 320 because 324 is complete data where first 4 bytes are designed to keep the length and the next 320 bytes is the actual data.

In the code if I try to bypass the line of X'00' before writing to output file, it is not working.

Can you please help me to know what may be the cause for this issue. Let me know if any clarification needed.

Thanks.
Back to top
View user's profile Send private message
Swetalina

New User


Joined: 11 Nov 2008
Posts: 30
Location: Bangalore

PostPosted: Tue May 29, 2012 1:38 pm
Reply with quote

And as I change the BLKSIZE, the position of the extra line also changes. Like LRECL=320 and if BLKSIZE=32000(100 multiple), the extra line comes after every 100 records. If BLKSIZE is 31680(multiple of 99), the extra line comes after every 99 record and so on.
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Tue May 29, 2012 5:21 pm
Reply with quote

Which language? This is a mixed language forum for both PL/1 and assembler.
Back to top
View user's profile Send private message
Swetalina

New User


Joined: 11 Nov 2008
Posts: 30
Location: Bangalore

PostPosted: Tue May 29, 2012 5:54 pm
Reply with quote

Nic Clouston wrote:
Which language? This is a mixed language forum for both PL/1 and assembler.


Sorry, this is assembler.
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 May 29, 2012 7:57 pm
Reply with quote

Hello,

Is the x'00' record the first record in a block or the last record in a block or is it somewhere else?

How is the data being written?
Back to top
View user's profile Send private message
Swetalina

New User


Joined: 11 Nov 2008
Posts: 30
Location: Bangalore

PostPosted: Tue May 29, 2012 10:40 pm
Reply with quote

Hi Dick,
It seems the X'00' line is the end of the block as I said earlier that when the BLKSIZE=32000 and LRECL=320, it comes in every 100th record. As we change the BLKSIZE (multiple of 320), the line position varies accordingly.
Back to top
View user's profile Send private message
Swetalina

New User


Joined: 11 Nov 2008
Posts: 30
Location: Bangalore

PostPosted: Tue May 29, 2012 11:48 pm
Reply with quote

Hi Dick,
As of the existing code, the output is a VB file too. And the output is written in blocks with first 4 bytes as the blocksize(RDW). So, since the requirement is to make it as a FB file, I am bumping the first 4 bytes.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


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

PostPosted: Tue May 29, 2012 11:57 pm
Reply with quote

Quote:
as the blocksize(RDW).
36_11_6.gif 36_11_6.gif 12.gif 36_11_6.gif
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 May 30, 2012 12:06 am
Reply with quote

Hello,

Your code should write logical records (not physical blocks). There would be no reason to be concerned about the RDW in the code.

Possibly there is something i misunderstand?
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed May 30, 2012 3:20 am
Reply with quote

Swetalina wrote:
Hi,
In my output file, there is one extra line is coming after every 100 records as X'00'. No records are missing from the output but this line is extra. My input file is a VB, LRECL=328,BLKSIZE=32800 and the output file is 320 length with FB format with BLKSIZE=32000.

We are converting from 328 to 320 because 324 is complete data where first 4 bytes are designed to keep the length and the next 320 bytes is the actual data.

In the code if I try to bypass the line of X'00' before writing to output file, it is not working.

Can you please help me to know what may be the cause for this issue. Let me know if any clarification needed.

Thanks.


What do you mean by "line"?

You have an input VB with lrecl 328. The records you are interested in are 320 bytes of data, so would be 324 bytes on your input. Presumably you have other records which are a bit longer? Are you exluding those, or accidently choping them about a bit?

Do you have any records which are shorter?

Why did you attempt to "get rid" of the "line" by just ignoring it?

What else are you doing to the records in your program? Something which requires Assembler, or you just wanted to write a program (with an error in it) rather than doing what you want with, for instance, your Sort product?

You've not shown a single line of code. What do you expect from us? Magic? Assurances that your code must be fine and something must be wrong with the "operating system"?

So, JCL, the OPEN, the code related to writing the record and answers to all questions posed to you by everyone, please.
Back to top
View user's profile Send private message
Swetalina

New User


Joined: 11 Nov 2008
Posts: 30
Location: Bangalore

PostPosted: Wed May 30, 2012 12:47 pm
Reply with quote

dick scherrer wrote:
Hello,

Your code should write logical records (not physical blocks). There would be no reason to be concerned about the RDW in the code.

Possibly there is something i misunderstand?

Hi Dick,
Yes, there is no reason to be concerned about the RDW in the code, but here in this file it is designed to have the 4bytes data in the beginning of the file. Please see the attachment a snap shot of input file, which is not needed in the output file. So, in the o/p file also there were 4 bytes coming in the beginning which I overlapped.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Wed May 30, 2012 12:50 pm
Reply with quote

DO NOT POST ATTACHMENTS,
not everybody can look at them

EVEN WORSE JPEGS
it' s a useless waste of disk space

a plain TEXT cut and paste and the code tags are more than enough!

the attachment has been deleted
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 May 30, 2012 9:50 pm
Reply with quote

Hello,

Please use copy/paste and show a couple of examples of the input data records and what the output from that input should be.

Attachments do not work well with our forum as they are blocked at many sites for security reasons. They also are harder to read in a post than data posted using the Code tag.

There is a Preview function so you can see your post as it will appear to the forum (rather than how it appears in the Reply Editor). When the post appears as you wish, Submit.
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 -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 2
No new posts TRIM everything from input, output co... DFSORT/ICETOOL 1
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