DMSOPDBK - Open Data Block

Read syntax diagramSkip visual syntax diagram DMSOPDBK1 , retcode , reascode , fn_ftnamedef1 dirnamefilemode*2bfsidnamedef2 1fm_number , length1 , NEWREADREPLACE CACHENOCACHE FV NEWDATEREFOLDDATEREF RECOVERNORECOVERNOTINPLACENORECOVERINPLACE ALLOWEMPTY SHORTDATEFULLDATEISODATE , length2 , token ,blksize,lreclGroup 1
Group 1
Read syntax diagramSkip visual syntax diagram , numrecs ,recformGroup 2
Group 2
Read syntax diagramSkip visual syntax diagram , fm_no ,workunitidGroup 3
Notes:
  • 1 The comma is omitted after the routine name when the routine is called directly.
  • 2 * may be specified for filemode only when the open intent is READ.
Group 3
Read syntax diagramSkip visual syntax diagram , wuerror , length3 ,userdata,length4Group 4
Group 4
Read syntax diagramSkip visual syntax diagram , create_date ,create_time,requestid

Context

File System Management: SFS, BFS, and minidisk

Call Format

The format for invoking a CSL routine is language dependent. DMSOPDBK can be called directly by its name or indirectly through DMSCSL. The routine name is the first parameter in DMSCSL’s parameter list:

DMSOPDBK
(input, CHAR, 8) can be passed as a literal or in a variable.

For more information and examples of the call formats, see Calling VMLIB CSL Routines.

Purpose

Use the DMSOPDBK routine to prepare a file for data block I/O operations. This allows applications to read and write data blocks instead of records as with DMSOPEN. For more information about the data block I/O interface, see the section on Data Block I/O in the z/VM: CMS Application Development Guide.

Parameters

retcode
(output, INT, 4) is a variable for the return code from DMSOPDBK.
reascode
(output, INT, 4) is a variable for the reason code from DMSOPDBK.
fn_ft
(input, CHAR, 3-17) is a variable for specifying the file name and file type of the file being opened. For a BFS file, these are system-generated values.
namedef1
(input, CHAR, 1-16) is a variable for specifying a temporary name previously created for a fn_ft.
dirname
(input, CHAR, 1-153) is a variable for specifying the name of the SFS directory that contains the file being opened.
filemode
(input, CHAR, 1) is a variable for specifying the file mode of an accessed minidisk or SFS directory. If this file mode letter is also a one-character temporary name, it is treated as a temporary name (namedef2) rather than a file mode.

An asterisk (*) may be used to specify searching of all accessed minidisks and SFS directories, but only when the intent is READ. If an asterisk is specified, the file modes are searched in their normal A-Z search order. If a file mode letter has an accessed file mode extension, this is also searched.

When the open intent is READ, if the first file matching fn_ft or namedef1 is not a minidisk file or an SFS base or alias file, the file is skipped and searching continues.

bfsid
(input, CHAR, 1-18) is a variable for specifying the name of the byte file system containing the file to be opened.
namedef2
(input, CHAR, 1-16) is a variable for specifying a temporary name previously created for a dirname, filemode, or bfsid.
fm_number
(input, CHAR, 1) is a variable for specifying the file mode number assigned when a file is opened with an intent of NEW or REPLACE. The default is 1 when a new file is created. If this parameter is omitted for a REPLACE of an existing file, the previous file mode number of the file is used. This parameter is ignored when an existing file is opened with an intent of READ.

If a file mode number is specified for REPLACE, and it is different from the existing file mode number, then the file mode number of the base file and all aliases of that base file are changed to the specified value.

For a BFS file, the only file mode number allowed is 1.

length1
(input, INT, 4) is a variable for specifying the length of the preceding compound character parameter (fn_ft or namedef1; plus dirname, filemode, bfsid, or namedef2; plus fm_number, if specified). See Compound Variables for coding details.
NEW
(input, CHAR, 3) means to open a new file (one that does not already exist). The file is created and can now be written to.

This intent is not allowed for a BFS file.

