Add Custom Attributes To Existing Business Object

1. Request URL

/{PDM Server domain}[/metadata/write/addCustomAttributes]

Method: POST

2. Request headers

Name Value

Content-Type

application/json

3. Response Type

Name Value

responseType

blob

4. Request body

Add several custom attributes for same business object.

{
    "BUSINESS OBJECT ATTR": {
        "language": "en",
        "readBack": false,
        "timezone": "GMT+08:00",
        "showSQLStats": true,
        "data": [
            {
                "BO_NAME": "ZONE",
                "ATTRIBUTE_DISPLAYNAME": "TEST1",
                "ATTRIBUTE_DATATYPE": "CHARACTER VARYING(50)"
            },
            {
                "BO_NAME": "ZONE",
                "ATTRIBUTE_DISPLAYNAME": "TEST2",
                "ATTRIBUTE_DATATYPE": "bit"
            },
            {
                "BO_NAME": "ZONE",
                "ATTRIBUTE_DISPLAYNAME": "TEST3",
                "ATTRIBUTE_DATATYPE": "numeric(18,9)"
            },
            {
                "BO_NAME": "ZONE",
                "ATTRIBUTE_DISPLAYNAME": "TEST4",
                "ATTRIBUTE_DATATYPE": "integer"
            },
            {
                "BO_NAME": "ZONE",
                "ATTRIBUTE_DISPLAYNAME": "TEST5",
                "ATTRIBUTE_DATATYPE": "date"
            },
            {
                "BO_NAME": "ZONE",
                "ATTRIBUTE_DISPLAYNAME": "TEST6",
                "ATTRIBUTE_DATATYPE": "timestamp without time zone"
            }
        ]
    }
}
Try it myself

5. Responses

When response.status = 200, It will response a `application/octet-stream' excel file.

Otherwise, it will response json file, Please see Responses

Appendix A: Data Types

All the data types(red belongs to postgres and blue belongs to mssql):

​ BIT(``bit'', ``bit'', java.lang.Boolean.class, Types.BIT, 2000),

​ TINY_INT(``tinyint'', ``tinyint'', java.lang.Integer.class, Types.TINYINT, 2000),

​ SMALL_INT(``smallint'', ``smallint'', java.lang.Integer.class, Types.SMALLINT, 2000),

​ INTEGER(``integer'', ``int'', java.lang.Integer.class, Types.INTEGER, 4000),

​ BIG_INT(``bigint'', ``bigint'', java.lang.Long.class, Types.BIGINT, 4000),

​ DECIMAL(``decimal'', ``decimal'', java.math.BigDecimal.class, Types.DECIMAL, 4000),

​ NUMERIC(``numeric'', ``numeric'', java.math.BigDecimal.class, Types.NUMERIC, 4000),

​ REAL(``real'', ``real'', java.lang.Float.class, Types.REAL, 4000),

​ FLOAT(``float'', ``float'', java.lang.Float.class, Types.FLOAT, 4000),

​ DOUBLE_PRECISION(``doubleprecision'', ``doubleprecision'', java.lang.Double.class, Types.DOUBLE, 4000),

​ CHARACTER_VARYING(``character varying'', ``varchar'', java.lang.String.class, Types.VARCHAR, 5000),

​ CHARACTER(``character'', ``char'', java.lang.String.class, Types.CHAR, 5000),

​ TEXT(``text'', ``text'', java.lang.String.class, Types.VARCHAR, 6000),

​ TIMESTAMP_WITHOUT_TIMEZONE(``timestamp without time zone'', ``datetime'', java.sql.Timestamp.class, Types.TIMESTAMP, 5000),

​ TIMESTAMP_WITH_TIMEZONE(``timestamp with time zone'', ``datetimeoffset'', java.sql.Timestamp.class, Types.TIMESTAMP, 5000),

​ TIMESTAMP(``timestamp'', ``datetime'', java.sql.Timestamp.class, Types.TIMESTAMP, 5000),

​ DATE(``date'', ``date'', java.sql.Date.class, Types.DATE, 3000),

​ TIME(``time'', ``time'', java.sql.Time.class, Types.TIME, 5000),

​ BOOLEAN(``boolean'', ``bit'', java.lang.Boolean.class, Types.BOOLEAN, 3000),

​ BYTEA(``bytea'', ``varbinary'', java.lang.Byte.class, Types.BLOB, 8000),

​ BYTE(``byte'', ``varbinary'', java.lang.Byte.class, Types.BINARY, 1000),

​ JSONB(``jsonb'', ``jsonb'', java.lang.String.class, Types.LONGVARBINARY, 6000),

​ N_CHARACTER_VARYING(``character varying'', ``nvarchar'', java.lang.String.class, Types.VARCHAR, 5000),

​ N_CHARACTER(``character'', ``nchar'', java.lang.String.class, Types.CHAR, 5000),

​ N_TEXT(``text'', ``ntext'', java.lang.String.class, Types.VARCHAR, 6000),

​ BINARY(``byte'', ``binary'', java.lang.Byte.class, Types.BINARY, 1000),

​ IMAGE(``byte'', ``image'', java.lang.Byte.class, Types.BINARY, 1000),

​ SMALL_DATETIME(``timestamp'', ``smalldatetime'', java.sql.Timestamp.class, Types.TIMESTAMP, 5000),

​ DATETIME2(``timestamp'', ``datetime2'', java.sql.Timestamp.class, Types.TIMESTAMP, 5000),

​ DATETIME(``timestamp'', ``datetime'', java.sql.Timestamp.class, Types.TIMESTAMP, 5000);