%SYS
All Classes Namespaces Functions Variables Pages
IO Class Reference

This class allows you to modify and view the [IO] section of the CPF file through programatic APIs. More...

Inheritance diagram for IO:
Collaboration diagram for IO:

Public Attributes

 File
 Routine to use in WRITE commands for sequential files. More...
 
 MagTape
 Routine to use in WRITE commands for magnetic tapes. More...
 
 Other
 Routine to use in WRITE commands for Other devices. More...
 
 Terminal
 Routine to use in WRITE commands for terminals. More...
 
- Public Attributes inherited from CommonProperties
 CPFFile
 CPF file which the object maps to. More...
 
 Comments
 Embedded comments in the CPF file. More...
 
 Flags
 Flags governing how the object is processed when Save() is called. More...
 
 Name
 Name of the object instance. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CommonSingleMethods
_.Library.Status Get (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Get a sections properties from a CPF file. More...
 
_.Library.Status GetList (_.Library.String CPFFile, _.Library.Integer Flags)
 Returns the properties from a section in a CPF file by value in $list format
More...
 
_.Library.Status Modify (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Modify a sections properties in a CPF file. More...
 
_.Library.ObjectHandle Open (_.Library.String CPFFile, _.Library.Integer concurrency, _.Library.Status Status, _.Library.Integer Flags)
 Open an instance of an section object in a CPF file. More...
 
- Static Public Attributes inherited from CommonProperties
 DOMAIN = None
 This class contains properties which are included by classes which manipulate sections in the CPF file. More...
 

Detailed Description

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 syntax 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)
    

Member Data Documentation

◆ File

File

Routine to use in WRITE commands for sequential files.


 

◆ MagTape

MagTape

Routine to use in WRITE commands for magnetic tapes.


 

◆ Other

Other

Routine to use in WRITE commands for Other devices.


 

◆ Terminal

Terminal

Routine to use in WRITE commands for terminals.