READ
(input, CHAR, 4) means that the file can only be read (it must already exist).
REPLACE
(input, CHAR, 7) means that if the file exists, it will be replaced with only the added records. For an SFS file, if the file does not exist, a new file is created. This intent is not allowed for a BFS file if the file does not already exist.
CACHE
(input, CHAR, 5) means the caller intends to read the data primarily sequentially. Specifying this parameter causes the file system to cache several data blocks for the file, performing I/O only when the cache buffer is empty. This generally reduces the number of separate I/O operations performed on the file.
NOCACHE
(input, CHAR, 7) means the caller intends to read the data primarily randomly (not sequentially).
F
(input, CHAR, 1) means fixed (F) length records are being used. This is the default. The format attribute (F or V) is used only when the open intent is NEW or REPLACE.
V
(input, CHAR, 1) means variable (V) length records are being used. The format attribute (F or V) is used only when the open intent is NEW or REPLACE. If the format is not specified, the default is F. The V attribute is not allowed for a BFS file.
NEWDATEREF
(input, CHAR, 10) specifies that SFS should update the date of last reference for the file for any open intent. The date of last reference is the date the file was last read or modified. NEWDATEREF is the default. This parameter is not applicable for a minidisk file.
OLDDATEREF
(input, CHAR, 10) specifies that SFS should not update the date of last reference when the file is opened with an intent of READ. The date of last reference is the date the file was last read or modified. OLDDATEREF is ignored when the file is opened with intents other than READ, because they allow the file to be changed. This parameter is not applicable for a minidisk file.
RECOVER
(input, CHAR, 7) specifies that the file is to be recoverable. When a file is recoverable, uncommitted changes are backed out as the result of an application-initiated rollback or system failure.

The recoverability attribute (RECOVER or NORECOVER) is assigned to the file only when the open intent is NEW or REPLACE. If the recoverability attribute is not specified for one of these intents, a value is assigned. See usage notes 21 and 24. If an overwrite attribute of INPLACE is specified or assigned, the default recoverability attribute is NORECOVER.

When an alias is opened for REPLACE, the recoverability of the base file and all aliases on the base are set to RECOVER.

This parameter is not applicable for a minidisk file. All minidisk files are nonrecoverable, and you are warned if RECOVER is specified.

NORECOVER
(input, CHAR, 9) specifies that changes to the file are not rolled back in the event of an application-initiated rollback. In most cases, the updates are committed.

The recoverability attribute (RECOVER or NORECOVER) is assigned to the file only when the open intent is NEW or REPLACE. If the recoverability attribute is not specified for one of these intents, a value is assigned. See usage notes 21 and 24. If an overwrite attribute of INPLACE is specified or assigned, the default recoverability attribute is NORECOVER.

When an alias is opened for REPLACE, the recoverability of the base file and all aliases on the base are set to NORECOVER.

This parameter is not applicable for a minidisk file. All minidisk files are nonrecoverable, and you are warned if NORECOVER is specified.

This attribute is not allowed for a BFS file.

NOTINPLACE
(input, CHAR, 10) specifies that readers see a consistent version of the file from Open to Close.

The overwrite attribute (NOTINPLACE or INPLACE) is assigned to the file only when the open intent is NEW or REPLACE. If an overwrite attribute is not specified for one of these intents, a value is assigned. See usage notes 21 and 24.

If the specified file is an alias on an Open for REPLACE, then the overwrite attribute of the base and all aliases on the base, including the one specified, will be set to NOTINPLACE.

This parameter is not applicable for a minidisk file. All minidisk file mode numbers from 0-5 are treated as NOTINPLACE. A warning will result if NOTINPLACE is specified for a minidisk file and the file mode number is 6.

INPLACE
(input, CHAR, 7) specifies that updates are to be made in place where possible. This can reduce DASD utilization and enables readers to see file updates by a concurrent writer without closing and reopening the file. Users that have an INPLACE file open for read have to reopen the file to see extensions (new records or blocks) that have been written and committed to the file.

