This documentation supports the 9.1 to 9.1 Service Pack 3 version and its patches of BMC Atrium Core. The documentation for version 9.1.04 and its patches is available here.

To view the latest version, select the version from the Product version menu.

CMDBCreateMultipleAttributes function

The CMDBCreateMultipleAttributes function creates multiple new attributes with the specified names for the specified class.

Synopsis


#include "ar.h"
#include "arextern.h"
#include "cmdb.h"

int CMDBCreateMultipleAttribute(
      ARControlStruct *control,
      CMDBClassNameId *classNameID,
      ARNameList *attributeNameList,
      ARNameList *attributeIdList,
      ARUnsignedIntList *dataTypeList,
      ARInternalIdList *arsubclassesIdList,
      ARUnsignedIntList *entryModeList,
      CMDBAttributeLimitList *attributeLimitList,
      ARValueList *defaultValueList,
      ARPropListList *characListList,
      ARPropListList *customCharacListList,
      ARStatusList *status)

Input arguments



Input argument

Description

control

The control record for the operation, which contains information about the user requesting the operation and the server on which the operation is to be performed.

classNameID

The name of the class for which you want to create the attributes. The classNameID argument contains the namespace name and the unique class name.

attributeNameList

The names of attributes to create. The names of all attributes must be unique within the specified class and within its superclasses and subclasses.

attributeIdList

The list of attribute IDs for the attributes being created.

dataTypeList

The list of data types for the attributes being created.

arsubclassesIdList

The BMC Remedy AR System subclass IDs of the attributes being created.

entryModeList

The entry mode for the attributes. Entry modes not listed are for BMC Software internal use.

  • 1: Required--Users must enter data (CMDB_ATTR_ENTRYMODE_REQUIRED ).
  • 2: Optional--Users do not have to enter data, but they can if needed (CMDB_ATTR_ENTRYMODE_OPTIONAL ).
  • 4: Display only--Users cannot enter data (CMDB_ATTR_ENTRYMODE_DISPLAY_ONLY ).

attributeLimitList

The list of value limits for the attributes being created and other properties specific to the attributes' types. See the CMDBsubclassesLimitStruct definition in cmdb.h to find the contained structure that applies to the type of attribute list that you are modifying. The limits and properties that you assign must be of the same data type as the attribute. If you do not want to change the attribute limits and properties, specify NULL for this parameter.

defaultValueList

The list of values to apply if a user submits an entry with no value for the attributes being created. The default value can be up to 255 bytes and must be of the same data type as the attribute. If you do not want to specify a default value, specify NULL for this parameter.

characListList

A list of characteristics for each attribute. Characteristics not listed are not applicable for creating attributes.

  • 1: View Permissions--Specify a list of groups or roles that have permissions to view this attribute (CMDB_ATTR_CHARAC_VIEW_PERMS ). When querying for attributes, you will see all attributes, including the hidden attributes. You can specify one or more group IDs or role IDs for the permissions separated by a semicolon, for example, 20;-5.
  • 2: Change Permissions--Specify a list of groups or roles that have permissions to view and modify the characteristics of the attribute (CMDB_ATTR_CHARAC_CHANGE_PERMS ).
  • 3: Hidden--Set the flag to false so that this attribute is hidden (CMDB_ATTR_CHARAC_HIDDEN ). This setting marks the attribute as hidden for a group or a role. When querying for classes, you can retrieve hidden attributes. You can specify one or more group IDs or role IDs for the permissions, separated by a semicolon, for example, 20;3.
  • 5: Propagated Owner--The class ID and the attribute ID of the lead class attribute from which the attribute is propagated ( CMDB_ATTR_CHARAC_PROPAGATED_OWNER ). The format for this value is <sourceAttributeId>;<destinationAttributeId>|<sourceAttributeId>;<destinAtionattributeId>|[<additionalPairs>].
  • 6: Create Mode--Set permissions for specifying data for the attribute (CMDB_ATTR_CHARAC_CREATE_MODE ).
    • 0 --CMDB_ATTR_CREATE_MODE_NONE --No permissions specified for the attribute.
    • 1 --CMDB_ATTR_CREATE_MODE_OPEN --Anyone can specify a value for the attribute.
    • 2 --CMDB_ATTR_CREATE_MODE_PROTECTED --Only users with permissions can specify a value for the attribute.
  • 7: Audit Option--Set the audit option on to store the audit history for the attribute (CMDB_ATTR_CHARAC_AUDIT_OPTION ).
  • 8: Namespace--Set the namespace of the attribute (CMDB_ATTR_CHARAC_NAMESPACE ).
  • 9: Users can set descriptions for the attributes (CMDB_ATTR_CHARAC_DESCRIPTION ).
  • 10: Federation External Name--Specify external name for attributes of a federated class that are mapped by way of Vendor AR System database connectivity (ARDBC) plug-in (CMDB_ATTR_CHARAC_FEDERATION_EXTERNAL_NAME ).

customCharacListList

A list of user-defined custom characteristics list for each attribute. The value can be set to any user-defined characteristic but must be between 300000 (CMDB_CLASS_CUSTOM_CHARAC_MIN ) and 399999 (CMDB_CLASS_CUSTOM_CHARAC_MAX ). If you do not want to associate custom characteristics with this attribute, specify NULL for this parameter. After the properties list structure that you specify is serialized, it is converted into the following format: <listSize> <propId> <dataType> <propValue>. For example the serialized property list could be represented as 1\300050\2\1.

  • listSize --The number of items in the properties list.
  • propId --The ID for the property, which is within the 300000-399999 range. 
  • dataType --The data type for the property, which can be of any native data type.
  • propValue --The value for the property.

Return value



Return value

Description

status

A list of zero or more notes, warnings, or errors generated from a call of this function.

Was this page helpful? Yes No Submitting... Thank you

Comments