You can use the jadclient non-GUI client application to automate the extraction of your user-defined schemas, passing command line arguments after the endJade parameter to specify your extract requirements. For details about:
The jadclient non-GUI client application, see "
Extracting schemas in sections (for example, to store schemas in Subversion or any other suitable version control system in smaller chunks than complete schema files), see "Extracting Schemas in Sections", in the following subsection.
Extracting and loading a patch history, see "
To extract schemas as a non-GUI application, specify the following parameters in the jadclient program.
jadclient path=database-path ini=jade-initialization-file schema=JadeSchema app=JadeBatchExtract endJade extract-arguments
The arguments that you can specify after the
Argument | Format | Description |
---|---|---|
Multiple | multiple-schema-file-name schema-name-list | Multiple schema extract from the current schema context for the listed schemas |
ML | multiple-schema-file-name schema-name-list | Multiple schema extract from the latest schema context for the listed schemas |
Patch | schema-file-name forms-file-name patch‑number schema‑name | Patch extract from the current schema context of all changes made against the patch number for the specified schema |
PL | schema-file-name forms-file-name patch-number schema-name | Patch extract from the latest schema context of all changes made against the patch number for the specified schema |
Version | multiple-schema-file-name patch-version-number | Patch extract from the current schema context of all changes made to all schemas against the patch number |
VL | multiple-schema-file-name patch-version-number | Patch extract from the latest schema context of all changes made to all schemas against the patch number |
Single | schema-file-name forms-file-name schema-name | Extract from the current schema context of the specified schema |
SL | schema-file-name forms-file-name schema-name | Extract from the latest schema context of the specified schema |
File | schema-file-name forms-file-name parameter‑file‑name schema-name | Extract from the current schema context using a parameter file |
EL | multiple-schema-file-name | Multiple schema extract from the latest schema context of every user-defined schema |
B | schema-file-name forms-file-name schema-name | Extract a stub version of a schema from the current schema context of a schema containing a package |
BL | schema-file-name forms-file-name schema-name | Extract a stub version of a schema from the latest schema context of a schema containing a package |
<encrypt> | "<encrypt>" | Encrypted schema source files |
delta | delta-identifier | Extract a specific delta when extracting a schema from a parameter file |
For details about extracting multiple schemas or extracting selected classes and methods to a parameter file, see "Extracting Multiple Schemas" or "Specifying Your Parameter File Options", earlier in this chapter. See also "
When specifying extract arguments:
When extracting a patch, you must specify a valid patch number.
When performing a batch extract by patch number (for single or multiple schemas), the JADE command file (JCF) is always created.
For all types of batch extract other than an extract by patch number, the command file is not created by default. If you want the command file to be created, you must specify this on the command line; for example:
jadclient path=c:\jade\system ini=c:\jade\system\jade.ini server=singleUser schema=JadeSchema app=JadeBatchExtract endJade Single c:\temp\myTest.scm c:\temp\myTest.ddb Test "<jcf>"
The <jcf> value indicates that you want the command file created. As you can specify more than one option between the < and > characters, you must separate each one with a comma; for example, if you want to encrypt the source and create the command file, your command would look similar to the following.
jadclient path=c:\jade\system ini=c:\jade\system\jade.ini server=singleUser schema=JadeSchema app=JadeBatchExtract endJade Single c:\temp\myTest.scm c:\temp\myTest.ddb Test "<encrypt,jcf>"
Separate the argument and its associated values with a space.
Specify the fully qualified schema file and forms file names.
Enclose command line arguments that contain spaces in double ("") or single ('') quotation marks.
The jadclient program treats processing arguments enclosed in double ("") or single ('') quotation marks after the endJade parameter as single-string entries in the huge string array. The handling of strings in this huge string array is application-specific. For example, path= "program files" is treated as a two-string entry and "path= program files" is treated as a one-string entry. How these entries are handled is determined by your application.
Because the < and > characters have special significance in Windows when you extract encrypted schema sources, you must enclose the <encrypt> argument within double quotation marks (that is, "<encrypt>"). In addition, the <encrypt> argument must be the last argument after the endJade parameter.
The extract argument and the associated parameters are case-sensitive (that is, Multiple is a valid argument but multiple is not).
If the multiple schema file name for the extraction of multiple schemas does not exist, the file is created.
The schema names specified in the schema names list is the name of the schema itself, which may differ from the name of the schema (.scm) and forms definition (.ddb) files. For example, if your Test schema is contained in ProdTest.scm and ProdTest.ddb files, specify Test following the schema file name in the command line for a multiple schema extraction. The Test schema is then extracted to Test.scm and Test.ddb files during the non-GUI client extract process.
You can extract only schema (.scm) and forms definition (.ddb) files when extracting multiple schemas; that is, you cannot extract individual class (.cls) or method (.mth) using the jadclient non-GUI client application. If you want to extract classes or methods, use the File argument.
When extracting classes or methods of a specific schema to a parameter file using the File argument, the .unl file containing the elements defined in the specified schema file name must already exist. If you do not specify the path and name of a valid parameter file, an error is output.
You can specify a delta code when extracting a schema from a parameter file, which enables you to automate the checking in of a delta at run time so that you can create the release of a change for testing purposes. To set a delta for a batch extract, the last command line parameter must be delta=delta-identifier; for example, if the delta identifier is DeltaTwo, the command line is as follows.
jadclient path=e:\jadesystems\jade6211\system ini=c:\jade\system\jade.ini app=JadeBatchExtract schema=JadeSchema server=singleUser endJade File d:\temp\delta.scm d:\temp\delta.ddb d:\temp\param.unl ErewhonInvestmentsViewSchema delta=DeltaTwo
You cannot use the jadclient program to automate the extraction of schemas from a deployed environment, as the internal system-only JadeSchema schema from which batch extractions are run is not present in deployed databases.
The following examples show the use of the jadclient program to extract schemas.
jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade Every c:\temp\myschemas.mul // The EL argument is a synonym of the Every argument jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade File c:\jade\test\Sales.scm c:\jade\test\Sales.ddb c:\SalesBits.unl Sales jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade SL "c:\temp\Sales.scm" "c:\temp\Sales.ddb" Sales jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade Version c:\temp\versionchgs.mul 4 jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade Multiple c:\temp\selected.mul Sales Accounts Orders jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade Single "c:\dir with space\Sales.scm" "c:\dir with space\Sales.ddb" Sales jadclient path=r:\jade\system ini=r:\jade\system\myjade.ini server=multiUser host=127.0.0.1 port=6005 schema=JadeSchema app=JadeBatchExtract endJade Single Sales.scm Sales.ddb Sales jadclient path=c:\jade\system ini=c:\jade\system\jade.ini server=singleUser schema=JadeSchema app=JadeBatchExtract endJade Single c:\temp\myTest.scm c:\temp\myTest.ddb Test "<encrypt>" jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade Patch c:\jade\Test\Sales.scm c:\jade\test\Sales.ddb 2 Sales jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade B c:\temp\S1Stub.scm c:\temp\scmS1.ddb S1 jadclient path=c:\jade\system ini=c:\jade\system\jade.ini schema=JadeSchema app=JadeBatchExtract endJade PL c:\Extracts\SpeedSend.scm c:\Extracts\SpeedSend.ddb 5 SpeedSend