The overwrite attribute (NOTINPLACE or INPLACE) is assigned to the file only when the open intent is NEW or REPLACE. If an overwrite attribute is not specified for one of these intents, a value is assigned. See usage notes 21 and 24.

If the specified file is an alias on an Open for REPLACE, then the overwrite attribute of the base and all aliases on the base, including the one specified, will be set to INPLACE.

This parameter is not applicable for a minidisk file. All minidisk files with a file mode number of 6 are treated as INPLACE. A warning will result if INPLACE is specified for a minidisk file and the file mode number is not 6.

This attribute is not allowed for a BFS file.

ALLOWEMPTY
(input, CHAR, 10) indicates that a file with no records may be created as a result of this DMSOPDBK request. This may allow either a new empty file to be created or an existing file to be replaced with an empty file, if there are no records in the file at the time a DMSCLDBK or COMMIT is issued.

This parameter is not applicable for a minidisk file. Empty files are not allowed on minidisks. A warning will result if ALLOWEMPTY is specified for a minidisk file.

SHORTDATE
(input, CHAR, 9) indicates the format of the create_date parameter is yy/mm/dd, where yy is the 2-digit year, mm is the month, and dd is the day of the month. SHORTDATE is the default.
FULLDATE
(input, CHAR, 8) indicates the format of the create_date parameter is yyyy/mm/dd, where yyyy is the 4-digit year, mm is the month, and dd is the day of the month.
ISODATE
(input, CHAR, 7) indicates the format of the create_date parameter is yyyy-mm-dd, where yyyy is the 4-digit year, mm is the month, and dd is the day of the month.
length2
(input, INT, 4) is a variable for specifying the length of the preceding compound character parameter (NEW, READ, or REPLACE; plus CACHE or NOCACHE, if specified; plus F or V, if specified; plus NEWDATEREF or OLDDATEREF, if specified; plus RECOVER or NORECOVER, if specified; plus NOTINPLACE or INPLACE, if specified; plus ALLOWEMPTY, if specified; plus SHORTDATE, FULLDATE, or ISODATE, if specified). See Compound Variables for coding details.
token
(output, CHAR, 8) is a variable for returning a value that uniquely identifies the file being opened. You specify the token on subsequent Read Data Block (DMSRDDBK), Write Data Block (DMSWRDBK), and Close Data Block (DMSCLDBK) routines related to this Open.
blksize
(output, INT, 4) is a variable containing the block size of the file.
lrecl
(input/output, INT, 4) is a variable containing the logical record length of the file.

When the intent is READ, this parameter is not required. If it is specified, it returns the actual record length of the file.

When the intent is NEW or REPLACE, this parameter is unchanged.

numrecs
(input/output, INT, 4) is a variable containing the number of records in the existing file.

When the intent is READ, this parameter is not required. If it is specified, it returns the actual number of records in the file.

When the intent is NEW or REPLACE, this parameter is unchanged.

A value of 0 is returned if the file is empty.

recform
(output, CHAR, 1) is a variable in which a value is returned that indicates the record format of the file:
F
indicates all records have the same length
V
indicates the records may have varying lengths
fm_no
(output, CHAR, 1) is a variable containing the file mode number of the file.
workunitid
(input, INT, 4) is a variable for specifying the work unit to be used for this operation. If you want to specify an optional parameter following workunitid without using the workunitid parameter, specify a value of 0 for the workunitid parameter.
wuerror
(output, CHAR, length3) is a variable used to specify an area for returning extended error information. If it is specified, it must be followed by a length field. See wuerror under Common Parameters for more information.
length3
(input, INT, 4) is a variable for specifying the length of the preceding character parameter (wuerror). Specifying 0 has the effect of omitting the wuerror parameter. To use the wuerror parameter, specify a length of 12 plus 136 bytes for each group of extended error information that may be passed back. Specifying a nonzero length less than 12 is incorrect and will result in an error return code.
userdata
(input, CHAR, 1-80) is a variable for specifying a string of up to 80 characters of user data to be passed to an SFS external security manager (ESM). The ESM defines the format and meaning of the data (see the Usage Notes).
length4
(input, INT, 4) is a variable for specifying the length of the preceding character parameter (userdata). The value of length4 must not be greater than 80. Specifying 0 has the effect of omitting the userdata parameter.
create_date
(input, CHAR, 8 or 10) is a variable for specifying the date-of-creation attribute that will be saved with the file. It is a character variable with a length of 8 or 10 in the form yy/mm/dd, yyyy/mm/dd, or yyyy-mm-dd, where yy is the 2-digit year, yyyy is the 4-digit year, mm is the month, and dd is the day of the month.

