Skip to main content

Config.MapPackages

persistent class Config.MapPackages extends %Library.Persistent, Config.CommonMapMethods, Config.CommonMapProperties, %SYSTEM.Help [ Final ]

SQL Table Name: Config.MapPackages

This class allows you to modify and view class package 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 package mapping in namespace USER to the SAMPLES database
%SYS>s Namespace="USER"
%SYS>s Name="PackageA"
%SYS>s Properties("Database")="SAMPLES"
%SYS>s Status=##Class(Config.MapPackages).Create(Namespace,Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Use class methods to modify properties
%SYS>s Status=##Class(Config.MapPackages).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.MapPackages).Modify(Namespace,Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.MapPackages).Open(Namespace,Name)
; We could have used i ##Class(Config.MapPackages).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.MapPackages).Delete(Namespace,Name)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Property Inventory

Method Inventory

Properties

property Database as %String (MAXLEN = 64, MINLEN = 1) [ Required ];
Database to map Package to.
Property methods: DatabaseDisplayToLogical(), DatabaseGet(), DatabaseGetStored(), DatabaseIsValid(), DatabaseLogicalToDisplay(), DatabaseLogicalToOdbc(), DatabaseNormalize()

Methods

classmethod ListMapEditsClose(ByRef qHandle As %Binary) as %Status
classmethod ListMapEditsExecute(ByRef qHandle As %Binary, Namespace As %String) as %Status
classmethod ListMapEditsFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status

Queries

query List(Namespace As %String, Names As %String = "*", CPFFile As %String = "", Flags As %Integer = 0)
Selects Name As %String, Package As %String, Database As %String
List MapPackages in a CPF file.

Parameters:
Names - Comma separated list of MapPackage names
"*" - All records match
"String,String1" - Any records matching one of these elements
"String*" - Any record starting with "String"
"String,String1*,String2" - Any record matching one of these elements, or starting with "String1"
CPFFile - Name of the CPF file to use. A null string means use the active CPF file.
Flags - Currently ignored.
Format
0 - Standard report list format
1 - ^CONFIG global format
2 - CPF file format format
Note: This query may change in future versions
query ListMapEdits(Namespace As %String)
Selects Name As %String, Package As %String, Database As %String
List entries in CPFMappingEdit temporary storage
query ListPackages(Database As %String)
Selects Name As %String
Get a list of all packages in a database.
Parameters:
Database - Database name to get list of packages from.

Indexes

index (CPFNameSectionHeaderNspName on CPFName,SectionHeader,Namespace,Name) [IdKey, Type = key, Unique];
Index methods: CPFNameSectionHeaderNspNameCheck(), CPFNameSectionHeaderNspNameDelete(), CPFNameSectionHeaderNspNameExists(), CPFNameSectionHeaderNspNameOpen(), CPFNameSectionHeaderNspNameSQLCheckUnique(), CPFNameSectionHeaderNspNameSQLExists(), CPFNameSectionHeaderNspNameSQLFindPKeyByConstraint(), CPFNameSectionHeaderNspNameSQLFindRowIDByConstraint()

Inherited Members

Inherited Properties

Inherited Methods

Storage

Storage Model: Storage (Config.MapPackages)

^|"^^"_$ZU(12)|SYS("CONFIG")(ID)
=
%%CLASSNAME
Database
Description
Comments
FeedbackOpens in a new tab