Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Forum Index
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
File write status 44

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

New User

Joined: 20 Dec 2006
Posts: 55
Location: noida

PostPosted: Wed Jul 10, 2013 10:20 am    Post subject: File write status 44
Reply with quote


I have an existing variable block sequential file which has a record length of 300 bytes.
Earlier only 200 bytes of data was being written to the file. Now I am updating this file and i am adding additional 100 bytes i.e. now i am using the complete 300 bytes.

When I am issuing the rewrite statement, it gives 44.

FD -
file-rec pic x(300).

Any idea what needs to be done to resolve this issue?

Back to top
View user's profile Send private message

Bill Woodger

DFSORT Moderator

Joined: 09 Mar 2011
Posts: 7312

PostPosted: Wed Jul 10, 2013 11:31 am    Post subject: Reply to: FIle write status 44
Reply with quote

If you look at one of the "stickies" in the COBOL forum you'll find an explanation of the file-status codes. A 44 is:

A boundary violation exists because an attempt was made to rewrite a record to a file and the record was not the same size as the record being replaced, or an attempt was made to write or rewrite a record that was larger than the largest or smaller than the smallest record allowed by the RECORD IS VARYING clause of the associated file-name.

Note, all that an LRECL of 300 says for a dataset is that the maximum length a record can be is 300 bytes (296 bytes of data and four bytes of "control information", the RDW).

You read your existing 200 byte-record (which actually has 204 bytes) and then you try to REWRITE it as 300 bytes (actually 304). Before the 304 can cause you a problem (if it were going to, there is room for mis-description in what you have said) the system carefully notes that you are trying to REWRITE a different length from the record that you READ.

To many, including me, it is a bad idea to update sequential datasets. Much better to just read, and then output a new dataset. Simplifies the JCL, simplifies the COBOL program, and you never get this situation, where you find only at this point that you didn't know enough about how it operates to realise that your file nedded "conversion" to the new-sized records.
Back to top
View user's profile Send private message
dick scherrer

Site Director

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

PostPosted: Wed Jul 10, 2013 7:40 pm    Post subject:
Reply with quote


Not only is updating a sequential file problematic, it is banned in every organization i've supported.

It is one of those "things" you can do, but should not do . . .
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 How to place name of the file where t... danielgp89 SYNCSORT 18 Thu Oct 17, 2019 12:55 am
No new posts Need help in parsing record in VBA file guptae DFSORT/ICETOOL 4 Fri Oct 11, 2019 2:31 pm
No new posts What 'EF' in the CAFC command REGION,... vrkratheesh CICS 2 Wed Sep 18, 2019 4:52 pm
No new posts Can we pass the value of Symbolic par... Poha Eater JCL & VSAM 5 Thu Sep 05, 2019 2:21 pm
No new posts Search the strings present in ps file... Bhuvana Narasimhan All Other Mainframe Topics 8 Thu Aug 22, 2019 8:20 pm

Back to Top
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us