You must specify either the FULLDATE or the ISODATE parameter to specify 4-digit years. SHORTDATE is the default, which is the 2-digit year format.

This parameter is applicable only if the file is a new SFS file. (That is, the file did not exist prior to the execution of DMSOPDBK.) If it is specified when you open the file with an intent of REPLACE, a warning is issued.

If the file is new, you can have the system determine the creation date by omitting the variable or by specifying 8 blanks for SHORTDATE, or 10 blanks for FULLDATE or ISODATE. If you do not specify the SHORTDATE, FULLDATE, or ISODATE parameter, and you omit the create_date variable, or leave blanks, the system generates the creation date. Note that the system uses Coordinated Universal Time (UTC) when it determines the creation date.

If you specify a date, use a slash (/) as the separator character to separate the year, month, and day, unless you have specified the ISODATE parameter, which requires a dash (–) separator. For example, the SHORTDATE format of 3 May 1996 is specified as:
96/05/03
the FULLDATE format is specified as:
1996/05/03
and the ISODATE format is specified as:
1996-05-03
create_time
(input, CHAR, 8) is a variable for specifying the time-of-creation attribute that will be saved with the file.

This parameter is applicable only if the file is a new SFS file. (That is, the file did not exist prior to the execution of DMSOPDBK.) If it is specified when you open the file with an intent of REPLACE, a warning is issued.

If the file is new (did not exist prior to DMSOPDBK), you can have the system determine the creation time by omitting the parameter or by specifying 8 blanks. Note that the system uses Coordinated Universal Time (UTC) when it determines creation time.

If you specify a time, a colon (:) must be used as the separator character and 2 digits must be specified for each position in the form hh:mm:ss, where hh is the hour, mm is the minutes, and ss is the seconds. For example, you would render 9 minutes and 15 seconds after 3 pm as 15:09:17 in the create_time parameter.

requestid
(input/output, INT, 4) identifies a specific asynchronous request. If it is omitted or contains a binary 0 on input, the request is to be synchronous. If it contains a binary 1 on input, then the request is to be asynchronous, and CMS generates an integer to identify the asynchronous request. This integer is placed in requestid and is passed on a later Check (DMSCHECK) request.

The processing of a given DMSOPDBK request may not require communication with the file pool server. In this case, the operation is performed synchronously regardless of the value specified in requestid and the value of the requestid parameter is not changed.

