%SYS
MapRoutines Class Reference

This class allows you to modify and view routine mappings in the [Map.xxx] section of the CPF file through programatic APIs. More...

Inheritance diagram for MapRoutines:
Collaboration diagram for MapRoutines:

Public Attributes

 Database
 Database to map routine to. More...
 
- Public Attributes inherited from CommonMapProperties
 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 mapping. More...
 
 Namespace
 Namespace where the mapping is. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CommonMapMethods
 Create (_.Library.String Namespace, _.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Create a mapping in the CPF file. More...
 
_.Library.Status Delete (_.Library.String Namespace, _.Library.String Name, _.Library.String CPFFile, _.Library.Integer Flags)
 Delete a mapping from a CPF file. More...
 
_.Library.Boolean Exists (Namespace, _.Library.String Name, _.Library.ObjectHandle Obj, _.Library.Status Status, _.Library.String CPFFile, _.Library.Integer Flags)
 Checks for the existence of a mapping in a CPF file. More...
 
_.Library.Status Get (_.Library.String Namespace, _.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Get a mapping's properties from a CPF file. More...
 
_.Library.Status GetList (_.Library.String Namespace, _.Library.String Name, _.Library.String CPFFile, _.Library.Integer Flags)
 Returns the properties from a instance of a mapping section from a CPF file by value in $list format
More...
 
_.Library.Status Modify (_.Library.String Namespace, _.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Modify a mapping in a CPF file. More...
 
_.Library.ObjectHandle Open (_.Library.String Namespace, _.Library.String Name, _.Library.String CPFFile, _.Library.Integer concurrency, _.Library.Status Status, _.Library.Integer Flags)
 Open an instance of a mapping object in a CPF file. More...
 
- Static Public Attributes inherited from CommonMapMethods
 SECTIONTYPE = None
 This parameter governs how the class creates audit records. More...
 
- Static Public Attributes inherited from CommonMapProperties
 DOMAIN = None
 This class contains properties which are included by classes which manipulate namespace mappings in the CPF file. More...
 

Detailed Description

This class allows you to modify and view routine mappings in the [Map.xxx] 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 (Create/Get/Modify/Delete) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects (Open() and Exists()). Most objects created here need only to specify the Name of the object, and 1 or 2 properties since the the defaults are what are commonly used for most cases.

EXAMPLE:

    ; Use class methods to create a routine mapping in namespace USER to the SAMPLES database
    SYS>s Namespace="USER"
    SYS>s Name="ROUTINEA"
    SYS>s Properties("Database")="SAMPLES"
    SYS>s Status=##Class(Config.MapRoutines).Create(Namespace,Name,.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    ; Use class methods to modify properties
    SYS>s Status=##Class(Config.MapRoutines).Get(Namespace,Name,.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    SYS>zw Properties
    Properties("Database")="SAMPLES"
    SYS>s Properties("Database")="TEST"
    SYS>s Status=##Class(Config.MapRoutines).Modify(Namespace,Name,.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    ; Now use Objects to modify properties
    SYS>s Obj=##Class(Config.MapRoutines).Open(Namespace,Name)
    ; We could have used i ##Class(Config.MapRoutines).Exists(Namespace,Name,.Obj) instead of Open()
    SYS>w Obj.Database
    TEST
    SYS>s Obj.Database="SAMPLES"
    SYS>s Status=Obj.Save()
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    ; Now delete the object we just created
    SYS>s Status=##Class(Config.MapRoutines).Delete(Namespace,Name)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    

Member Data Documentation

◆ Database

Database

Database to map routine to.