---
sourceDocument: Australia API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/api-reference

 Release :

    - australia

ft:locale :

    - de-DE

ft:publication_title :

    - Australia API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideDynamicAttribute - Global

# GlideDynamicAttribute - Global {#ariaid-title1}

* Freigeben Version: Australia
* 
* Aktualisiert 12. März 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 8 Minuten Lesedauer

The GlideDynamicAttribute API provides access to dynamic attribute metadata.

This API provides methods that enable you to get dynamic schema values defined in the Dynamic Attribute \[dynamic_attribute\] table. Dynamic attributes have a defined data type and a sys_id. For more details on dynamic attributes,
see [Dynamic schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=australia&pubname=australia-platform-administration&ft:locale=en-US).

To use this API to create dynamic attributes you must have the dynamic_schema_writer role. To read dynamic data using this API you must have the dynamic_schema_reader role.  
[GlideAggregate - Global](https://servicenow-prod.fluidtopics.net/XCo9_ZBTlOmiMkbmfKniSA#c_GlideAggregateAPI "The GlideAggregate API enables creating database aggregation queries.") methods usable with dynamic schema:

* addAggregate()
* addHaving()
* getDynamicAttributeValue()
* getDynamicAttributeDisplayValue()
* getValue()
* groupBy()
* orderBy()
* orderByAggregate()

{#GlideDynamicAttributeAPI__ul_tc3_1nj_zgc}[GlideRecord - Global](https://servicenow-prod.fluidtopics.net/jG6oUitbUI~_pnpt7xwvTw#c_GlideRecordAPI "The GlideRecord API is used for database operations.") methods usable with dynamic schema:

* addQuery()
* getDisplayValue()
* getDynamicAttribute()
* getDynamicAttributeDisplayValue()
* getDynamicAttributeValue()
* getValue()
* orderBy()
* orderByDesc()
* setDisplayValue()
* setDynamicAttributeDisplayValue()
* setDynamicAttributeValue()
* setDynamicAttributeValues()
* setValue()
{#GlideDynamicAttributeAPI__ul_cd4_wnj_zgc}  
See also:

* [GlideDynamicAttributeStore - Global](https://servicenow-prod.fluidtopics.net/yjYIeZCItHaCLa4dUKZ~sQ#GlideDynamicAttStoreAPI "Use the GlideDynamicAttributeStore API to create objects for working with dynamic attributes independently of a table or field.")
* [GlideDynamicNamespace - Global](https://servicenow-prod.fluidtopics.net/nNgPYFRhZaZ7IUcDl4liNQ#GlideDynamicNamespaceAPI "The GlideDynamicNamespace API provides access to dynamic namespace metadata.")
* [GlideElementDynamicAttributeStore - Global](https://servicenow-prod.fluidtopics.net/BWTZuuBN3fj9HBRd~JnA7g#GlideElementDynamicAttStoreAPI "The GlideElementDynamicAttributeStore API provides convenient script methods for managing dynamic attributes in the current glide record. Use these methods in conjunction with the GlideRecord API to get and set defined dynamic attribute values.")
{#GlideDynamicAttributeAPI__ul_dvm_lym_b2c}

## GlideDynamicAttribute - getGroupName() {#ariaid-title2}

Gets the value of the group name property of a dynamic attribute object.
As of the Zurich release, dynamic groups have been removed from dynamic schema. For dynamic attributes defined with an associated dynamic attribute group before the Zurich release, this method continues to work for backwards
compatibility. Customers are urged to migrate to the current Dynamic Attribute definitions to take advantage of future improvements in features and functionality.  
For migration details, see the [Dynamic Schema Zurich Migration Guide \[KB2146133\]](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB2146133) article in the Now Support Knowledge Base.  
Hinweis:  
This method returns null for migrated attributes and newly created attributes.

You can use dynamic attributes in dynamic categories to simplify administration and improve the dynamic schema user experience. For more information, see [Working with Dynamic Schema](https://www.servicenow.com/docs/access?context=working-with-dynamic-schema&version=australia&pubname=australia-platform-administration&ft:locale=en-US).
{#GDA-getGroupName__table_n5y_sln_b2c__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Tabelle : 1. Parameters]

{#GDA-getGroupName__table_n5y_sln_b2c} {#GDA-getGroupName__table_o5y_sln_b2c__entry__2}

| Type | Description |
|-|-|
| String | Value of the dynamic attribute's group name property. |
[Tabelle : 2. Returns]

{#GDA-getGroupName__table_o5y_sln_b2c}  
In the following example, the value of the dynamic attribute object group name is displayed as a.

    var das = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValue('a->b', 5);    // transient (adding here)
    das.setDynamicAttributeValue('a->c', 10);   // defined in dynamic_attribute table

    var attributes = das.getDynamicAttributes();
    gs.info(attributes);

    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
    	
        gs.info("");
        gs.info("[" + i + "].getPath()      = " + attr.getPath());
        gs.info("[" + i + "].getName()      = " + attr.getName());
        gs.info("[" + i + "].getGroupName() = " + attr.getGroupName());
        gs.info("[" + i + "].isTransient()  = " + attr.isTransient());
        gs.info("[" + i + "].getType()      = " + attr.getType());
    }

Output:

    *** Script: a->c,a->b
    *** Script: 
    *** Script: [0].getPath()      = a->c
    *** Script: [0].getName()      = c
    *** Script: [0].getGroupName() = a
    *** Script: [0].isTransient()  = false
    *** Script: [0].getType()      = integer
    *** Script: 
    *** Script: [1].getPath()      = a->b
    *** Script: [1].getName()      = b
    *** Script: [1].getGroupName() = a
    *** Script: [1].isTransient()  = true
    *** Script: [1].getType()      = string

## GlideDynamicAttribute - getName() {#ariaid-title3}

Gets the value of the name property of a dynamic attribute object.
{#GDA-getName__table_n5y_sln_b2c__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Tabelle : 3. Parameters]

{#GDA-getName__table_n5y_sln_b2c} {#GDA-getName__table_o5y_sln_b2c__entry__2}

| Type | Description |
|-|-|
| String | Value of the dynamic attribute's name property. |
[Tabelle : 4. Returns]

{#GDA-getName__table_o5y_sln_b2c}  
The following example shows how to return the value of the dynamic attribute object name.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table

    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);

    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

Output:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

## GlideDynamicAttribute - getNamespacedName() {#ariaid-title4}

Gets the name of a dynamic attribute within its namespace.
{#GDA-getNamespacedName__table_n5y_sln_b2c__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Tabelle : 5. Parameters]

{#GDA-getNamespacedName__table_n5y_sln_b2c} {#GDA-getNamespacedName__table_o5y_sln_b2c__entry__2}

| Type | Description |
|-|-|
| String | Name of the dynamic attribute within its namespace. Format: `namespace_name/attribute_name` |
[Tabelle : 6. Returns]

{#GDA-getNamespacedName__table_o5y_sln_b2c}  
The following example shows how to return the dynamic attribute name within a namespace called `u_product/u_car_inventory`.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table

    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);

    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

Output:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

## GlideDynamicAttribute - getNamespaceName() {#ariaid-title5}

Gets the name of a dynamic attribute namespace.
{#GDA-getNamespaceName__table_n5y_sln_b2c__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Tabelle : 7. Parameters]

{#GDA-getNamespaceName__table_n5y_sln_b2c} {#GDA-getNamespaceName__table_o5y_sln_b2c__entry__2}

| Type | Description |
|-|-|
| String | Name of the dynamic attribute namespace. |
[Tabelle : 8. Returns]

{#GDA-getNamespaceName__table_o5y_sln_b2c}  
The following example shows how to return the dynamic attribute namespace, `u_product/u_car_inventory`.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table

    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);

    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

Output:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

## GlideDynamicAttribute - getPath() {#ariaid-title6}

Gets the value of the path property of a dynamic attribute object.
{#GDA-getPath__table_n5y_sln_b2c__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Tabelle : 9. Parameters]

{#GDA-getPath__table_n5y_sln_b2c} {#GDA-getPath__table_o5y_sln_b2c__entry__2}

| Type | Description |
|-|-|
| String | Value of the dynamic attribute's path. |
[Tabelle : 10. Returns]

{#GDA-getPath__table_o5y_sln_b2c}  
The following example shows how to return the value of the dynamic attribute object path.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table

    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);

    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

Output:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

## GlideDynamicAttribute - getType() {#ariaid-title7}

Gets the value of the type property of a dynamic attribute object.
{#GDA-getType__table_n5y_sln_b2c__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Tabelle : 11. Parameters]

{#GDA-getType__table_n5y_sln_b2c} {#GDA-getType__table_o5y_sln_b2c__entry__2}

| Type | Description |
|-|-|
| String | Value of the dynamic attribute's data type. |
[Tabelle : 12. Returns]

{#GDA-getType__table_o5y_sln_b2c}  
In the following example, the value of the dynamic attribute object type is displayed as string for the transient attribute and integer for the non-transient attribute.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table

    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);

    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

Output:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer

## GlideDynamicAttribute - isTransient() {#ariaid-title8}

Returns whether an object is a transient dynamic attribute.
{#GDA-isTransient__table_n5y_sln_b2c__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Tabelle : 13. Parameters]

{#GDA-isTransient__table_n5y_sln_b2c} {#GDA-isTransient__table_o5y_sln_b2c__entry__2}

| Type | Description |
|-|-|
| Boolean | Flag that indicates if a dynamic attribute is transient. Valid values: * true: The dynamic attribute is transient. Dynamic attributes are defined in the Dynamic Attribute \[dynamic_attribute\] table with a data type and a sys_id. See [GlideDynamicAttribute](https://servicenow-prod.fluidtopics.net/7ZlmW6ZeeiXWlmcvR6F48A#GlideDynamicAttributeAPI "The GlideDynamicAttribute API provides access to dynamic attribute metadata."). * false: The dynamic attribute is not transient. Transient dynamic attributes are dynamic attributes that have been added to a DynamicAttributeStore field without a definition in the Dynamic Attribute \[dynamic_attribute\] table. Transient dynamic attributes are handled as strings and have no sys_id. {#GDA-isTransient__ul_trp_nxn_b2c} |
[Tabelle : 14. Returns]

{#GDA-isTransient__table_o5y_sln_b2c}  
In the following example, the isTransient() method returns false for the non-transient object.

    var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
    used_car.setDynamicAttributeValue('mfg_year', 2014);       // transient (adding here)
    used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table

    var attributes = used_car.getDynamicAttributes();
    gs.info(attributes);

    for (var i = 0; i < attributes.length; i++) {
        var attr = attributes[i];
        gs.info("");
        gs.info("[" + i + "].getPath()           = " + attr.getPath());
        gs.info("[" + i + "].getName()           = " + attr.getName());
        gs.info("[" + i + "].getNamespaceName()  = " + attr.getNamespaceName());
        gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
        gs.info("[" + i + "].isTransient()       = " + attr.isTransient());
        gs.info("[" + i + "].getType()           = " + attr.getType());
    }

Output:

    *** Script: mfg_year,u_total_miles
    *** Script: 
    *** Script: [0].getPath()           = mfg_year
    *** Script: [0].getName()           = mfg_year
    *** Script: [0].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
    *** Script: [0].isTransient()       = true
    *** Script: [0].getType()           = string
    *** Script: 
    *** Script: [1].getPath()           = u_total_miles
    *** Script: [1].getName()           = u_total_miles
    *** Script: [1].getNamespaceName()  = u_product/u_car_inventory
    *** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
    *** Script: [1].isTransient()       = false
    *** Script: [1].getType()           = integer


