# Script Assistants

Script Assistants enable you to develop complex API or DQL scripts.

### Dump & Load

Click ***Extras** men&#x75;**>Dump & Load \<repository name>*** and then select select the available dump types from a submenu. The result script is copied into the API Script View of the active session window.

#### Dump entire docbase

1. On the first page of the assistant, manually enter the full path to the dump file (since the path references the local directories on a remote server).
2. On the second page, determine the options. For more information about Dump options, see the ***Documentum Content Server Administrator’s Guide***.
3. On the last page, you can see the generated script, which you can modify, if necessary. Click the **Finish** button to copy the script into the **API script** **view** of the active session window for execution.

#### Dump Specified Objects

In order to only dump specific objects, use the ***Dump specified objects*** function, as follows:

1. On the first page of the assistant, manually enter the full path to the dump (since this path references the local directories on a remote server).
2. On the second page, select the desired object types. To specify certain objects of the selected type, you can add a Where Clause. The keyword *Where* is generated automatically if a clause is not empty.
3. On the third page, you can determine the options. For more information about Dump options, see the ***Documentum Content Server Administrator’s Guide***.
4. On the last page, you can see the generated script, which you can modify, if necessary. Click the **Finish** button to copy the script into the **API script** **view** of the active session window for execution.&#x20;

#### Load Docbase

1. On the first page of the assistant, manually enter the full path to the dump (since this path references the local directories on a remote server).
2. On the second hird page, you can determine the options. For more information about Dump options, see the ***Documentum Content Server Administrator’s Guide***.
3. On the last page, you can see the generated script, which you can modify, if necessary. Click the **Finish** button to copy the script into the **API script** **view** of the active session window for execution.&#x20;

### Copy registered Table

The **Copy registered Table** assistant enables you to copy registered tables completely. The result script can create a database table, register it and copy the content. You can execute each part independently from one another, so you can also copy data between two existing tables only.

This assistant is available either in the **Extras** menu, but only if called from a session window with an active session, or also in the **Repository Navigator’s Types/Tables** tab, if a registered table is selected.

You can save or copy the generated script into the DQL view of an either existing or new session window for execution.

**Select registered tables and operations**

On the first page, select the registered table and at least one operation. The operations available to you at this stage are:

<table><thead><tr><th>Operation</th><th>What It Does</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Create table creation script</strong></td><td>Creates the table in the database of the target repository. The table must not exist in the target database.</td><td></td></tr><tr><td><strong>Register table in target system</strong></td><td>Creates <em>Register Table</em> commands that will copy the Documentum registration of the source table. The table must exist in the target database.</td><td></td></tr><tr><td><strong>Copy content</strong></td><td>Generates a script to copy the data from the source to the target table. The table must exist in the target database and it must be registered in the target repository.</td><td></td></tr></tbody></table>

Select the **Hide system tables** checkbox to remove all system tables from the list.

**Select the target database type and columns**

This page is available if you have selected the **Create table creation script** operation.

&#x20;You must select the target database type in order to generate the correct SQL commands for table creation.

On this page, you can give your created table a new valid name by filling in the **Target table name**.

Furthermore, you can exclude single columns from the source table. Cleared (unselected) columns are copied, registered or filled with data. You must select at least one column.

**Registration and permissions**

This page is available if you have selected the **Register table in target system** operation.

The option **Register all columns** does a complete registration of all copied columns with names and types. This option is only active for selection if the table is not fully registered in the source repository. If selected, registration will differ between source and target repositories.

The table permissions are initialized with the permissions of the source table, but can be changed if necessary.

**Data selection**\
If you selected the **Copy content** operation, you can add a *where* clause for data selection.

**Result**\
The last page displays the generated script. Click the **Save script** button or copy it into the DQL script view of an existing or a new session window for execution using the **Execute in...** butto&#x6E;*.*

The assistant closes down automatically if the script is copied into a session window.

### Change Objecttype

You can use **Change Objecttype** assistant to modify the object type of objects. To open the **Change Objecttype** assistant, go to the **Extras** menu, but it is only available if called from a session window with an active session and the DQL command view selected. Furthermore, a DQL query result must be available that includes the `r_object_id` attribute.

All selected objects in the result list must be of the same object type. Supported types are `dm_document`, `dm_folder` and `dm_cabinet` with their descendants.

You can save the generated script or you can paste it into the DQL view of the current session window for execution. To use the **Change Objecttype** assistant:

1. Select a new type for the objects from the available types in the current repository. When selecting a new type from the type tree, the required migration path is displayed at the bottom of the window and the **Next button** is activated.
2. Map all attributes from the old type (that will be lost through the change in type) to attributes of the new type. These attributes are displayed in the left column of the attribute mapping window.\
   Selecting an attribute of the new type from the menus available on the right will create the mapping between the old and the new attribute. All attributes including their values that are not mapped will be lost.\
   The lists display only attributes of the new type and which share the same data type as the old attribute. Additionally, you can map repeating attributes of the old type to repeating attributes of the new type only; single attributes can be mapped to single attributes only.

To change this behavior, change the options:

* Deactivate **Show type related attributes of target object types only** to select from all attributes of the new type.
* Deactivate **Show matching data type only** to map different data types.

The generated script is displayed on the last page. You can **Save script** or you can copy it into the DQL script view of the current session window for execution clicking **Finish**.

On the third page you can activate some optional features:

<table><thead><tr><th>Option Name</th><th>What It Does</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Encapsulate as transaction</strong>                       </td><td>The complete change of the object type for each object is treated as one transaction. If an error occurs, the action will be rolled back.</td><td>???</td></tr><tr><td><strong>Ignore <code>r_immutable_flag</code></strong></td><td>Older versions are usually protected from being changed by the <code>r_immutable_flag</code>. This behavior can be ignored.</td><td></td></tr><tr><td><strong>Change ACL</strong></td><td>You can assign a new ACL to the changed object .</td><td></td></tr><tr><td><strong>Link to</strong></td><td>Links or moves changed objects to a new folder in one step.</td><td></td></tr></tbody></table>
