Previous Page | Next Page

Sample Metadata API Code

Write Metadata Code Sample

        /* Sample Write Metadata Program
         * for SAS/Warehouse Administrator
         */
        /* Insert code to instantiate the metadata API
         * and attach to the primary and secondary
         * metadata repositories.
         */
        /*
         *   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.
         */

     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.
         *  :
         *  :
         */

        /*
         *  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');

Previous Page | Next Page | Top of Page