# Extract Process

Extract process involves extracting CM system data based on the rules defined in a parameter file, and packaging it in a binary file (blueprint). This file can then be used as an input source by the data upload process.

The following example uses the Oracle database platform to illustrate the extract and upload process.

`GenSysdataBP` java utility in `OraGenBP.jar`, included in this package, is the extract utility that reads an input parameter file for the list of Oracle database tables, extracts data from these tables and compresses it into a binary file.

A sample extract parameter file `extract_cmsystbls.lst` is included in this package to provide the implementers a starting point. This parameter file, as can be seen, defines rules for the tool to extract CM data based on their key definition. However, in some cases, CM data may be stored on 'CI' rows. The column `user_exit_pgm` on `CI_MD_PRG_COM` table is one such case. For cases like these, the implementers can choose to change the extraction rules in this file to match their requirements.

To extract your data, make a copy of `extract_cmsystbls.lst` file and edit it to match your requirements. Execute the extract process from a command-window and provide it with the required parameter when prompted.

The data in input parameter must match the following format:

`CI_ALG_TYPE_L;LANGUAGE_CD = 'ENG';VERSION`

Here, the first field stores the table name, the second field stores the selection criteria (where clause is used for selecting data) and the third field stores the list of columns to be ignored during extraction. The character semi-colon is used as the field separator. If there are multiple columns that need to be ignored (not included in the data being extracted), comma can be used in the third field as the separator.

`GenSysdataBP` accepts the following parameters:

- `-d <Connect String>`

  Where the Connect String contains:

- Schema owner name (say `CISADM`).
- Password for schema owner.
- Database name.

  This is a mandatory parameter. If not entered, the utility will prompt the user to build the connect string.

  Connect String should be entered in the following format:

  `CISADM,CISADMPSWD,DBNAME`

  (Comma-separated and no space).

- `-i <Input Parameter file name>`.

  Name of the input parameter file that the utility reads to get the list of tables and their selection criteria. This parameter is optional. The default input parameter file name is CDXSdBp.Inp.

- `-o <Output File Name>`.

  This is the name of the binary file that the utility creates. This parameter is optional. The default output file name is `OraSdBp` (without extension).

- `-c <NLS characterset of the target database>`.

  The utility uses this parameter to set the `NLS_LANG` parameter on the client side. This parameter is then validated against the character set of the source database and is saved in the blueprint. This is mandatory parameter and is prompted for, if not set by, the user.

- `-s`

  Specify to generate object level SQL files. Optional.

- For help (to list all the accepted parameters with a brief description), execute the utility without any parameters.

Parent topic: CM System Data Packaging Tools