Usage Notes

  1. If an SFS or BFS file is opened for REPLACE and closed before any blocks are written, the file remains unchanged, unless ALLOWEMPTY is also specified.
  2. If a minidisk file is opened for REPLACE and closed before any blocks are written, the file is erased.
  3. If an SFS or minidisk file is opened for REPLACE and the file does not exist, the open is accepted. If the record format (F or V) is not specified, it defaults to fixed (F).
  4. If an SFS file is opened for REPLACE and the file does not exist, or if a file is opened for NEW, it is not visible to other applications until the file is written to and committed.
  5. There is no default choice for caching. If neither CACHE nor NOCACHE is specified, the system chooses the more appropriate method.
  6. Using COMMIT when your SFS or BFS files are open (using DMSOPDBK) will not result in the updates being written and made available to readers. The updates can only be committed after the file is closed.
  7. DMSOPDBK will allow a CMS file to be opened more than once by an application. The Shared File System offers better sharing and data integrity than minidisks. The following conditions apply:
    • An SFS or BFS file can be opened more than once for READ and at most once for NEW or REPLACE.
    • A minidisk file can be opened more than once for READ or once for NEW or REPLACE. Once the file has been opened for NEW or REPLACE, it must be closed before it can be reopened.
  8. When CMS subset mode is entered, the file system uses the Close Data Block routine (DMSCLDBK) to close any files opened with DMSOPDBK. In variable format files opened for output, closing the file deletes data past the last complete record. After the return from subset mode, the file is not reopened, and the token previously returned by DMSOPDBK is no longer useable.
  9. If the file is fixed record format, all records in the data blocks are of the same length. If the file is variable format, each record in the data blocks is composed of a 2-byte record length, followed by the actual data itself (not including the 2 length bytes). Variable length records should not be modified using the data block interface. If incorrect values are placed in the file, the records in the file can be stored in an unpredictable format. Use the record interface (DMSOPEN, DMSREAD, DMSWRITE, and DMSCLOSE) to modify existing files for both fixed and variable format files.
  10. The types of operations that can be performed on the file are restricted to the open intent of the file. When the intent is READ, the file may not be written to, unless a separate DMSOPDBK or DMSOPEN is used. When the intent is NEW or REPLACE, the file may be only be written to, not read.
  11. You will receive an error when attempting to use the Open Data Block routine with the READ parameter on a file that does not exist.
  12. If you choose the NEW or REPLACE option and a file or directory is locked, the open will fail. An exception is when the issuer has an UPDATE or EXCLUSIVE lock on the file or directory.
  13. If you choose the READ option and a file or directory is locked, the open is allowed. An exception is when another user has an EXCLUSIVE lock on the file or directory. In this case the open is not allowed.
  14. When reading files that reside in directory control directories, remember that:
    • You do not see changes made to a directory during a period that you have it accessed read-only. To see changes, you must reaccess the directory.
    • If you do not have the directory accessed, you must close and reopen the file to see any changes made to the file after you opened it.

    Exception: You can see changes to INPLACE files without reopening the file or reaccessing the directory.

  15. You cannot open a file with the NEW or REPLACE option if:
    • Another user has the file or directory locked
    • The file resides in a directory control directory, and another user has the directory accessed R/W
    • The file resides in a directory control directory, and you have the directory accessed R/O
    • (Applies only to REPLACE option) the file is an alias residing in a file control directory accessed R/W, and its base file resides in a directory control directory that is accessed read-only
    • The file resides on a minidisk and the file mode is accessed as R/O
    • The file resides on a minidisk and is already opened for output using the FSOPEN interface.
  16. If your installation does not use an external security manager (ESM), userdata is not used.

    If your installation does use an ESM, refer to the ESM documentation to determine whether you must specify userdata. The ESM documentation should also define the format and meaning of the data. The ESM might, for example, require you to specify a password for the file you are opening. If the file being opened is on a minidisk, userdata is not used.

  17. If you specify OLDDATEREF or NEWDATEREF and execute the routine against a file pool that does not support dates of last reference, the parameters are ignored.
  18. File pool servers that are not at the current release level may not support the creation date and creation time attributes. Those servers ignore create_date or create_time.
  19. In general, you cannot see another user's uncommitted changes. If a file opened for READ has the INPLACE attribute, this is not true. Because these files are updated-in-place, it is possible that a reader may see a writer's updates without closing the file or committing the data. Because CMS buffers the file's data, the writer's updates must first be written to DASD and the reader's buffers must then be read from DASD before the reader sees these updates. However, the timing of when the buffers get read or written depends on the file size, the caching options specified when the file was opened, and the record access patterns of both the reader and the writer.
  20. Although you generally cannot see another user's uncommitted changes, you can see your own uncommitted changes on the same work unit. If you update and close a file and then reopen it on the same work unit, you will see the updated version. If you do not close the file and open it a second time, or if you open it on another work unit, you only see the last committed version of the file.
  21. If you do not specify recoverability and overwrite attributes for a file that is being created by this DMSOPDBK, then the attributes given to the file will be based on the defaults for files with that file mode number as established by the DMSPUSHA (Push Attributes) routine. If a Push Attributes has not been done, then the recoverability file attribute defaults to RECOVER, and the overwrite attribute defaults to NOTINPLACE.
  22. The INPLACE and NORECOVER attributes are not given to a file until it is closed and committed, so that the file system can recover partially written files in case of an error.
  23. If the overwrite and recoverability specification on DMSOPDBK READ does not match that of the base file, a warning is issued.
  24. If the file mode number, recoverability, and overwrite attributes are specified for a DMSOPDBK REPLACE, the resulting file uses the new attributes as specified. Otherwise, the attributes are inherited from the file being replaced, if one exists. The defaults set by DMSPUSHA (Push Attributes) do not apply when replacing an existing file.
  25. If an existing file is in DFSMS/VM migrated status and is opened with intent of READ, the file is recalled unless RECALL has been set to OFF. Opening for Replace does not trigger a recall.
  26. If a file is in DFSMS/VM migrated status, an asynchronous DMSOPDBK request with an intent of READ causes the file to be recalled. Even if the work unit is rolled back before DMSOPDBK processing finishes, the file is recalled.
  27. When wuerror is specified on DMSOPDBK and an SFS error occurs during the recall process, FPERROR is updated to include the specific reason code of the failing request and the file pool ID of the failing resource.
  28. For an asynchronous request, a return code is given indicating whether the request was accepted for processing or was immediately rejected.
  29. If you have an active asynchronous request for a file pool, you cannot issue any other requests (except a rollback request) for the affected file pool on the specified work unit.
  30. Requests for minidisks are always processed synchronously and requestid is returned unchanged.
  31. BFS files may contain more than 231-1 records (bytes) when created by means other than CMS record interfaces. When opening a BFS file with CMS record interfaces, the open attempt will fail if the file has more than 231-1 records. An attempt to write more than 231-1 records will also fail.
  32. Opening a BFS file using this interface requires file pool administration authority.
  33. Only one of the three date format parameters (SHORTDATE, FULLDATE, or ISODATE) can be specified. SHORTDATE is the default. The date format chosen applies to the create_date parameter.
  34. When create_date is specified with the FULLDATE or ISODATE parameters, the 4-digit year (yyyy) range is restricted to the range 1900-2099 (that is, the century portion of yyyy must be either 19 or 20).
  35. When create_date is specified with the SHORTDATE parameter, the sliding window technique is used to calculate a 4-digit year (yyyy) from the 2-digit year that is input. The 4-digit year will then be associated with the file.

    The calculation assumes the 2-digit year is within the 100 year window as calculated by:

    (current_year - 50) = low end of window
    (current_year + 49) = high end of window
    For example, if a 2-digit year of 05 is supplied, and the current year (current_year) is 1997, the window range is between the years 1947 and 2046. In this case, the calculation changes the 2-digit year of 05 to the 4-digit year 2005.

  36. If you want to perform arithmetic or conversion operations on the time stamps that are input to this routine, you may find the DateTimeSubtract CSL routine helpful. See z/VM: CMS Application Multitasking.

