1. Trang chủ
  2. » Công Nghệ Thông Tin

SAS/Warehouse Administrator 2.3 Metadata API- P5 pdf

5 213 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 441,12 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Metadata API Class _ADD_METADATA_ 17Parameters Parameter Type Description i_api Class specifies the passed instance of METAAPI.CLASS.. A nonzero code indicates failure and means that l_r

Trang 1

Metadata API Class _ADD_METADATA_ 17

Parameters

Parameter Type Description

i_api Class specifies the passed instance of METAAPI.CLASS See “Using the

Metadata API Class” on page 14

l_rc N specifies the return codes for the method A nonzero code indicates

failure and means that l_rc is an error list identifier For the error

list format, see “Error Codes” on page 14

l_meta L specifies the passed metadata property list for the object that is to

be added For the general format of this list, see “Metadata Property List” on page 14

Details

l_meta

specifies the passed metadata property list for the object that is to be added.

To create a new instance of a particular type, the ID value in l_meta should be resposid.typeid If an instance ID is passed, it is ignored and replaced with a new

instance ID upon successful addition to the repository.

Not all metadata types (type IDs) can be added The documentation for each metadata type indicates whether it can be added or not _ADD_METADATA_ will return an error of any type that cannot be added.

Using _ADD_METADATA_

Be sure to check the return code of a write method call A nonzero return indicates that

a failure has occurred while trying to write to the metadata If a nonzero return code is returned, none of the changes that are indicated by this method call will be made.

Example: Add a New Detail Table

l_meta=makelist();

/*

* Set which group to add this new table to

*/

l_groups=makelist();

l_group=makelist();

l_groups=insertl(l_groups,l_group,-1);

l_group=insertc(l_group,group_id,-1,’ID’);

l_meta=insertl(l_meta,l_groups,-1,’GROUP’);

/*

* Use the same repository id as the group

*/

Trang 2

18 _ADD_METADATA_ Chapter 2

repos_id=scan(group_id,1,’.’);

new_type=repos_id||’.WHDETAIL’;

l_meta=insertc(l_meta,new_type,-1,’ID’); /*

* Set the name for the display

*/

l_meta=insertc(l_meta,

’NEW TABLE’,-1,’NAME’);

/*

* Set the desc for the display

*/

l_meta=insertc(l_meta,’New table added through API’,-1,’DESC’);

/*

* Set an icon for the display

*/

l_meta=insertc(l_meta,

’SASHELP.I0808.ADD.IMAGE’,-1,’ICON’);

/*

* Define a column The COLUMNS property

* contains a sublist per column

*/

l_cols=makelist();

l_col=makelist();

l_cols=insertl(l_cols,l_col,-1);

l_meta=insertl(l_meta,l_cols,-1,’COLUMNS’); col_id=repos_id||’.’||’WHCOLUMN’;

l_col=insertc(l_col,col_id,-1,’ID’);

l_col=insertc(l_col,’CUSTOMER’,-1,’NAME’); l_col=insertc(l_col,’Name of Customer’,-1,

’DESC’);

l_col=insertc(l_col,’C’,-1,’TYPE’);

l_col=insertn(l_col,75,-1,’LENGTH’);

/*

* Add any additional properties

* :

* :

*/

Trang 3

Metadata API Class _CLEAR_SECONDARY_REPOSITORY_ 19

/*

* Add the table

*/

call send(i_api,’_ADD_METADATA_’,l_rc,l_meta);

if l_rc = 0 then do;

put ’Table Added successfully’;

end; /* if */

else do;

msg=getnitemc(l_rc,’MSG’,1,1,’ERROR:

_ADD_METADATA_ FAILED’);

put msg;

list_rc=dellist(l_rc);

end; /* else */

l_meta=dellist(l_meta,’Y’);

See Also

_DELETE_METADATA_, _UPDATE_METADATA_

_CLEAR_SECONDARY_REPOSITORY_

Detaches from a secondary repository

Category: Repository Methods

Syntax

CALL SEND(i_api, ’_CLEAR_SECONDARY_REPOSITORY_’, l_rc, repos_id);

Trang 4

20 _DELETE_METADATA_ Chapter 2

Parameters

Parameter Type Description

i_api Class specifies the passed instance of METAAPI.CLASS See “Using the

Metadata API Class” on page 14

l_rc N specifies the return codes for the method A nonzero code indicates

failure and means that l_rc is an error list identifier For the error

list format, see “Error Codes” on page 14

repos_id C specifies the passed repository ID that specifies the repository that

is to be detached from For details about the repos_id parameter,

see “Identifying Metadata” on page 7

Using _CLEAR_SECONDARY_REPOSITORY_

When you only want to be attached to the primary repository, use the _CLEAR_SECONDARY_REPOSITORY_ method to detach from any secondary repositories.

Use the _GET_METADATA_ method to return the list of possible secondary

repositories Specify the REPOSITORIES property in the l_meta list, and use the

returned metadata identifier from the _SET_PRIMARY_REPOSITORY_ method See the code examples under _SET_PRIMARY_REPOSITORY_ and

_SET_SECONDARY_REPOSITORY_

Example: Detach from a Secondary Repository

/* sec_repos_id is the REPOSID of the secondary repository that is

* to be detached from

*/

call send(i_api, ’_SET_SECONDARY_REPOSITORY_’, l_rc, sec_repos_id);

See Also

_GET_METADATA_

_SET_SECONDARY_REPOSITORY_

_SET_PRIMARY_REPOSITORY_

_DELETE_METADATA_

Deletes specified metadata from a repository

Category: Write Methods

Syntax

CALL SEND(i_api, ’_DELETE_METADATA_’, l_rc, l_meta);

Trang 5

Metadata API Class _DELETE_METADATA_ 21

Parameters

Parameter Type Description

i_api Class specifies the passed instance of METAAPI.CLASS See “Using the

Metadata API Class” on page 14

l_rc N specifies the return codes for the method A nonzero code indicates

failure and means that l_rc is an error list identifier For the error

list format, see “Error Codes” on page 14

l_meta L specifies the passed metadata property list for the object that is to

be deleted For the general format of this list, see “Metadata Property List” on page 14

Using _DELETE_METADATA

The object whose ID is included in the l_meta list will be deleted Where appropriate,

the metadata API will enforce metadata integrity by deleting all other metadata that is associated with the object that is being deleted.

CAUTION:

The _DELETE_METADATA_ method is destructive Its changes cannot be reversed When you use this method in an application, verify the delete request before you issue the method call. 4

Be sure to check the return code of a write method call A nonzero return indicates that a failure has occurred while trying to write to the metadata If a nonzero return code is returned, none of the changes that are indicated by this method call will be made.

Example: Delete Column Definitions

/*

* Delete all the current column

* definitions for the passed id

*/

l_meta=makelist();

l_meta=insertc(l_meta,selected_id,-1,’ID’);

/*

* Get all of the columns

*/

l_meta=insertl(l_meta,0,-1,’COLUMNS’);

call send(i_api,’_GET_METADATA_’,l_rc,l_meta);

/*

* Continue if zero return code

* (removed for brevity of example)

* :

Ngày đăng: 05/07/2014, 07:20

TỪ KHÓA LIÊN QUAN