Creating Other Custom Properties

FlexNet Manager Suite 2023 R1 (On-Premises)

Execute the following in SQL Server Management Studio against your FNMSCompliance database. The relative anchor from which positioning is determined must already be defined.

EXEC dbo.AddPropertyToWebUIPropertiesPage
        @TargetTypeID = TargetTypeID,
        @ExcludeTargetSubTypeIDs = 'TargetSubTypeID,TargetSubTypeID,...',
        @Name = 'InternalFieldName',
        @CultureType = 'ISOCultureCode',
        @DisplayNameInPage = 'Prompt value',
        @DisplayNameInReport = 'Column heading',
        @TabName = 'MyTabName',
        @UIInsertTypeID = UIFieldTypeID,
        @UIFieldTypeID = UIFieldTypeID,
        @RelativePositionTo = 'RelativePositionTo',
        @SequenceNumber = 'IntegerCount',
        @Position = Position,
        @Width = Width,
        @DataSource = 'List, Of, Values',
        @DataSourceDelimiter = ',',
        @Required = 0,
        @StringLength = IntegerMaxLength,
        @ReadOnly = 0
where
Type Description
@TargetTypeID Mandatory. Integer that identifies the type of object to which you are adding a custom property. For supported objects and their integer equivalents for TargetTypeID, see Objects You Can Customize.
@ExcludeTargetSubTypeIDs
Mandatory. A comma-separated list (enclosed in single quotation marks) of integer subtype IDs. For the default case of no exclusions, give this parameter an empty list:
@ExcludeTargetSubTypeIDs = '',
Many types of target objects have subtypes (for example, assets may be workstations, routers, and so on). By default, a custom property added to an object (identified by its TargetTypeID) is added to all subtypes of that object. However, you can exclude any subtypes you choose with this parameter. For supported subtypes and their integer equivalents for TargetSubTypeID, see Objects You Can Customize.
@Name Mandatory. The internal name (used in code and database) of the new custom property you are adding. This name must be unique across all properties in the system (including the factory-supplied properties, across all database objects). For this reason, it is strongly recommended that you adopt a stringent naming convention, such as a company name space, an object type, and a property name, (example: MyCoLicenseDailyCharge). The name is limited to 256 characters, and only alphanumeric ASCII characters (A-Z, a-z, and 0-9) are acceptable. Using any other characters results in an error message:
Input @Name contains invalid character
Tip: Keep in mind that this name is internal, and not displayed to operators. For names visible to others, see @DisplayNameInPage and @DisplayNameInReport below, both of which support a wider range of characters.
@CultureType Default value is en-US. Value is a five-character ISO code for culture (enclosed in single quotation marks). The permitted values are available at http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx.
@DisplayNameInPage Mandatory. This is the label (enclosed in single quotation marks) displayed as a prompt in the web interface for FlexNet Manager Suite when the culture setting for the interface matched the one you declare in CultureType. You can also provide localized values for this label using different culture settings, for which see Localizing Display Names of Custom Properties.
@DisplayNameInReport Mandatory. This is the label (enclosed in single quotation marks) displayed as a column heading in custom reports you prepare, when the culture setting for the interface matched the one you declare in CultureType. You can also provide localized values for this label using different culture settings, for which see Localizing Display Names of Custom Properties.
@TabName

Optional when @UIInsertTypeID = 3, and ignored for any other value. Provides the internal name the tab in which the new control is to be inserted. If used, the tab name must be 80 characters or less, and enclosed inside single quotation marks. (If TabName is not specified, the value of RelativePositionTo is used.) For internal names of factory-supplied tabs, see the subtopics under Positioning Your Custom Control. For details about creating custom tabs, see Creating a New Properties Tab.

@UIInsertTypeID Mandatory. An integer indicating the position of this new section relative to the control identified in RelativePositionTo. For integer values and their meaning, see Positioning Your Custom Control. Note that in this case of creating a new section, the value 3 means at the start of the tab identified in TabName, meaning that RelativePositionTo is irrelevant in that case.
@UIFieldTypeID Mandatory. An integer indicating the kind of control used to display your custom property. For integer values and their meaning, see Controls You Can Add.
@RelativePositionTo Mandatory. The internal name of the anchor control relative to which you are positioning your new custom section. For internal names of factory-supplied controls, see the subtopics under Positioning Your Custom Control.
@SequenceNumber

Optional (when omitted, the default value is null). Where two or more custom properties are declared with the same anchor in their @RelativePositionTo parameters, they are ordered by the sequence number. If there is no sequence number declared, they are ordered by the execution order of the SQL commands.

@Position Optional (when omitted, the default value is 0). The alignment of your custom control within the two-column layout of a properties page. For the integer values and their meanings, see Positioning Your Custom Control.
@Width Optional (when omitted, the default value is 1). The number of columns spanned by this control in the two-column layout of a properties page. For more information, see Positioning Your Custom Control.
@DataSource Mandatory when UIFieldTypeID = 8, and otherwise ignored. Within single quotes, this is an ordered list of the values to be displayed within the option list. By default, the list is comma-separated, but see @DataSourceDelimiter. Values (between delimiters) may include white space, and leading white space on a value is ignored. Every value must be unique. One of the values may be a null, creating a blank row in the drop-down list in the web interface. Example:
@DataSource = ', Apples, Oranges, Ripe Pears, Tangerines'
This example creates a drop-down list with the first position blank (this displays an empty value until the operator selects another value from the list).
Restriction: When you add a custom drop-down list (when UIFieldTypeID = 8), it is not possible to localize the values for the individual options within the custom drop-down list. (This is in contrast to adding a custom option within a drop-down list included in the standard product: the standard lists allow for customization of any options, including added custom options; whereas drop-down lists that are in entirety custom cannot be localized.)
@DataSourceDelimiter

Optional (when omitted, the default value is the comma ,). A single ASCII character (a punctuation character is expected) that does not occur in your data set and is used as a delimiter between values in @DataSource. The separator character must be enclosed in single quotation marks. If UIFieldTypeID has any value other than 8, this parameter is ignored.

@Required
Optional (when omitted, the default value is zero). May have the following values:
  • 0 means that input to the custom field in the web interface is optional, such that the value may be left blank.
  • 1 means that in the web interface, the custom field is mandatory, and may not be left blank by an operator completing the enclosing tab.
This integer value must not be surrounded by quotation marks.
Note: This parameter affects only data input through the web interface of FlexNet Manager Suite. It does not have any effect, for example, on data imports using the Business Importer.
@StringLength

Optional (when omitted, the default value is 256). Ignored unless the @UIFieldTypeID has either of the values 4 (text box, or field) or 5 (text area, multi-line). Specifies the maximum length of the input string in the web interface. The largest permissible string length is 4000 bytes.

@ReadOnly
Optional (when omitted, the default value is zero). May have the following values:
  • 0 means that the control is read/write, and can be updated in the web interface.
  • 1 means that the control is read-only, and cannot be changed in the web interface. This value is illegal if @Required = 1, and will produce an error when executed.

FlexNet Manager Suite (On-Premises)

2023 R1