|
1 | | -## Catalog Settings |
| 1 | +## Catalog Settings in "db.mvbasic.json" file |
2 | 2 |
|
3 | 3 | Please refer to [Configuration](Configuration.md) to open the database related configuration file and then find the "catalog" section. |
4 | 4 |
|
@@ -99,3 +99,97 @@ Please refer to [Configuration](Configuration.md) to open the database related c |
99 | 99 | ] |
100 | 100 | ``` |
101 | 101 |
|
| 102 | +## Quick Catalog |
| 103 | + |
| 104 | +Users can right-click a BASIC program file and select "Catalog" to catalog a single file for both Universe and Unidata databases |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | +## Catalog Settings in "catalog.mvbasic.json" file |
| 109 | + |
| 110 | +Cataloging a program makes it available to all users or to users of one account. You must catalog a program before another BASIC program can call it as an external subroutine. |
| 111 | + |
| 112 | +``` |
| 113 | +{ |
| 114 | + "catalog": "", |
| 115 | + "arguments": "", |
| 116 | + "initialCharacter": "" |
| 117 | +} |
| 118 | +``` |
| 119 | + |
| 120 | +### Cataloging in Universe |
| 121 | + |
| 122 | +**Local Catalog**: Local cataloging creates a VOC entry for the program. This entry is a verb that points to the file and |
| 123 | +record containing the object code for the cataloged program. You can access a locally cataloged |
| 124 | +program only from the account in which it was cataloged, unless you copy the VOC entry for the |
| 125 | +catalog name to another account. Because cataloging a program locally only creates a VOC entry |
| 126 | +pointing to the object file, you need not recatalog the program every time you recompile it |
| 127 | + |
| 128 | + { |
| 129 | + "catalog": "local", |
| 130 | + "arguments": "", |
| 131 | + "initialCharacter": "" |
| 132 | + } |
| 133 | + |
| 134 | +**Normal Catalog**: Normal cataloging copies the specified object record to the system catalog space, making it available |
| 135 | +to all users. The name of the program in the catalog is in the following format: |
| 136 | +*account*catalog.name |
| 137 | +account is the name of the current account directory. |
| 138 | +Normal cataloging also creates a VOC entry for the catalog name. This entry is a verb that contains the |
| 139 | +name *account*catalog.name in field 2. |
| 140 | +Because normal cataloging copies the object code to the system catalog space, you must recatalog |
| 141 | +the program every time you recompile it. |
| 142 | +To catalog a program normally, specify a catalog.name that does not begin with the characters *, -, $, |
| 143 | +or !, and do not specify the keyword LOCAL. |
| 144 | + |
| 145 | + { |
| 146 | + "catalog": "normal", |
| 147 | + "arguments": "", |
| 148 | + "initialCharacter": "" |
| 149 | + } |
| 150 | + |
| 151 | +**Global Catalog**: Like normal cataloging, global cataloging copies the specified object record to the system catalog |
| 152 | +space, making it available to all users. The name of the program in the catalog is in the following |
| 153 | +format: |
| 154 | +*catalog.name |
| 155 | +-catalog.name |
| 156 | +$catalog.name |
| 157 | +!catalog.name |
| 158 | +Global cataloging does not create a VOC entry for the catalog name. The UniVerse command processor |
| 159 | +and the run machine look in the system catalog space for verbs or external subroutines with names |
| 160 | +that have an initial *, - , $, or ! character. Because globally cataloged subroutines are accessed without |
| 161 | +a VOC entry, they are available to all accounts on the system as soon as they are cataloged. |
| 162 | +Because global cataloging copies the object code to the system catalog space, you must recatalog the |
| 163 | +program every time you recompile it. |
| 164 | +To catalog a program globally, specify a catalog.name beginning with *, -, $, or !, and do not specify |
| 165 | +the keyword LOCAL. |
| 166 | + |
| 167 | + { |
| 168 | + "catalog": "global", |
| 169 | + "arguments": "", |
| 170 | + "initialCharacter": "*" |
| 171 | + } |
| 172 | + |
| 173 | +### Cataloging in Unidata |
| 174 | + |
| 175 | +**Direct Catalog**: Catalogs the program locally without copying it to the local or system CTLG directory. Instead, UniData creates an entry in the VOC file that is a pointer to the directory where the program resides. |
| 176 | + |
| 177 | + { |
| 178 | + "catalog": "direct", |
| 179 | + "arguments": "", |
| 180 | + "initialCharacter": "" |
| 181 | + } |
| 182 | + |
| 183 | +**Local Catalog**: Catalogs the program locally and places a copy of it in a subdirectory of the local CTLG catalog (in the account where the user is running the program). UniData creates a VOC pointer to the subdirectory.UniData creates the CTLG and the subdirectory, if they do not |
| 184 | +already exist. |
| 185 | + |
| 186 | + { |
| 187 | + "catalog": "local", |
| 188 | + "arguments": "", |
| 189 | + "initialCharacter": "" |
| 190 | + } |
| 191 | + |
| 192 | + |
| 193 | +**Note 1 :** The parameter "arguments" in the catalog.mvbasic.json file is currently not supported by the catalog feature. By default, the argument is set to FORCE for both the UV and UD databases. |
| 194 | + |
| 195 | +**Note 2 :** If the `./rmv` configuration exists, the `catalog.mvbasic.json` file will be created during the first catalog attempt. If the `./rmv` configuration does not exist, the `config/catalog.mvbasic.json` file will be created when the extension is activated. |
0 commit comments