Return Codes and Reason Codes

For lists of the possible return codes from DMSOPDBK, see Return Codes.

The following table lists the special reason codes returned by DMSOPDBK. WARNING means the request was processed, or the desired state already exists. ERROR means the request failed. Warnings cause return code 4, and errors cause return code 8 or 12.

DMSOPDBK can also return the common CSL reason codes, which are codes that can occur with most file system management and related routines. For a list of the common reason codes, see Common Reason Codes.

Severity Reason Code Description
WARNING 10220 File mode value other than 1 specified for a BFS file.
WARNING 44030 Intent was REPLACE, and the file did not previously exist.
WARNING 44035 Intent was REPLACE, and the file did not previously exist. In addition, ALLOWEMPTY was specified but the file pool or minidisk does not support this option.
WARNING 51051 You specified nonblank values for create_date or create_time and opened an existing file with an intent of REPLACE. You cannot change the creation date or creation time of an existing file.
WARNING 65900 A system error occurred in the file pool server access routine.
WARNING 78107 Recoverability attribute does not match that of the base file.

The NORECOVER attribute is not allowed for a BFS file.

WARNING 78108 Overwrite attribute does not match that of the base file.

The INPLACE attribute is not allowed for a BFS file.

WARNING 90330 Parameter not valid.
WARNING 90620 RECOVER option was specified for a minidisk file. All minidisk files are nonrecoverable.
WARNING 90621 INPLACE option was specified for a minidisk file with a file mode number other than 6 or NOTINPLACE was specified for a minidisk file with a file mode number of 6.
WARNING 90622 ALLOWEMPTY option was specified for a minidisk file.
WARNING 98700 Server managing this file does not support certain parameters of DMSOPDBK, and takes these actions when it encounters them:
NORECOVER
RECOVER is assumed.
INPLACE
NOTINPLACE is assumed.
ALLOWEMPTY
The server ignores the parameter.
create_date
The server ignores the parameter.
create_time
The server ignores the parameter.
ERROR 20000 Intent was NEW, but the file already exists.
ERROR 31000 Mixing recoverable and nonrecoverable work for the same file is incorrect within a single work unit.
ERROR 30500 System error. The combination of attributes INPLACE and RECOVER is not supported.
ERROR 44000
  • Intent was NEW, and the directory does not exist or you are not authorized to create a file in the directory, or,
  • Intent was REPLACE, and the file does not exist and you are not authorized to create a file in the directory, or you are not authorized to write to the file, or the directory does not exist, or,
  • Intent was READ, and the file does not exist or you are not authorized to read the file.
