URS Functions and Configuration Server
URS functions that read/write data from Configuration Server (FIndConfigObject, SetObjectProperty, GetObjectProperty, and so on) have to manipulate with Configuration Server object Types and Subtypes in the way that Configuration Server understands them. Every Configuration object has a Type and some of them (Transactions, for example) might have a Subtype. For Configuration Server, both Types and Subtypes are just plain numbers (Enumerators) and are identified by numbers. For example, 9 means CFGApplication, 2 means DN, 16 means Transaction, 21 means Transaction subtype list, and so on.
Which number represents which Type or Subtype is basically Configuration Server-related information (provided in Configuration Server-related documents). Reference to those Configuration Server-related data can be accessed as follows:
For some Configuration Server Enumerators, URS strategies allow dedicated names. For example, CFGApplication means just number 9. Where names are allowed, you can use either names or numbers themselves; where names are not allowed, numbers must be used to present object Types and Subtypes.
When configuring URS strategies, names are not provided for every Type/Subtype as Configuration Server might introduce new Types/Subtypes and URS cannot follow all of them. So names are used to present only well-established object Types with URS having special processing of every Type. For other Types (like Transaction Subtypes), naked numbers need to be used – URS does not interpret them; it just passes them to Configuration Server and any number supported by this Configuration Server can be used.
Regarding Transactions, they are uniquely identified either by dbid or by pair transaction type + transaction name. For example, to find Transactions, the FindConfigObject function must be supplied either with a dbid or with pair type and name. Transaction Types are numbers and Transaction of Type List is 21.
Or the same (as IRD will replace word CFGTransaction to number 21)
The function SetObjectProperty enables you to set more then one property within a single Section. Every odd parameter after the parameter Section is interpreted as the property name and every even parameter as the property value. If the last property name has no matched parameter with value, it results in the deletion of this property from object properties.
As in this example, the standard syntax is:
SetObjectProperty[CFGTransaction, 21, '<Transaction List Object Name>', '<Section>', '<Key_1>', '<Value_1>', '<Key_2>', '<Value_2>', '<Key_3>', '<Value_3>']