Home > Class Reference > %SYS namespace > Config.IO

Config.IO

persistent class Config.IO extends %Library.Persistent, Config.CommonSingleMethods, Config.CommonProperties, %SYSTEM.Help

SQL Table Name: Config.IO

This class allows you to modify and view the [IO] section of the CPF file through programatic APIs. While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Get/Modify) to modify the properties by passing in the correct parameters, or use Object sytax to open and directly manipulate the config objects.

EXAMPLE:

; Use class methods to modify properties
%SYS>s Status=##Class(Config.IO).Get(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
%SYS>zw Properties
Properties("File")="^%X364"
Properties("MagTape")="^%XMAG"
Properties("Other")="^%X364"
Properties("Terminal")="^%X364"
%STS>s Properties("Terminal")="^%XMYROUTINE"
%SYS>s Status=##Class(Config.IO).Modify(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.IO).Open()
%SYS>w Obj.Terminal
^%XMYROUTINE
%SYS>s Obj.Terminal=^%ZMYROUTINE
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Property Inventory

Properties

property File as %String (MAXLEN = 32, MINLEN = 1) [ InitialExpression = "^%X364" , Required ];
Routine to use in WRITE commands for sequential files.
Property methods: FileDisplayToLogical(), FileGet(), FileGetStored(), FileIsValid(), FileLogicalToDisplay(), FileLogicalToOdbc(), FileNormalize(), FileSet()
property MagTape as %String (MAXLEN = 32, MINLEN = 1) [ InitialExpression = "^%XMAG" , Required ];
Routine to use in WRITE commands for magnetic tapes.
Property methods: MagTapeDisplayToLogical(), MagTapeGet(), MagTapeGetStored(), MagTapeIsValid(), MagTapeLogicalToDisplay(), MagTapeLogicalToOdbc(), MagTapeNormalize(), MagTapeSet()
property Other as %String (MAXLEN = 32, MINLEN = 1) [ InitialExpression = "^%X364" , Required ];
Routine to use in WRITE commands for Other devices.
Property methods: OtherDisplayToLogical(), OtherGet(), OtherGetStored(), OtherIsValid(), OtherLogicalToDisplay(), OtherLogicalToOdbc(), OtherNormalize(), OtherSet()
property Terminal as %String (MAXLEN = 32, MINLEN = 1) [ InitialExpression = "^%X364" , Required ];
Routine to use in WRITE commands for terminals.
Property methods: TerminalDisplayToLogical(), TerminalGet(), TerminalGetStored(), TerminalIsValid(), TerminalLogicalToDisplay(), TerminalLogicalToOdbc(), TerminalNormalize(), TerminalSet()

Inherited Methods

Indexes

index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey, Type = key, Unique];
Index methods: CPFNameSectionHeaderNameCheck(), CPFNameSectionHeaderNameDelete(), CPFNameSectionHeaderNameExists(), CPFNameSectionHeaderNameOpen(), CPFNameSectionHeaderNameSQLCheckUnique(), CPFNameSectionHeaderNameSQLExists(), CPFNameSectionHeaderNameSQLFindPKeyByConstraint(), CPFNameSectionHeaderNameSQLFindRowIDByConstraint()

Storage

Storage Model: Storage (Config.IO)

^|"^^"_$ZU(12)|SYS("CONFIG")(ID)
=
%%CLASSNAME
Comments
File
MagTape
Other
Terminal