ERROR 44200
Your attempt to open a file failed because you already have it open with DMSOPEN, DMSOPBLK, or DMSOPDBK:
  • You tried to open an SFS or minidisk file for NEW or REPLACE and you already have it opened for NEW, WRITE, or REPLACE.
  • Or you tried to open a minidisk file for REPLACE and you already have it opened for READ.
  • Or you tried to open a minidisk file for READ and you already have it opened for NEW, WRITE, or REPLACE.

This reason code is returned for SFS files only if both attempts to open the file occurred on the same work unit.

ERROR 50500 Attempt to exceed the maximum number of 4KB file space blocks allowed for this user. Applicable only when NEW or REPLACE option is specified.
ERROR 63700 Directory control directory specified and another user has it locked or accessed R/W, or you have it accessed R/O.
ERROR 64300 The specified file is an alias whose base file is in a directory control directory that is accessed read-only by the issuer.
ERROR 65200 File is migrated and implicit RECALL is set to OFF. Set RECALL ON or issue a DFSMS RECALL command.
ERROR 65400

Specified operation cannot be performed on an external object.

Request cannot be performed on a BFS object due to one or more of the following:
  • Record format other than F specified for a BFS file.
  • Intent was not READ or REPLACE for a BFS file.
  • BFS file contains more than 231-1 records (bytes).
  • Intent was REPLACE for a BFS file and the file does not exist.
