IFS and DLO: Understanding basic Support

Estimated reading time: 7 minutes

IFS - Integrated File System

The Integrated File System (IFS) is a part of the IBM® i operating system that supports stream input/output and storage management similar to personal computer and UNIX operating systems.

The IFS is a hierarchical organization of stream files on the computer. The branches of the structure are directories while the leaves are directories and files.

The property IFSRoot of the Monarch.Job holds the Window’s folder where the job will find the ‘root’ of the IFS structure.

For more details on the IFS, please see these IBM links:

Integrated File System

File system comparison

DLO – Document Library Objects

The IBM i also provides a facility called Document Library Objects (DLO) which contents behave similar to IFS files in that they both are stream files instead of the structured files that the database on the IBM i provides. A nomenclature difference is that DLO calls Directories, Folders and knows Files as Documents.

On the IBM i, the DLO objects can be accessed via the Document Library Services File System reachable in the IFS at the /QDLS link. In Monarch programs, the DLO objects can be found via the property QDLSRoot which resolves to the concatenation of the IFSRoot property and the literal “/QDLS”.

According to IBM,

QDLS is an old file system, dating from the System/36 and System/38 days. It is maintained mostly for backward compatibility. Some applications are hard-coded to store and access PC files in the QDLS file system. Companies using those applications will be required to use the QDLS file system, to upgrade to a newer version of the current application software (one that supports the use of the “root” file system), or to migrate to a different application.

And also:

Document Library Objects (DLOs) object types include DOC and FLR. They are found within the QDLS file system. Although the objects themselves are stored in library QDOC (in the QSYS.LIB file system), they should never be accessed through the QDOC library. They are not typical iSeries objects and should always be accessed by means of the QDLS file system.

For more details on the QDLS, please see these IBM links:

QDLS

Comparison of the QDLS and “Root” File Systems for Storing User Documents and Other PC Files

The following IFS commands are recognized and migrated by Monarch. Only a subset of keywords and special values are supported as noted on the next table.

Directory Commands

Command Keywords Implementation Notes
CRTDIR or
MD or
MKDIR
DIR   Create Directory
Adds a new directory to the system.
RMVDIR or
RD or
RMDIR
DIR
SUBTREE
RMVLNK
  Remove Directory
Removes a specified directory from the system after all objects in the directory have been unlinked and the directory is no longer in use. If a directory to be removed contains objects, this command optionally unlinks all of the objects and then deletes the directory.
CHGCURDIR or
CD or
CHDDIR
DIR   Change Current Directory
Designates a directory to be the Current directory. The current directory, set with this command, affects only the IFS commands (listed on this table).
DSPCURDIR OUTPUT(*PRINT)   Display Current Directory
Prints the current working directory onto the default output queue on a QSYSPRT file.

Object Commands

Command Keywords Implementation Notes
CPY or
COPY
OBJ
TODIR
TOOBJ
SUBTREE
REPLACE
  Copy Object
Copies a single object or a group of objects specified by an object name pattern.The copy command can also be used to copy a directory tree where the specified directory, its contents, and the contents of all of its subdirectories are copied. If SUBTREE(*ALL) is specified, the command will attempt to copy as many objects as possible within the subtree.
RNM or
REN
OBJ
NEWOBJ
  Rename Object
Changes the name of a single object in a directory.
MOV or
MOVE
OBJ
TODIR
TOOBJ
DTAFMT
  Move Object
Moves an object from the directory it is into a different directory.

Import / Export Commands

Command Keywords Implementation Notes
CPYFRMSTMF FROMSTMF
TOMBRMBROPT
ENDLINFMT
TABEXPN
  Copy From Stream File
Copies the data in a stream file to a database file member with potential reformatting.
CPYTOSTMF FROMMBR
TOSTMF
STMFOPT
ENDLINFMT
  Copy To Stream File
Copies a database file member to a stream file. The data can be reformatted as part of the copy.
CPYFRMIMPF FROMSTMF
TOFILE
MBROPT
STMFLEN
RCDDLM
DTAFMT
STRDLM
STRESCCHR
RMVBLANK
FLDDLM
FLDDFNFILE
DECPNT
DATEFMT
DATSEP
TIMFMT
TIMSEP
FROMRCD
  Copy From Import File
Copies all or part of a stream file to a database file member. The stream file is an import file originally created for the purpose of copying data between heterogeneous databases.
CPYTOIMPF FROMFILE
TOSTMF
MBROPT
RCDDLM
DTAFMT
STRDLM
STRESCCHR
RMVBLANK
FLDDLM
DECPNT
DATEFMT
TIMFMT
  Copy To Import File
Copies a database file member to a stream file. The stream file is an ‘import file’ created for the purpose of copying data between heterogeneous databases.

The following DLO commands are recognized and migrated by Monarch. Only a subset of keywords and special values are supported as noted on the next table.

Document Library Object Commands

Command Keywords Implementation Notes
CHKDLO DLOFLR DLO.Check IN PROGRESS Check Document Library Object Verifies that an object exists and that a user has authority to the object before trying to access it.
DLTDLO DLO (Name or *ALL)FLR   Delete Document Library Object Allows you to delete a document or a folder.
RNMDLO DLO
NEWDLO
FLR
DLO.Rename Rename Document Library Object Changes the name of a document or folder.

Document Commands

Command Keywords Implementation Notes
CPYDOC FROMDOC
FROMFLR
TODOC
TOFLR
REPLACE
  Copy Document Allows you to copy a document from one folder into another folder or to copy a document that is not in a folder into a folder.
MOVDOC FROMDOC
FROMFLR
TOFLR
RENAME
DLO.Move Move Document Move the document to a new folder and can rename the document in the process

Folder Commands

Command Keywords Implementation Notes
CRTFLR FLR
INFLR
DLO.CreateFolder Create Folder
Creates a Folder in another folder.
DSPFLR FLR
TYPE
OUTPUT(*PRINT or *OUTFILE)
LEVEL
OUTFILE
OUTMBR
OUTFILFMT
  Display Folder
Allows you to print a list of folders and documents, or to create an output file that contains the list of folders or documents.

Import / Export Commands

Command Keywords Implementation Notes
CPYFRMPCD FROMFLR
TOFILE
FROMDOC
TOMBR
MBROPT
TRNFMT
  Copy From PC Document
Copies the data in a document to a database file.
CPYTOPCD FROMFILE
TOFLRF
ROMMBR
TODOC
REPLACE
TRNFMT
  Copy to PC Document
Copies a database file member to a document in a folder.