ERROR 65500 Input file is migrated and there is no active SMS. (The file pool server is running with the NODFSMS start-up parameter in effect.)
ERROR 65900 System error. A server error occurred during an attempt to open a file for a purpose other than reading; that is, with NEW or REPLACE.
ERROR 66100 Input file has been moved and DFSMS/VM recall processing has been disabled.
ERROR 71200 The server encountered an error when it attempted to access a file.
ERROR 81058 System error. An addressing exception occurred while accessing data in a data space owned by a file pool server machine.
ERROR 90105 Incorrect record format.
ERROR 90250 The file name and file type (or namedef) are required but were not specified.
ERROR 90300 Incorrect intent parameter. Valid intents are NEW, READ, or REPLACE.
ERROR 90307 lrecl must not be negative.
ERROR 90310 Incorrect option specified. Valid options are CACHE or NOCACHE, F or V, OLDDATEREF or NEWDATEREF, RECOVER or NORECOVER, INPLACE or NOTINPLACE, ALLOWEMPTY, SHORTDATE or FULLDATE or ISODATE.
ERROR 90315 The open intent (NEW, READ, or REPLACE) was not specified.
ERROR 90320 Conflicting options in CSL parameter list. NEW, READ, and REPLACE are mutually exclusive parameters, CACHE and NOCACHE, if specified, are mutually exclusive parameters, F and V, if specified, are mutually exclusive parameters, NEWDATEREF and OLDDATEREF, if specified, are mutually exclusive parameters, RECOVER and NORECOVER, if specified, are mutually exclusive parameters, INPLACE and NOTINPLACE, if specified, are mutually exclusive parameters, and SHORTDATE, FULLDATE, and ISODATE, if specified, are mutually exclusive parameters.
ERROR 90330 Duplicate options in CSL parameter list. One or more of the following parameters were specified more than once: NEW, READ, REPLACE, CACHE, NOCACHE, F, V, NEWDATEREF, OLDDATEREF, RECOVER, NORECOVER, INPLACE, NOINPLACE, ALLOWEMPTY, SHORTDATE, FULLDATE, and ISODATE.
ERROR 90350 Incorrect number of blank-delimited tokens in the fileid or dirname parameter. There must be at least two and not more than four tokens in the string.
ERROR 90410 Incorrect length specified for one of the character variables.
ERROR 90415 Incorrect length specified for the wuerror parameter. A nonzero length must be at least 12 bytes.
ERROR 90420 The file name in the fileid parameter is incorrect. The file name is longer than 8 characters or contains an incorrect character.
ERROR 90430 The file type in the fileid parameter is incorrect. The file type is longer than 8 characters or contains an incorrect character.
ERROR 90440 The specified file mode number is incorrect. It must be a single-digit numeral between 0 and 6.
ERROR 90450 Wildcard characters (* or %) were found in either the file name or file type part of the fileid parameter.
ERROR 90472 requestid must be 0 or 1.
ERROR 90484 WRITE is not a valid Open Data Block type. Must be NEW, READ, or REPLACE.
ERROR 90494 Incorrect date format. The date must be specified in one of the following formats:
  • yy/mm/dd if SHORTDATE is specified
  • yyyy/mm/dd if FULLDATE is specified
  • yyyy-mm-dd if ISODATE is specified
ERROR 90495 Incorrect date specified for yyyy, century yy portion is restricted to 19 or 20.
ERROR 90496 The date specified is incorrect; it must be a number 0-9.
ERROR 90498 The time specified is in incorrect format; it must be in the format hh:mm:ss.
ERROR 90499 The time specified is incorrect; it must be a number 0-9.
ERROR 90500 The specified directory name is incorrect.
ERROR 90505 The specified directory name is an extended form of directory ID, such as +A. Only directory names or file mode letters are allowed on program function calls.
ERROR 90510 The namedef part of the fileid or dirname parameter is longer than 16 characters.
ERROR 90530 The namedef part of the fileid or dirname parameter does not exist or was used incorrectly. For example, a namedef that was created for a directory name was used where a namedef for a file name and file type was expected.
ERROR 90540 Specified work unit ID is incorrect.
ERROR 90590 There is no default file pool currently defined, and filepoolid was not specified as part of the directory name.
ERROR 90602 Incorrect file mode specified. Asterisk only allowed for open intent of READ.
ERROR 90603 Attempted to open the file for output and file mode is read-only.
ERROR 90604 Minidisk file already open using the FS macro interface.
ERROR 90605 An attempt was made to associate an ACF with a minidisk file.
ERROR 90606 I/O error found when processing a minidisk file.
ERROR 90680 I/O error accessing OS dataset.
ERROR 90681 OS read password protected dataset.
ERROR 90682 OS dataset organization is not BSAM, QSAM or BPAM.
ERROR 90683 OS dataset more than 16 extents.
ERROR 90684 Attempt to open a file on an OS or DOS formatted minidisk.
ERROR 90685 Received an unexpected return code while opening a minidisk file.